diff options
author | Anton Khirnov <anton@khirnov.net> | 2016-05-09 14:25:56 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2016-06-12 20:27:53 +0200 |
commit | bec993381cfec72051b0d9f12ac9d9bb9c750983 (patch) | |
tree | 4f7585caa0abcc3dcede2b8a7320b772094db291 /libavcodec/h264.h | |
parent | 2d410ebbaa1e760d6837cb434a6d1d4c3c6f0d85 (diff) | |
download | ffmpeg-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.h | 6 |
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); |