Avutil.Pixel_formatPixel formats.
type t = [ | `None| `Yuv420p| `Yuyv422| `Rgb24| `Bgr24| `Yuv422p| `Yuv444p| `Yuv410p| `Yuv411p| `Gray8| `Monowhite| `Monoblack| `Pal8| `Yuvj420p| `Yuvj422p| `Yuvj444p| `Uyvy422| `Uyyvyy411| `Bgr8| `Bgr4| `Bgr4_byte| `Rgb8| `Rgb4| `Rgb4_byte| `Nv12| `Nv21| `Argb| `Rgba| `Abgr| `Bgra| `Gray16be| `Gray16le| `Yuv440p| `Yuvj440p| `Yuva420p| `Rgb48be| `Rgb48le| `Rgb565be| `Rgb565le| `Rgb555be| `Rgb555le| `Bgr565be| `Bgr565le| `Bgr555be| `Bgr555le| `Vaapi| `Yuv420p16le| `Yuv420p16be| `Yuv422p16le| `Yuv422p16be| `Yuv444p16le| `Yuv444p16be| `Dxva2_vld| `Rgb444le| `Rgb444be| `Bgr444le| `Bgr444be| `Ya8| `Y400a| `Gray8a| `Bgr48be| `Bgr48le| `Yuv420p9be| `Yuv420p9le| `Yuv420p10be| `Yuv420p10le| `Yuv422p10be| `Yuv422p10le| `Yuv444p9be| `Yuv444p9le| `Yuv444p10be| `Yuv444p10le| `Yuv422p9be| `Yuv422p9le| `Gbrp| `Gbr24p| `Gbrp9be| `Gbrp9le| `Gbrp10be| `Gbrp10le| `Gbrp16be| `Gbrp16le| `Yuva422p| `Yuva444p| `Yuva420p9be| `Yuva420p9le| `Yuva422p9be| `Yuva422p9le| `Yuva444p9be| `Yuva444p9le| `Yuva420p10be| `Yuva420p10le| `Yuva422p10be| `Yuva422p10le| `Yuva444p10be| `Yuva444p10le| `Yuva420p16be| `Yuva420p16le| `Yuva422p16be| `Yuva422p16le| `Yuva444p16be| `Yuva444p16le| `Vdpau| `Xyz12le| `Xyz12be| `Nv16| `Nv20le| `Nv20be| `Rgba64be| `Rgba64le| `Bgra64be| `Bgra64le| `Yvyu422| `Ya16be| `Ya16le| `Gbrap| `Gbrap16be| `Gbrap16le| `Qsv| `Mmal| `D3d11va_vld| `Cuda| `_0rgb| `Rgb0| `_0bgr| `Bgr0| `Yuv420p12be| `Yuv420p12le| `Yuv420p14be| `Yuv420p14le| `Yuv422p12be| `Yuv422p12le| `Yuv422p14be| `Yuv422p14le| `Yuv444p12be| `Yuv444p12le| `Yuv444p14be| `Yuv444p14le| `Gbrp12be| `Gbrp12le| `Gbrp14be| `Gbrp14le| `Yuvj411p| `Bayer_bggr8| `Bayer_rggb8| `Bayer_gbrg8| `Bayer_grbg8| `Bayer_bggr16le| `Bayer_bggr16be| `Bayer_rggb16le| `Bayer_rggb16be| `Bayer_gbrg16le| `Bayer_gbrg16be| `Bayer_grbg16le| `Bayer_grbg16be| `Yuv440p10le| `Yuv440p10be| `Yuv440p12le| `Yuv440p12be| `Ayuv64le| `Ayuv64be| `Videotoolbox| `P010le| `P010be| `Gbrap12be| `Gbrap12le| `Gbrap10be| `Gbrap10le| `Mediacodec| `Gray12be| `Gray12le| `Gray10be| `Gray10le| `P016le| `P016be| `D3d11| `Gray9be| `Gray9le| `Gbrpf32be| `Gbrpf32le| `Gbrapf32be| `Gbrapf32le| `Drm_prime| `Opencl| `Gray14be| `Gray14le| `Grayf32be| `Grayf32le| `Yuva422p12be| `Yuva422p12le| `Yuva444p12be| `Yuva444p12le| `Nv24| `Nv42| `Vulkan| `Y210be| `Y210le| `X2rgb10le| `X2rgb10be| `X2bgr10le| `X2bgr10be| `P210be| `P210le| `P410be| `P410le| `P216be| `P216le| `P416be| `P416le| `Vuya| `Rgbaf16be| `Rgbaf16le| `Vuyx| `P012le| `P012be| `Y212be| `Y212le| `Xv30be| `Xv30le| `Xv36be| `Xv36le| `Rgbf32be| `Rgbf32le| `Rgbaf32be| `Rgbaf32le| `P212be| `P212le| `P412be| `P412le| `Gbrap14be| `Gbrap14le| `D3d12| `Ayuv| `Uyva| `Vyu444| `V30xbe| `V30xle| `Rgbf16be| `Rgbf16le| `Rgba128be| `Rgba128le| `Rgb96be| `Rgb96le| `Y216be| `Y216le| `Xv48be| `Xv48le| `Gbrpf16be| `Gbrpf16le| `Gbrapf16be| `Gbrapf16le| `Grayf16be| `Grayf16le| `Amf_surface| `Gray32be| `Gray32le| `Yaf32be| `Yaf32le| `Yaf16be| `Yaf16le| `Gbrap32be| `Gbrap32le| `Yuv444p10msbbe| `Yuv444p10msble| `Yuv444p12msbbe| `Yuv444p12msble| `Gbrp10msbbe| `Gbrp10msble| `Gbrp12msbbe| `Gbrp12msble| `Ohcodec ]The pixel formats, as a variant generated from FFmpeg's headers at build time. `None is FFmpeg's "no format".
The flags of a pixel format (planar, RGB, palette, hardware and so on), generated from FFmpeg's headers at build time.
Where one component (Y, U, R, alpha and so on) of a pixel is stored.
plane: index of the plane that holds the component.step: number of elements between two horizontally consecutive pixels. Elements are bits for bitstream formats, bytes otherwise.offset: number of elements before the component of the first pixel.shift: number of least significant bits to shift away to get the value.depth: number of bits of the component.type descriptor = private {name : string;nb_components : int;log2_chroma_w : int;log2_chroma_h : int;flags : flag list;comp : component_descriptor list;alias : string option;}FFmpeg's description of a pixel format, copied into plain OCaml data. Only descriptor builds one.
name: FFmpeg's name of the format.nb_components: number of components per pixel, 1 to 4.log2_chroma_w: horizontal chroma subsampling. The chroma width is the luma width shifted right by this many bits, rounded up.log2_chroma_h: vertical chroma subsampling, likewise for the height.flags: the flags set on the format, in ascending order of bit value. A flag this build has no constructor for is left out.comp: one entry per component, nb_components entries, in FFmpeg's order.alias: alternative names of the format, if any.val descriptor : t -> descriptordescriptor f returns FFmpeg's description of the format f.
val bits : descriptor -> intbits d is the number of bits per pixel of the format d describes, padding bits excluded.
val planes : t -> intplanes f is the number of planes of the format f.
val to_string : t -> string optionFFmpeg's name of the format, such as "yuv420p". None for `None and for a format FFmpeg does not name.
val of_string : string -> tof_string s is the format FFmpeg names s.
val get_id : t -> intThe integer value of the format in FFmpeg's C enumeration.