Skip to main content

PixelFormat

Enum PixelFormat 

Source
#[non_exhaustive]
pub enum PixelFormat {
Show 286 variants None, Yuv420p, Yuv422p, Yuv440p, Yuv444p, Yuv411p, Yuv410p, Yuvj411p, Yuvj420p, Yuvj422p, Yuvj440p, Yuvj444p, Yuv420p9Le, Yuv420p9Be, Yuv420p10Le, Yuv420p10Be, Yuv420p12Le, Yuv420p12Be, Yuv420p14Le, Yuv420p14Be, Yuv420p16Le, Yuv420p16Be, Yuv422p9Le, Yuv422p9Be, Yuv422p10Le, Yuv422p10Be, Yuv422p12Le, Yuv422p12Be, Yuv422p14Le, Yuv422p14Be, Yuv422p16Le, Yuv422p16Be, Yuv440p10Le, Yuv440p10Be, Yuv440p12Le, Yuv440p12Be, Yuv444p9Le, Yuv444p9Be, Yuv444p10Le, Yuv444p10Be, Yuv444p12Le, Yuv444p12Be, Yuv444p14Le, Yuv444p14Be, Yuv444p16Le, Yuv444p16Be, Yuv444p10MsbLe, Yuv444p10MsbBe, Yuv444p12MsbLe, Yuv444p12MsbBe, Yuva420p, Yuva422p, Yuva444p, Yuva420p9Le, Yuva420p9Be, Yuva422p9Le, Yuva422p9Be, Yuva444p9Le, Yuva444p9Be, Yuva420p10Le, Yuva420p10Be, Yuva422p10Le, Yuva422p10Be, Yuva444p10Le, Yuva444p10Be, Yuva420p12Le, Yuva420p12Be, Yuva422p12Le, Yuva422p12Be, Yuva444p12Le, Yuva444p12Be, Yuva444p14Le, Yuva420p16Le, Yuva420p16Be, Yuva422p16Le, Yuva422p16Be, Yuva444p16Le, Yuva444p16Be, Nv12, Nv21, Nv16, Nv24, Nv42, Nv20Le, Nv20Be, P010Le, P010Be, P012Le, P012Be, P016Le, P016Be, P210Le, P210Be, P212Le, P212Be, P216Le, P216Be, P410Le, P410Be, P412Le, P412Be, P416Le, P416Be, Yuyv422, Uyvy422, Yvyu422, Uyyvyy411, Y210Le, Y210Be, Y212Le, Y212Be, Y216Le, Y216Be, V210, V410Le, V410Be, Xv30Le, Xv30Be, V30xLe, V30xBe, Xv36Le, Xv36Be, Xv48Le, Xv48Be, Vuya, Vuyx, Ayuv, Ayuv64Le, Ayuv64Be, Uyva, Vyu444, Xyz12Le, Xyz12Be, Rgb24, Bgr24, Rgba, Bgra, Argb, Abgr, Rgbx, Bgrx, Xrgb, Xbgr, X2Rgb10Le, X2Rgb10Be, X2Bgr10Le, X2Bgr10Be, Gbr24p, Rgb4, Rgb4Byte, Rgb8, Bgr4, Bgr4Byte, Bgr8, Rgb444Le, Rgb444Be, Bgr444Le, Bgr444Be, Rgb555Le, Rgb555Be, Bgr555Le, Bgr555Be, Rgb565Le, Rgb565Be, Bgr565Le, Bgr565Be, Rgb48Le, Rgb48Be, Bgr48Le, Bgr48Be, Rgba64Le, Rgba64Be, Bgra64Le, Bgra64Be, Rgb96Le, Rgb96Be, Rgba128Le, Rgba128Be, Rgbf16Le, Rgbf16Be, Rgbf32Le, Rgbf32Be, Rgbaf16Le, Rgbaf16Be, Rgbaf32Le, Rgbaf32Be, Gbrp, Gbrp9Le, Gbrp9Be, Gbrp10Le, Gbrp10Be, Gbrp10MsbLe, Gbrp10MsbBe, Gbrp12Le, Gbrp12Be, Gbrp12MsbLe, Gbrp12MsbBe, Gbrp14Le, Gbrp14Be, Gbrp16Le, Gbrp16Be, Gbrpf16Le, Gbrpf16Be, Gbrpf32Le, Gbrpf32Be, Gbrap, Gbrap10Le, Gbrap10Be, Gbrap12Le, Gbrap12Be, Gbrap14Le, Gbrap14Be, Gbrap16Le, Gbrap16Be, Gbrap32Le, Gbrap32Be, Gbrapf16Le, Gbrapf16Be, Gbrapf32Le, Gbrapf32Be, Gray8, Gray8a, Gray9Le, Gray9Be, Gray10Le, Gray10Be, Gray12Le, Gray12Be, Gray14Le, Gray14Be, Gray16Le, Gray16Be, Gray32Le, Gray32Be, Grayf32Le, Grayf32Be, Grayf16Le, Grayf16Be, Ya8, Y400a, Ya16Le, Ya16Be, Yaf16Le, Yaf16Be, Yaf32Le, Yaf32Be, Monowhite, Monoblack, Pal8, BayerBggr8, BayerRggb8, BayerGbrg8, BayerGrbg8, BayerBggr10Le, BayerBggr10Be, BayerRggb10Le, BayerRggb10Be, BayerGbrg10Le, BayerGbrg10Be, BayerGrbg10Le, BayerGrbg10Be, BayerBggr12Le, BayerBggr12Be, BayerRggb12Le, BayerRggb12Be, BayerGbrg12Le, BayerGbrg12Be, BayerGrbg12Le, BayerGrbg12Be, BayerBggr14Le, BayerBggr14Be, BayerRggb14Le, BayerRggb14Be, BayerGbrg14Le, BayerGbrg14Be, BayerGrbg14Le, BayerGrbg14Be, BayerBggr16Le, BayerBggr16Be, BayerRggb16Le, BayerRggb16Be, BayerGbrg16Le, BayerGbrg16Be, BayerGrbg16Le, BayerGrbg16Be, Other(SmolStr),
}
Expand description

Pixel format identifier covering FFmpeg + Bayer + cinema-RAW.

Tier. Self::Other needs a heap, so it exists only at the alloc / std tier; at the no-alloc tier this vocabulary is closed and an unrecognised slug is rejected rather than collapsed onto a named variant — an error beats a wrong value.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

None

No format — FFmpeg’s own AV_PIX_FMT_NONE, and the Default.

A named member of the vocabulary, not an escape arm: it carries no payload, owns the slug "none", and round-trips exactly. It is the state a freshly-defaulted descriptor is in, before a decoder has said what it produces.

§

Yuv420p

Planar 4:2:0 YUV, 8-bit (AV_PIX_FMT_YUV420P).

§

Yuv422p

Planar 4:2:2 YUV, 8-bit.

§

Yuv440p

Planar 4:4:0 YUV, 8-bit (vertically subsampled chroma).

§

Yuv444p

Planar 4:4:4 YUV, 8-bit.

§

Yuv411p

Planar 4:1:1 YUV, 8-bit.

§

Yuv410p

Planar 4:1:0 YUV, 8-bit.

§

Yuvj411p

Deprecated full-range alias of Self::Yuv411p (FFmpeg keeps for backward compat; downstream should prefer Self::Yuv411p + DynamicRange::Full).

§

Yuvj420p

Deprecated full-range alias of Self::Yuv420p (FFmpeg keeps for backward compat; downstream should prefer Self::Yuv420p + DynamicRange::Full).

§

Yuvj422p

Deprecated full-range alias of Self::Yuv422p (FFmpeg keeps for backward compat; downstream should prefer Self::Yuv422p + DynamicRange::Full).

§

Yuvj440p

Deprecated full-range alias of Self::Yuv440p (FFmpeg keeps for backward compat; downstream should prefer Self::Yuv440p + DynamicRange::Full).

§

Yuvj444p

Deprecated full-range alias of Self::Yuv444p (FFmpeg keeps for backward compat; downstream should prefer Self::Yuv444p + DynamicRange::Full).

§

Yuv420p9Le

Planar 4:2:0 YUV, 9-bit little-endian.

§

Yuv420p9Be

Planar 4:2:0 YUV, 9-bit big-endian.

§

Yuv420p10Le

Planar 4:2:0 YUV, 10-bit little-endian.

§

Yuv420p10Be

Planar 4:2:0 YUV, 10-bit big-endian.

§

Yuv420p12Le

Planar 4:2:0 YUV, 12-bit little-endian.

§

Yuv420p12Be

Planar 4:2:0 YUV, 12-bit big-endian.

§

Yuv420p14Le

Planar 4:2:0 YUV, 14-bit little-endian.

§

Yuv420p14Be

Planar 4:2:0 YUV, 14-bit big-endian.

§

Yuv420p16Le

Planar 4:2:0 YUV, 16-bit little-endian.

§

Yuv420p16Be

Planar 4:2:0 YUV, 16-bit big-endian.

§

Yuv422p9Le

Planar 4:2:2 YUV, 9-bit little-endian.

§

Yuv422p9Be

Planar 4:2:2 YUV, 9-bit big-endian.

§

Yuv422p10Le

Planar 4:2:2 YUV, 10-bit little-endian.

§

Yuv422p10Be

Planar 4:2:2 YUV, 10-bit big-endian.

§

Yuv422p12Le

Planar 4:2:2 YUV, 12-bit little-endian.

§

Yuv422p12Be

Planar 4:2:2 YUV, 12-bit big-endian.

§

Yuv422p14Le

Planar 4:2:2 YUV, 14-bit little-endian.

§

Yuv422p14Be

Planar 4:2:2 YUV, 14-bit big-endian.

§

Yuv422p16Le

Planar 4:2:2 YUV, 16-bit little-endian.

§

Yuv422p16Be

Planar 4:2:2 YUV, 16-bit big-endian.

§

Yuv440p10Le

Planar 4:4:0 YUV, 10-bit little-endian.

§

Yuv440p10Be

Planar 4:4:0 YUV, 10-bit big-endian.

§

Yuv440p12Le

Planar 4:4:0 YUV, 12-bit little-endian.

§

Yuv440p12Be

Planar 4:4:0 YUV, 12-bit big-endian.

§

Yuv444p9Le

Planar 4:4:4 YUV, 9-bit little-endian.

§

Yuv444p9Be

Planar 4:4:4 YUV, 9-bit big-endian.

§

Yuv444p10Le

Planar 4:4:4 YUV, 10-bit little-endian.

§

Yuv444p10Be

Planar 4:4:4 YUV, 10-bit big-endian.

§

Yuv444p12Le

Planar 4:4:4 YUV, 12-bit little-endian.

§

Yuv444p12Be

Planar 4:4:4 YUV, 12-bit big-endian.

§

Yuv444p14Le

Planar 4:4:4 YUV, 14-bit little-endian.

