diff options
author | Ronald S. Bultje <rsbultje@gmail.com> | 2011-05-17 18:26:29 +0400 |
---|---|---|
committer | Ronald S. Bultje <rsbultje@gmail.com> | 2011-05-18 14:54:15 +0400 |
commit | 508a24f8dc63e74bd9917e6f0c4cdbb744741ef0 (patch) | |
tree | 1e6e3c8004d0de778c27e10e37d827b14639d2d7 /libavcodec/mpeg12.c | |
parent | 8d44cd2cd82e27e6b051fe0606dece3b0bec0bcd (diff) |
mpeg12: add slice-threading checks to slice-threading initializers.
Fixes "make THREADS=2 THREAD_TYPE=1 fate-mpeg2-field-enc".
Diffstat (limited to 'libavcodec/mpeg12.c')
-rw-r--r-- | libavcodec/mpeg12.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libavcodec/mpeg12.c b/libavcodec/mpeg12.c index ffe6b94c05..88ed5332ae 100644 --- a/libavcodec/mpeg12.c +++ b/libavcodec/mpeg12.c @@ -2262,7 +2262,7 @@ static int decode_chunks(AVCodecContext *avctx, buf_ptr = ff_find_start_code(buf_ptr,buf_end, &start_code); if (start_code > 0x1ff){ if(s2->pict_type != AV_PICTURE_TYPE_B || avctx->skip_frame <= AVDISCARD_DEFAULT){ - if(avctx->thread_count > 1){ + if((avctx->active_thread_type & FF_THREAD_SLICE) && avctx->thread_count > 1){ int i; avctx->execute(avctx, slice_decode_thread, &s2->thread_context[0], NULL, s->slice_count, sizeof(void*)); @@ -2430,7 +2430,7 @@ static int decode_chunks(AVCodecContext *avctx, break; } - if(avctx->thread_count > 1){ + if((avctx->active_thread_type & FF_THREAD_SLICE) && avctx->thread_count > 1){ int threshold= (s2->mb_height*s->slice_count + avctx->thread_count/2) / avctx->thread_count; if(threshold <= mb_y){ MpegEncContext *thread_context= s2->thread_context[s->slice_count]; @@ -2541,7 +2541,7 @@ AVCodec ff_mpegvideo_decoder = { #if CONFIG_MPEG_XVMC_DECODER static av_cold int mpeg_mc_decode_init(AVCodecContext *avctx){ - if( avctx->thread_count > 1) + if((avctx->active_thread_type & FF_THREAD_SLICE) && avctx->thread_count > 1) return -1; if( !(avctx->slice_flags & SLICE_FLAG_CODED_ORDER) ) return -1; |