aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/h264.h
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2010-01-12 20:59:00 +0000
committerMichael Niedermayer <michaelni@gmx.at>2010-01-12 20:59:00 +0000
commitea6f00c448beb212c80ebc7d4555a8aa7160fdb9 (patch)
tree5902e0f46b8d725649d22f0fa0064cfcbf8da1d0 /libavcodec/h264.h
parent099809d19b3fd0fb7118eb7a1749581a541c1e33 (diff)
downloadffmpeg-ea6f00c448beb212c80ebc7d4555a8aa7160fdb9.tar.gz
Split all the reference picture handling off h264.c.
Originally committed as revision 21172 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/h264.h')
-rw-r--r--libavcodec/h264.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/libavcodec/h264.h b/libavcodec/h264.h
index 03b465e6ee..16bf9aed73 100644
--- a/libavcodec/h264.h
+++ b/libavcodec/h264.h
@@ -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_get_slice_type(H264Context *h);
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);