summaryrefslogtreecommitdiff
path: root/libavcodec/h264dec.c
diff options
context:
space:
mode:
authorTimothy Gu <timothygu99@gmail.com>2016-08-03 20:07:21 -0700
committerTimothy Gu <timothygu99@gmail.com>2016-08-03 20:07:21 -0700
commit7f7cedd7139f18480e3dacd1abcfd94bda01fa17 (patch)
tree014f7506d73757e0254209daa54744e8170ca32a /libavcodec/h264dec.c
parentde625312862a99500ce7aa1703b5d783ae66d704 (diff)
parent58640fe89ec4f2a3d67c0a2585fca8de34440857 (diff)
downloadffmpeg-7f7cedd7139f18480e3dacd1abcfd94bda01fa17.tar.gz
Merge commit '58640fe89ec4f2a3d67c0a2585fca8de34440857'
* commit '58640fe89ec4f2a3d67c0a2585fca8de34440857': h264: handle frame recovery in h264_field_start() Conflicts: libavcodec/h264dec.c Merged-by: Timothy Gu <timothygu99@gmail.com>
Diffstat (limited to 'libavcodec/h264dec.c')
-rw-r--r--libavcodec/h264dec.c32
1 files changed, 0 insertions, 32 deletions
diff --git a/libavcodec/h264dec.c b/libavcodec/h264dec.c
index c72a7fcc16..9313301884 100644
--- a/libavcodec/h264dec.c
+++ b/libavcodec/h264dec.c
@@ -802,38 +802,6 @@ again:
if (sl->redundant_pic_count > 0)
break;
- if (h->sei.recovery_point.recovery_frame_cnt >= 0) {
- const int sei_recovery_frame_cnt = h->sei.recovery_point.recovery_frame_cnt;
-
- if (h->poc.frame_num != sei_recovery_frame_cnt || sl->slice_type_nos != AV_PICTURE_TYPE_I)
- h->valid_recovery_point = 1;
-
- if ( h->recovery_frame < 0
- || av_mod_uintp2(h->recovery_frame - h->poc.frame_num, h->ps.sps->log2_max_frame_num) > sei_recovery_frame_cnt) {
- h->recovery_frame = av_mod_uintp2(h->poc.frame_num + sei_recovery_frame_cnt, h->ps.sps->log2_max_frame_num);
-
- if (!h->valid_recovery_point)
- h->recovery_frame = h->poc.frame_num;
- }
- }
-
- h->cur_pic_ptr->f->key_frame |= (nal->type == H264_NAL_IDR_SLICE);
-
- if (nal->type == H264_NAL_IDR_SLICE ||
- (h->recovery_frame == h->poc.frame_num && nal->ref_idc)) {
- h->recovery_frame = -1;
- h->cur_pic_ptr->recovered = 1;
- }
- // If we have an IDR, all frames after it in decoded order are
- // "recovered".
- if (nal->type == H264_NAL_IDR_SLICE)
- h->frame_recovered |= FRAME_RECOVERED_IDR;
-#if 1
- h->cur_pic_ptr->recovered |= h->frame_recovered;
-#else
- h->cur_pic_ptr->recovered |= !!(h->frame_recovered & FRAME_RECOVERED_IDR);
-#endif
-
if (h->current_slice == 1) {
if (!(avctx->flags2 & AV_CODEC_FLAG2_CHUNKS))
decode_postinit(h, i >= nals_needed);