diff --git a/libavcodec/get_bits.h b/libavcodec/get_bits.h index 4ddb08817b..7824e5ab0f 100644 --- a/libavcodec/get_bits.h +++ b/libavcodec/get_bits.h @@ -585,6 +585,20 @@ static inline int get_bits_left(GetBitContext *gb) return gb->size_in_bits - get_bits_count(gb); } +static inline int skip_1stop_8data_bits(GetBitContext *gb) +{ + if (get_bits_left(gb) <= 0) + return AVERROR_INVALIDDATA; + + while (get_bits1(gb)) { + skip_bits(gb, 8); + if (get_bits_left(gb) <= 0) + return AVERROR_INVALIDDATA; + } + + return 0; +} + //#define TRACE #ifdef TRACE