diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2015-03-21 22:08:19 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2015-03-21 23:05:34 +0100 |
commit | d8151a7e944aea52d167571badc247c8d9972847 (patch) | |
tree | 00f3d6dcaf271371dc5a2ef284baefb8697d446d /libavcodec/h264.h | |
parent | e970b576d28dd515d4ccd665b53763e228816cac (diff) | |
parent | a12d3188cbec15e22070e139fa5cc541da07e2c3 (diff) | |
download | ffmpeg-d8151a7e944aea52d167571badc247c8d9972847.tar.gz |
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.h | 15 |
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? |