summaryrefslogtreecommitdiff
path: root/apps/codecs/libwavpack/unpack.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/codecs/libwavpack/unpack.c')
-rw-r--r--apps/codecs/libwavpack/unpack.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/apps/codecs/libwavpack/unpack.c b/apps/codecs/libwavpack/unpack.c
index e2e27b4999..917f487b20 100644
--- a/apps/codecs/libwavpack/unpack.c
+++ b/apps/codecs/libwavpack/unpack.c
@@ -17,6 +17,7 @@
17 17
18#include <string.h> 18#include <string.h>
19#include <math.h> 19#include <math.h>
20#include <stdlib.h>
20 21
21#define LOSSY_MUTE 22#define LOSSY_MUTE
22 23
@@ -513,6 +514,7 @@ static void fixup_samples (WavpackStream *wps, long *buffer, ulong sample_count)
513 514
514 if (flags & HYBRID_FLAG) { 515 if (flags & HYBRID_FLAG) {
515 long min_value, max_value, min_shifted, max_shifted; 516 long min_value, max_value, min_shifted, max_shifted;
517 min_value = max_value = min_shifted = max_shifted = 0;
516 518
517 switch (flags & BYTES_STORED) { 519 switch (flags & BYTES_STORED) {
518 case 0: 520 case 0:
@@ -531,8 +533,9 @@ static void fixup_samples (WavpackStream *wps, long *buffer, ulong sample_count)
531 break; 533 break;
532 534
533 case 3: 535 case 3:
534 min_shifted = (min_value = -(long)2147483648 >> shift) << shift; 536 // 0x80000000 is the same as 2147483648
535 max_shifted = (max_value = (long) 2147483647 >> shift) << shift; 537 min_shifted = (min_value = -0x80000000 >> shift) << shift;
538 max_shifted = (max_value = 0x80000000 >> shift) << shift;
536 break; 539 break;
537 } 540 }
538 541