On 07.10.2018 19:50, Philip Langdale wrote:
Currently, ffmpeg defines a set of YUV444P formats for use where the bits-per-pixel are between 8 and 16 bits. In these formats, the bits are packed in the MSBs of the 16 bits of available storage.On the other hand, all the hardware vendors have defined their equivalent formats with the bits packed in the LSBs, which has the virtue of making the memory layouts compatible with being treated as full 16 bit values (which is also why P010 is defined this way). So, to be able to use these hardware compatible formats, we need definitions for them in ffmpeg. Right now, I need this for nvdec, but Vulkan also uses the same format definitions.
I'm very much in favor of adding those, and potentially similar other ones in the future. The other option is to add a bit depth field to AVFrame, and changes in various places to support it, including logic for encoder to signal support for pix_fmt/bit_depth support. The later approach, while it does seem cleaner, also seems very error prone and invasive, so I'd prefer adding the few cases we have as pixel formats.
smime.p7s
Description: S/MIME Cryptographic Signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel