Opened 8 years ago

Closed 7 years ago

Last modified 5 months ago

#5733 closed enhancement (fixed)

Dolby-E decoding

Reported by: smallishzulu Owned by:
Priority: wish Component: avcodec
Version: git-master Keywords: aes3
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Hello,

Does FFmpeg support Dolby-E decoding ?
I have attached 2 files:

a) Dolby-E data with SMPTE-337
b) Dolby-E data

Kind Regards,

Attachments (2)

dolbyE_binary.zip (1.5 MB ) - added by smallishzulu 8 years ago.
Dolby-E Data
dolbyE_with_ST337.zip (2.4 MB ) - added by smallishzulu 8 years ago.
Dolby-E Data with SMPTE 337

Change History (10)

by smallishzulu, 8 years ago

Attachment: dolbyE_binary.zip added

Dolby-E Data

by smallishzulu, 8 years ago

Attachment: dolbyE_with_ST337.zip added

Dolby-E Data with SMPTE 337

comment:1 by Carl Eugen Hoyos, 8 years ago

Component: undeterminedavcodec
Keywords: aes3 added; dolby-e removed
Priority: normalwish
Status: newopen
Version: unspecifiedgit-master

A more useful sample is in http://samples.ffmpeg.org/ffmpeg-bugs/trac/ticket3890/
Using that sample, this maybe isn't just an enhancement request: Audio is incorrectly identified.

comment:2 by Elon Musk, 7 years ago

Resolution: fixed
Status: openclosed

in reply to:  2 comment:3 by cepesh, 7 years ago

Replying to richardpl:

Fixed in 930fe4b1f75d4176a7226fccdcbd6c68b816a1b7.

Thank you very much. Would you please be so kind and clarify whether Dolby E can now be detected by ffmpeg and ffprobe?

On the example TS file from one of the comments in this thread I get this:

[s302m @ 000000000033b9e0] S302 non PCM mode with data type 28 not supported
[mpeg2video @ 00000000006dd740] Invalid frame dimensions 0x0.
[s302m @ 000000000033b9e0] S302 non PCM mode with data type 28 not supported
    Last message repeated 175 times
[mpegts @ 000000000033a6c0] decoding for stream 3 failed
[mpegts @ 000000000033a6c0] PES packet size mismatch
    Last message repeated 2 times
[mpegts @ 000000000033a6c0] Could not find codec parameters for stream 3 (Audio: s302m (BSSD / 0x44535342), stereo, s32 (20 bit), 2304 kb/s): unspecified sample rate
Consider increasing the value for the 'analyzeduration' and 'probesize' options
Input #0, mpegts, from 'C:\Temp\20170807\ffmpeg isnt able to demux video stream.ts':
  Duration: 00:00:19.96, start: 32171.787089, bitrate: 20976 kb/s
  Program 1
    Stream #0:0[0x200]: Video: mpeg2video (Main) ([2][0][0][0] / 0x0002), yuv420p(tv, bt709, bottom first), 1920x1080 [SAR 1:1 DAR 16:9], 25 fps, 25 tbr, 90k tbn, 50 tbc
    Stream #0:1[0x1010](eng): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 384 kb/s
    Stream #0:2[0x1020](eng): Audio: mp2 ([3][0][0][0] / 0x0003), 48000 Hz, stereo, s16p, 384 kb/s
    Stream #0:3[0x1030](eng): Audio: s302m (BSSD / 0x44535342), stereo, s32 (20 bit), 2304 kb/s

And I'm not sure how to work with those .bin files from the other comments. Are we supposed to inform ffprobe/ffmpeg that input codec is Dolby E? Can you please supply an example?

Thanks in advance.

comment:4 by Balling, 3 years ago

You still did not add on the fly support for 28 type. Why is that? Also, I have a file where 28 type is not somehow recognized. Again, why? Using standard ffmpeg -non_pcm_mode copy -i "file.ts" -map 0:2 -vn -c:a pcm_s24le -f s24le "out.dat" and ffplaying out.dat works though thanks to new patches even with actual seek.

Last edited 3 years ago by Balling (previous) (diff)

comment:5 by Elon Musk, 3 years ago

because your behaviour here is unacceptable.

in reply to:  5 comment:6 by Balling, 3 years ago

Replying to richardpl:

because your behaviour here is unacceptable.

What is unacceptable is that there is a workaround like that:

ffmpeg -non_pcm_mode copy -i file.ts -vn -map 0:2 -c:a pcm_s24le -f s24le - | ffmpeg -i - -ar 48000 -f WAV - | ffmpeg -i - -i file.ts -map 0:a -c:a copy -map 1:v -c:v copy -copyts -f matroska - | ffplay -

Why it cannot work without this?

Also, I still do not get whether -ar 48000 is needed. I mean there is no such sample rate internally, if you look in fr_code variable.

Version 0, edited 3 years ago by Balling (next)

comment:7 by Balling, 5 months ago

There is now this (on the fly support for 28 type): https://patchwork.ffmpeg.org/project/ffmpeg/patch/20240127103854.9971-1-ffmpeg@gyani.pro/

But still not pushed, why is that? Is Dolby threatening you or something? LOL!

Last edited 5 months ago by Balling (previous) (diff)

comment:8 by Gyan, 5 months ago

A dev objected to the approach of decoding in-place, wanted the embedded stream to be unwrapped in the demuxer itself; I referred it to the Technical Committee, where the patch was rejected.

When I have enough time, I may try the demuxer approach.

Note: See TracTickets for help on using tickets.