§

Yuv444p14Be

Planar 4:4:4 YUV, 14-bit big-endian.

§

Yuv444p16Le

Planar 4:4:4 YUV, 16-bit little-endian.

§

Yuv444p16Be

Planar 4:4:4 YUV, 16-bit big-endian.

§

Yuv444p10MsbLe

Planar 4:4:4 YUV, 10-bit MSB-packed, little-endian.

§

Yuv444p10MsbBe

Planar 4:4:4 YUV, 10-bit MSB-packed, big-endian.

§

Yuv444p12MsbLe

Planar 4:4:4 YUV, 12-bit MSB-packed, little-endian.

§

Yuv444p12MsbBe

Planar 4:4:4 YUV, 12-bit MSB-packed, big-endian.

§

Yuva420p

Planar 4:2:0 YUVA, 8-bit.

§

Yuva422p

Planar 4:2:2 YUVA, 8-bit.

§

Yuva444p

Planar 4:4:4 YUVA, 8-bit.

§

Yuva420p9Le

Planar 4:2:0 YUVA, 9-bit little-endian.

§

Yuva420p9Be

Planar 4:2:0 YUVA, 9-bit big-endian.

§

Yuva422p9Le

Planar 4:2:2 YUVA, 9-bit little-endian.

§

Yuva422p9Be

Planar 4:2:2 YUVA, 9-bit big-endian.

§

Yuva444p9Le

Planar 4:4:4 YUVA, 9-bit little-endian.

§

Yuva444p9Be

Planar 4:4:4 YUVA, 9-bit big-endian.

§

Yuva420p10Le

Planar 4:2:0 YUVA, 10-bit little-endian.

§

Yuva420p10Be

Planar 4:2:0 YUVA, 10-bit big-endian.

§

Yuva422p10Le

Planar 4:2:2 YUVA, 10-bit little-endian.

§

Yuva422p10Be

Planar 4:2:2 YUVA, 10-bit big-endian.

§

Yuva444p10Le

Planar 4:4:4 YUVA, 10-bit little-endian.

§

Yuva444p10Be

Planar 4:4:4 YUVA, 10-bit big-endian.

§

Yuva420p12Le

Planar 4:2:0 YUVA, 12-bit little-endian (AV_PIX_FMT_YUVA420P12LE). Discriminant placed after the 16-bit block because the 12-bit slot in the original 200-series numbering (between 10Le at 206 and the 4:2:2 12Le at 209) was already taken by the 4:2:2 / 4:4:4 12Le forms; adding a new tail slot keeps existing discriminants stable. Surfaced by WebCodecs as the I420AP12 VideoPixelFormat.

§

Yuva420p12Be

Planar 4:2:0 YUVA, 12-bit big-endian (yuva420p12be — no FFmpeg AV_PIX_FMT enum; the byte-order sibling of Self::Yuva420p12Le, supported for symmetry with the 9 / 10 / 16-bit YUVA 4:2:0 BE forms). Discriminant placed at the YUVA tail (after the 16Be block) for the same reason the 12Le form was: the in-order 200- series slots were already consumed, so a new tail slot keeps every existing discriminant stable.

§

Yuva422p12Le

Planar 4:2:2 YUVA, 12-bit little-endian.

§

Yuva422p12Be

Planar 4:2:2 YUVA, 12-bit big-endian.

§

Yuva444p12Le

Planar 4:4:4 YUVA, 12-bit little-endian.

§

Yuva444p12Be

Planar 4:4:4 YUVA, 12-bit big-endian.

§

Yuva444p14Le

Planar 4:4:4 YUVA, 14-bit little-endian.

§

Yuva420p16Le

Planar 4:2:0 YUVA, 16-bit little-endian.

§

Yuva420p16Be

Planar 4:2:0 YUVA, 16-bit big-endian.

§

Yuva422p16Le

Planar 4:2:2 YUVA, 16-bit little-endian.

§

Yuva422p16Be

Planar 4:2:2 YUVA, 16-bit big-endian.

§

Yuva444p16Le

Planar 4:4:4 YUVA, 16-bit little-endian.

§

Yuva444p16Be

Planar 4:4:4 YUVA, 16-bit big-endian.

§

Nv12

4:2:0 semi-planar Y plane + interleaved Cb/Cr (AV_PIX_FMT_NV12).

§

Nv21

4:2:0 semi-planar Y + interleaved Cr/Cb (AV_PIX_FMT_NV21).

§

Nv16

4:2:2 semi-planar Y + interleaved Cb/Cr.

§

Nv24

4:4:4 semi-planar Y + interleaved Cb/Cr.

§

Nv42

4:4:4 semi-planar Y + interleaved Cr/Cb.

§

Nv20Le

10-bit semi-planar 4:2:2 YUV — a Y plane plus an interleaved UV plane, one u16 per sample with the 10 data bits in the low bits (P210’s low-bit-packed twin), little-endian.

§

Nv20Be

10-bit semi-planar 4:2:2 YUV — a Y plane plus an interleaved UV plane, one u16 per sample with the 10 data bits in the low bits (P210’s low-bit-packed twin), big-endian.

§

P010Le

4:2:0 semi-planar 10-bit, little-endian (AV_PIX_FMT_P010LE).

§

P010Be

4:2:0 semi-planar 10-bit, big-endian.

§

P012Le

4:2:0 semi-planar 12-bit, little-endian.

§

P012Be

4:2:0 semi-planar 12-bit, big-endian.

§

P016Le

4:2:0 semi-planar 16-bit, little-endian.

§

P016Be

4:2:0 semi-planar 16-bit, big-endian.

§

P210Le

4:2:2 semi-planar 10-bit, little-endian.

§

P210Be

4:2:2 semi-planar 10-bit, big-endian.

§

P212Le

4:2:2 semi-planar 12-bit, little-endian (FFmpeg 5.1+).

§

P212Be

4:2:2 semi-planar 12-bit, big-endian (FFmpeg 5.1+).

§

P216Le

4:2:2 semi-planar 16-bit, little-endian.

§

P216Be

4:2:2 semi-planar 16-bit, big-endian.

§

P410Le

4:4:4 semi-planar 10-bit, little-endian.

§

P410Be

4:4:4 semi-planar 10-bit, big-endian.

§

P412Le

4:4:4 semi-planar 12-bit, little-endian (FFmpeg 5.1+).

§

P412Be

4:4:4 semi-planar 12-bit, big-endian (FFmpeg 5.1+).

§

P416Le

4:4:4 semi-planar 16-bit, little-endian.

§

P416Be

4:4:4 semi-planar 16-bit, big-endian.

§

Yuyv422

4:2:2 packed YUV: Y0 U Y1 V (AV_PIX_FMT_YUYV422).

§

Uyvy422

4:2:2 packed YUV: U Y0 V Y1 (AV_PIX_FMT_UYVY422).

§

Yvyu422

4:2:2 packed YUV: Y0 V Y1 U (AV_PIX_FMT_YVYU422).

§

Uyyvyy411

Packed YUV 4:1:1, 12bpp (AV_PIX_FMT_UYYVYY411).

§

Y210Le

4:2:2 packed YUV 10-bit, little-endian (AV_PIX_FMT_Y210LE).

§

Y210Be

4:2:2 packed YUV 10-bit, big-endian.

§

Y212Le

4:2:2 packed YUV 12-bit, little-endian (AV_PIX_FMT_Y212LE).

§

Y212Be

4:2:2 packed YUV 12-bit, big-endian.

§

Y216Le

4:2:2 packed YUV 16-bit, little-endian (AV_PIX_FMT_Y216LE).

§

Y216Be

4:2:2 packed YUV 16-bit, big-endian.

§

V210

4:2:2 packed 10-bit, 3 samples per 32-bit word (AV_PIX_FMT_V210).

§

V410Le

4:4:4 packed 10-bit, one 32-bit word per sample (AV_PIX_FMT_V410LE).

§

V410Be

4:4:4 packed 10-bit, one 32-bit word per sample (AV_PIX_FMT_V410BE), big-endian.

§

Xv30Le

4:4:4 packed 10-bit, alternative layout (AV_PIX_FMT_XV30LE), little-endian.

§

Xv30Be

4:4:4 packed 10-bit, alternative layout (AV_PIX_FMT_XV30BE), big-endian.

§

V30xLe

4:4:4 packed 10-bit, alternative layout (AV_PIX_FMT_V30XLE), little-endian (distinct slug from xv30le).

§

V30xBe

4:4:4 packed 10-bit, alternative layout (AV_PIX_FMT_V30XBE), big-endian (distinct slug from xv30be).

§

Xv36Le

4:4:4 packed 12-bit, one 16-bit word per channel (AV_PIX_FMT_XV36LE), little-endian.

§

Xv36Be

4:4:4 packed 12-bit, one 16-bit word per channel (AV_PIX_FMT_XV36BE), big-endian.

§

Xv48Le

4:4:4 packed 16-bit, little-endian (AV_PIX_FMT_XV48LE).

§

Xv48Be

4:4:4 packed 16-bit, big-endian (AV_PIX_FMT_XV48BE).

§

Vuya

4:4:4 packed 8-bit byte quadruple V, U, Y, A (AV_PIX_FMT_VUYA).

§

Vuyx

4:4:4 packed 8-bit V, U, Y, X (alpha-as-padding).

§

Ayuv

Packed AYUV 4:4:4, 32bpp (8-bit; distinct from Self::Ayuv64Le/Self::Ayuv64Be).

§

Ayuv64Le

4:4:4 packed 16-bit word quadruple A, Y, U, V (AV_PIX_FMT_AYUV64LE), little-endian.

§

Ayuv64Be

4:4:4 packed 16-bit word quadruple A, Y, U, V (AV_PIX_FMT_AYUV64BE), big-endian.

§

Uyva

Packed UYVA 4:4:4, 32bpp.

§

Vyu444

Packed VYU 4:4:4 8-bit (3 bytes per pixel).

§

Xyz12Le

Packed XYZ 4:4:4, 36bpp (12 bits each), little-endian.

§

Xyz12Be

Packed XYZ 4:4:4, 36bpp (12 bits each), big-endian.

§

Rgb24

24-bit packed RGB (AV_PIX_FMT_RGB24).

§

Bgr24

24-bit packed BGR.

§

Rgba

32-bit packed RGBA.

§

Bgra

32-bit packed BGRA.

§

Argb

32-bit packed ARGB.

§

Abgr

32-bit packed ABGR.

§

Rgbx

32-bit packed RGB with X (unused) byte. FFmpeg slug uses rgb0-suffix; Rust variant uses X because identifiers can’t start with a digit.

§

Bgrx

32-bit packed BGR with X (unused) byte. FFmpeg slug uses bgr0-suffix; Rust variant uses X because identifiers can’t start with a digit.

§

Xrgb

