]> granicus.if.org Git - libx264/commitdiff
VfW: Enable weighted B prediction when max B-frames > 1. Enforce max reference frames...
authorLoren Merritt <pengvado@videolan.org>
Tue, 22 Feb 2005 10:46:28 +0000 (10:46 +0000)
committerLoren Merritt <pengvado@videolan.org>
Tue, 22 Feb 2005 10:46:28 +0000 (10:46 +0000)
patch by Riccardo Stievano.

git-svn-id: svn://svn.videolan.org/x264/trunk@135 df754926-b1dd-0310-bc7b-ec298dee348c

vfw/codec.c
vfw/config.c

index d558a26bd6dadfdb7d8dd4911160aaca341595c3..022142d1bd2b717da915116d1c31158f12995997 100644 (file)
@@ -222,6 +222,8 @@ LRESULT compress_begin(CODEC * codec, BITMAPINFO * lpbiInput, BITMAPINFO * lpbiO
     param.rc.f_qcompress = (float)config->i_curve_comp / 100;
 
     param.i_bframe = config->i_bframe;
+    if( config->i_bframe > 1 )
+        param.analyse.b_weighted_bipred = 1;
     param.analyse.i_subpel_refine = config->i_subpel_refine + 1; /* 0..4 -> 1..5 */
 
     /* bframe prediction - gui goes alphabetically, so 1=SPATIAL, 2=TEMPORAL */
index cb28b102ff83177e11e7bc47947cb78f137b44d4..9159c8cde281f3bf90f41d6b0d93a6b1eebdd7ff 100644 (file)
@@ -606,6 +606,11 @@ BOOL CALLBACK callback_advanced( HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lPa
                 break;
             case IDC_REFFRAMES :
                 config->i_refmax = GetDlgItemInt( hDlg, IDC_REFFRAMES, FALSE, FALSE );
+                if( config->i_refmax > 15 )
+                {
+                    config->i_refmax = 15;
+                    SetDlgItemInt( hDlg, IDC_REFFRAMES, config->i_refmax, FALSE );
+                }
                 break;
             case IDC_FOURCC :
                 GetDlgItemText( hDlg, IDC_FOURCC, config->fcc, 5 );