summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Bœsch <clement@stupeflix.com>2016-06-20 12:35:32 +0200
committerClément Bœsch <clement@stupeflix.com>2016-06-20 12:48:49 +0200
commitc8f7a23319e54059c6a355746845c4e4e0215509 (patch)
tree61503d8eada013461ad40f113f1b1069b8e4a4c5
parent0ab1816315b01dae882a93db90e7f6709e6a71fd (diff)
parent370ddc7b38d6b27b54fc2f5ee5f3dd9506f8c7c8 (diff)
Merge commit '370ddc7b38d6b27b54fc2f5ee5f3dd9506f8c7c8'
* commit '370ddc7b38d6b27b54fc2f5ee5f3dd9506f8c7c8': h264: remove H264Context.pict_type Merged-by: Clément Bœsch <clement@stupeflix.com>
-rw-r--r--libavcodec/h264.c2
-rw-r--r--libavcodec/h264.h2
-rw-r--r--libavcodec/h264_slice.c6
3 files changed, 2 insertions, 8 deletions
diff --git a/libavcodec/h264.c b/libavcodec/h264.c
index 812e7c0027..f2dc47338c 100644
--- a/libavcodec/h264.c
+++ b/libavcodec/h264.c
@@ -491,8 +491,6 @@ static void decode_postinit(H264Context *h, int setup_finished)
H264Picture *cur = h->cur_pic_ptr;
int i, pics, out_of_order, out_idx;
- h->cur_pic_ptr->f->pict_type = h->pict_type;
-
if (h->next_output_pic)
return;
diff --git a/libavcodec/h264.h b/libavcodec/h264.h
index 60355bfa31..5e9827d6c8 100644
--- a/libavcodec/h264.h
+++ b/libavcodec/h264.h
@@ -627,8 +627,6 @@ typedef struct H264Context {
*/
int single_decode_warning;
- enum AVPictureType pict_type;
-
/** @} */
/**
diff --git a/libavcodec/h264_slice.c b/libavcodec/h264_slice.c
index 0365e9b4c5..0e13fd9956 100644
--- a/libavcodec/h264_slice.c
+++ b/libavcodec/h264_slice.c
@@ -499,6 +499,8 @@ static int h264_frame_start(H264Context *h)
pic->invalid_gap = 0;
pic->sei_recovery_frame_cnt = h->sei.recovery_point.recovery_frame_cnt;
+ pic->f->pict_type = h->slice_ctx[0].slice_type;
+
if ((ret = alloc_picture(h, pic)) < 0)
return ret;
if(!h->frame_recovered && !h->avctx->hwaccel
@@ -1140,10 +1142,6 @@ int ff_h264_decode_slice_header(H264Context *h, H264SliceContext *sl)
}
}
- // to make a few old functions happy, it's wrong though
- if (!h->setup_finished)
- h->pict_type = sl->slice_type;
-
pps_id = get_ue_golomb(&sl->gb);
if (pps_id >= MAX_PPS_COUNT) {
av_log(h->avctx, AV_LOG_ERROR, "pps_id %u out of range\n", pps_id);