32-bit packed XRGB (X unused, then RGB). FFmpeg slug uses 0rgb-prefix; Rust variant uses X because identifiers can’t start with a digit.

§

Xbgr

32-bit packed XBGR. FFmpeg slug uses 0bgr-prefix; Rust variant uses X because identifiers can’t start with a digit.

§

X2Rgb10Le

32-bit RGB10 in low bits, 2 bits unused (AV_PIX_FMT_X2RGB10LE), little-endian.

§

X2Rgb10Be

32-bit RGB10 in low bits, 2 bits unused, big-endian.

§

X2Bgr10Le

32-bit BGR10 in low bits, 2 bits unused, little-endian.

§

X2Bgr10Be

32-bit BGR10 in low bits, 2 bits unused, big-endian.

§

Gbr24p

Packed GBR 24bpp (distinct from planar Self::Gbrp).

§

Rgb4

1+1+1+1-bit packed RGB.

§

Rgb4Byte

Same data as Self::Rgb4, 1 byte per pixel.

§

Rgb8

3+3+2-bit packed RGB.

§

Bgr4

1+1+1+1-bit packed BGR.

§

Bgr4Byte

Same data as Self::Bgr4, 1 byte per pixel.

§

Bgr8

3+3+2-bit packed BGR.

§

Rgb444Le

16-bit packed RGB, 4 bits per channel + 4 unused, little-endian.

§

Rgb444Be

16-bit packed RGB, 4 bits per channel + 4 unused, big-endian.

§

Bgr444Le

16-bit packed BGR, 4 bits per channel + 4 unused, little-endian.

§

Bgr444Be

16-bit packed BGR, 4 bits per channel + 4 unused, big-endian.

§

Rgb555Le

16-bit packed RGB, 5/5/5 layout, little-endian.

§

Rgb555Be

16-bit packed RGB, 5/5/5 layout, big-endian.

§

Bgr555Le

16-bit packed BGR, 5/5/5 layout, little-endian.

§

Bgr555Be

16-bit packed BGR, 5/5/5 layout, big-endian.

§

Rgb565Le

16-bit packed RGB, 5/6/5 layout, little-endian.

§

Rgb565Be

16-bit packed RGB, 5/6/5 layout, big-endian.

§

Bgr565Le

16-bit packed BGR, 5/6/5 layout, little-endian.

§

Bgr565Be

16-bit packed BGR, 5/6/5 layout, big-endian.

§

Rgb48Le

48-bit packed RGB, 16 bits per channel, little-endian.

§

Rgb48Be

48-bit packed RGB, 16 bits per channel, big-endian.

§

Bgr48Le

48-bit packed BGR, 16 bits per channel, little-endian.

§

Bgr48Be

48-bit packed BGR, 16 bits per channel, big-endian.

§

Rgba64Le

64-bit packed RGBA, 16 bits per channel, little-endian.

§

Rgba64Be

64-bit packed RGBA, 16 bits per channel, big-endian.

§

Bgra64Le

64-bit packed BGRA, 16 bits per channel, little-endian.

§

Bgra64Be

64-bit packed BGRA, 16 bits per channel, big-endian.

§

Rgb96Le

96-bit packed RGB, 32 bits per channel, little-endian.

§

Rgb96Be

96-bit packed RGB, 32 bits per channel, big-endian.

§

Rgba128Le

128-bit packed RGBA, 32 bits per channel, little-endian.

§

Rgba128Be

128-bit packed RGBA, 32 bits per channel, big-endian.

§

Rgbf16Le

48-bit packed RGB, 16-bit half-float per channel, little-endian.

§

Rgbf16Be

48-bit packed RGB, 16-bit half-float per channel, big-endian.

§

Rgbf32Le

96-bit packed RGB, 32-bit float per channel, little-endian.

§

Rgbf32Be

96-bit packed RGB, 32-bit float per channel, big-endian.

§

Rgbaf16Le

64-bit packed RGBA, 16-bit half-float per channel, little-endian.

§

Rgbaf16Be

64-bit packed RGBA, 16-bit half-float per channel, big-endian.

§

Rgbaf32Le

128-bit packed RGBA, 32-bit float per channel, little-endian.

§

Rgbaf32Be

128-bit packed RGBA, 32-bit float per channel, big-endian.

§

Gbrp

Planar 4:4:4 G/B/R, 8-bit.

§

Gbrp9Le

Planar 4:4:4 G/B/R, 9-bit little-endian.

§

Gbrp9Be

Planar 4:4:4 G/B/R, 9-bit big-endian.

§

Gbrp10Le

Planar 4:4:4 G/B/R, 10-bit little-endian.

§

Gbrp10Be

Planar 4:4:4 G/B/R, 10-bit big-endian.

§

Gbrp10MsbLe

Planar 4:4:4 G/B/R, 10-bit MSB-packed, little-endian.

§

Gbrp10MsbBe

Planar 4:4:4 G/B/R, 10-bit MSB-packed, big-endian.

§

Gbrp12Le

Planar 4:4:4 G/B/R, 12-bit little-endian.

§

Gbrp12Be

Planar 4:4:4 G/B/R, 12-bit big-endian.

§

Gbrp12MsbLe

Planar 4:4:4 G/B/R, 12-bit MSB-packed, little-endian.

§

Gbrp12MsbBe

Planar 4:4:4 G/B/R, 12-bit MSB-packed, big-endian.

§

Gbrp14Le

Planar 4:4:4 G/B/R, 14-bit little-endian.

§

Gbrp14Be

Planar 4:4:4 G/B/R, 14-bit big-endian.

§

Gbrp16Le

Planar 4:4:4 G/B/R, 16-bit little-endian.

§

Gbrp16Be

Planar 4:4:4 G/B/R, 16-bit big-endian.

§

Gbrpf16Le

Planar 4:4:4 G/B/R, 16-bit half-float, little-endian.

§

Gbrpf16Be

Planar 4:4:4 G/B/R, 16-bit half-float, big-endian.

§

Gbrpf32Le

Planar 4:4:4 G/B/R, 32-bit float, little-endian.

§

Gbrpf32Be

Planar 4:4:4 G/B/R, 32-bit float, big-endian.

§

Gbrap

Planar 4:4:4 G/B/R/A, 8-bit.

§

Gbrap10Le

Planar 4:4:4 G/B/R/A, 10-bit little-endian.

§

Gbrap10Be

Planar 4:4:4 G/B/R/A, 10-bit big-endian.

§

Gbrap12Le

Planar 4:4:4 G/B/R/A, 12-bit little-endian.

§

Gbrap12Be

Planar 4:4:4 G/B/R/A, 12-bit big-endian.

§

Gbrap14Le

Planar 4:4:4 G/B/R/A, 14-bit little-endian.

§

Gbrap14Be

Planar 4:4:4 G/B/R/A, 14-bit big-endian.

§

Gbrap16Le

Planar 4:4:4 G/B/R/A, 16-bit little-endian.

§

Gbrap16Be

Planar 4:4:4 G/B/R/A, 16-bit big-endian.

§

Gbrap32Le

Planar 4:4:4 G/B/R/A, 32-bit integer, little-endian.

§

Gbrap32Be

Planar 4:4:4 G/B/R/A, 32-bit integer, big-endian.

§

Gbrapf16Le

Planar 4:4:4 G/B/R/A, 16-bit half-float, little-endian.

§

Gbrapf16Be

Planar 4:4:4 G/B/R/A, 16-bit half-float, big-endian.

§

Gbrapf32Le

Planar 4:4:4 G/B/R/A, 32-bit float, little-endian.

§

Gbrapf32Be

Planar 4:4:4 G/B/R/A, 32-bit float, big-endian.

§

Gray8

8-bit greyscale (AV_PIX_FMT_GRAY8).

Renders "gray8" — the header identifier. FFmpeg’s own descriptor name for this format is "gray", which FromStr accepts as a synonym.

§

Gray8a

8-bit greyscale — FFmpeg AV_PIX_FMT_GRAY8A alias of Self::Ya8; preserved as a separate variant since mediaframe’s wire format is discriminant-independent.

§

Gray9Le

9-bit greyscale, little-endian.

§

Gray9Be

9-bit greyscale, big-endian.

§

Gray10Le

10-bit greyscale, little-endian.

§

Gray10Be

10-bit greyscale, big-endian.

§

Gray12Le

12-bit greyscale, little-endian.

§

Gray12Be

12-bit greyscale, big-endian.

§

Gray14Le

14-bit greyscale, little-endian.

§

Gray14Be

14-bit greyscale, big-endian.

§

Gray16Le

16-bit greyscale, little-endian.

§

Gray16Be

16-bit greyscale, big-endian.

§

Gray32Le

32-bit integer greyscale, little-endian.

§

Gray32Be

32-bit integer greyscale, big-endian.

§

Grayf32Le

32-bit float greyscale, little-endian.

§

Grayf32Be

32-bit float greyscale, big-endian.

§

Grayf16Le

16-bit half-float greyscale, little-endian.

§

Grayf16Be

16-bit half-float greyscale, big-endian.

§

Ya8

16-bit greyscale-with-alpha.

§

Y400a

FFmpeg AV_PIX_FMT_Y400A alias of Self::Ya8; preserved as a separate variant since mediaframe’s wire format is discriminant-independent.

§

Ya16Le

32-bit greyscale-with-alpha, little-endian.

§

Ya16Be

32-bit greyscale-with-alpha, big-endian.

§

Yaf16Le

16-bit half-float greyscale-with-alpha, little-endian.

§

Yaf16Be

16-bit half-float greyscale-with-alpha, big-endian.

§

Yaf32Le

64-bit float greyscale-with-alpha, little-endian.

§

Yaf32Be

64-bit float greyscale-with-alpha, big-endian.

§

Monowhite

1-bit monochrome, white = 0 (AV_PIX_FMT_MONOWHITE).

Renders "monowhite" — the header identifier. FFmpeg’s own descriptor name is "monow", accepted as a parse synonym.

§

Monoblack

1-bit monochrome, black = 0 (AV_PIX_FMT_MONOBLACK).

Renders "monoblack" — the header identifier. FFmpeg’s own descriptor name is "monob", accepted as a parse synonym.

§

Pal8

Paletted 8-bit (AV_PIX_FMT_PAL8).

§

BayerBggr8

Bayer BGGR pattern, 8-bit.

§

BayerRggb8

Bayer RGGB pattern, 8-bit.

§

BayerGbrg8

Bayer GBRG pattern, 8-bit.

§

BayerGrbg8

Bayer GRBG pattern, 8-bit.

§

BayerBggr10Le

Bayer BGGR pattern, 10-bit little-endian (low-packed in u16).

§

BayerBggr10Be

Bayer BGGR pattern, 10-bit big-endian (low-packed in u16).

§

BayerRggb10Le

Bayer RGGB pattern, 10-bit little-endian.

§

BayerRggb10Be

