Mercurial > libavcodec.hg
diff h264.h @ 10862:d9c084a0c22b libavcodec
Split all the reference picture handling off h264.c.
author | michael |
---|---|
date | Tue, 12 Jan 2010 20:59:00 +0000 |
parents | 762e6bb0ba40 |
children | 974ac220c93a |
line wrap: on
line diff
--- a/h264.h Tue Jan 12 20:37:56 2010 +0000 +++ b/h264.h Tue Jan 12 20:59:00 2010 +0000 @@ -93,6 +93,13 @@ #define IS_REF0(a) ((a) & MB_TYPE_REF0) #define IS_8x8DCT(a) ((a) & MB_TYPE_8x8DCT) +/** + * Value of Picture.reference when Picture is not a reference picture, but + * is held for delayed output. + */ +#define DELAYED_PIC_REF 4 + + /* NAL unit types */ enum { NAL_SLICE=1, @@ -604,6 +611,23 @@ int ff_h264_alloc_tables(H264Context *h); /** + * fills the default_ref_list. + */ +int ff_h264_fill_default_ref_list(H264Context *h); + +int ff_h264_decode_ref_pic_list_reordering(H264Context *h); +void ff_h264_fill_mbaff_ref_list(H264Context *h); +void ff_h264_remove_all_refs(H264Context *h); + +/** + * Executes 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_decode_ref_pic_marking(H264Context *h, GetBitContext *gb); + + +/** * checks if the top & left blocks are available if needed & changes the dc mode so it only uses the available blocks. */ int ff_h264_check_intra_pred_mode(H264Context *h, int mode);