mirror of https://git.ffmpeg.org/ffmpeg.git
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:
parent
1043cb8e80
commit
62a1181015
|
@ -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]];
|
||||||
|
|
Loading…
Reference in New Issue