h264: wait for missing slices only on frames

The EC code does not support fields currently thus it makes no
sense to wait for these cases (which also the check doesnt handle
correctly)

Fixes Ticket 2454

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2013-04-09 23:11:06 +02:00
parent 1043cb8e80
commit 62a1181015
1 changed files with 1 additions and 1 deletions

View File

@ -4248,7 +4248,7 @@ static int decode_slice(struct AVCodecContext *avctx, void *arg)
avctx->codec_id != AV_CODEC_ID_H264 || avctx->codec_id != AV_CODEC_ID_H264 ||
(CONFIG_GRAY && (h->flags & CODEC_FLAG_GRAY)); (CONFIG_GRAY && (h->flags & CODEC_FLAG_GRAY));
if (!(h->avctx->active_thread_type & FF_THREAD_SLICE)) { if (!(h->avctx->active_thread_type & FF_THREAD_SLICE) && h->picture_structure == PICT_FRAME) {
const int start_i = av_clip(h->resync_mb_x + h->resync_mb_y * h->mb_width, 0, h->mb_num - 1); const int start_i = av_clip(h->resync_mb_x + h->resync_mb_y * h->mb_width, 0, h->mb_num - 1);
if (start_i) { if (start_i) {
int prev_status = h->er.error_status_table[h->er.mb_index2xy[start_i - 1]]; int prev_status = h->er.error_status_table[h->er.mb_index2xy[start_i - 1]];