#8157 closed defect (duplicate)
DNxHR 444 variants decoding bug
| Reported by: | pdr0 | Owned by: | |
|---|---|---|---|
| Priority: | normal | Component: | avcodec |
| Version: | git-master | Keywords: | dnxhd |
| Cc: | Blocked By: | ||
| Blocking: | Reproduced by developer: | no | |
| Analyzed by developer: | no |
Description
The DNxHR 444 12bit and 10bit variants are not decoded correctly with ffmpeg, but are decoded correctly with Davinci Resolve, Adobe
I have included 12bit444,12bit422, 10bit444, 10bit422 in MOV container . It does not matter if it's MXF wrapped, same issue
Attachments (1)
Change History (5)
by , 5 years ago
| Attachment: | DNxHR_tests.7z added |
|---|
comment:1 by , 5 years ago
| Component: | undetermined → avcodec |
|---|---|
| Keywords: | dnxhd added |
| Version: | unspecified → git-master |
$ ffmpeg -i DNxHR_10bit444.mov -qscale 2 out.avi
ffmpeg version N-94943-g1db6e47e85 Copyright (c) 2000-2019 the FFmpeg developers
built with clang version 8.0.1 (tags/RELEASE_801/final 366581)
configuration: --cc=clang --enable-gpl --enable-gnutls --enable-libxml2 --enable-libx264 --enable-libx265 --enable-libvpx --enable-libaom
libavutil 56. 35.100 / 56. 35.100
libavcodec 58. 56.102 / 58. 56.102
libavformat 58. 32.104 / 58. 32.104
libavdevice 58. 9.100 / 58. 9.100
libavfilter 7. 58.102 / 7. 58.102
libswscale 5. 6.100 / 5. 6.100
libswresample 3. 6.100 / 3. 6.100
libpostproc 55. 6.100 / 55. 6.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'DNxHR_10bit444.mov':
Metadata:
major_brand : qt
minor_version : 512
compatible_brands: qt
encoder : Lavf57.25.100
Duration: 00:00:00.08, start: 0.000000, bitrate: 1492007 kb/s
Stream #0:0(eng): Video: dnxhd (DNXHR 444) (AVdh / 0x68645641), yuv444p10le(pc, bt709), 4096x2160, 1491861 kb/s, SAR 1:1 DAR 256:135, 24 fps, 24 tbr, 12288 tbn, 12288 tbc (default)
Metadata:
handler_name : VideoHandler
timecode : 01:00:00:00
Stream #0:1(eng): Data: none (tmcd / 0x64636D74), 0 kb/s
Metadata:
handler_name : TimeCodeHandler
timecode : 01:00:00:00
Please use -q:a or -q:v, -qscale is ambiguous
Stream mapping:
Stream #0:0 -> #0:0 (dnxhd (native) -> mpeg4 (native))
Press [q] to stop, [?] for help
Output #0, avi, to 'out.avi':
Metadata:
major_brand : qt
minor_version : 512
compatible_brands: qt
ISFT : Lavf58.32.104
Stream #0:0(eng): Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 4096x2160 [SAR 1:1 DAR 256:135], q=2-31, 200 kb/s, 24 fps, 24 tbn, 24 tbc (default)
Metadata:
handler_name : VideoHandler
timecode : 01:00:00:00
encoder : Lavc58.56.102 mpeg4
Side data:
cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A
frame= 2 fps=0.0 q=2.0 Lsize= 182kB time=00:00:00.08 bitrate=17864.3kbits/s speed=0.443x
video:176kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 3.223409%
$ ffmpeg -i DNxHR_12bit444.mov -qscale 2 out.avi
ffmpeg version N-94943-g1db6e47e85 Copyright (c) 2000-2019 the FFmpeg developers
built with clang version 8.0.1 (tags/RELEASE_801/final 366581)
configuration: --cc=clang --enable-gpl --enable-gnutls --enable-libxml2 --enable-libx264 --enable-libx265 --enable-libvpx --enable-libaom
libavutil 56. 35.100 / 56. 35.100
libavcodec 58. 56.102 / 58. 56.102
libavformat 58. 32.104 / 58. 32.104
libavdevice 58. 9.100 / 58. 9.100
libavfilter 7. 58.102 / 7. 58.102
libswscale 5. 6.100 / 5. 6.100
libswresample 3. 6.100 / 3. 6.100
libpostproc 55. 6.100 / 55. 6.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'DNxHR_12bit444.mov':
Metadata:
major_brand : qt
minor_version : 512
compatible_brands: qt
encoder : Lavf57.25.100
Duration: 00:00:00.08, start: 0.000000, bitrate: 1492007 kb/s
Stream #0:0(eng): Video: dnxhd (DNXHR 444) (AVdh / 0x68645641), yuv444p12le(pc, bt709), 4096x2160, 1491861 kb/s, SAR 1:1 DAR 256:135, 24 fps, 24 tbr, 12288 tbn, 12288 tbc (default)
Metadata:
handler_name : VideoHandler
timecode : 01:00:00:00
Stream #0:1(eng): Data: none (tmcd / 0x64636D74), 0 kb/s
Metadata:
handler_name : TimeCodeHandler
timecode : 01:00:00:00
Please use -q:a or -q:v, -qscale is ambiguous
Stream mapping:
Stream #0:0 -> #0:0 (dnxhd (native) -> mpeg4 (native))
Press [q] to stop, [?] for help
Output #0, avi, to 'out.avi':
Metadata:
major_brand : qt
minor_version : 512
compatible_brands: qt
ISFT : Lavf58.32.104
Stream #0:0(eng): Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 4096x2160 [SAR 1:1 DAR 256:135], q=2-31, 200 kb/s, 24 fps, 24 tbn, 24 tbc (default)
Metadata:
handler_name : VideoHandler
timecode : 01:00:00:00
encoder : Lavc58.56.102 mpeg4
Side data:
cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A
frame= 2 fps=0.0 q=2.0 Lsize= 182kB time=00:00:00.08 bitrate=17923.5kbits/s speed=0.454x
video:177kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 3.211861%
comment:2 by , 5 years ago
Duplicate of #7342.
This is because files use ACT, adaptive color transform, when some blocks are encoded in RGB instead of YUV and vice versa.
comment:3 by , 5 years ago
| Resolution: | → duplicate |
|---|---|
| Status: | new → closed |
Maybe a warning message should be shown...
comment:4 by , 5 years ago
Yes, I think a warning should be shown
These were encode with Resolve, so it can be said they are "official" DNxHR samples
Otherwise people using ffmpeg for DNxHR 444 decoding might assume it's working correctly.
Is a fix planned ?



DNxHR Tests