diff options
author | Anton Khirnov <anton@khirnov.net> | 2016-03-21 16:14:31 +0100 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2016-04-24 10:06:24 +0200 |
commit | c8dcff0cdb17d0aa03ac729eba12d1a20f1f59c8 (patch) | |
tree | b86b624464e77fe4d82a4ccef0b5fec64ff639c7 /libavcodec/h264_parse.h | |
parent | 113aeee6aed35cb786a9f6d69b0cb210f498b9da (diff) | |
download | ffmpeg-c8dcff0cdb17d0aa03ac729eba12d1a20f1f59c8.tar.gz |
h264: factor out calculating the POC count into a separate file
This will allow decoupling the parser from the decoder.
Diffstat (limited to 'libavcodec/h264_parse.h')
-rw-r--r-- | libavcodec/h264_parse.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/libavcodec/h264_parse.h b/libavcodec/h264_parse.h index 23676b36c7..c47b420e49 100644 --- a/libavcodec/h264_parse.h +++ b/libavcodec/h264_parse.h @@ -39,6 +39,19 @@ typedef struct H264PredWeightTable { int implicit_weight[48][48][2]; } H264PredWeightTable; +typedef struct H264POCContext { + int poc_lsb; + int poc_msb; + int delta_poc_bottom; + int delta_poc[2]; + int frame_num; + int prev_poc_msb; ///< poc_msb of the last reference pic for POC type 0 + int prev_poc_lsb; ///< poc_lsb of the last reference pic for POC type 0 + int frame_num_offset; ///< for POC type 2 + int prev_frame_num_offset; ///< for POC type 2 + int prev_frame_num; ///< frame_num of the last pic for POC type 1/2 +} H264POCContext; + struct SPS; struct PPS; @@ -65,4 +78,8 @@ int ff_h264_parse_ref_count(int *plist_count, int ref_count[2], GetBitContext *gb, const struct PPS *pps, int slice_type_nos, int picture_structure); +int ff_h264_init_poc(int pic_field_poc[2], int *pic_poc, + const struct SPS *sps, H264POCContext *poc, + int picture_structure, int nal_ref_idc); + #endif /* AVCODEC_H264_PARSE_H */ |