summaryrefslogtreecommitdiff
path: root/libavcodec/h264.h
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2015-03-21 22:08:19 +0100
committerMichael Niedermayer <michaelni@gmx.at>2015-03-21 23:05:34 +0100
commitd8151a7e944aea52d167571badc247c8d9972847 (patch)
tree00f3d6dcaf271371dc5a2ef284baefb8697d446d /libavcodec/h264.h
parente970b576d28dd515d4ccd665b53763e228816cac (diff)
parenta12d3188cbec15e22070e139fa5cc541da07e2c3 (diff)
Merge commit 'a12d3188cbec15e22070e139fa5cc541da07e2c3'
* commit 'a12d3188cbec15e22070e139fa5cc541da07e2c3': h264: use a smaller struct for the ref lists Conflicts: libavcodec/h264_direct.c libavcodec/h264_mb.c libavcodec/h264_picture.c libavcodec/h264_refs.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/h264.h')
-rw-r--r--libavcodec/h264.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/libavcodec/h264.h b/libavcodec/h264.h
index 5ecff73f54..2c38a246b6 100644
--- a/libavcodec/h264.h
+++ b/libavcodec/h264.h
@@ -333,6 +333,17 @@ typedef struct H264Picture {
int crop_top;
} H264Picture;
+typedef struct H264Ref {
+ uint8_t *data[3];
+ int linesize[3];
+
+ int reference;
+ int poc;
+ int pic_id;
+
+ H264Picture *parent;
+} H264Ref;
+
typedef struct H264SliceContext {
struct H264Context *h264;
GetBitContext gb;
@@ -430,7 +441,7 @@ typedef struct H264SliceContext {
*/
unsigned int ref_count[2]; ///< counts frames or fields, depending on current mb mode
unsigned int list_count;
- H264Picture ref_list[2][48]; /**< 0..15: frame refs, 16..47: mbaff field refs.
+ H264Ref ref_list[2][48]; /**< 0..15: frame refs, 16..47: mbaff field refs.
* Reordered version of default_ref_list
* according to picture reordering in slice header */
int ref2frm[MAX_SLICES][2][64]; ///< reference to frame number lists, used in the loop filter, the first 2 are for -2,-1
@@ -628,7 +639,7 @@ typedef struct H264Context {
*/
int max_pic_num;
- H264Picture default_ref_list[2][32]; ///< base reference list for all slices of a coded picture
+ H264Ref default_ref_list[2][32]; ///< base reference list for all slices of a coded picture
H264Picture *short_ref[32];
H264Picture *long_ref[32];
H264Picture *delayed_pic[MAX_DELAYED_PIC_COUNT + 2]; // FIXME size?