[FFmpeg-devel] [PATCH v3 3/5] avcodec/golomb: Document return value of get_ue_golomb_31 on error

Michael Niedermayer michael at niedermayer.cc
Tue Jul 28 22:44:38 EEST 2020


On Mon, Jul 27, 2020 at 11:08:08AM +0200, Andreas Rheinhardt wrote:
> get_ue_golomb_31() reads nine bits and an array with 512 entries to
> parse golomb codes. The longest golomb codes that fit into 9 bits use
> four leading zeroes and five value bits and can encode numbers in the
> 0..30 range. 31 meanwhile is encoded on 11 bits and if the nine bits
> read coincide with the first nine bits of the encoding of 31,
> get_ue_golomb_31() returns 31 (and skips 11 bits).
> 
> But looking at the first nine bits only makes it impossible to distinguish
> 31 from 32..34. Therefore the documentation of get_ue_golomb_31() simply
> states that the return value is undefined if the value of the encountered
> exp golomb code was outside the 0..31 range.
> 
> But actually get_ue_golomb_31() does not behave that bad: If the returned
> value is in the range of 0..30, then this is the actually encountered value,
> so that this function can be used without any problems to parse and validate
> parameters whose legal values are a subset of the 0..30 range.
> 
> This commit documents this fact.
> 
> Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at gmail.com>
> ---
>  libavcodec/golomb.h | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)

LGTM

thx

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Why not whip the teacher when the pupil misbehaves? -- Diogenes of Sinope
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20200728/fb363a71/attachment.sig>


More information about the ffmpeg-devel mailing list