Bayer RGGB pattern, 10-bit big-endian.

§

BayerGbrg10Le

Bayer GBRG pattern, 10-bit little-endian.

§

BayerGbrg10Be

Bayer GBRG pattern, 10-bit big-endian.

§

BayerGrbg10Le

Bayer GRBG pattern, 10-bit little-endian.

§

BayerGrbg10Be

Bayer GRBG pattern, 10-bit big-endian.

§

BayerBggr12Le

Bayer BGGR pattern, 12-bit little-endian.

§

BayerBggr12Be

Bayer BGGR pattern, 12-bit big-endian.

§

BayerRggb12Le

Bayer RGGB pattern, 12-bit little-endian.

§

BayerRggb12Be

Bayer RGGB pattern, 12-bit big-endian.

§

BayerGbrg12Le

Bayer GBRG pattern, 12-bit little-endian.

§

BayerGbrg12Be

Bayer GBRG pattern, 12-bit big-endian.

§

BayerGrbg12Le

Bayer GRBG pattern, 12-bit little-endian.

§

BayerGrbg12Be

Bayer GRBG pattern, 12-bit big-endian.

§

BayerBggr14Le

Bayer BGGR pattern, 14-bit little-endian.

§

BayerBggr14Be

Bayer BGGR pattern, 14-bit big-endian.

§

BayerRggb14Le

Bayer RGGB pattern, 14-bit little-endian.

§

BayerRggb14Be

Bayer RGGB pattern, 14-bit big-endian.

§

BayerGbrg14Le

Bayer GBRG pattern, 14-bit little-endian.

§

BayerGbrg14Be

Bayer GBRG pattern, 14-bit big-endian.

§

BayerGrbg14Le

Bayer GRBG pattern, 14-bit little-endian.

§

BayerGrbg14Be

Bayer GRBG pattern, 14-bit big-endian.

§

BayerBggr16Le

Bayer BGGR pattern, 16-bit little-endian.

§

BayerBggr16Be

Bayer BGGR pattern, 16-bit big-endian.

§

BayerRggb16Le

Bayer RGGB pattern, 16-bit little-endian.

§

BayerRggb16Be

Bayer RGGB pattern, 16-bit big-endian.

§

BayerGbrg16Le

Bayer GBRG pattern, 16-bit little-endian.

§

BayerGbrg16Be

Bayer GBRG pattern, 16-bit big-endian.

§

BayerGrbg16Le

Bayer GRBG pattern, 16-bit little-endian.

§

BayerGrbg16Be

Bayer GRBG pattern, 16-bit big-endian.

§

Other(SmolStr)

Available on crate features alloc or std only.

A slug this vocabulary does not enumerate — carried verbatim, ASCII-folded to lowercase by the parse gate. The crate-wide extension idiom: a downstream backend naming a value mediaframe has never heard of keeps that name, and it round-trips through as_str / FromStr / serde intact.

Requires the alloc feature (std includes it) — the payload is heap-capable. At the no-alloc tier the vocabulary is closed and an unrecognised slug is rejected instead.

Implementations§

Source§

impl PixelFormat

Source

pub const fn is_none(&self) -> bool

Returns true if this value is of type None. Returns false otherwise

Source

pub const fn is_yuv_420_p(&self) -> bool

Returns true if this value is of type Yuv420p. Returns false otherwise

Source

pub const fn is_yuv_422_p(&self) -> bool

Returns true if this value is of type Yuv422p. Returns false otherwise

Source

pub const fn is_yuv_440_p(&self) -> bool

Returns true if this value is of type Yuv440p. Returns false otherwise

Source

pub const fn is_yuv_444_p(&self) -> bool

Returns true if this value is of type Yuv444p. Returns false otherwise

Source

pub const fn is_yuv_411_p(&self) -> bool

Returns true if this value is of type Yuv411p. Returns false otherwise

Source

pub const fn is_yuv_410_p(&self) -> bool

Returns true if this value is of type Yuv410p. Returns false otherwise

Source

pub const fn is_yuvj_411_p(&self) -> bool

Returns true if this value is of type Yuvj411p. Returns false otherwise

Source

pub const fn is_yuvj_420_p(&self) -> bool

Returns true if this value is of type Yuvj420p. Returns false otherwise

Source

pub const fn is_yuvj_422_p(&self) -> bool

Returns true if this value is of type Yuvj422p. Returns false otherwise

Source

pub const fn is_yuvj_440_p(&self) -> bool

Returns true if this value is of type Yuvj440p. Returns false otherwise

Source

pub const fn is_yuvj_444_p(&self) -> bool

Returns true if this value is of type Yuvj444p. Returns false otherwise

Source

pub const fn is_yuv_420_p_9_le(&self) -> bool

Returns true if this value is of type Yuv420p9Le. Returns false otherwise

Source

pub const fn is_yuv_420_p_9_be(&self) -> bool

Returns true if this value is of type Yuv420p9Be. Returns false otherwise

Source

pub const fn is_yuv_420_p_10_le(&self) -> bool

Returns true if this value is of type Yuv420p10Le. Returns false otherwise

Source

pub const fn is_yuv_420_p_10_be(&self) -> bool

Returns true if this value is of type Yuv420p10Be. Returns false otherwise

Source

pub const fn is_yuv_420_p_12_le(&self) -> bool

Returns true if this value is of type Yuv420p12Le. Returns false otherwise

Source

pub const fn is_yuv_420_p_12_be(&self) -> bool

Returns true if this value is of type Yuv420p12Be. Returns false otherwise

Source

pub const fn is_yuv_420_p_14_le(&self) -> bool

Returns true if this value is of type Yuv420p14Le. Returns false otherwise

Source

pub const fn is_yuv_420_p_14_be(&self) -> bool

Returns true if this value is of type Yuv420p14Be. Returns false otherwise

Source

pub const fn is_yuv_420_p_16_le(&self) -> bool

Returns true if this value is of type Yuv420p16Le. Returns false otherwise

Source

pub const fn is_yuv_420_p_16_be(&self) -> bool

Returns true if this value is of type Yuv420p16Be. Returns false otherwise

Source

pub const fn is_yuv_422_p_9_le(&self) -> bool

Returns true if this value is of type Yuv422p9Le. Returns false otherwise

Source

pub const fn is_yuv_422_p_9_be(&self) -> bool

Returns true if this value is of type Yuv422p9Be. Returns false otherwise

Source

pub const fn is_yuv_422_p_10_le(&self) -> bool

Returns true if this value is of type Yuv422p10Le. Returns false otherwise

Source

pub const fn is_yuv_422_p_10_be(&self) -> bool

Returns true if this value is of type Yuv422p10Be. Returns false otherwise

Source

pub const fn is_yuv_422_p_12_le(&self) -> bool

Returns true if this value is of type Yuv422p12Le. Returns false otherwise

Source

pub const fn is_yuv_422_p_12_be(&self) -> bool

Returns true if this value is of type Yuv422p12Be. Returns false otherwise

Source

pub const fn is_yuv_422_p_14_le(&self) -> bool

Returns true if this value is of type Yuv422p14Le. Returns false otherwise

Source

pub const fn is_yuv_422_p_14_be(&self) -> bool

Returns true if this value is of type Yuv422p14Be. Returns false otherwise

Source

pub const fn is_yuv_422_p_16_le(&self) -> bool

Returns true if this value is of type Yuv422p16Le. Returns false otherwise

Source

pub const fn is_yuv_422_p_16_be(&self) -> bool

Returns true if this value is of type Yuv422p16Be. Returns false otherwise

Source

pub const fn is_yuv_440_p_10_le(&self) -> bool

Returns true if this value is of type Yuv440p10Le. Returns false otherwise

Source

pub const fn is_yuv_440_p_10_be(&self) -> bool

Returns true if this value is of type Yuv440p10Be. Returns false otherwise

Source

pub const fn is_yuv_440_p_12_le(&self) -> bool

Returns true if this value is of type Yuv440p12Le. Returns false otherwise

Source

pub const fn is_yuv_440_p_12_be(&self) -> bool

Returns true if this value is of type Yuv440p12Be. Returns false otherwise

Source

pub const fn is_yuv_444_p_9_le(&self) -> bool

Returns true if this value is of type Yuv444p9Le. Returns false otherwise

Source

pub const fn is_yuv_444_p_9_be(&self) -> bool

Returns true if this value is of type Yuv444p9Be. Returns false otherwise

Source

pub const fn is_yuv_444_p_10_le(&self) -> bool

Returns true if this value is of type Yuv444p10Le. Returns false otherwise

Source

pub const fn is_yuv_444_p_10_be(&self) -> bool

Returns true if this value is of type Yuv444p10Be. Returns false otherwise

Source

pub const fn is_yuv_444_p_12_le(&self) -> bool

Returns true if this value is of type Yuv444p12Le. Returns false otherwise

Source

pub const fn is_yuv_444_p_12_be(&self) -> bool

Returns true if this value is of type Yuv444p12Be. Returns false otherwise

Source

pub const fn is_yuv_444_p_14_le(&self) -> bool

Returns true if this value is of type Yuv444p14Le. Returns false otherwise

Source

pub const fn is_yuv_444_p_14_be(&self) -> bool

Returns true if this value is of type Yuv444p14Be. Returns false otherwise

Source

pub const fn is_yuv_444_p_16_le(&self) -> bool

Returns true if this value is of type Yuv444p16Le. Returns false otherwise

Source

pub const fn is_yuv_444_p_16_be(&self) -> bool

Returns true if this value is of type Yuv444p16Be. Returns false otherwise

Source

pub const fn is_yuv_444_p_10_msb_le(&self) -> bool

Returns true if this value is of type Yuv444p10MsbLe. Returns false otherwise

Source

pub const fn is_yuv_444_p_10_msb_be(&self) -> bool

Returns true if this value is of type Yuv444p10MsbBe. Returns false otherwise

Source

pub const fn is_yuv_444_p_12_msb_le(&self) -> bool

Returns true if this value is of type Yuv444p12MsbLe. Returns false otherwise

Source

pub const fn is_yuv_444_p_12_msb_be(&self) -> bool

Returns true if this value is of type Yuv444p12MsbBe. Returns false otherwise

Source

pub const fn is_yuva_420_p(&self) -> bool

Returns true if this value is of type Yuva420p. Returns false otherwise

Source

pub const fn is_yuva_422_p(&self) -> bool

Returns true if this value is of type Yuva422p. Returns false otherwise

Source

pub const fn is_yuva_444_p(&self) -> bool

Returns true if this value is of type Yuva444p. Returns false otherwise

Source

pub const fn is_yuva_420_p_9_le(&self) -> bool

Returns true if this value is of type Yuva420p9Le. Returns false otherwise

Source

pub const fn is_yuva_420_p_9_be(&self) -> bool

Returns true if this value is of type Yuva420p9Be. Returns false otherwise

Source

