diff options
author | Janne Grunau <janne-libav@jannau.net> | 2012-01-01 20:24:24 +0100 |
---|---|---|
committer | Janne Grunau <janne-libav@jannau.net> | 2012-01-02 19:20:23 +0100 |
commit | 881a5e047dc78ec9ab771817497dffec503d77ee (patch) | |
tree | 0857c45d86537a7efe7c54dcbbe6b2d956b32861 /libavcodec/mpeg12.c | |
parent | 264808219d8be93aeda0b6ade8c64898b673f6bc (diff) | |
download | ffmpeg-881a5e047dc78ec9ab771817497dffec503d77ee.tar.gz |
mpegenc: use avctx->slices as number of slices
Adds a new member to MpegEncContext to hold the number of used slice
contexts. Fixes segfaults with '-threads 17 -thread_type slice' and
fate-vsynth{1,2}-mpeg{2,4}thread{,_ilace} with --disable-pthreads.
Diffstat (limited to 'libavcodec/mpeg12.c')
-rw-r--r-- | libavcodec/mpeg12.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/libavcodec/mpeg12.c b/libavcodec/mpeg12.c index 48860cf33a..2019512839 100644 --- a/libavcodec/mpeg12.c +++ b/libavcodec/mpeg12.c @@ -2428,7 +2428,9 @@ static int decode_chunks(AVCodecContext *avctx, } if (HAVE_THREADS && (avctx->active_thread_type & FF_THREAD_SLICE)) { - int threshold= (s2->mb_height * s->slice_count + avctx->thread_count / 2) / avctx->thread_count; + int threshold = (s2->mb_height * s->slice_count + + s2->slice_context_count / 2) / + s2->slice_context_count; if (threshold <= mb_y) { MpegEncContext *thread_context = s2->thread_context[s->slice_count]; |