+ /* x264 partitions = none (default). set at least "normal" mode. */
+ add_string( SOUT_CFG_PREFIX "partitions", "normal", NULL, ANALYSE_TEXT,
+ ANALYSE_LONGTEXT, false );
+ change_string_list( enc_analyse_list, enc_analyse_list_text, 0 );
+ add_deprecated_alias( SOUT_CFG_PREFIX "analyse" ); /* Deprecated since 0.8.6 */
+
+ add_string( SOUT_CFG_PREFIX "direct", "spatial", NULL, DIRECT_PRED_TEXT,
+ DIRECT_PRED_LONGTEXT, false );
+ change_string_list( direct_pred_list, direct_pred_list_text, 0 );
+
+#if X264_BUILD >= 52 /* r573 */
+ add_integer( SOUT_CFG_PREFIX "direct-8x8", -1, NULL, DIRECT_PRED_SIZE_TEXT,
+ DIRECT_PRED_SIZE_LONGTEXT, false );
+ change_integer_range( -1, 1 );
+#endif
+
+#if X264_BUILD >= 0x0012 /* r134 */
+ add_bool( SOUT_CFG_PREFIX "weightb", 0, NULL, WEIGHTB_TEXT,
+ WEIGHTB_LONGTEXT, false );
+#endif
+
+#if X264_BUILD >= 24 /* r221 */
+ add_string( SOUT_CFG_PREFIX "me", "hex", NULL, ME_TEXT,
+ ME_LONGTEXT, false );
+ change_string_list( enc_me_list, enc_me_list_text, 0 );
+
+ add_integer( SOUT_CFG_PREFIX "merange", 16, NULL, MERANGE_TEXT,
+ MERANGE_LONGTEXT, false );
+ change_integer_range( 1, 64 );
+#endif
+
+ add_integer( SOUT_CFG_PREFIX "mvrange", -1, NULL, MVRANGE_TEXT,
+ MVRANGE_LONGTEXT, false );
+
+#if X264_BUILD >= 55 /* r607 */
+ add_integer( SOUT_CFG_PREFIX "mvrange-thread", -1, NULL, MVRANGE_THREAD_TEXT,
+ MVRANGE_THREAD_LONGTEXT, false );
+#endif
+
+ add_integer( SOUT_CFG_PREFIX "subme", 5, NULL, SUBME_TEXT,
+ SUBME_LONGTEXT, false );
+ change_integer_range( 1, SUBME_MAX );
+ add_deprecated_alias( SOUT_CFG_PREFIX "subpel" ); /* Deprecated since 0.8.5 */
+
+#if X264_BUILD >= 41 /* r368 */
+ add_bool( SOUT_CFG_PREFIX "b-rdo", 0, NULL, B_RDO_TEXT,
+ B_RDO_LONGTEXT, false );
+#endif
+
+#if X264_BUILD >= 36 /* r318 */
+ add_bool( SOUT_CFG_PREFIX "mixed-refs", 0, NULL, MIXED_REFS_TEXT,
+ MIXED_REFS_LONGTEXT, false );
+#endif
+
+#if X264_BUILD >= 23 /* r171 */
+ add_bool( SOUT_CFG_PREFIX "chroma-me", 1, NULL, CHROMA_ME_TEXT,
+ CHROMA_ME_LONGTEXT, false );
+#endif
+
+#if X264_BUILD >= 43 /* r390 */
+ add_bool( SOUT_CFG_PREFIX "bime", 0, NULL, BIME_TEXT,
+ BIME_LONGTEXT, false );
+#endif
+
+#if X264_BUILD >= 30 /* r251 */
+ add_bool( SOUT_CFG_PREFIX "8x8dct", 0, NULL, TRANSFORM_8X8DCT_TEXT,
+ TRANSFORM_8X8DCT_LONGTEXT, false );
+#endif
+
+#if X264_BUILD >= 39 /* r360 */
+ add_integer( SOUT_CFG_PREFIX "trellis", 0, NULL, TRELLIS_TEXT,
+ TRELLIS_LONGTEXT, false );
+ change_integer_range( 0, 2 );
+#endif
+
+#if X264_BUILD >= 42 /* r384 */
+ add_bool( SOUT_CFG_PREFIX "fast-pskip", 1, NULL, FAST_PSKIP_TEXT,
+ FAST_PSKIP_LONGTEXT, false );
+#endif
+
+#if X264_BUILD >= 46 /* r503 */
+ add_bool( SOUT_CFG_PREFIX "dct-decimate", 1, NULL, DCT_DECIMATE_TEXT,
+ DCT_DECIMATE_LONGTEXT, false );
+#endif
+
+#if X264_BUILD >= 44 /* r398 */
+ add_integer( SOUT_CFG_PREFIX "nr", 0, NULL, NR_TEXT,
+ NR_LONGTEXT, false );
+ change_integer_range( 0, 1000 );
+#endif
+
+#if X264_BUILD >= 52 /* r573 */
+ add_integer( SOUT_CFG_PREFIX "deadzone-inter", 21, NULL, DEADZONE_INTER_TEXT,
+ DEADZONE_INTRA_LONGTEXT, false );
+ change_integer_range( 0, 32 );
+
+ add_integer( SOUT_CFG_PREFIX "deadzone-intra", 11, NULL, DEADZONE_INTRA_TEXT,
+ DEADZONE_INTRA_LONGTEXT, false );
+ change_integer_range( 0, 32 );
+#endif
+
+/* Input/Output */
+
+#if X264_BUILD >= 55 /* r607 */
+ add_bool( SOUT_CFG_PREFIX "non-deterministic", 0, NULL, NON_DETERMINISTIC_TEXT,
+ NON_DETERMINISTIC_LONGTEXT, false );
+#endif
+
+ add_bool( SOUT_CFG_PREFIX "asm", 1, NULL, ASM_TEXT,
+ ASM_LONGTEXT, false );
+
+ /* x264 psnr = 1 (default). disable PSNR computation for speed. */
+ add_bool( SOUT_CFG_PREFIX "psnr", 0, NULL, PSNR_TEXT,
+ PSNR_LONGTEXT, false );
+
+#if X264_BUILD >= 50 /* r554 */
+ /* x264 ssim = 1 (default). disable SSIM computation for speed. */
+ add_bool( SOUT_CFG_PREFIX "ssim", 0, NULL, SSIM_TEXT,
+ SSIM_LONGTEXT, false );