# HG changeset patch # User lorenm # Date 1117393532 0 # Node ID e848b20cd4496805372f119e6c3c19cb6ed96195 # Parent c3108031b78a682afb9bc67b5c644432e1ae64e7 sync to x264 r240 (threads) diff -r c3108031b78a -r e848b20cd449 DOCS/man/en/mplayer.1 --- a/DOCS/man/en/mplayer.1 Sun May 29 17:04:51 2005 +0000 +++ b/DOCS/man/en/mplayer.1 Sun May 29 19:05:32 2005 +0000 @@ -8106,6 +8106,14 @@ and you have a need to set it. . .TP +.B threads=<1\-4> +Split each frame into slices and encode them in parallel (default: 1). +Also allows multithreaded decoding if the decoder supports it (lavc does not). +This has a slight penalty to compression. +Requires that libx264 was compiled with pthread support; if not, this +option will produce a warning and enable slices but not multithreading. +. +.TP .B log=<-1\-3> Adjust the amount of logging info printed to the screen. .RSs diff -r c3108031b78a -r e848b20cd449 configure --- a/configure Sun May 29 17:04:51 2005 +0000 +++ b/configure Sun May 29 19:05:32 2005 +0000 @@ -6099,7 +6099,7 @@ cat > $TMPC << EOF #include #include -#if X264_BUILD < 27 +#if X264_BUILD < 28 #error We do not support old versions of x264. Get the latest from SVN. #endif int main(void) { x264_encoder_open((void*)0); return 0; } diff -r c3108031b78a -r e848b20cd449 libmpcodecs/ve_x264.c --- a/libmpcodecs/ve_x264.c Sun May 29 17:04:51 2005 +0000 +++ b/libmpcodecs/ve_x264.c Sun May 29 19:05:32 2005 +0000 @@ -97,6 +97,7 @@ static int subq = 5; static int me_method = 2; static int me_range = 16; +static int threads = 1; static int level_idc = 40; static int psnr = 0; static int log_level = 2; @@ -151,6 +152,7 @@ {"me", &me_method, CONF_TYPE_INT, CONF_RANGE, 1, 4, NULL}, {"me_range", &me_range, CONF_TYPE_INT, CONF_RANGE, 4, 64, NULL}, {"level_idc", &level_idc, CONF_TYPE_INT, CONF_RANGE, 10, 51, NULL}, + {"threads", &threads, CONF_TYPE_INT, CONF_RANGE, 1, 4, NULL}, {"psnr", &psnr, CONF_TYPE_FLAG, 0, 0, 1, NULL}, {"nopsnr", &psnr, CONF_TYPE_FLAG, 0, 1, 0, NULL}, {"log", &log_level, CONF_TYPE_INT, CONF_RANGE, -1, 3, NULL}, @@ -264,6 +266,7 @@ mod->param.i_log_level = log_level; mod->param.vui.i_sar_width = d_width*height; mod->param.vui.i_sar_height = d_height*width; + mod->param.i_threads = threads; switch(outfmt) { case IMGFMT_I420: