[FFmpeg-trac] #8966(undetermined:new): Preserve Dolby Vision metadata in JPEG2000
FFmpeg
trac at avcodec.org
Thu Nov 5 23:47:59 EET 2020
#8966: Preserve Dolby Vision metadata in JPEG2000
-------------------------------------+-------------------------------------
Reporter: | Type:
spookybathtub | enhancement
Status: new | Priority: normal
Component: | Version: git-
undetermined | master
Keywords: | Blocked By:
Blocking: | Reproduced by developer: 0
Analyzed by developer: 0 |
-------------------------------------+-------------------------------------
Summary of the bug:
I tried to remux a JPEG2000 stream with embedded Dolby Vision metadata in
MXF Op1A container. The output is a valid J2K but the metadata is lost.
I have included the result of Dolby's metafier validation tool below.
Sample clip:
https://mega.nz/file/015GVDrT#0OR0TAhvHcWUfe2DFjMnY8zMtU_EMrBMSk56Uh89P7o
{{{
$ ffmpeg -i S002C003.mxf -c:v copy output.mxf
ffmpeg version N-99865-ga125e08130 Copyright (c) 2000-2020 the FFmpeg
developers
built with Apple clang version 12.0.0 (clang-1200.0.32.21)
configuration: --enable-nonfree --enable-gpl --enable-libx264 --enable-
swscale --enable-avfilter --enable-libmp3lame --enable-libvorbis --enable-
libopus --enable-librsvg --enable-libtheora --enable-libopenjpeg --enable-
libmodplug --enable-libvpx --enable-libsoxr --enable-libspeex --enable-
libass --enable-libbluray --enable-lzma --enable-gnutls --enable-
fontconfig --enable-libfreetype --enable-libfribidi --enable-opencl
--enable-sdl2 --enable-libx265 --enable-libxvid --enable-libfdk-aac
--extra-ldflags=-L/opt/local/lib --extra-cflags=-I/opt/local/include
libavutil 56. 60.100 / 56. 60.100
libavcodec 58.112.101 / 58.112.101
libavformat 58. 64.100 / 58. 64.100
libavdevice 58. 11.102 / 58. 11.102
libavfilter 7. 89.100 / 7. 89.100
libswscale 5. 8.100 / 5. 8.100
libswresample 3. 8.100 / 3. 8.100
libpostproc 55. 8.100 / 55. 8.100
[mxf @ 0x7f8e9c811c00] wrapping of stream 0 is unknown
Input #0, mxf, from 'S002C003.mxf':
Metadata:
operational_pattern_ul: 060e2b34.04010101.0d010201.01010100
uid : d6ab93af-1c74-46bf-96d3-245a7367dcaf
generation_uid : 9fc540fb-28bc-4ef5-97b5-c4fdbbf506f1
company_name : Colorfront
product_name : Transkoder
product_version : 2020.46529.2.10.32
product_uid : 7d836e16-37c7-4c22-b2e0-46a717e84f42
modification_date: 2020-11-05T20:59:00.000000Z
application_platform: win32
material_package_umid:
0x060A2B340101010501010F20130000001EF41724BD8F4D1EB7B68E145240DC47
material_package_name: Material Package
Duration: 00:00:00.38, start: 0.000000, bitrate: 671190 kb/s
Stream #0:0: Video: jpeg2000, yuv422p12le(tv,
bt2020nc/bt2020/smpte2084, progressive), 3840x2160, SAR 1:1 DAR 16:9,
23.98 tbr, 23.98 tbn, 23.98 tbc
Metadata:
file_package_umid:
0x060A2B340101010501010F2013000000F5184258A2A14676A775F4D6700CB01F
file_package_name: File Package: PROTOTYPE SMPTE ST 422 / ST 2067-5
frame wrapping of JPEG 2000 codestreams with HDR metadata
track_name : PHDR Image Track
Side data:
Mastering Display Metadata, has_primaries:1 has_luminance:1
r(0.7080,0.2920) g(0.1700,0.7970) b(0.1310 0.0460) wp(0.3127, 0.3290)
min_luminance=0.000100, max_luminance=1000.000000
Output #0, mxf, to 'output.mxf':
Metadata:
operational_pattern_ul: 060e2b34.04010101.0d010201.01010100
uid : d6ab93af-1c74-46bf-96d3-245a7367dcaf
generation_uid : 9fc540fb-28bc-4ef5-97b5-c4fdbbf506f1
company_name : Colorfront
product_name : Transkoder
product_version : 2020.46529.2.10.32
product_uid : 7d836e16-37c7-4c22-b2e0-46a717e84f42
modification_date: 2020-11-05T20:59:00.000000Z
application_platform: win32
material_package_umid:
0x060A2B340101010501010F20130000001EF41724BD8F4D1EB7B68E145240DC47
material_package_name: Material Package
encoder : Lavf58.64.100
Stream #0:0: Video: jpeg2000, yuv422p12le(tv,
bt2020nc/bt2020/smpte2084, progressive), 3840x2160 [SAR 1:1 DAR 16:9],
q=2-31, 23.98 tbr, 23.98 tbn, 23.98 tbc
Metadata:
file_package_umid:
0x060A2B340101010501010F2013000000F5184258A2A14676A775F4D6700CB01F
file_package_name: File Package: PROTOTYPE SMPTE ST 422 / ST 2067-5
frame wrapping of JPEG 2000 codestreams with HDR metadata
track_name : PHDR Image Track
Side data:
Mastering Display Metadata, has_primaries:1 has_luminance:1
r(0.7080,0.2920) g(0.1700,0.7970) b(0.1310 0.0460) wp(0.3127, 0.3290)
min_luminance=0.000100, max_luminance=1000.000000
Stream mapping:
Stream #0:0 -> #0:0 (copy)
Press [q] to stop, [?] for help
frame= 9 fps=0.0 q=-1.0 Lsize= 30738kB time=00:00:00.37
bitrate=670801.3kbits/s speed= 7.4x
video:30724kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB
muxing overhead: 0.045708%
}}}
{{{
$ metafier --validate S002C003.mxf
11/05/2020/16:23:07.719653019 metafier: INFO extracting Metadata, this
might take a while...
11/05/2020/16:23:07.726957094 extract_metadata: INFO Metadata Extraction
progress: 100%
11/05/2020/16:23:07.727231758 metafier: INFO metadata extraction is done
11/05/2020/16:23:07.735836167 Metadata: INFO Validation Summary:
=========================
Metadata version: "2.0.5"
Level254 CMVersion: 2 1
Aspect Ratios (Canvas - Image): 1.77778 - 1.77778
Frame Rate: 23.976fps
Mastering Monitor: 1000-nit, BT.2020, D65, ST.2084, Full (ID 21): Bit
Depth: 16bit - Diagonal: 42.00in - Application Type: ALL - Color Info:
"pq(0.0001,1000) rgb computer bt2020"
Mastering Monitor Validation Test: PASS
Target Displays Validation Test: PASS
Level6 (MaxFALL - MaxCLL): 32.00 - 255.00
Color Encoding: "u12 422 pq(0,10000) ycbcr_bt2020 video bt2020"
Color Encoding Validation Test: PASS
Overlapping Shots Validation Test: PASS
Gap between Shots Validation Test: PASS
Negative Shot duration Validation Test: PASS
Per-Frame Data out-of-range Validation Test: PASS
Number of Shots: 1
Frame Range: 0-8
L2 Trim Count (TargetID, count): (1, 1)
L1 Metadata Validation Test: PASS
L2 Metadata Validation Test: PASS
=========================
11/05/2020/16:23:07.735989360 metafier: INFO No issues found in the
Metadata
$ metafier --validate output.mxf
KLV format error, zero BER length not allowed.
Error initializing OP1a header packet.
11/05/2020/16:23:15.468424019 metafier: INFO extracting Metadata, this
might take a while...
11/05/2020/16:23:15.468997729 FormatMXF: ERROR KLV format error, zero BER
length not allowed.
11/05/2020/16:23:15.469039473 FormatMXF: ERROR Error initializing OP1a
header packet.
11/05/2020/16:23:15.469091205 FormatMXF: ERROR Bad MXF file
11/05/2020/16:23:15.469681792 FormatMXF: ERROR BER Length decoding error
11/05/2020/16:23:15.469695405 FormatMXF: ERROR Failed to initialize RIP.
11/05/2020/16:23:15.469704566 FormatMXF: ERROR File contains no RIP
11/05/2020/16:23:15.469784860 FormatMXF: ERROR KLV format error, zero BER
length not allowed.
11/05/2020/16:23:15.469796837 FormatMXF: ERROR Error initializing OP1a
header packet.
11/05/2020/16:23:15.469826632 FormatMXF: ERROR
TrackFileReader::OpenMXFRead, header init failed
11/05/2020/16:23:15.472073597 mezzanine: ERROR Unable to open MXF
'output.mxf' for read
11/05/2020/16:23:15.472762459 metafier: ERROR Unable to open file (check
existence and permissions)
}}}
--
Ticket URL: <https://trac.ffmpeg.org/ticket/8966>
FFmpeg <https://ffmpeg.org>
FFmpeg issue tracker
More information about the FFmpeg-trac
mailing list