libavcodec/dirac.c:152: error: Integer Overflow L2
  (32 - [-1+min(64, `bc->bits_left`), -1+max(64, `bc->bits_left`)]):unsigned32 by call to `get_interleaved_ue_golomb`.

libavcodec/dirac.c:142:1: Parameter `bc->bits_left`
140. /* [DIRAC_STD] 10.3 Parse Source Parameters.
141.  * source_parameters(base_video_format) */
142. static int parse_source_parameters(AVDiracSeqHeader *dsh, BitstreamContext *bc,
     ^
143.                                    void *log_ctx)
144. {

libavcodec/dirac.c:151:9: Call
149.     /* [DIRAC_STD] 10.3.2 Frame size. frame_size(video_params) */
150.     /* [DIRAC_STD] custom_dimensions_flag */
151.     if (bitstream_read_bit(bc)) {
             ^
152.         dsh->width  = get_interleaved_ue_golomb(bc); /* [DIRAC_STD] FRAME_WIDTH  */
153.         dsh->height = get_interleaved_ue_golomb(bc); /* [DIRAC_STD] FRAME_HEIGHT */

libavcodec/bitstream.h:145:1: Parameter `bc->bits_left`
  143. 
  144. /* Return one bit from the buffer. */
  145. static inline unsigned bitstream_read_bit(BitstreamContext *bc)
       ^
  146. {
  147.     if (!bc->bits_left)

libavcodec/bitstream.h:150:12: Call
  148.         refill_64(bc);
  149. 
  150.     return get_val(bc, 1);
                  ^
  151. }
  152. 

libavcodec/bitstream.h:130:1: Parameter `n`
    128. }
    129. 
    130. static inline uint64_t get_val(BitstreamContext *bc, unsigned n)
         ^
    131. {
    132. #ifdef BITSTREAM_READER_LE

libavcodec/bitstream.h:139:5: Assignment
    137.     bc->bits <<= n;
    138. #endif
    139.     bc->bits_left -= n;
             ^
    140. 
    141.     return ret;

libavcodec/dirac.c:152:23: Call
150.     /* [DIRAC_STD] custom_dimensions_flag */
151.     if (bitstream_read_bit(bc)) {
152.         dsh->width  = get_interleaved_ue_golomb(bc); /* [DIRAC_STD] FRAME_WIDTH  */
                           ^
153.         dsh->height = get_interleaved_ue_golomb(bc); /* [DIRAC_STD] FRAME_HEIGHT */
154.     }

libavcodec/golomb.h:104:1: Parameter `bc->bits_left`
  102. }
  103. 
  104. static inline unsigned get_interleaved_ue_golomb(BitstreamContext *bc)
       ^
  105. {
  106.     uint32_t buf;

libavcodec/golomb.h:108:11: Call
  106.     uint32_t buf;
  107. 
  108.     buf = bitstream_peek(bc, 32);
                 ^
  109. 
  110.     if (buf & 0xAA800000) {

libavcodec/bitstream.h:215:1: Parameter `n`
    213. /* Return n bits from the buffer, but do not change the buffer state.
    214.  * n has to be in the 0-32 range. */
    215. static inline unsigned bitstream_peek(BitstreamContext *bc, unsigned n)
         ^
    216. {
    217.     if (n > bc->bits_left)

libavcodec/bitstream.h:218:9: Call
    216. {
    217.     if (n > bc->bits_left)
    218.         refill_32(bc);
                 ^
    219. 
    220.     return show_val(bc, n);

libavcodec/bitstream.h:60:1: <RHS trace>
58. }
59. 
60. static inline void refill_32(BitstreamContext *bc)
    ^
61. {
62.     if (bc->ptr >= bc->buffer_end)

libavcodec/bitstream.h:60:1: Parameter `bc->bits_left`
      58. }
      59. 
      60. static inline void refill_32(BitstreamContext *bc)
          ^
      61. {
      62.     if (bc->ptr >= bc->buffer_end)

libavcodec/bitstream.h:68:5: Binary operation: (32 - [-1+min(64, bc->bits_left), -1+max(64, bc->bits_left)]):unsigned32 by call to `get_interleaved_ue_golomb` 
      66.     bc->bits       = (uint64_t)AV_RL32(bc->ptr) << bc->bits_left | bc->bits;
      67. #else
      68.     bc->bits       = bc->bits | (uint64_t)AV_RB32(bc->ptr) << (32 - bc->bits_left);
              ^
      69. #endif
      70.     bc->ptr       += 4;
