[FFmpeg-cvslog] avformat/spdifenc: fix TrueHD streams over 48kHz

Anssi Hannula git at videolan.org
Thu Feb 20 23:07:17 EET 2020


ffmpeg | branch: master | Anssi Hannula <anssi.hannula at iki.fi> | Thu Feb 20 23:04:50 2020 +0200| [56df8296f5221524bd06e91e6639c08753d1b8a0] | committer: Anssi Hannula

avformat/spdifenc: fix TrueHD streams over 48kHz

Commit 36e156bef02 ("avformat/spdifenc: fix handling of large TrueHD
frame") added an obviously incorrect bitshift that caused incorrect
samples-per-frame calculation for TrueHD streams over 48kHz.

Fix that.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=56df8296f5221524bd06e91e6639c08753d1b8a0
---

 libavformat/spdifenc.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavformat/spdifenc.c b/libavformat/spdifenc.c
index dcfab87cc4..0288872fd3 100644
--- a/libavformat/spdifenc.c
+++ b/libavformat/spdifenc.c
@@ -435,9 +435,9 @@ static int spdif_header_truehd(AVFormatContext *s, AVPacket *pkt)
     if (AV_RB24(pkt->data + 4) == 0xf8726f) {
         /* major sync unit, fetch sample rate */
         if (pkt->data[7] == 0xba)
-            ratebits = pkt->data[8] >> 8;
+            ratebits = pkt->data[8] >> 4;
         else if (pkt->data[7] == 0xbb)
-            ratebits = pkt->data[9] >> 8;
+            ratebits = pkt->data[9] >> 4;
         else
             return AVERROR_INVALIDDATA;
 



More information about the ffmpeg-cvslog mailing list