On 1/30/2024 7:19 PM, Andreas Rheinhardt wrote:
James Almer:
Signed-off-by: James Almer <jamr...@gmail.com>
---
  libavcodec/get_bits.h | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/get_bits.h b/libavcodec/get_bits.h
index 9e19d2a439..c0cc7c0a7d 100644
--- a/libavcodec/get_bits.h
+++ b/libavcodec/get_bits.h
@@ -725,7 +725,7 @@ static inline unsigned get_leb(GetBitContext *s) {
          int byte = get_bits(s, 8);
          unsigned bits = byte & 0x7f;
          more = byte & 0x80;
-        if (i <= 4)
+        if (i <= 3 || (i == 4 && bits < (1 << 4)))
              leb |= bits << (i * 7);
          if (++i == 8)
              break;

This truncates more bits than necessary, which is IMO against the
documentation of this function.

Mmh, true. I'll just leave it as is then. So patch withdrawn.
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to