1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-01-13 21:28:01 +02:00

Merge commit '93a51984a27f3ba84d4e6f13d0c704ee9891603e'

* commit '93a51984a27f3ba84d4e6f13d0c704ee9891603e':
  mpeg12: Ignore slice threading if hwaccel is active

Conflicts:
	libavcodec/mpeg12dec.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2013-07-26 10:57:51 +02:00
commit 5dc2c99055

View File

@ -2128,7 +2128,8 @@ static int decode_chunks(AVCodecContext *avctx,
buf_ptr = avpriv_find_start_code(buf_ptr, buf_end, &start_code); buf_ptr = avpriv_find_start_code(buf_ptr, buf_end, &start_code);
if (start_code > 0x1ff) { if (start_code > 0x1ff) {
if (!skip_frame) { if (!skip_frame) {
if (HAVE_THREADS && (avctx->active_thread_type & FF_THREAD_SLICE)) { if (HAVE_THREADS && (avctx->active_thread_type & FF_THREAD_SLICE) &&
!avctx->hwaccel) {
int i; int i;
av_assert0(avctx->thread_count > 1); av_assert0(avctx->thread_count > 1);
@ -2192,7 +2193,8 @@ static int decode_chunks(AVCodecContext *avctx,
s2->intra_dc_precision= 3; s2->intra_dc_precision= 3;
s2->intra_matrix[0]= 1; s2->intra_matrix[0]= 1;
} }
if (HAVE_THREADS && (avctx->active_thread_type & FF_THREAD_SLICE) && s->slice_count) { if (HAVE_THREADS && (avctx->active_thread_type & FF_THREAD_SLICE) &&
!avctx->hwaccel && s->slice_count) {
int i; int i;
avctx->execute(avctx, slice_decode_thread, avctx->execute(avctx, slice_decode_thread,
@ -2367,7 +2369,8 @@ static int decode_chunks(AVCodecContext *avctx,
break; break;
} }
if (HAVE_THREADS && (avctx->active_thread_type & FF_THREAD_SLICE)) { if (HAVE_THREADS && (avctx->active_thread_type & FF_THREAD_SLICE) &&
!avctx->hwaccel) {
int threshold = (s2->mb_height * s->slice_count + int threshold = (s2->mb_height * s->slice_count +
s2->slice_context_count / 2) / s2->slice_context_count / 2) /
s2->slice_context_count; s2->slice_context_count;