diff options
author | nu774 <honeycomb77@gmail.com> | 2014-05-09 21:47:41 +0900 |
---|---|---|
committer | Reinhard Tartler <siretart@tauware.de> | 2014-05-10 12:03:46 -0400 |
commit | e780c3daafe0588e035e752c771ebfcd2201746a (patch) | |
tree | 8b2062195d96c7de7f7ecda52ae7cdde590bd29c | |
parent | 7f954ca502a16feeca44d4e9a7d450b404dabc94 (diff) | |
download | ffmpeg-e780c3daafe0588e035e752c771ebfcd2201746a.tar.gz |
pcm-dvd: Fix 20bit decoding
Increment the pointer as needed.
Bug-Id: 592
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
(cherry picked from commit 9880a0d4b131ef36694d62f78060350a81f08b80)
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
-rw-r--r-- | Changelog | 1 | ||||
-rw-r--r-- | libavcodec/pcm-dvd.c | 8 |
2 files changed, 5 insertions, 4 deletions
@@ -2,6 +2,7 @@ Entries are sorted chronologically from oldest to youngest within each release, releases are sorted from youngest to oldest. version 10.1: +- pcm-dvd: Fix 20bit decoding (bug/592) - avi: Improve non-interleaved detection (bug/666) - arm: hpeldsp: fix put_pixels8_y2_{,no_rnd_}armv6 - arm: hpeldsp: prevent overreads in armv6 asm (bug/646) diff --git a/libavcodec/pcm-dvd.c b/libavcodec/pcm-dvd.c index 172e93ae82..0872d293b0 100644 --- a/libavcodec/pcm-dvd.c +++ b/libavcodec/pcm-dvd.c @@ -177,11 +177,11 @@ static void *pcm_dvd_decode_samples(AVCodecContext *avctx, const uint8_t *src, dst32[2] = bytestream2_get_be16u(&gb) << 16; dst32[3] = bytestream2_get_be16u(&gb) << 16; t = bytestream2_get_byteu(&gb); - *dst32 += (t & 0xf0) << 8; - *dst32 += (t & 0x0f) << 12; + *dst32++ += (t & 0xf0) << 8; + *dst32++ += (t & 0x0f) << 12; t = bytestream2_get_byteu(&gb); - *dst32 += (t & 0xf0) << 8; - *dst32 += (t & 0x0f) << 12; + *dst32++ += (t & 0xf0) << 8; + *dst32++ += (t & 0x0f) << 12; } } while (--blocks); return dst32; |