-#endif
- free( val.psz_string );
-
- var_Get( p_enc, SOUT_CFG_PREFIX "psnr", &val );
- p_sys->param.analyse.b_psnr = val.b_bool;
-
-#if X264_BUILD >= 50 /* r554 */
- var_Get( p_enc, SOUT_CFG_PREFIX "ssim", &val );
- p_sys->param.analyse.b_ssim = val.b_bool;
-#endif
-
-#if X264_BUILD >= 0x0012
- var_Get( p_enc, SOUT_CFG_PREFIX "weightb", &val );
- p_sys->param.analyse.b_weighted_bipred = val.b_bool;
-#endif
-
-#if X264_BUILD >= 0x0013
- var_Get( p_enc, SOUT_CFG_PREFIX "b-adapt", &val );
-#if X264_BUILD >= 63
- p_sys->param.i_bframe_adaptive = val.i_int;
-#else
- p_sys->param.b_bframe_adaptive = val.b_bool;
-#endif
-
- var_Get( p_enc, SOUT_CFG_PREFIX "b-bias", &val );
- if( val.i_int >= -100 && val.i_int <= 100 )
- p_sys->param.i_bframe_bias = val.i_int;
-#endif
-
-#if X264_BUILD >= 23
- var_Get( p_enc, SOUT_CFG_PREFIX "chroma-me", &val );
- p_sys->param.analyse.b_chroma_me = val.b_bool;
- var_Get( p_enc, SOUT_CFG_PREFIX "chroma-qp-offset", &val );
- p_sys->param.analyse.i_chroma_qp_offset = val.i_int;
-#endif
-
-#if X264_BUILD >= 36
- var_Get( p_enc, SOUT_CFG_PREFIX "mixed-refs", &val );
- p_sys->param.analyse.b_mixed_references = val.b_bool;
-#endif
-
-
-#if X264_BUILD >= 39
- var_Get( p_enc, SOUT_CFG_PREFIX "trellis", &val );
- if( val.i_int >= 0 && val.i_int <= 2 )
- p_sys->param.analyse.i_trellis = val.i_int;
-#endif
-
-#if X264_BUILD >= 41 && X264_BUILD < 65
- var_Get( p_enc, SOUT_CFG_PREFIX "b-rdo", &val );
- p_sys->param.analyse.b_bframe_rdo = val.b_bool;
-#endif
-
-#if X264_BUILD >= 42
- var_Get( p_enc, SOUT_CFG_PREFIX "fast-pskip", &val );
- p_sys->param.analyse.b_fast_pskip = val.b_bool;
-#endif
-
-#if X264_BUILD >= 43 && X264_BUILD < 65
- var_Get( p_enc, SOUT_CFG_PREFIX "bime", &val );
- p_sys->param.analyse.b_bidir_me = val.b_bool;
-#endif
-
-#if X264_BUILD >= 44
- var_Get( p_enc, SOUT_CFG_PREFIX "nr", &val );
- if( val.i_int >= 0 && val.i_int <= 1000 )
- p_sys->param.analyse.i_noise_reduction = val.i_int;
-#endif
-
-#if X264_BUILD >= 46
- var_Get( p_enc, SOUT_CFG_PREFIX "dct-decimate", &val );
- p_sys->param.analyse.b_dct_decimate = val.b_bool;
-#endif
-
-#if X264_BUILD >= 52
- var_Get( p_enc, SOUT_CFG_PREFIX "deadzone-inter", &val );
- if( val.i_int >= 0 && val.i_int <= 32 )
- p_sys->param.analyse.i_luma_deadzone[0] = val.i_int;
-
- var_Get( p_enc, SOUT_CFG_PREFIX "deadzone-intra", &val );
- if( val.i_int >= 0 && val.i_int <= 32 )
- p_sys->param.analyse.i_luma_deadzone[1] = val.i_int;
-
-#if X264_BUILD <= 65
- var_Get( p_enc, SOUT_CFG_PREFIX "direct-8x8", &val );
- if( val.i_int >= -1 && val.i_int <= 1 )
- p_sys->param.analyse.i_direct_8x8_inference = val.i_int;
-#endif
-#endif
-
- var_Get( p_enc, SOUT_CFG_PREFIX "asm", &val );
- if( !val.b_bool ) p_sys->param.cpu = 0;
+ free( psz_val );
+
+ p_sys->param.analyse.b_psnr = var_GetBool( p_enc, SOUT_CFG_PREFIX "psnr" );
+ p_sys->param.analyse.b_ssim = var_GetBool( p_enc, SOUT_CFG_PREFIX "ssim" );
+ if( !var_GetBool( p_enc, SOUT_CFG_PREFIX "weightb" ) )
+ p_sys->param.analyse.b_weighted_bipred = var_GetBool( p_enc,
+ SOUT_CFG_PREFIX "weightb" );
+ if( var_GetInteger( p_enc, SOUT_CFG_PREFIX "weightp" ) != 2 )
+ p_sys->param.analyse.i_weighted_pred = var_GetInteger( p_enc, SOUT_CFG_PREFIX "weightp" );
+
+ i_val = var_GetInteger( p_enc, SOUT_CFG_PREFIX "b-adapt" );
+ if( i_val != 1 )
+ p_sys->param.i_bframe_adaptive = i_val;
+
+ i_val = var_GetInteger( p_enc, SOUT_CFG_PREFIX "b-bias" );
+ if( i_val >= -100 && i_val <= 100 && i_val != 0)
+ p_sys->param.i_bframe_bias = i_val;
+
+ p_sys->param.analyse.b_chroma_me = var_GetBool( p_enc,
+ SOUT_CFG_PREFIX "chroma-me" );
+ p_sys->param.analyse.i_chroma_qp_offset = var_GetInteger( p_enc,
+ SOUT_CFG_PREFIX "chroma-qp-offset" );
+ if( !var_GetBool( p_enc, SOUT_CFG_PREFIX "mixed-refs" ) )
+ p_sys->param.analyse.b_mixed_references = var_GetBool( p_enc,
+ SOUT_CFG_PREFIX "mixed-refs" );
+
+ i_val = var_GetInteger( p_enc, SOUT_CFG_PREFIX "trellis" );
+ if( i_val >= 0 && i_val <= 2 && i_val != 1 )
+ p_sys->param.analyse.i_trellis = i_val;
+
+ if( !var_GetBool( p_enc, SOUT_CFG_PREFIX "fast-pskip" ) )
+ p_sys->param.analyse.b_fast_pskip = var_GetBool( p_enc,
+ SOUT_CFG_PREFIX "fast-pskip" );
+
+ i_val = var_GetInteger( p_enc, SOUT_CFG_PREFIX "nr" );
+ if( i_val > 0 && i_val <= 1000 )
+ p_sys->param.analyse.i_noise_reduction = i_val;
+
+ if( !var_GetBool( p_enc, SOUT_CFG_PREFIX "dct-decimate" ) )
+ p_sys->param.analyse.b_dct_decimate = var_GetBool( p_enc,
+ SOUT_CFG_PREFIX "dct-decimate" );
+
+ i_val = var_GetInteger( p_enc, SOUT_CFG_PREFIX "deadzone-inter" );
+ if( i_val >= 0 && i_val <= 32 && i_val != 21 )
+ p_sys->param.analyse.i_luma_deadzone[0] = i_val;
+
+ i_val = var_GetInteger( p_enc, SOUT_CFG_PREFIX "deadzone-intra" );
+ if( i_val >= 0 && i_val <= 32 && i_val != 11)
+ p_sys->param.analyse.i_luma_deadzone[1] = i_val;
+
+ if( !var_GetBool( p_enc, SOUT_CFG_PREFIX "asm" ) )
+ p_sys->param.cpu = 0;