#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