[FFmpeg-trac] #10391(undetermined:new): delete me (was: mxf with DolbyE and channel_count != 02 is wrongly read by FFMpeg and cannot be remuxed)

FFmpeg trac at avcodec.org
Tue May 30 17:12:57 EEST 2023


#10391: delete me
-------------------------------------+-------------------------------------
             Reporter:  Francesco    |                    Owner:  (none)
  Bucciantini                        |
                 Type:  defect       |                   Status:  new
             Priority:  wish         |                Component:
                                     |  undetermined
              Version:               |               Resolution:
             Keywords:               |               Blocked By:
             Blocking:               |  Reproduced by developer:  0
Analyzed by developer:  0            |
-------------------------------------+-------------------------------------
Changes (by Francesco Bucciantini):

 * cc: Francesco Bucciantini (removed)
 * priority:  normal => wish
 * version:  git-master =>
 * summary:
     mxf with DolbyE and channel_count != 02 is wrongly read by FFMpeg and
     cannot be remuxed
     => delete me


Old description:

> Summary of the bug:
>
> mxf files which carry DolbyE 5.1 + 2.0 audio and whose channel_count
> value in the mxf header is 08 instead of 02 are wrongly read by FFMpeg
> and therefore are remuxed incorrectly.
>
> Expected behavior:
> files are read and remuxed correctly
>
> Actual behavior:
> edit unit sync lost on stream 1, jumping from 0 to 1
>
> How to reproduce:
> {{{
> % ffmpeg -i "video.mxf" -map 0:0 -map 0:1 -map 0:2 -map 0:3 -map 0:4 -c:v
> copy -c:a copy -f mxf -y "output.mxf"
>
> ffmpeg version n6.1-dev
> built on 30-05-2023
> }}}
>

> Explanation:
> DolbyE is generally carried as fake stereo pairs in an mxf container so
> that it can be passed through via SDI.
> As such, the channel_count value inside the mxf header is supposed to be
> 02 to indicate the fake stereo pairs it's supposed to be spoofed as. In
> other words:
>
> [[Image(https://i.imgur.com/FuVL7H3.png)]]
>
> however some muxers like ommcp (the Omneon muxer, from version 7.x 'till
> version 9.5) wrote the actual number of channels of the DolbyE stream
> instead, so for a DolbyE 5.1 + 2.0 (where 5.1 is the surround and 2.0 is
> the stereo downmix), they wrote 08 (6 channels + 2 channels = 8
> channels). In other words:
>
> [[Image(https://i.imgur.com/NDmxPWd.png)]]
>

> As such, instead of reading it as fake stereo pairs and remux it
> correctly:
>
> [[Image(https://i.imgur.com/VWE3d08.png)]]
>
> FFMpeg thinks it's an 8 channel stream and fails to remux it, thus
> screwing up the whole audio stream:
>
> [[Image(https://i.imgur.com/fnkyraE.png)]]
> [[Image(https://i.imgur.com/GryUzHB.png)]]
>
> so much so that the final remuxed file says PCM and it's undecodable:
>
> General
> Complete name : A:\MEDIA\temp\original.mxf
> Format : MXF
> Format version : 1.3
> Format profile : OP-1a
> Format settings : Closed / Complete
> File size : 1.54 MiB
> Duration : 20 ms
> Overall bit rate : 645 Mb/s
> Frame rate : 50.000 FPS
> Encoded date : 2023-05-30 13:58:23.372
> Writing application : Omneon Inc. Omneon Media Subsystem 8.3.0.0.1
> Writing library : Omneon Media Api (windows)
>
> Video
> ID : 2
> Format : AVC
> Format/Info : Advanced Video Codec
> Format profile : High 4:2:2 at L5.2
> Format settings, CABAC : No
> Format settings, wrapping mode : Frame
> Codec ID : 0D01030102106001-0401020201323001
> Duration : 20 ms
> Maximum bit rate : 500 Mb/s
> Width : 3 840 pixels
> Height : 2 160 pixels
> Display aspect ratio : 16:9
> Frame rate : 50.000 FPS
> Standard : Component
> Color space : YUV
> Chroma subsampling : 4:2:2
> Bit depth : 10 bits
> Scan type : Progressive
> Color range : Limited
> Color primaries : BT.2020
> Transfer characteristics : HLG
> Matrix coefficients : BT.2020 non-constant
> Delay_SystemScheme1 : 0
> Format_Profile_Original : High 4:2:2 Intra at L5.2
>
> Audio
> ID : 3
> Format : Dolby E
> Format settings, wrapping mode : Frame (BWF)
> Codec ID : 0D01030102060100-0402020203021C00
> Duration : 20 ms
> Bit rate : 1 152 kb/s
> Channel(s) : 8 channels
> Sampling rate : 48.0 kHz
> Frame rate : 50.000 FPS (960 SPF)
> Bit depth : 24 bits
> Stream size : 2.81 KiB (0%)
> Delay_SystemScheme1 : 0
> Locked : Yes
>
> Other #1
> ID : 1-Material
> Type : Time code
> Format : MXF TC
> Frame rate : 50.000 FPS
> Time code of first frame : 10:00:00:00
> Time code of last frame : 10:00:00:00
> Time code settings : Material Package
> Time code, stripped : Yes
>
> Other #2
> ID : 1-Source
> Type : Time code
> Format : MXF TC
> Frame rate : 50.000 FPS
> Time code of first frame : 00:00:00:00
> Time code of last frame : 00:00:00:00
> Time code settings : Source Package
> Time code, stripped : Yes
>
> Other #3
> Type : Time code
> Format : SMPTE TC
> Muxing mode : System scheme 1
> Time code of first frame : 00:00:00:00

New description:

 delete me

--
-- 
Ticket URL: <https://trac.ffmpeg.org/ticket/10391#comment:1>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker


More information about the FFmpeg-trac mailing list