pub const fn is_yuva_422_p_9_le(&self) -> bool

Returns true if this value is of type Yuva422p9Le. Returns false otherwise

Source

pub const fn is_yuva_422_p_9_be(&self) -> bool

Returns true if this value is of type Yuva422p9Be. Returns false otherwise

Source

pub const fn is_yuva_444_p_9_le(&self) -> bool

Returns true if this value is of type Yuva444p9Le. Returns false otherwise

Source

pub const fn is_yuva_444_p_9_be(&self) -> bool

Returns true if this value is of type Yuva444p9Be. Returns false otherwise

Source

pub const fn is_yuva_420_p_10_le(&self) -> bool

Returns true if this value is of type Yuva420p10Le. Returns false otherwise

Source

pub const fn is_yuva_420_p_10_be(&self) -> bool

Returns true if this value is of type Yuva420p10Be. Returns false otherwise

Source

pub const fn is_yuva_422_p_10_le(&self) -> bool

Returns true if this value is of type Yuva422p10Le. Returns false otherwise

Source

pub const fn is_yuva_422_p_10_be(&self) -> bool

Returns true if this value is of type Yuva422p10Be. Returns false otherwise

Source

pub const fn is_yuva_444_p_10_le(&self) -> bool

Returns true if this value is of type Yuva444p10Le. Returns false otherwise

Source

pub const fn is_yuva_444_p_10_be(&self) -> bool

Returns true if this value is of type Yuva444p10Be. Returns false otherwise

Source

pub const fn is_yuva_420_p_12_le(&self) -> bool

Returns true if this value is of type Yuva420p12Le. Returns false otherwise

Source

pub const fn is_yuva_420_p_12_be(&self) -> bool

Returns true if this value is of type Yuva420p12Be. Returns false otherwise

Source

pub const fn is_yuva_422_p_12_le(&self) -> bool

Returns true if this value is of type Yuva422p12Le. Returns false otherwise

Source

pub const fn is_yuva_422_p_12_be(&self) -> bool

Returns true if this value is of type Yuva422p12Be. Returns false otherwise

Source

pub const fn is_yuva_444_p_12_le(&self) -> bool

Returns true if this value is of type Yuva444p12Le. Returns false otherwise

Source

pub const fn is_yuva_444_p_12_be(&self) -> bool

Returns true if this value is of type Yuva444p12Be. Returns false otherwise

Source

pub const fn is_yuva_444_p_14_le(&self) -> bool

Returns true if this value is of type Yuva444p14Le. Returns false otherwise

Source

pub const fn is_yuva_420_p_16_le(&self) -> bool

Returns true if this value is of type Yuva420p16Le. Returns false otherwise

Source

pub const fn is_yuva_420_p_16_be(&self) -> bool

Returns true if this value is of type Yuva420p16Be. Returns false otherwise

Source

pub const fn is_yuva_422_p_16_le(&self) -> bool

Returns true if this value is of type Yuva422p16Le. Returns false otherwise

Source

pub const fn is_yuva_422_p_16_be(&self) -> bool

Returns true if this value is of type Yuva422p16Be. Returns false otherwise

Source

pub const fn is_yuva_444_p_16_le(&self) -> bool

Returns true if this value is of type Yuva444p16Le. Returns false otherwise

Source

pub const fn is_yuva_444_p_16_be(&self) -> bool

Returns true if this value is of type Yuva444p16Be. Returns false otherwise

Source

pub const fn is_nv_12(&self) -> bool

Returns true if this value is of type Nv12. Returns false otherwise

Source

pub const fn is_nv_21(&self) -> bool

Returns true if this value is of type Nv21. Returns false otherwise

Source

pub const fn is_nv_16(&self) -> bool

Returns true if this value is of type Nv16. Returns false otherwise

Source

pub const fn is_nv_24(&self) -> bool

Returns true if this value is of type Nv24. Returns false otherwise

Source

pub const fn is_nv_42(&self) -> bool

Returns true if this value is of type Nv42. Returns false otherwise

Source

pub const fn is_nv_20_le(&self) -> bool

Returns true if this value is of type Nv20Le. Returns false otherwise

Source

pub const fn is_nv_20_be(&self) -> bool

Returns true if this value is of type Nv20Be. Returns false otherwise

Source

pub const fn is_p_010_le(&self) -> bool

Returns true if this value is of type P010Le. Returns false otherwise

Source

pub const fn is_p_010_be(&self) -> bool

Returns true if this value is of type P010Be. Returns false otherwise

Source

pub const fn is_p_012_le(&self) -> bool

Returns true if this value is of type P012Le. Returns false otherwise

Source

pub const fn is_p_012_be(&self) -> bool

Returns true if this value is of type P012Be. Returns false otherwise

Source

pub const fn is_p_016_le(&self) -> bool

Returns true if this value is of type P016Le. Returns false otherwise

Source

pub const fn is_p_016_be(&self) -> bool

Returns true if this value is of type P016Be. Returns false otherwise

Source

pub const fn is_p_210_le(&self) -> bool

Returns true if this value is of type P210Le. Returns false otherwise

Source

pub const fn is_p_210_be(&self) -> bool

Returns true if this value is of type P210Be. Returns false otherwise

Source

pub const fn is_p_212_le(&self) -> bool

Returns true if this value is of type P212Le. Returns false otherwise

Source

pub const fn is_p_212_be(&self) -> bool

Returns true if this value is of type P212Be. Returns false otherwise

Source

pub const fn is_p_216_le(&self) -> bool

Returns true if this value is of type P216Le. Returns false otherwise

Source

pub const fn is_p_216_be(&self) -> bool

Returns true if this value is of type P216Be. Returns false otherwise

Source

pub const fn is_p_410_le(&self) -> bool

Returns true if this value is of type P410Le. Returns false otherwise

Source

pub const fn is_p_410_be(&self) -> bool

Returns true if this value is of type P410Be. Returns false otherwise

Source

pub const fn is_p_412_le(&self) -> bool

Returns true if this value is of type P412Le. Returns false otherwise

Source

pub const fn is_p_412_be(&self) -> bool

Returns true if this value is of type P412Be. Returns false otherwise

Source

pub const fn is_p_416_le(&self) -> bool

Returns true if this value is of type P416Le. Returns false otherwise

Source

pub const fn is_p_416_be(&self) -> bool

Returns true if this value is of type P416Be. Returns false otherwise

Source

pub const fn is_yuyv_422(&self) -> bool

Returns true if this value is of type Yuyv422. Returns false otherwise

Source

pub const fn is_uyvy_422(&self) -> bool

Returns true if this value is of type Uyvy422. Returns false otherwise

Source

pub const fn is_yvyu_422(&self) -> bool

Returns true if this value is of type Yvyu422. Returns false otherwise

Source

pub const fn is_uyyvyy_411(&self) -> bool

Returns true if this value is of type Uyyvyy411. Returns false otherwise

Source

pub const fn is_y_210_le(&self) -> bool

Returns true if this value is of type Y210Le. Returns false otherwise

Source

pub const fn is_y_210_be(&self) -> bool

Returns true if this value is of type Y210Be. Returns false otherwise

Source

pub const fn is_y_212_le(&self) -> bool

Returns true if this value is of type Y212Le. Returns false otherwise

Source

pub const fn is_y_212_be(&self) -> bool

Returns true if this value is of type Y212Be. Returns false otherwise

Source

pub const fn is_y_216_le(&self) -> bool

Returns true if this value is of type Y216Le. Returns false otherwise

Source

pub const fn is_y_216_be(&self) -> bool

Returns true if this value is of type Y216Be. Returns false otherwise

Source

pub const fn is_v_210(&self) -> bool

Returns true if this value is of type V210. Returns false otherwise

Source

pub const fn is_v_410_le(&self) -> bool

Returns true if this value is of type V410Le. Returns false otherwise

Source

pub const fn is_v_410_be(&self) -> bool

Returns true if this value is of type V410Be. Returns false otherwise

Source

pub const fn is_xv_30_le(&self) -> bool

Returns true if this value is of type Xv30Le. Returns false otherwise

Source

pub const fn is_xv_30_be(&self) -> bool

Returns true if this value is of type Xv30Be. Returns false otherwise

Source

pub const fn is_v_30_x_le(&self) -> bool

Returns true if this value is of type V30xLe. Returns false otherwise

Source

pub const fn is_v_30_x_be(&self) -> bool

Returns true if this value is of type V30xBe. Returns false otherwise

Source

pub const fn is_xv_36_le(&self) -> bool

Returns true if this value is of type Xv36Le. Returns false otherwise

Source

pub const fn is_xv_36_be(&self) -> bool

Returns true if this value is of type Xv36Be. Returns false otherwise

Source

pub const fn is_xv_48_le(&self) -> bool

Returns true if this value is of type Xv48Le. Returns false otherwise

Source

pub const fn is_xv_48_be(&self) -> bool

Returns true if this value is of type Xv48Be. Returns false otherwise

Source

pub const fn is_vuya(&self) -> bool

Returns true if this value is of type Vuya. Returns false otherwise

Source

pub const fn is_vuyx(&self) -> bool

Returns true if this value is of type Vuyx. Returns false otherwise

Source

pub const fn is_ayuv(&self) -> bool

Returns true if this value is of type Ayuv. Returns false otherwise

Source

pub const fn is_ayuv_64_le(&self) -> bool

Returns true if this value is of type Ayuv64Le. Returns false otherwise

Source

pub const fn is_ayuv_64_be(&self) -> bool

Returns true if this value is of type Ayuv64Be. Returns false otherwise

Source

pub const fn is_uyva(&self) -> bool

Returns true if this value is of type Uyva. Returns false otherwise

Source

pub const fn is_vyu_444(&self) -> bool

Returns true if this value is of type Vyu444. Returns false otherwise

Source

pub const fn is_xyz_12_le(&self) -> bool

Returns true if this value is of type Xyz12Le. Returns false otherwise

Source

pub const fn is_xyz_12_be(&self) -> bool

Returns true if this value is of type Xyz12Be. Returns false otherwise

Source

pub const fn is_rgb_24(&self) -> bool

Returns true if this value is of type Rgb24. Returns false otherwise

Source

pub const fn is_bgr_24(&self) -> bool

Returns true if this value is of type Bgr24. Returns false otherwise

Source

pub const fn is_rgba(&self) -> bool

Returns true if this value is of type Rgba. Returns false otherwise

Source

pub const fn is_bgra(&self) -> bool

Returns true if this value is of type Bgra. Returns false otherwise

Source

pub const fn is_argb(&self) -> bool

Returns true if this value is of type Argb. Returns false otherwise

Source

pub const fn is_abgr(&self) -> bool

Returns true if this value is of type Abgr. Returns false otherwise

Source

pub const fn is_rgbx(&self) -> bool

Returns true if this value is of type Rgbx. Returns false otherwise

Source

