summaryrefslogtreecommitdiff
path: root/libavcodec/h264_parse.h
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2016-03-21 16:14:31 +0100
committerAnton Khirnov <anton@khirnov.net>2016-04-24 10:06:24 +0200
commitc8dcff0cdb17d0aa03ac729eba12d1a20f1f59c8 (patch)
treeb86b624464e77fe4d82a4ccef0b5fec64ff639c7 /libavcodec/h264_parse.h
parent113aeee6aed35cb786a9f6d69b0cb210f498b9da (diff)
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.h17
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 */