[FFmpeg-devel] [PATCH v12 5/9] libavcodec/dnxucdec: DNxUncompressed decoder

martin schitter ms+git at mur.at
Wed Oct 23 12:55:29 EEST 2024



On 23.10.24 09:12, Diederick C. Niehorster wrote:
>>> + This decoder for DNxUncompressed video data is mostly based on
>>> + reverse engineering of output generated by DaVinci Resolve 19
>>> + but was later also checked against the SMPTE RDD 50 specification.
>>> +
>>> + Not all DNxUncompressed pixel format variants are supported,
>>> + but at least an elementary base set is already usable:
>>> +
>>> +  - YUV 4:2:2 8/10/12/16bit/half/float   (16bit untested)
>>> +    YUV 4:4:4 8/16bit/half/float         (all untested!)
>>> +  - RGB 8/10/12/16bit/half/float         (16bit untested)
>>> +    Alpha/Y 8/16bit                      (all untested!)
>> That's not good...
>>
>> [...]
> Is your suggested to only include the cases that have been tested and
> remove the rest? That would make sense, it seems other cases can be
> added trivially once samples become available now that this groundwork
> is done.

I'm also not happy about this pragmatic compromise to enable a few 
variants only based on descriptions found in the specification without 
any practical control by real world samples. I wasn't sure, if I should 
enable the affected code paths at all, but at the end I got the feeling, 
that it will be even more frustrating for users, if they choose one of 
the provided exports variants in their preferred software, but ffmpeg 
just displays an "unsupported" error message. That's why I finally 
simply enabled all this untested common variants as well.

> @Martin, is there any way you could get samples of the other formats?
> Perhaps by downloading a trial version of acid media composer, or if
> my google fu works well, by installing a codec pack
> https://kb.avid.com/pkb/articles/en_US/Knowledge/Avid-QuickTime-Codecs-LE,w
> hich should allow using these codecs in after effects and such.

I'm strictly working only on linux machines and do not have access to 
windows or mac workstations and their software.

All the export variants available in DaVinci resolve are working (I just 
have to upload a few more YUV float files to the Fate sample library for 
completeness, but I didn't enable them in this patch set to not disturb 
the patchwork results). That's anyway the majority of variants.

Only for the 16bit int, YUV 4:4:4 payload and Alpha channel usage I 
couldn't figure out any working solution to generate samples by freely 
accessible software on linux until now.

I was very surprised, that even on my Nuke-non-commercial 15.1 setup 
DNxUncompressed is still not supported on linux -- even as an import 
option. :(

But if I find a way to generate the additional samples or someone else 
contributes them, I'll control the results and add them to the Fate tests.

martin


More information about the ffmpeg-devel mailing list