pub const fn is_bgrx(&self) -> bool

Returns true if this value is of type Bgrx. Returns false otherwise

Source

pub const fn is_xrgb(&self) -> bool

Returns true if this value is of type Xrgb. Returns false otherwise

Source

pub const fn is_xbgr(&self) -> bool

Returns true if this value is of type Xbgr. Returns false otherwise

Source

pub const fn is_x_2_rgb_10_le(&self) -> bool

Returns true if this value is of type X2Rgb10Le. Returns false otherwise

Source

pub const fn is_x_2_rgb_10_be(&self) -> bool

Returns true if this value is of type X2Rgb10Be. Returns false otherwise

Source

pub const fn is_x_2_bgr_10_le(&self) -> bool

Returns true if this value is of type X2Bgr10Le. Returns false otherwise

Source

pub const fn is_x_2_bgr_10_be(&self) -> bool

Returns true if this value is of type X2Bgr10Be. Returns false otherwise

Source

pub const fn is_gbr_24_p(&self) -> bool

Returns true if this value is of type Gbr24p. Returns false otherwise

Source

pub const fn is_rgb_4(&self) -> bool

Returns true if this value is of type Rgb4. Returns false otherwise

Source

pub const fn is_rgb_4_byte(&self) -> bool

Returns true if this value is of type Rgb4Byte. Returns false otherwise

Source

pub const fn is_rgb_8(&self) -> bool

Returns true if this value is of type Rgb8. Returns false otherwise

Source

pub const fn is_bgr_4(&self) -> bool

Returns true if this value is of type Bgr4. Returns false otherwise

Source

pub const fn is_bgr_4_byte(&self) -> bool

Returns true if this value is of type Bgr4Byte. Returns false otherwise

Source

pub const fn is_bgr_8(&self) -> bool

Returns true if this value is of type Bgr8. Returns false otherwise

Source

pub const fn is_rgb_444_le(&self) -> bool

Returns true if this value is of type Rgb444Le. Returns false otherwise

Source

pub const fn is_rgb_444_be(&self) -> bool

Returns true if this value is of type Rgb444Be. Returns false otherwise

Source

pub const fn is_bgr_444_le(&self) -> bool

Returns true if this value is of type Bgr444Le. Returns false otherwise

Source

pub const fn is_bgr_444_be(&self) -> bool

Returns true if this value is of type Bgr444Be. Returns false otherwise

Source

pub const fn is_rgb_555_le(&self) -> bool

Returns true if this value is of type Rgb555Le. Returns false otherwise

Source

pub const fn is_rgb_555_be(&self) -> bool

Returns true if this value is of type Rgb555Be. Returns false otherwise

Source

pub const fn is_bgr_555_le(&self) -> bool

Returns true if this value is of type Bgr555Le. Returns false otherwise

Source

pub const fn is_bgr_555_be(&self) -> bool

Returns true if this value is of type Bgr555Be. Returns false otherwise

Source

pub const fn is_rgb_565_le(&self) -> bool

Returns true if this value is of type Rgb565Le. Returns false otherwise

Source

pub const fn is_rgb_565_be(&self) -> bool

Returns true if this value is of type Rgb565Be. Returns false otherwise

Source

pub const fn is_bgr_565_le(&self) -> bool

Returns true if this value is of type Bgr565Le. Returns false otherwise

Source

pub const fn is_bgr_565_be(&self) -> bool

Returns true if this value is of type Bgr565Be. Returns false otherwise

Source

pub const fn is_rgb_48_le(&self) -> bool

Returns true if this value is of type Rgb48Le. Returns false otherwise

Source

pub const fn is_rgb_48_be(&self) -> bool

Returns true if this value is of type Rgb48Be. Returns false otherwise

Source

pub const fn is_bgr_48_le(&self) -> bool

Returns true if this value is of type Bgr48Le. Returns false otherwise

Source

pub const fn is_bgr_48_be(&self) -> bool

Returns true if this value is of type Bgr48Be. Returns false otherwise

Source

pub const fn is_rgba_64_le(&self) -> bool

Returns true if this value is of type Rgba64Le. Returns false otherwise

Source

pub const fn is_rgba_64_be(&self) -> bool

Returns true if this value is of type Rgba64Be. Returns false otherwise

Source

pub const fn is_bgra_64_le(&self) -> bool

Returns true if this value is of type Bgra64Le. Returns false otherwise

Source

pub const fn is_bgra_64_be(&self) -> bool

Returns true if this value is of type Bgra64Be. Returns false otherwise

Source

pub const fn is_rgb_96_le(&self) -> bool

Returns true if this value is of type Rgb96Le. Returns false otherwise

Source

pub const fn is_rgb_96_be(&self) -> bool

Returns true if this value is of type Rgb96Be. Returns false otherwise

Source

pub const fn is_rgba_128_le(&self) -> bool

Returns true if this value is of type Rgba128Le. Returns false otherwise

Source

pub const fn is_rgba_128_be(&self) -> bool

Returns true if this value is of type Rgba128Be. Returns false otherwise

Source

pub const fn is_rgbf_16_le(&self) -> bool

Returns true if this value is of type Rgbf16Le. Returns false otherwise

Source

pub const fn is_rgbf_16_be(&self) -> bool

Returns true if this value is of type Rgbf16Be. Returns false otherwise

Source

pub const fn is_rgbf_32_le(&self) -> bool

Returns true if this value is of type Rgbf32Le. Returns false otherwise

Source

pub const fn is_rgbf_32_be(&self) -> bool

Returns true if this value is of type Rgbf32Be. Returns false otherwise

Source

pub const fn is_rgbaf_16_le(&self) -> bool

Returns true if this value is of type Rgbaf16Le. Returns false otherwise

Source

pub const fn is_rgbaf_16_be(&self) -> bool

Returns true if this value is of type Rgbaf16Be. Returns false otherwise

Source

pub const fn is_rgbaf_32_le(&self) -> bool

Returns true if this value is of type Rgbaf32Le. Returns false otherwise

Source

pub const fn is_rgbaf_32_be(&self) -> bool

Returns true if this value is of type Rgbaf32Be. Returns false otherwise

Source

pub const fn is_gbrp(&self) -> bool

Returns true if this value is of type Gbrp. Returns false otherwise

Source

pub const fn is_gbrp_9_le(&self) -> bool

Returns true if this value is of type Gbrp9Le. Returns false otherwise

Source

pub const fn is_gbrp_9_be(&self) -> bool

Returns true if this value is of type Gbrp9Be. Returns false otherwise

Source

pub const fn is_gbrp_10_le(&self) -> bool

Returns true if this value is of type Gbrp10Le. Returns false otherwise

Source

pub const fn is_gbrp_10_be(&self) -> bool

Returns true if this value is of type Gbrp10Be. Returns false otherwise

Source

pub const fn is_gbrp_10_msb_le(&self) -> bool

Returns true if this value is of type Gbrp10MsbLe. Returns false otherwise

Source

pub const fn is_gbrp_10_msb_be(&self) -> bool

Returns true if this value is of type Gbrp10MsbBe. Returns false otherwise

Source

pub const fn is_gbrp_12_le(&self) -> bool

Returns true if this value is of type Gbrp12Le. Returns false otherwise

Source

pub const fn is_gbrp_12_be(&self) -> bool

Returns true if this value is of type Gbrp12Be. Returns false otherwise

Source

pub const fn is_gbrp_12_msb_le(&self) -> bool

Returns true if this value is of type Gbrp12MsbLe. Returns false otherwise

Source

pub const fn is_gbrp_12_msb_be(&self) -> bool

Returns true if this value is of type Gbrp12MsbBe. Returns false otherwise

Source

pub const fn is_gbrp_14_le(&self) -> bool

Returns true if this value is of type Gbrp14Le. Returns false otherwise

Source

pub const fn is_gbrp_14_be(&self) -> bool

Returns true if this value is of type Gbrp14Be. Returns false otherwise

Source

pub const fn is_gbrp_16_le(&self) -> bool

Returns true if this value is of type Gbrp16Le. Returns false otherwise

Source

pub const fn is_gbrp_16_be(&self) -> bool

Returns true if this value is of type Gbrp16Be. Returns false otherwise

Source

pub const fn is_gbrpf_16_le(&self) -> bool

Returns true if this value is of type Gbrpf16Le. Returns false otherwise

Source

pub const fn is_gbrpf_16_be(&self) -> bool

Returns true if this value is of type Gbrpf16Be. Returns false otherwise

Source

pub const fn is_gbrpf_32_le(&self) -> bool

Returns true if this value is of type Gbrpf32Le. Returns false otherwise

Source

pub const fn is_gbrpf_32_be(&self) -> bool

Returns true if this value is of type Gbrpf32Be. Returns false otherwise

Source

pub const fn is_gbrap(&self) -> bool

Returns true if this value is of type Gbrap. Returns false otherwise

Source

pub const fn is_gbrap_10_le(&self) -> bool

Returns true if this value is of type Gbrap10Le. Returns false otherwise

Source

pub const fn is_gbrap_10_be(&self) -> bool

Returns true if this value is of type Gbrap10Be. Returns false otherwise

Source

pub const fn is_gbrap_12_le(&self) -> bool

Returns true if this value is of type Gbrap12Le. Returns false otherwise

Source

pub const fn is_gbrap_12_be(&self) -> bool

Returns true if this value is of type Gbrap12Be. Returns false otherwise

Source

pub const fn is_gbrap_14_le(&self) -> bool

Returns true if this value is of type Gbrap14Le. Returns false otherwise

Source

pub const fn is_gbrap_14_be(&self) -> bool

Returns true if this value is of type Gbrap14Be. Returns false otherwise

Source

pub const fn is_gbrap_16_le(&self) -> bool

Returns true if this value is of type Gbrap16Le. Returns false otherwise

Source

pub const fn is_gbrap_16_be(&self) -> bool

Returns true if this value is of type Gbrap16Be. Returns false otherwise

Source

pub const fn is_gbrap_32_le(&self) -> bool

Returns true if this value is of type Gbrap32Le. Returns false otherwise

Source

pub const fn is_gbrap_32_be(&self) -> bool

Returns true if this value is of type Gbrap32Be. Returns false otherwise

Source

pub const fn is_gbrapf_16_le(&self) -> bool

Returns true if this value is of type Gbrapf16Le. Returns false otherwise

Source

pub const fn is_gbrapf_16_be(&self) -> bool

Returns true if this value is of type Gbrapf16Be. Returns false otherwise

Source

pub const fn is_gbrapf_32_le(&self) -> bool

Returns true if this value is of type Gbrapf32Le. Returns false otherwise

Source

pub const fn is_gbrapf_32_be(&self) -> bool

Returns true if this value is of type Gbrapf32Be. Returns false otherwise

Source

pub const fn is_gray_8(&self) -> bool

Returns true if this value is of type Gray8. Returns false otherwise

