summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2019-09-20 00:17:01 +0200
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>2020-07-02 10:43:52 +0200
commitb5ef6bd7f085cf08f69fe2735eed01f4e076a330 (patch)
treed4e6c93a6c469b4b29fc67f7aa22bd7d163cb9dc
parent42ae8d5100f9622494b30dd361a9bbd5a9a15a71 (diff)
downloadffmpeg-b5ef6bd7f085cf08f69fe2735eed01f4e076a330.tar.gz
avcodec/pcm: Fix undefined shifts
Fixes the acodec-pcm-u16[lb]e FATE-tests. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> (cherry picked from commit 69473bec6f38fefc9a433d95f8e00de101299592) Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
-rw-r--r--libavcodec/pcm.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libavcodec/pcm.c b/libavcodec/pcm.c
index f987f03c00..c2791c2e9a 100644
--- a/libavcodec/pcm.c
+++ b/libavcodec/pcm.c
@@ -293,7 +293,7 @@ static av_cold int pcm_decode_close(AVCodecContext *avctx)
#define DECODE(size, endian, src, dst, n, shift, offset) \
for (; n > 0; n--) { \
uint ## size ## _t v = bytestream_get_ ## endian(&src); \
- AV_WN ## size ## A(dst, (v - offset) << shift); \
+ AV_WN ## size ## A(dst, (uint ## size ## _t)(v - offset) << shift); \
dst += size / 8; \
}
@@ -304,7 +304,7 @@ static av_cold int pcm_decode_close(AVCodecContext *avctx)
dst = frame->extended_data[c]; \
for (i = n; i > 0; i--) { \
uint ## size ## _t v = bytestream_get_ ## endian(&src); \
- AV_WN ## size ## A(dst, (v - offset) << shift); \
+ AV_WN ## size ## A(dst, (uint ## size ##_t)(v - offset) << shift); \
dst += size / 8; \
} \
}