aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/apedec.c
diff options
context:
space:
mode:
authorGanesh Ajjanagadde <gajjanagadde@gmail.com>2015-09-19 22:18:54 -0400
committerMichael Niedermayer <michael@niedermayer.cc>2015-09-29 15:05:38 +0200
commitd3e5fbb1406995e07fccbff3ca8c1e24f57a1f7b (patch)
treec680edbc991c34d41818993a86f353b09012c780 /libavcodec/apedec.c
parenta2426798d6020d944985c478d08d432f8dbdbf02 (diff)
downloadffmpeg-d3e5fbb1406995e07fccbff3ca8c1e24f57a1f7b.tar.gz
avcodec/apedec: fix undefined left shifts of negative numbers
This fixes -Wshift-negative-value reported with clang 3.7+, e.g http://fate.ffmpeg.org/log.cgi?time=20150919172459&log=compile&slot=x86_64-darwin-clang-polly-notiling-3.7. Note that the patch crucially depends on int >= 32 bits, an assumption made in many places in the codebase. Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavcodec/apedec.c')
-rw-r--r--libavcodec/apedec.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavcodec/apedec.c b/libavcodec/apedec.c
index 5536e0f8b1..7b34d26ada 100644
--- a/libavcodec/apedec.c
+++ b/libavcodec/apedec.c
@@ -1281,7 +1281,7 @@ static void do_apply_filter(APEContext *ctx, int version, APEFilter *f,
/* Update the adaption coefficients */
absres = FFABS(res);
if (absres)
- *f->adaptcoeffs = ((res & (-1<<31)) ^ (-1<<30)) >>
+ *f->adaptcoeffs = ((res & (-(1<<31))) ^ (-(1<<30))) >>
(25 + (absres <= f->avg*3) + (absres <= f->avg*4/3));
else
*f->adaptcoeffs = 0;