Source

pub const fn is_gray_8_a(&self) -> bool

Returns true if this value is of type Gray8a. Returns false otherwise

Source

pub const fn is_gray_9_le(&self) -> bool

Returns true if this value is of type Gray9Le. Returns false otherwise

Source

pub const fn is_gray_9_be(&self) -> bool

Returns true if this value is of type Gray9Be. Returns false otherwise

Source

pub const fn is_gray_10_le(&self) -> bool

Returns true if this value is of type Gray10Le. Returns false otherwise

Source

pub const fn is_gray_10_be(&self) -> bool

Returns true if this value is of type Gray10Be. Returns false otherwise

Source

pub const fn is_gray_12_le(&self) -> bool

Returns true if this value is of type Gray12Le. Returns false otherwise

Source

pub const fn is_gray_12_be(&self) -> bool

Returns true if this value is of type Gray12Be. Returns false otherwise

Source

pub const fn is_gray_14_le(&self) -> bool

Returns true if this value is of type Gray14Le. Returns false otherwise

Source

pub const fn is_gray_14_be(&self) -> bool

Returns true if this value is of type Gray14Be. Returns false otherwise

Source

pub const fn is_gray_16_le(&self) -> bool

Returns true if this value is of type Gray16Le. Returns false otherwise

Source

pub const fn is_gray_16_be(&self) -> bool

Returns true if this value is of type Gray16Be. Returns false otherwise

Source

pub const fn is_gray_32_le(&self) -> bool

Returns true if this value is of type Gray32Le. Returns false otherwise

Source

pub const fn is_gray_32_be(&self) -> bool

Returns true if this value is of type Gray32Be. Returns false otherwise

Source

pub const fn is_grayf_32_le(&self) -> bool

Returns true if this value is of type Grayf32Le. Returns false otherwise

Source

pub const fn is_grayf_32_be(&self) -> bool

Returns true if this value is of type Grayf32Be. Returns false otherwise

Source

pub const fn is_grayf_16_le(&self) -> bool

Returns true if this value is of type Grayf16Le. Returns false otherwise

Source

pub const fn is_grayf_16_be(&self) -> bool

Returns true if this value is of type Grayf16Be. Returns false otherwise

Source

pub const fn is_ya_8(&self) -> bool

Returns true if this value is of type Ya8. Returns false otherwise

Source

pub const fn is_y_400_a(&self) -> bool

Returns true if this value is of type Y400a. Returns false otherwise

Source

pub const fn is_ya_16_le(&self) -> bool

Returns true if this value is of type Ya16Le. Returns false otherwise

Source

pub const fn is_ya_16_be(&self) -> bool

Returns true if this value is of type Ya16Be. Returns false otherwise

Source

pub const fn is_yaf_16_le(&self) -> bool

Returns true if this value is of type Yaf16Le. Returns false otherwise

Source

pub const fn is_yaf_16_be(&self) -> bool

Returns true if this value is of type Yaf16Be. Returns false otherwise

Source

pub const fn is_yaf_32_le(&self) -> bool

Returns true if this value is of type Yaf32Le. Returns false otherwise

Source

pub const fn is_yaf_32_be(&self) -> bool

Returns true if this value is of type Yaf32Be. Returns false otherwise

Source

pub const fn is_monowhite(&self) -> bool

Returns true if this value is of type Monowhite. Returns false otherwise

Source

pub const fn is_monoblack(&self) -> bool

Returns true if this value is of type Monoblack. Returns false otherwise

Source

pub const fn is_pal_8(&self) -> bool

Returns true if this value is of type Pal8. Returns false otherwise

Source

pub const fn is_bayer_bggr_8(&self) -> bool

Returns true if this value is of type BayerBggr8. Returns false otherwise

Source

pub const fn is_bayer_rggb_8(&self) -> bool

Returns true if this value is of type BayerRggb8. Returns false otherwise

Source

pub const fn is_bayer_gbrg_8(&self) -> bool

Returns true if this value is of type BayerGbrg8. Returns false otherwise

Source

pub const fn is_bayer_grbg_8(&self) -> bool

Returns true if this value is of type BayerGrbg8. Returns false otherwise

Source

pub const fn is_bayer_bggr_10_le(&self) -> bool

Returns true if this value is of type BayerBggr10Le. Returns false otherwise

Source

pub const fn is_bayer_bggr_10_be(&self) -> bool

Returns true if this value is of type BayerBggr10Be. Returns false otherwise

Source

pub const fn is_bayer_rggb_10_le(&self) -> bool

Returns true if this value is of type BayerRggb10Le. Returns false otherwise

Source

pub const fn is_bayer_rggb_10_be(&self) -> bool

Returns true if this value is of type BayerRggb10Be. Returns false otherwise

Source

pub const fn is_bayer_gbrg_10_le(&self) -> bool

Returns true if this value is of type BayerGbrg10Le. Returns false otherwise

Source

pub const fn is_bayer_gbrg_10_be(&self) -> bool

Returns true if this value is of type BayerGbrg10Be. Returns false otherwise

Source

pub const fn is_bayer_grbg_10_le(&self) -> bool

Returns true if this value is of type BayerGrbg10Le. Returns false otherwise

Source

pub const fn is_bayer_grbg_10_be(&self) -> bool

Returns true if this value is of type BayerGrbg10Be. Returns false otherwise

Source

pub const fn is_bayer_bggr_12_le(&self) -> bool

Returns true if this value is of type BayerBggr12Le. Returns false otherwise

Source

pub const fn is_bayer_bggr_12_be(&self) -> bool

Returns true if this value is of type BayerBggr12Be. Returns false otherwise

Source

pub const fn is_bayer_rggb_12_le(&self) -> bool

Returns true if this value is of type BayerRggb12Le. Returns false otherwise

Source

pub const fn is_bayer_rggb_12_be(&self) -> bool

Returns true if this value is of type BayerRggb12Be. Returns false otherwise

Source

pub const fn is_bayer_gbrg_12_le(&self) -> bool

Returns true if this value is of type BayerGbrg12Le. Returns false otherwise

Source

pub const fn is_bayer_gbrg_12_be(&self) -> bool

Returns true if this value is of type BayerGbrg12Be. Returns false otherwise

Source

pub const fn is_bayer_grbg_12_le(&self) -> bool

Returns true if this value is of type BayerGrbg12Le. Returns false otherwise

Source

pub const fn is_bayer_grbg_12_be(&self) -> bool

Returns true if this value is of type BayerGrbg12Be. Returns false otherwise

Source

pub const fn is_bayer_bggr_14_le(&self) -> bool

Returns true if this value is of type BayerBggr14Le. Returns false otherwise

Source

pub const fn is_bayer_bggr_14_be(&self) -> bool

Returns true if this value is of type BayerBggr14Be. Returns false otherwise

Source

pub const fn is_bayer_rggb_14_le(&self) -> bool

Returns true if this value is of type BayerRggb14Le. Returns false otherwise

Source

pub const fn is_bayer_rggb_14_be(&self) -> bool

Returns true if this value is of type BayerRggb14Be. Returns false otherwise

Source

pub const fn is_bayer_gbrg_14_le(&self) -> bool

Returns true if this value is of type BayerGbrg14Le. Returns false otherwise

Source

pub const fn is_bayer_gbrg_14_be(&self) -> bool

Returns true if this value is of type BayerGbrg14Be. Returns false otherwise

Source

pub const fn is_bayer_grbg_14_le(&self) -> bool

Returns true if this value is of type BayerGrbg14Le. Returns false otherwise

Source

pub const fn is_bayer_grbg_14_be(&self) -> bool

Returns true if this value is of type BayerGrbg14Be. Returns false otherwise

Source

pub const fn is_bayer_bggr_16_le(&self) -> bool

Returns true if this value is of type BayerBggr16Le. Returns false otherwise

Source

pub const fn is_bayer_bggr_16_be(&self) -> bool

Returns true if this value is of type BayerBggr16Be. Returns false otherwise

Source

pub const fn is_bayer_rggb_16_le(&self) -> bool

Returns true if this value is of type BayerRggb16Le. Returns false otherwise

Source

pub const fn is_bayer_rggb_16_be(&self) -> bool

Returns true if this value is of type BayerRggb16Be. Returns false otherwise

Source

pub const fn is_bayer_gbrg_16_le(&self) -> bool

Returns true if this value is of type BayerGbrg16Le. Returns false otherwise

Source

pub const fn is_bayer_gbrg_16_be(&self) -> bool

Returns true if this value is of type BayerGbrg16Be. Returns false otherwise

Source

pub const fn is_bayer_grbg_16_le(&self) -> bool

Returns true if this value is of type BayerGrbg16Le. Returns false otherwise

Source

pub const fn is_bayer_grbg_16_be(&self) -> bool

Returns true if this value is of type BayerGrbg16Be. Returns false otherwise

Source

pub const fn is_other(&self) -> bool

Returns true if this value is of type Other. Returns false otherwise

Source§

impl PixelFormat

Source

pub const fn to_u32(&self) -> Option<u32>

Stable wire representation. Known variants return their assigned id.

None for Self::Other: it names a format this build does not enumerate, and there is no id to invent for it.

Source

pub const fn from_u32(value: u32) -> Option<Self>

Decodes from the stable u32 representation produced by Self::to_u32. None for an id this build names nothing for.

Source

pub fn is_bayer(&self) -> bool

Returns true for Bayer-mosaic formats (any pattern, any bit depth). Bayer frames carry undebayered sensor data; downstream consumers (e.g. colconv::raw) demosaic + white-balance + colour- correct to produce RGB.

Source

pub fn canonical(self) -> (PixelFormat, Option<DynamicRange>)

Resolves a deprecated / aliased pixel format to its canonical decode format plus the DynamicRange the alias pins, if any.

mediaframe keeps FFmpeg’s deprecated alias formats as distinct variants so the wire round-trip (from_u32 / to_u32 / as_str) stays lossless. Decoders and converters, however, want a single representative format per pixel layout. canonical() is the format authority’s mapping from an alias to the non-deprecated format describing the same bytes, so downstream crates (e.g. colconv) consume one table here instead of each re-deriving the alias set.

The second element is Some(_) only when the alias carries range information the bare format does not — the yuvj* aliases, which decode as their yuv*p base with the range pinned to DynamicRange::Full. For every other format the dynamic range is stream-driven (carried in color::Info, not implied by the format identity), so the second element is None.

§Mappings
  • Yuvj{411,420,422,440,444}p → the matching Yuv*p + Some(DynamicRange::Full) — FFmpeg’s deprecated full-range (“JPEG”) YUV aliases decode as the base planar format with the range pinned full.
  • Gray8a / Y400aYa8 — both are FFmpeg aliases (AV_PIX_FMT_GRAY8A / AV_PIX_FMT_Y400A) of the same 8-bit grey-plus-alpha layout.
  • Xv30LeV410Le and Xv30BeV410BeXV30 is the modern FFmpeg name for the identical-bit-pattern V410 4:4:4 10-bit packed layout (the AV_PIX_FMT_V410 symbol was renamed to XV30). Both endians resolve onto their matching V410 variant, preserving byte order: the V410Frame<'a, BE> borrow view and the v410_to::<BE> walker decode either endian.
  • Every other variant — including Other — is already canonical and maps to (self, None).

The match is intentionally exhaustive without a wildcard: #[non_exhaustive] does not force a catch-all arm inside the defining crate, so every future variant must be classified here explicitly. The compiler then flags any newly added format that is not yet routed, ensuring a new alias can never silently fall through to the “already canonical” arm.

Source

pub fn other(slug: impl AsRef<str>) -> Self

Available on crate features alloc or std only.

The open escape for a slug this vocabulary does not name, ASCII-folded to the crate’s lowercase canon.

The one construction path for Self::Other: folding here is what keeps the whole value space lowercase-canonical, so the derived Eq / Hash compare names rather than spellings. Constructing the variant directly bypasses the fold and is not the supported spelling.

Source§

impl PixelFormat

Source

pub fn as_str(&self) -> &str

Lowercase FFmpeg-style identifier for this variant — the FFmpeg AV_PIX_FMT_* lowercase slug where one exists, or the same lowercase convention applied to mediaframe-extension formats that have no FFmpeg pixel format (e.g. the sub-16-bit Bayer variants). Matches the enum’s Display output exactly — single source of truth.

Source§

impl PixelFormat

Source

pub const ROSTER: &'static [Self]

Every pixel format this vocabulary names, in declaration order.

A slice rather than an array: how many names this build carries is a fact about the release, not part of the type, so a later addition stays a minor change.

The open escape arm is not a member. The roster answers “which names does this build know”, and the escape is precisely the arm that carries a name it does not — listing it would need a slug to put in it, and there isn’t one.

Trait Implementations§

Source§

impl Arbitrary for PixelFormat

Available on crate feature quickcheck only.
Source§

fn arbitrary(__quickcheck_g: &mut Gen) -> Self

Return an arbitrary value. Read more
Source§

fn shrink(&self) -> Box<dyn Iterator<Item = Self>>

Return an iterator of values that are smaller than itself. Read more
Source§

impl<'a> Arbitrary<'a> for PixelFormat

Available on crate feature arbitrary only.
Source§

fn arbitrary(u: &mut Unstructured<'a>) -> Result<Self>

Generate an arbitrary value of Self from the given unstructured data. Read more
Source§

fn arbitrary_take_rest(u: Unstructured<'a>) -> Result<Self, Error>

Generate an arbitrary value of Self from the entirety of the given unstructured data. Read more
Source§

fn size_hint(depth: usize) -> (usize, Option<usize>)

Get a size hint for how many bytes out of an Unstructured this type needs to construct itself. Read more
Source§

fn try_size_hint( depth: usize, ) -> Result<(usize, Option<usize>), MaxRecursionReached>

Get a size hint for how many bytes out of an Unstructured this type needs to construct itself. Read more
Source§

impl Clone for PixelFormat

Source§

fn clone(&self) -> PixelFormat

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for PixelFormat

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for PixelFormat

Source§

fn default() -> Self

Self::None — FFmpeg’s AV_PIX_FMT_NONE, “no format yet”.

Source§

impl DefaultInstance for PixelFormat

Available on crate feature buffa only.
Source§

fn default_instance() -> &'static Self

Return a reference to the single default instance of this type.
Source§

impl<'de> Deserialize<'de> for PixelFormat

Available on crate feature serde only.
Source§

fn deserialize<D: Deserializer<'de>>(de: D) -> Result<Self, D::Error>

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Display for PixelFormat

Source§

fn fmt(&self, __derive_more_f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Eq for PixelFormat

Source§

impl FromStr for PixelFormat

Source§

type Err = Infallible

Infallible wherever the escape arm exists, which is exactly where the parse is total; the vocabulary’s own refusal at the no-alloc tier, where it is closed. The predicate is the one that gates Self::Other, so the two cannot drift.

Source§

fn from_str(s: &str) -> Result<Self, Self::Err>

Reads a pixel-format name: the canonical slug Self::as_str renders, or the FFmpeg spelling of the same format where the two differ.

Emission is injective and canonical — Self::as_str, Display and serde render one slug per variant and never a synonym — so parse(display(x)) == x holds for every named variant and display(parse(s)) is idempotent. Parse is the wider side: it also takes the three names FFmpeg’s av_get_pix_fmt_name renders differently from the AV_PIX_FMT_<NAME> header identifier this vocabulary is spelled after — gray (Self::Gray8), monob (Self::Monoblack) and monow (Self::Monowhite) — so a name copied off ffprobe lands on the named variant instead of the escape.

§Errors

Returns ParsePixelFormatError only at the no-alloc tier, where the vocabulary is closed. At the alloc / std tier this parse is total — a slug this type does not name rides Self::Other, ASCII-folded to lowercase by Self::other — and Self::Err is Infallible there, so the totality is checkable by the compiler rather than only promised here.

Source§

impl Hash for PixelFormat

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl Message for PixelFormat

Available on crate feature buffa only.
Source§

fn compute_size(&self, _cache: &mut SizeCache) -> u32

Compute the encoded byte size of this message, recording nested sub-message sizes in cache for write_to to consume. Read more
Source§

fn write_to(&self, _cache: &mut SizeCache, buf: &mut impl EncodeSink)

Write this message’s encoded bytes to a buffer, consuming nested-message sizes from cache (populated by a prior compute_size call on the same cache). Read more
Source§

fn merge_field( &mut self, tag: Tag, buf: &mut impl Buf, ctx: DecodeContext<'_>, ) -> Result<(), DecodeError>

Processes a single already-decoded tag and its associated field data from buf. Read more
Source§

fn clear(&mut self)

Clear all fields to their default values.
Source§

fn encode(&self, buf: &mut impl EncodeSink)

Compute size, then write. This is the primary encoding API. Read more
Source§

fn try_encode(&self, buf: &mut impl EncodeSink) -> Result<(), EncodeError>

Encode, returning an error instead of panicking if the encoded size exceeds the 2 GiB protobuf limit (MAX_MESSAGE_BYTES). Read more
Source§

fn encode_with_cache(&self, cache: &mut SizeCache, buf: &mut impl EncodeSink)

Encode using a caller-supplied SizeCache, for reuse across many encodes in a hot loop. Clears the cache first. Read more
Source§

fn try_encode_with_cache( &self, cache: &mut SizeCache, buf: &mut impl EncodeSink, ) -> Result<(), EncodeError>

Encode with a caller-supplied SizeCache, returning an error instead of panicking if the encoded size exceeds the 2 GiB protobuf limit (MAX_MESSAGE_BYTES). Clears the cache first. Read more
Source§

fn try_encode_bounded( &self, max_bytes: u32, buf: &mut impl EncodeSink, ) -> Result<u32, EncodeError>

Encode this message into buf only if its encoded size fits within max_bytes, using a single size pass that is then reused for the write. Read more
Source§

fn try_encode_bounded_with_cache( &self, max_bytes: u32, cache: &mut SizeCache, buf: &mut impl EncodeSink, ) -> Result<u32, EncodeError>

Like try_encode_bounded but reuses an existing SizeCache, clearing it first. Read more
Source§

fn encoded_len(&self) -> u32

Compute the encoded byte size of this message. Read more
Source§

fn try_encoded_len(&self) -> Result<u32, EncodeError>

Compute the encoded byte size, returning an error instead of panicking if it exceeds the 2 GiB protobuf limit (MAX_MESSAGE_BYTES). Read more
Source§

fn encode_length_delimited(&self, buf: &mut impl EncodeSink)

Encode this message as a length-delimited byte sequence. Read more
Source§

fn try_encode_length_delimited( &self, buf: &mut impl EncodeSink, ) -> Result<(), EncodeError>

Encode as a length-delimited byte sequence, returning an error instead of panicking if the encoded size exceeds the 2 GiB protobuf limit (MAX_MESSAGE_BYTES). Read more
Source§

fn encode_to_vec(&self) -> Vec<u8>

Encode this message to a new Vec<u8>. Read more
Source§

fn try_encode_to_vec(&self) -> Result<Vec<u8>, EncodeError>

Encode to a new Vec<u8>, returning an error instead of panicking if the encoded size exceeds the 2 GiB protobuf limit (MAX_MESSAGE_BYTES). Read more
Source§

fn encode_to_bytes(&self) -> Bytes

Encode this message to a new bytes::Bytes. Read more
Source§

fn try_encode_to_bytes(&self) -> Result<Bytes, EncodeError>

Encode to a new bytes::Bytes, returning an error instead of panicking if the encoded size exceeds the 2 GiB protobuf limit (MAX_MESSAGE_BYTES). Read more
Source§

fn decode(buf: &mut impl Buf) -> Result<Self, DecodeError>
where Self: Sized,

Decode a message from a buffer.
Source§

fn decode_from_slice(data: &[u8]) -> Result<Self, DecodeError>
where Self: Sized,

Decode a message from a byte slice. Read more
Source§

fn decode_length_delimited(buf: &mut impl Buf) -> Result<Self, DecodeError>
where Self: Sized,

Decode a length-delimited message from a buffer. Read more
Source§

fn merge_to_limit( &mut self, buf: &mut impl Buf, ctx: DecodeContext<'_>, limit: usize, ) -> Result<(), DecodeError>

Merge fields from a buffer until buf.remaining() reaches limit. Read more
Source§

fn merge_group( &mut self, buf: &mut impl Buf, ctx: DecodeContext<'_>, field_number: u32, ) -> Result<(), DecodeError>

Merges a group-encoded message from buf, reading fields until an EndGroup tag with the given field_number is encountered. Read more
Source§

fn merge( &mut self, buf: &mut impl Buf, ctx: DecodeContext<'_>, ) -> Result<(), DecodeError>

Merge fields from a buffer into this message. Read more
Source§

fn merge_from_slice(&mut self, data: &[u8]) -> Result<(), DecodeError>

Merge fields from a byte slice into this message. Read more
Source§

fn merge_length_delimited( &mut self, buf: &mut impl Buf, ctx: DecodeContext<'_>, ) -> Result<(), DecodeError>

Merge fields from a length-delimited sub-message payload into this message. Read more
Source§

impl PartialEq for PixelFormat

Source§

fn eq(&self, other: &PixelFormat) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl Serialize for PixelFormat

Available on crate feature serde only.
Source§

fn serialize<S: Serializer>(&self, ser: S) -> Result<S::Ok, S::Error>

Serialize this value into the given Serde serializer. Read more
Source§

impl StructuralPartialEq for PixelFormat

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> ToSmolStr for T
where T: Display + ?Sized,

Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.