#10001: mxf muxer writes the wrong bit depth and uses the CDCI essence
descriptor
UL instead of the RGBA essence descriptor UL for Full Range RGB MJPEG2000
-------------------------------------+-------------------------------------
Reporter: Francesco | Type: defect
Bucciantini |
Status: new | Priority: normal
Component: avformat | Version: git-
| master
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Summary of the bug:
When muxing a MJPEG2000 RGB Full Range stream, the mxf muxer is using the
CDCI essence descriptor UL instead of the RGBA essence descriptor UL.
In other words, it's using
{{{
{ {
0x06,0x0e,0x2b,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x01,0x01,0x01,0x01,0x28,0x00
}, mxf_read_generic_descriptor, sizeof(MXFDescriptor), Descriptor }, /*
CDCI */
}}}
instead of
{{{
{ {
0x06,0x0e,0x2b,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x01,0x01,0x01,0x01,0x29,0x00
}, mxf_read_generic_descriptor, sizeof(MXFDescriptor), Descriptor }, /*
RGBA */
}}}
On top of this, the mxf muxer adds the color sampling descriptor as 4:4:4
which doesn't make sense as it's RGB, not YUV.
Last but not least, instead of writing 10bit for 10bit RGB sources and
12bit for 12bit RGB sources, it always writes 16bit, which of course is
also wrong.
This results from the fact that FFMpeg is trying to the first compatible
match when there is no colr atom.
How to reproduce:
1) Download the standard IMF evaluation package from here: https://aswf-
dpel-assets.s3.amazonaws.com/asc-
stem2/IMF/StEM2_TST_SDR_Rec709_IMF_App2e_Lossy.zip
2) Create the final mxf file by reading the CPL with FFMpeg like
ffmpeg.exe -f imf -i "CPL.xml" -c:v copy -c:a copy -f mxf -y "IMF.mxf"
3) Check the resulting file: it was supposed to be rgb48le 10bit BT709,
however the muxed file has all the above mentioned things wrong: wrong bit
depth inside the container, CDCI wrongly populated instead of RGBA,
causing it to be interpreted as YUV 4:4:4 16bit by other softwares other
than ffmpeg and ffprobe themselves.
--
Ticket URL: <https://trac.ffmpeg.org/ticket/10001>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker_______________________________________________
FFmpeg-trac mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-trac
To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".