Fix crash with sliced threads and input height <= 112
authorAnton Mitrofanov <BugMaster@narod.ru>
Wed, 21 Dec 2011 07:08:56 +0000 (11:08 +0400)
committerFiona Glaser <fiona@x264.com>
Thu, 12 Jan 2012 20:04:21 +0000 (12:04 -0800)
encoder/encoder.c

index 65ab5c3..adac4f8 100644 (file)
@@ -472,7 +472,6 @@ static int x264_validate_parameters( x264_t *h, int b_open )
 
     if( h->param.i_threads == X264_THREADS_AUTO )
         h->param.i_threads = x264_cpu_num_processors() * (h->param.b_sliced_threads?2:3)/2;
-    h->param.i_threads = x264_clip3( h->param.i_threads, 1, X264_THREAD_MAX );
     if( h->param.i_threads > 1 )
     {
 #if !HAVE_THREAD
@@ -487,7 +486,8 @@ static int x264_validate_parameters( x264_t *h, int b_open )
             h->param.i_threads = X264_MIN( h->param.i_threads, max_threads );
         }
     }
-    else
+    h->param.i_threads = x264_clip3( h->param.i_threads, 1, X264_THREAD_MAX );
+    if( h->param.i_threads == 1 )
         h->param.b_sliced_threads = 0;
     h->i_thread_frames = h->param.b_sliced_threads ? 1 : h->param.i_threads;
     if( h->i_thread_frames > 1 )