summaryrefslogtreecommitdiff
path: root/libavcodec
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2013-04-09 23:11:06 +0200
committerMichael Niedermayer <michaelni@gmx.at>2013-04-09 23:12:24 +0200
commit62a1181015c2bd90adfadcd8c9ababba44665db2 (patch)
tree444468586ac0763c081a97251d9d9fe5ad9038a9 /libavcodec
parent1043cb8e80e2359307e14e03d2ade052245e7098 (diff)
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>
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/h264.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index 35387fac5f..929889043c 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -4248,7 +4248,7 @@ static int decode_slice(struct AVCodecContext *avctx, void *arg)
avctx->codec_id != AV_CODEC_ID_H264 ||
(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);
if (start_i) {
int prev_status = h->er.error_status_table[h->er.mb_index2xy[start_i - 1]];