aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/h264.h
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2016-05-09 14:25:56 +0200
committerAnton Khirnov <anton@khirnov.net>2016-06-12 20:27:53 +0200
commitbec993381cfec72051b0d9f12ac9d9bb9c750983 (patch)
tree4f7585caa0abcc3dcede2b8a7320b772094db291 /libavcodec/h264.h
parent2d410ebbaa1e760d6837cb434a6d1d4c3c6f0d85 (diff)
downloadffmpeg-bec993381cfec72051b0d9f12ac9d9bb9c750983.tar.gz
h264: postpone generating the implicit MMCOs
Do it right before the MMCOs are applied to the DPB. This will allow moving the frame_start() call out of the slice header parsing, since generating the implicit MMCOs needs to be done after frame_start().
Diffstat (limited to 'libavcodec/h264.h')
-rw-r--r--libavcodec/h264.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/libavcodec/h264.h b/libavcodec/h264.h
index 227cdab3a8..ee6498195e 100644
--- a/libavcodec/h264.h
+++ b/libavcodec/h264.h
@@ -442,6 +442,7 @@ typedef struct H264SliceContext {
MMCO mmco[MAX_MMCO_COUNT];
int nb_mmco;
+ int explicit_ref_marking;
} H264SliceContext;
/**
@@ -579,6 +580,7 @@ typedef struct H264Context {
MMCO mmco[MAX_MMCO_COUNT];
int nb_mmco;
int mmco_reset;
+ int explicit_ref_marking;
int long_ref_count; ///< number of actual long term references
int short_ref_count; ///< number of actual short term references
@@ -672,13 +674,11 @@ void ff_h264_remove_all_refs(H264Context *h);
/**
* Execute the reference picture marking (memory management control operations).
*/
-int ff_h264_execute_ref_pic_marking(H264Context *h, MMCO *mmco, int mmco_count);
+int ff_h264_execute_ref_pic_marking(H264Context *h);
int ff_h264_decode_ref_pic_marking(const H264Context *h, H264SliceContext *sl,
GetBitContext *gb);
-int ff_generate_sliding_window_mmcos(const H264Context *h, H264SliceContext *sl);
-
void ff_h264_hl_decode_mb(const H264Context *h, H264SliceContext *sl);
int ff_h264_decode_init(AVCodecContext *avctx);
void ff_h264_decode_init_vlc(void);