libavcodec/apedec.c:399: error: Integer Overflow L2
  ([0, `x` + 1] - [0, `rice->ksum` + 16]):unsigned32.

libavcodec/apedec.c:396:1: <LHS trace>
394. /** @} */ // group rangecoder
395. 
396. static inline void update_rice(APERice *rice, unsigned int x)
     ^
397. {
398.     int lim = rice->k ? (1 << (rice->k + 4)) : 0;

libavcodec/apedec.c:396:1: Parameter `x`
394. /** @} */ // group rangecoder
395. 
396. static inline void update_rice(APERice *rice, unsigned int x)
     ^
397. {
398.     int lim = rice->k ? (1 << (rice->k + 4)) : 0;

libavcodec/apedec.c:396:1: <RHS trace>
394. /** @} */ // group rangecoder
395. 
396. static inline void update_rice(APERice *rice, unsigned int x)
     ^
397. {
398.     int lim = rice->k ? (1 << (rice->k + 4)) : 0;

libavcodec/apedec.c:396:1: Parameter `rice->ksum`
394. /** @} */ // group rangecoder
395. 
396. static inline void update_rice(APERice *rice, unsigned int x)
     ^
397. {
398.     int lim = rice->k ? (1 << (rice->k + 4)) : 0;

libavcodec/apedec.c:399:5: Binary operation: ([0, x + 1] - [0, rice->ksum + 16]):unsigned32
397. {
398.     int lim = rice->k ? (1 << (rice->k + 4)) : 0;
399.     rice->ksum += ((x + 1) / 2) - ((rice->ksum + 16) >> 5);
         ^
400. 
401.     if (rice->ksum < lim)

static inline void update_rice(APERice *rice, unsigned int x)
{
    int lim = rice->k ? (1 << (rice->k + 4)) : 0;
    rice->ksum += ((x + 1) / 2) - ((rice->ksum + 16) >> 5);
    if (rice->ksum < lim)
        rice->k--;
    else if (rice->ksum >= (1 << (rice->k + 5)))
        rice->k++;
}
['static inline void update_rice(APERice *rice, unsigned int x)\n{\n    int lim = rice->k ? (1 << (rice->k + 4)) : 0;\n    rice->ksum += ((x + 1) / 2) - ((rice->ksum + 16) >> 5);\n    if (rice->ksum < lim)\n        rice->k--;\n    else if (rice->ksum >= (1 << (rice->k + 5)))\n        rice->k++;\n}']