Browse Source

avcodec/wavpackenc: Fix undefined shifts

Fixes ticket #8161 and the acodec-wavpack FATE-test.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
(cherry picked from commit 84974c6fb5)
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
tags/n4.1.6
Andreas Rheinhardt 6 years ago
parent
commit
3497fd2dd7
1 changed files with 3 additions and 3 deletions
  1. +3
    -3
      libavcodec/wavpackenc.c

+ 3
- 3
libavcodec/wavpackenc.c View File

@@ -529,9 +529,9 @@ static int8_t store_weight(int weight)

static int restore_weight(int8_t weight)
{
int result;
int result = 8 * weight;

if ((result = (int) weight << 3) > 0)
if (result > 0)
result += (result + 64) >> 7;

return result;
@@ -2571,7 +2571,7 @@ static int wavpack_encode_block(WavPackEncodeContext *s,
ret = wv_mono(s, samples_l, !s->num_terms, 1);
} else {
for (i = 0; i < nb_samples; i++)
crc += (crc << 3) + (samples_l[i] << 1) + samples_l[i] + samples_r[i];
crc += (crc << 3) + ((uint32_t)samples_l[i] << 1) + samples_l[i] + samples_r[i];

if (s->num_passes)
ret = wv_stereo(s, samples_l, samples_r, !s->num_terms, 1);


Loading…
Cancel
Save