The earlier code ignored the lower 16 bits and instead used the highest 8 bits twice.
Signed-off-by: Andreas Rheinhardt <andreas.rheinha...@outlook.com> --- libavcodec/pcm-dvdenc.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/libavcodec/pcm-dvdenc.c b/libavcodec/pcm-dvdenc.c index c7f1d46ba3..0881697c17 100644 --- a/libavcodec/pcm-dvdenc.c +++ b/libavcodec/pcm-dvdenc.c @@ -146,8 +146,8 @@ static int pcm_dvd_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, for (int i = 2; i; i--) { bytestream2_put_be16(&pb, src32[0] >> 16); bytestream2_put_be16(&pb, src32[1] >> 16); - bytestream2_put_byte(&pb, (*src32++) >> 24); - bytestream2_put_byte(&pb, (*src32++) >> 24); + bytestream2_put_byte(&pb, (uint8_t)((*src32++) >> 8)); + bytestream2_put_byte(&pb, (uint8_t)((*src32++) >> 8)); } } while (--blocks); } else { @@ -157,10 +157,10 @@ static int pcm_dvd_encode_frame(AVCodecContext *avctx, AVPacket *avpkt, bytestream2_put_be16(&pb, src32[1] >> 16); bytestream2_put_be16(&pb, src32[2] >> 16); bytestream2_put_be16(&pb, src32[3] >> 16); - bytestream2_put_byte(&pb, (*src32++) >> 24); - bytestream2_put_byte(&pb, (*src32++) >> 24); - bytestream2_put_byte(&pb, (*src32++) >> 24); - bytestream2_put_byte(&pb, (*src32++) >> 24); + bytestream2_put_byte(&pb, (uint8_t)((*src32++) >> 8)); + bytestream2_put_byte(&pb, (uint8_t)((*src32++) >> 8)); + bytestream2_put_byte(&pb, (uint8_t)((*src32++) >> 8)); + bytestream2_put_byte(&pb, (uint8_t)((*src32++) >> 8)); } } while (--blocks); } -- 2.34.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".