|
|
|
@ -586,7 +586,7 @@ av_cold int MPV_common_init(MpegEncContext *s) |
|
|
|
|
return -1; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if((s->avctx->active_thread_type & FF_THREAD_SLICE) && |
|
|
|
|
if((s->encoding || (s->avctx->active_thread_type & FF_THREAD_SLICE)) && |
|
|
|
|
(s->avctx->thread_count > MAX_THREADS || (s->avctx->thread_count > s->mb_height && s->mb_height))){ |
|
|
|
|
av_log(s->avctx, AV_LOG_ERROR, "too many threads\n"); |
|
|
|
|
return -1; |
|
|
|
@ -750,7 +750,7 @@ av_cold int MPV_common_init(MpegEncContext *s) |
|
|
|
|
s->thread_context[0]= s; |
|
|
|
|
|
|
|
|
|
if (s->width && s->height) { |
|
|
|
|
if (HAVE_THREADS && s->avctx->active_thread_type&FF_THREAD_SLICE) { |
|
|
|
|
if (s->encoding || (HAVE_THREADS && s->avctx->active_thread_type&FF_THREAD_SLICE)) { |
|
|
|
|
threads = s->avctx->thread_count; |
|
|
|
|
|
|
|
|
|
for(i=1; i<threads; i++){ |
|
|
|
@ -782,7 +782,7 @@ void MPV_common_end(MpegEncContext *s) |
|
|
|
|
{ |
|
|
|
|
int i, j, k; |
|
|
|
|
|
|
|
|
|
if (HAVE_THREADS && s->avctx->active_thread_type&FF_THREAD_SLICE) { |
|
|
|
|
if (s->encoding || (HAVE_THREADS && s->avctx->active_thread_type&FF_THREAD_SLICE)) { |
|
|
|
|
for(i=0; i<s->avctx->thread_count; i++){ |
|
|
|
|
free_duplicate_context(s->thread_context[i]); |
|
|
|
|
} |
|
|
|
|