diff options
author | Mark Thompson <sw@jkqxz.net> | 2018-02-21 22:43:13 +0000 |
---|---|---|
committer | Mark Thompson <sw@jkqxz.net> | 2018-02-21 22:51:46 +0000 |
commit | fbeac5356c692b6f681a21749dee3a3e414f1230 (patch) | |
tree | 7df69e22a39e82895418581ffc68b07c28a44658 /libavcodec/cbs_h264_syntax_template.c | |
parent | ab6edb173b365d9a787c2df3a45e3a018d7843d7 (diff) | |
parent | eccc03c8fbc603a0a3257df66f0705f74fe2581a (diff) | |
download | ffmpeg-fbeac5356c692b6f681a21749dee3a3e414f1230.tar.gz |
Merge commit 'eccc03c8fbc603a0a3257df66f0705f74fe2581a'
* commit 'eccc03c8fbc603a0a3257df66f0705f74fe2581a':
cbs_h264: Add support for filler NAL units
Some bitstream -> get_bits.
Merged-by: Mark Thompson <sw@jkqxz.net>
Diffstat (limited to 'libavcodec/cbs_h264_syntax_template.c')
-rw-r--r-- | libavcodec/cbs_h264_syntax_template.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/libavcodec/cbs_h264_syntax_template.c b/libavcodec/cbs_h264_syntax_template.c index 05370b81fa..f58dee8a25 100644 --- a/libavcodec/cbs_h264_syntax_template.c +++ b/libavcodec/cbs_h264_syntax_template.c @@ -1247,3 +1247,32 @@ static int FUNC(slice_header)(CodedBitstreamContext *ctx, RWContext *rw, return 0; } + +static int FUNC(filler)(CodedBitstreamContext *ctx, RWContext *rw, + H264RawFiller *current) +{ + av_unused int ff_byte = 0xff; + int err; + + HEADER("Filler Data"); + + CHECK(FUNC(nal_unit_header)(ctx, rw, ¤t->nal_unit_header, + 1 << H264_NAL_FILLER_DATA)); + +#ifdef READ + while (show_bits(rw, 8) == 0xff) { + xu(8, ff_byte, ff_byte, 0xff, 0xff); + ++current->filler_size; + } +#else + { + uint32_t i; + for (i = 0; i < current->filler_size; i++) + xu(8, ff_byte, ff_byte, 0xff, 0xff); + } +#endif + + CHECK(FUNC(rbsp_trailing_bits)(ctx, rw)); + + return 0; +} |