Opened 7 weeks ago

Closed 7 weeks ago

#11321 closed defect (fixed)

dolby digital plus 7.1 defective decoding

Reported by: Alexander Owned by:
Priority: normal Component: avcodec
Version: git-master Keywords: eac3
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description (last modified by Alexander)

Greetings.
Summary of the bug:
I found out that the decoding of ddp 7.1 and ddp 7.1 joc is defective. It looks like the audio data frames from one channel are dropping out into the other channels. It happens in random places. This can be clearly seen in the spectrogram, zooming in on a given defect location shows the absence of signal in one channel and the presence of it in another. It can be clearly audible as clicks on separate channels, but may not be audible when listening on the player in stereo downmix. The defect appears on all versions of ffmpeg with libavcodec decoder higher than 59.37.100.
How to reproduce:

ffmpeg-master-latest-win64-gpl\bin>ffmpeg.exe -drc_scale 0 -i "sample.eac3" -c pcm_s24le "sample.wav"
ffmpeg version N-117868-gecc7d5db9c-20241123
libavcodec     61. 25.102 / 61. 25.102

How to reproduce:

ffmpeg-n7.1-latest-win64-gpl-7.1\bin>ffmpeg.exe -drc_scale 0 -i "sample.eac3" -c pcm_s24le "sample_n7.1.wav"
ffmpeg version n7.1-36-g20c8a3f5ff-20241123
libavcodec 61. 19.100 / 61. 19.100

How to reproduce:

ffmpeg-n6.1-latest-win64-gpl-6.1\bin>ffmpeg.exe -drc_scale 0 -i "sample.eac3" -c pcm_s24le "sample_n6.1.wav"
ffmpeg version n6.1.2-15-ga6a07eebdf-20241123
libavcodec 60. 31.102 / 60. 31.102

How to produce correct results without defects:

ffmpeg-n5.1-latest-win64-lgpl-5.1\bin>ffmpeg.exe -drc_scale 0 -i "sample.eac3" -c pcm_s24le "sample_n5.1.wav"
ffmpeg version n5.1.6-11-gcde3c5fc0c-20241123
libavcodec 59. 37.100 / 59. 37.100

eac3 7.1 sample:

https://drive.google.com/file/d/1H78XIQCBHg9YIj8gpcXWJ4uAVqGvI0sz/view?usp=sharing

Attachments (4)

sample_master.png (1.5 MB ) - added by Alexander 7 weeks ago.
sample2_n5.1.png (1.5 MB ) - added by Alexander 7 weeks ago.
samples.C.png (442.5 KB ) - added by Alexander 7 weeks ago.
samples2.C.png (525.9 KB ) - added by Alexander 7 weeks ago.

Change History (9)

by Alexander, 7 weeks ago

Attachment: sample_master.png added

by Alexander, 7 weeks ago

Attachment: sample2_n5.1.png added

by Alexander, 7 weeks ago

Attachment: samples.C.png added

by Alexander, 7 weeks ago

Attachment: samples2.C.png added

comment:1 by Alexander, 7 weeks ago

Description: modified (diff)

comment:2 by Balling, 7 weeks ago

I see there is a difference, but most of it is just off-by-one, and otherwise almost not an issue.

Can you find the commit that regressed this?

Can you find a way to remove DRC metadata on the file, I need that. Thanks.

Version 0, edited 7 weeks ago by Balling (next)

comment:3 by Alexander, 7 weeks ago

Can you find the commit that regressed this?

Sorry, I am just a consumer, not a developer.

Can you find a way to remove DRC metadata on the file, I need that. Thanks.

If I understood you correctly, I made a new encode from the lossless original with metadata Line Mode Profile: None and RF Mode Profile: None. I left the DN the same.
I tried to decode it, but the problem remains the same.

https://drive.google.com/file/d/1NqHdIRc03qd-5AsalP83PLv4yAPuh2rz/view?usp=sharing

comment:5 by James, 7 weeks ago

Keywords: eac3 added
Resolution: fixed
Status: newclosed
Version: git-master
Note: See TracTickets for help on using tickets.