[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