Michael Niedermayer: > On Tue, Jul 14, 2020 at 05:34:50PM +0200, Andreas Rheinhardt wrote: >> get_ue_golomb_31() uses a LUT of 512 entries; therefore it can be used >> to parse exp-golomb codes of length <= 9, i.e. those codes with at most >> four leading bits that have five effective bits; this implies a range of >> 0..30 and not 31. In particular, this function must not be used to parse >> e.g. the H.264 SPS id. > > hmm, are you sure ? >
Yes. > 1 0 > 01X 1-2 > 001XX 3-6 > 0001XXX 7-14 > 00001XXXX 15-30 > 000001..... 31 > > we need to read 9 bits for this, we do not need to read the bits marked with > a "." because the code is already determined at this point. > The code is only determined at the point if one already presumes that it can't be anything >31. Without this assumption, one needs to look at all the five "." in order to distinguish it from 32..62. By looking at only 9 digits one can not rule out 32-34. And if you take a look at ff_ue_golomb_vlc_code, you will see that it does not even contain 31 at all. It returns the values 0-30 for the codes with length <= 9 and returns 32 for the rest. - Andreas _______________________________________________ ffmpeg-devel mailing list [email protected] https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email [email protected] with subject "unsubscribe".
