From 44e8e82d347fe2c19b84b74f419aeae73f4347ce Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Wed, 30 Oct 2013 18:22:03 +0100 Subject: [PATCH] avcodec/get_bits: add skip_1stop_8data_bits Signed-off-by: Michael Niedermayer --- libavcodec/get_bits.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) 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