V5: Split the patch. V4: Fix rang check error in assert base on Mark's review V3: Clean the code logic base on Michael's review. V2: Add set_ue_golomb_long() to support 32bits UE golomb and update the unit test.
From 4600950115a215d64cf049233195cfd035ac11cb Mon Sep 17 00:00:00 2001 From: Jun Zhao <jun.z...@intel.com> Date: Wed, 14 Jun 2017 10:08:58 +0800 Subject: [PATCH V5 1/4] lavc/golomb: add value range comment for set_ue_golomb().
set_ue_golomb just support 2^16 - 2 at most, becase this function call put_bits, and put_bits just support write up to 31 bits, when write 32 bit in put_bits, it's will overwrite the bit buffer, and the default assert level is 0, the av_assert2(n <= 31 && value < (1U << n)) in put_bits can not be trigger runtime. Signed-off-by: Jun Zhao <jun.z...@intel.com> --- libavcodec/golomb.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavcodec/golomb.h b/libavcodec/golomb.h index 4f5514795a..1e834f9327 100644 --- a/libavcodec/golomb.h +++ b/libavcodec/golomb.h @@ -458,7 +458,7 @@ static inline int get_te(GetBitContext *s, int r, char *file, const char *func, #endif /* TRACE */ /** - * write unsigned exp golomb code. + * write unsigned exp golomb code. 2^16 - 2 at most */ static inline void set_ue_golomb(PutBitContext *pb, int i) { -- 2.11.0
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel