|
|
|
@@ -554,7 +554,7 @@ static inline int ape_decode_value_3990(APEContext *ctx, APERice *rice) |
|
|
|
overflow = range_get_symbol(ctx, counts_3980, counts_diff_3980); |
|
|
|
|
|
|
|
if (overflow == (MODEL_ELEMENTS - 1)) { |
|
|
|
overflow = range_decode_bits(ctx, 16) << 16; |
|
|
|
overflow = (unsigned)range_decode_bits(ctx, 16) << 16; |
|
|
|
overflow |= range_decode_bits(ctx, 16); |
|
|
|
} |
|
|
|
|
|
|
|
@@ -1130,7 +1130,7 @@ static av_always_inline int predictor_update_filter(APEPredictor *p, |
|
|
|
p->buf[delayA - 3] * p->coeffsA[filter][3]; |
|
|
|
|
|
|
|
/* Apply a scaled first-order filter compression */ |
|
|
|
p->buf[delayB] = p->filterA[filter ^ 1] - ((p->filterB[filter] * 31) >> 5); |
|
|
|
p->buf[delayB] = p->filterA[filter ^ 1] - ((int)(p->filterB[filter] * 31U) >> 5); |
|
|
|
p->buf[adaptB] = APESIGN(p->buf[delayB]); |
|
|
|
p->buf[delayB - 1] = p->buf[delayB] - p->buf[delayB - 1]; |
|
|
|
p->buf[adaptB - 1] = APESIGN(p->buf[delayB - 1]); |
|
|
|
@@ -1143,7 +1143,7 @@ static av_always_inline int predictor_update_filter(APEPredictor *p, |
|
|
|
p->buf[delayB - 4] * p->coeffsB[filter][4]; |
|
|
|
|
|
|
|
p->lastA[filter] = decoded + ((int)((unsigned)predictionA + (predictionB >> 1)) >> 10); |
|
|
|
p->filterA[filter] = p->lastA[filter] + ((p->filterA[filter] * 31) >> 5); |
|
|
|
p->filterA[filter] = p->lastA[filter] + ((int)(p->filterA[filter] * 31U) >> 5); |
|
|
|
|
|
|
|
sign = APESIGN(decoded); |
|
|
|
p->coeffsA[filter][0] += p->buf[adaptA ] * sign; |
|
|
|
@@ -1229,7 +1229,7 @@ static void predictor_decode_mono_3950(APEContext *ctx, int count) |
|
|
|
p->buf = p->historybuffer; |
|
|
|
} |
|
|
|
|
|
|
|
p->filterA[0] = currentA + ((p->filterA[0] * 31) >> 5); |
|
|
|
p->filterA[0] = currentA + ((int)(p->filterA[0] * 31U) >> 5); |
|
|
|
*(decoded0++) = p->filterA[0]; |
|
|
|
} |
|
|
|
|
|
|
|
|