Mercurial > libavcodec.hg
diff h264.h @ 8996:e65778184ded libavcodec
Make the following H264 functions available to the parser:
ff_h264_decode_sei, ff_h264_decode_seq_parameter_set,
ff_h264_decode_picture_parameter_set, ff_h264_decode_nal,
ff_h264_decode_rbsp_trailing
Patch by Ivan Schreter, schreter gmx net
author | cehoyos |
---|---|
date | Sat, 21 Feb 2009 19:54:14 +0000 |
parents | eaf39f9b25df |
children | 24d0633a5248 |
line wrap: on
line diff
--- a/h264.h Sat Feb 21 17:17:09 2009 +0000 +++ b/h264.h Sat Feb 21 19:54:14 2009 +0000 @@ -532,4 +532,34 @@ int initial_cpb_removal_delay[32]; ///< Initial timestamps for CPBs }H264Context; +/** + * Decode SEI + */ +int ff_h264_decode_sei(H264Context *h); + +/** + * Decode SPS + */ +int ff_h264_decode_seq_parameter_set(H264Context *h); + +/** + * Decode PPS + */ +int ff_h264_decode_picture_parameter_set(H264Context *h, int bit_length); + +/** + * Decodes a network abstraction layer unit. + * @param consumed is the number of bytes used as input + * @param length is the length of the array + * @param dst_length is the number of decoded bytes FIXME here or a decode rbsp tailing? + * @returns decoded bytes, might be src+1 if no escapes + */ +const uint8_t *ff_h264_decode_nal(H264Context *h, const uint8_t *src, int *dst_length, int *consumed, int length); + +/** + * identifies the exact end of the bitstream + * @return the length of the trailing, or 0 if damaged + */ +int ff_h264_decode_rbsp_trailing(H264Context *h, const uint8_t *src); + #endif /* AVCODEC_H264_H */