[FFmpeg-trac] #9864(undetermined:new): DolbyED2 track cannot be decoded
FFmpeg
trac at avcodec.org
Mon Aug 8 12:43:32 EEST 2022
#9864: DolbyED2 track cannot be decoded
-------------------------------------+-------------------------------------
Reporter: FranceBB | Owner: (none)
Type: enhancement | Status: new
Priority: normal | Component:
| undetermined
Version: git-master | Resolution:
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Description changed by FranceBB:
Old description:
> Summary of the bug: DolbyED2 5.1.4 Atmos tracks cannot be decoded, unlike
> their DolbyE 5.1 or 5.1+2.0 counterparts which can be decoded.
>
> Unlike DolbyE which is carried as 1 AES (i.e 1 fake stereo pair - so 1
> .wav - or 2 fake mono pairs - so 2 .wav), DolbyED2 is carried as 2
> separate .wav files (2 AES aka 2 fake stereo pairs) that need to be
> merged together to be decoded.
>
> If we use the same logic as DolbyE, however, the decoder doesn't
> recognize the file as a valid file and therefore doesn't decode it.
>
> How to reproduce:
> {{{
> %
> rem first we merge the 2 fake stereo pairs (2 AES) in 1:
>
> ffmpeg.exe -i "Y:\00_INGEST_MAM\DolbyED2\ED2A.wav" -i
> "Y:\00_INGEST_MAM\DolbyED2\ED2B.wav" -filter_complex
> "[0:a][1:a]join=inputs=2:channel_layout=stereo[a]" -map "[a]" -c:a
> pcm_s24le -ar 48000 -f wav -y "A:\MEDIA\temp\DolbyED2\DolbyED2.wav"
>
> rem now we save the DolbyED2 file as .u8 to decode it
>
> ffmpeg.exe -i "A:\MEDIA\temp\DolbyED2\DolbyED2.wav" -map 0:0 -acodec copy
> -f u8 -y "A:\MEDIA\temp\DolbyED2\stream1.u8"
>
> rem now we cycle through the channels of the DolbyED2 to decode it, but
> while this works with DolbyE files, unfortunately DolbyED2 ones aren't
> recognized...
>
> ffmpeg.exe -i "A:\MEDIA\temp\DolbyED2\stream1.u8" -acodec pcm_s24le -ar
> 48000 -ac 1 -map_channel 0.0.0:0.0.0 -y "A:\MEDIA\temp\DolbyED2\Out1.wav"
>
> ffmpeg.exe -i "A:\MEDIA\temp\DolbyED2\stream1.u8" -acodec pcm_s24le -ar
> 48000 -ac 1 -map_channel 0.0.1:0.0.0 -y "A:\MEDIA\temp\DolbyED2\Out2.wav"
>
> ffmpeg.exe -i "A:\MEDIA\temp\DolbyED2\stream1.u8" -acodec pcm_s24le -ar
> 48000 -ac 1 -map_channel 0.0.2:0.0.0 -y "A:\MEDIA\temp\DolbyED2\Out3.wav"
>
> ffmpeg.exe -i "A:\MEDIA\temp\DolbyED2\stream1.u8" -acodec pcm_s24le -ar
> 48000 -ac 1 -map_channel 0.0.3:0.0.0 -y "A:\MEDIA\temp\DolbyED2\Out4.wav"
>
> ffmpeg.exe -i "A:\MEDIA\temp\DolbyED2\stream1.u8" -acodec pcm_s24le -ar
> 48000 -ac 1 -map_channel 0.0.4:0.0.0 -y "A:\MEDIA\temp\DolbyED2\Out5.wav"
>
> ffmpeg.exe -i "A:\MEDIA\temp\DolbyED2\stream1.u8" -acodec pcm_s24le -ar
> 48000 -ac 1 -map_channel 0.0.5:0.0.0 -y "A:\MEDIA\temp\DolbyED2\Out6.wav"
>
> ffmpeg version n5.2-dev-2022-08-01
> built on 2022-08-01
> }}}
>
> Expected result: .u8 is recognized and decoded
> Actual result: A:\MEDIA\temp\DolbyED2\stream1.u8: Invalid data found when
> processing input
>
> With normal DolbyE tracks decoding works:
> https://forum.doom9.org/showthread.php?t=176739
>
> The sample in attachment is DolbyED2 2 AES already coupled together,
> ready to be decoded, lasting just 1 sec due to the bug tracker
> restrictions.
New description:
Summary of the bug: DolbyED2 5.1.4 Atmos tracks cannot be decoded, unlike
their DolbyE 5.1 or 5.1+2.0 counterparts which can be decoded.
Unlike DolbyE which is carried as 1 AES (i.e 1 fake stereo pair - so 1
.wav - or 2 fake mono pairs - so 2 .wav), DolbyED2 is carried as 2 AES
(i.e 2 fake stereo pairs) so either 2 separate fake stereo .wav files or 1
fake quad .wav file that need to be merged together to be decoded.
If we use the same logic as DolbyE, however, the decoder doesn't recognize
the file as a valid file and therefore doesn't decode it.
How to reproduce:
{{{
%
rem first we merge the 2 fake stereo pairs (2 AES) in 1:
ffmpeg.exe -i "Y:\00_INGEST_MAM\DolbyED2\ED2A.wav" -i
"Y:\00_INGEST_MAM\DolbyED2\ED2B.wav" -filter_complex
"[0:a][1:a]join=inputs=2:channel_layout=stereo[a]" -map "[a]" -c:a
pcm_s24le -ar 48000 -f wav -y "A:\MEDIA\temp\DolbyED2\DolbyED2.wav"
rem now we save the DolbyED2 file as .u8 to decode it
ffmpeg.exe -i "A:\MEDIA\temp\DolbyED2\DolbyED2.wav" -map 0:0 -acodec copy
-f u8 -y "A:\MEDIA\temp\DolbyED2\stream1.u8"
rem now we cycle through the channels of the DolbyED2 to decode it, but
while this works with DolbyE files, unfortunately DolbyED2 ones aren't
recognized...
ffmpeg.exe -i "A:\MEDIA\temp\DolbyED2\stream1.u8" -acodec pcm_s24le -ar
48000 -ac 1 -map_channel 0.0.0:0.0.0 -y "A:\MEDIA\temp\DolbyED2\Out1.wav"
ffmpeg.exe -i "A:\MEDIA\temp\DolbyED2\stream1.u8" -acodec pcm_s24le -ar
48000 -ac 1 -map_channel 0.0.1:0.0.0 -y "A:\MEDIA\temp\DolbyED2\Out2.wav"
ffmpeg.exe -i "A:\MEDIA\temp\DolbyED2\stream1.u8" -acodec pcm_s24le -ar
48000 -ac 1 -map_channel 0.0.2:0.0.0 -y "A:\MEDIA\temp\DolbyED2\Out3.wav"
ffmpeg.exe -i "A:\MEDIA\temp\DolbyED2\stream1.u8" -acodec pcm_s24le -ar
48000 -ac 1 -map_channel 0.0.3:0.0.0 -y "A:\MEDIA\temp\DolbyED2\Out4.wav"
ffmpeg.exe -i "A:\MEDIA\temp\DolbyED2\stream1.u8" -acodec pcm_s24le -ar
48000 -ac 1 -map_channel 0.0.4:0.0.0 -y "A:\MEDIA\temp\DolbyED2\Out5.wav"
ffmpeg.exe -i "A:\MEDIA\temp\DolbyED2\stream1.u8" -acodec pcm_s24le -ar
48000 -ac 1 -map_channel 0.0.5:0.0.0 -y "A:\MEDIA\temp\DolbyED2\Out6.wav"
ffmpeg version n5.2-dev-2022-08-01
built on 2022-08-01
}}}
Expected result: .u8 is recognized and decoded
Actual result: A:\MEDIA\temp\DolbyED2\stream1.u8: Invalid data found when
processing input
With normal DolbyE tracks decoding works:
https://forum.doom9.org/showthread.php?t=176739
The sample in attachment is DolbyED2 2 AES already coupled together, ready
to be decoded, lasting just 1 sec due to the bug tracker restrictions.
--
--
Ticket URL: <https://trac.ffmpeg.org/ticket/9864#comment:1>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list