libavcodec/proresdec.c:375: error: Integer Overflow L2
  (32 - [-oo, 188]):unsigned32 by call to `decode_vlc_codeword`.

libavcodec/proresdec.c:375:14: Call
373.     unsigned int code;
374. 
375.     code   = decode_vlc_codeword(gb, FIRST_DC_CB);
                  ^
376.     out[0] = prev_dc = TOSIGNED(code);
377. 

libavcodec/proresdec.c:313:1: <RHS trace>
311.  * Read an unsigned rice/exp golomb codeword.
312.  */
313. static inline int decode_vlc_codeword(GetBitContext *gb, uint8_t codebook)
     ^
314. {
315.     unsigned int rice_order, exp_order, switch_bits;

libavcodec/proresdec.c:313:1: Parameter `codebook`
  311.  * Read an unsigned rice/exp golomb codeword.
  312.  */
  313. static inline int decode_vlc_codeword(GetBitContext *gb, uint8_t codebook)
       ^
  314. {
  315.     unsigned int rice_order, exp_order, switch_bits;

libavcodec/proresdec.c:325:5: Assignment
  323.     /* number of prefix bits to switch between Rice and expGolomb */
  324.     switch_bits = (codebook & 3) + 1;
  325.     rice_order  = codebook >> 5;        /* rice code order */
           ^
  326.     exp_order   = (codebook >> 2) & 7;  /* exp golomb code order */
  327. 

libavcodec/proresdec.c:338:13: Binary operation: (32 - [-oo, 188]):unsigned32 by call to `decode_vlc_codeword` 
  336.             prefix_len = log + 1;
  337.             code = (log << rice_order) + NEG_USR32(buf << prefix_len, rice_order);
  338.             LAST_SKIP_BITS(re, gb, prefix_len + rice_order);
                   ^
  339.         }
  340.     } else { /* otherwise we got a exp golomb code */

static inline int decode_vlc_codeword(GetBitContext *gb, uint8_t codebook)
{
    unsigned int rice_order, exp_order, switch_bits;
    unsigned int buf, code;
    int log, prefix_len, len;
    OPEN_READER(re, gb);
    UPDATE_CACHE(re, gb);
    buf = GET_CACHE(re, gb);
    switch_bits = (codebook & 3) + 1;
    rice_order  = codebook >> 5;
    exp_order   = (codebook >> 2) & 7;
    log = 31 - av_log2(buf);
    if (log < switch_bits) {
        if (!rice_order) {
            code = log;
            LAST_SKIP_BITS(re, gb, log + 1);
        } else {
            prefix_len = log + 1;
            code = (log << rice_order) + NEG_USR32(buf << prefix_len, rice_order);
            LAST_SKIP_BITS(re, gb, prefix_len + rice_order);
        }
    } else {
        len  = (log << 1) - switch_bits + exp_order + 1;
        code = NEG_USR32(buf, len) - (1 << exp_order) + (switch_bits << rice_order);
        LAST_SKIP_BITS(re, gb, len);
    }
    CLOSE_READER(re, gb);
    return code;
}
['static inline void decode_dc_coeffs(GetBitContext *gb, DCTELEM *out,\n                                    int nblocks)\n{\n    DCTELEM prev_dc;\n    int     i, sign;\n    int16_t delta;\n    unsigned int code;\n    code   = decode_vlc_codeword(gb, FIRST_DC_CB);\n    out[0] = prev_dc = TOSIGNED(code);\n    out   += 64;\n    delta  = 3;\n    for (i = 1; i < nblocks; i++, out += 64) {\n        code = decode_vlc_codeword(gb, dc_codebook[FFMIN(FFABS(delta), 3)]);\n        sign     = -(((delta >> 15) & 1) ^ (code & 1));\n        delta    = (((code + 1) >> 1) ^ sign) - sign;\n        prev_dc += delta;\n        out[0]   = prev_dc;\n    }\n}', 'static inline int decode_vlc_codeword(GetBitContext *gb, uint8_t codebook)\n{\n    unsigned int rice_order, exp_order, switch_bits;\n    unsigned int buf, code;\n    int log, prefix_len, len;\n    OPEN_READER(re, gb);\n    UPDATE_CACHE(re, gb);\n    buf = GET_CACHE(re, gb);\n    switch_bits = (codebook & 3) + 1;\n    rice_order  = codebook >> 5;\n    exp_order   = (codebook >> 2) & 7;\n    log = 31 - av_log2(buf);\n    if (log < switch_bits) {\n        if (!rice_order) {\n            code = log;\n            LAST_SKIP_BITS(re, gb, log + 1);\n        } else {\n            prefix_len = log + 1;\n            code = (log << rice_order) + NEG_USR32(buf << prefix_len, rice_order);\n            LAST_SKIP_BITS(re, gb, prefix_len + rice_order);\n        }\n    } else {\n        len  = (log << 1) - switch_bits + exp_order + 1;\n        code = NEG_USR32(buf, len) - (1 << exp_order) + (switch_bits << rice_order);\n        LAST_SKIP_BITS(re, gb, len);\n    }\n    CLOSE_READER(re, gb);\n    return code;\n}']