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.

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to