YUVAInfo.PlanarConfig

class PlanarConfig

Specifies how YUV (and optionally A) are divided among planes. Planes are separated by underscores in the enum value names. Within each plane the pixmap/texture channels are mapped to the YUVA channels in the order specified, e.g. for kY_UV Y is in channel 0 of plane 0, U is in channel 0 of plane 1, and V is in channel 1 of plane 1. Channel ordering within a pixmap/texture given the channels it contains:

A:               0:A
Luminance/Gray:  0:Gray
RG               0:R,    1:G
RGB              0:R,    1:G, 2:B
RGBA             0:R,    1:G, 2:B, 3:A

UV subsampling is also specified in the enum value names using J:a:b notation (e.g. 4:2:0 is 1/2 horizontal and 1/2 vertical resolution for U and V). A fourth number is added if alpha is present (always 4 as only full resolution alpha is supported).

Currently this only has three-plane formats but more will be added as usage and testing of this expands.

Members:

kY_U_V_444 : Plane 0: Y, Plane 1: U, Plane 2: V

kY_U_V_422 : Plane 0: Y, Plane 1: U, Plane 2: V

kY_U_V_420 : Plane 0: Y, Plane 1: U, Plane 2: V

kY_V_U_420 : Plane 0: Y, Plane 1: V, Plane 2: U

kY_U_V_440 : Plane 0: Y, Plane 1: U, Plane 2: V

kY_U_V_411 : Plane 0: Y, Plane 1: U, Plane 2: V

kY_U_V_410 : Plane 0: Y, Plane 1: U, Plane 2: V

kY_U_V_A_4204 : Plane 0: Y, Plane 1: U, Plane 2: V, Plane 3: A

kY_V_U_A_4204 : Plane 0: Y, Plane 1: V, Plane 2: U, Plane 3: A

kY_UV_420 : Plane 0: Y, Plane 1: UV

kY_VU_420 : Plane 0: Y, Plane 1: VU

kY_UV_A_4204 : Plane 0: Y, Plane 1: UV, Plane 2: A

kY_VU_A_4204 : Plane 0: Y, Plane 1: VU, Plane 2: A

kYUV_444 : Plane 0: YUV

kUYV_444 : Plane 0: UYV

kYUVA_4444 : Plane 0: YUVA

kUYVA_4444 : Plane 0: UYVA

Methods

__init__

__init__(self: skia.YUVAInfo.PlanarConfig, value: int) -> None

Attributes

kUYVA_4444

kUYV_444

kYUVA_4444

kYUV_444

kY_UV_420

kY_UV_A_4204

kY_U_V_410

kY_U_V_411

kY_U_V_420

kY_U_V_422

kY_U_V_440

kY_U_V_444

kY_U_V_A_4204

kY_VU_420

kY_VU_A_4204

kY_V_U_420

kY_V_U_A_4204

name

value

Methods

PlanarConfig.__init__(self: skia.YUVAInfo.PlanarConfig, value: int) None

__init__(self: skia.YUVAInfo.PlanarConfig, value: int) -> None

Attributes

PlanarConfig.kUYVA_4444 = <PlanarConfig.kUYVA_4444: 16>
PlanarConfig.kUYV_444 = <PlanarConfig.kUYV_444: 14>
PlanarConfig.kYUVA_4444 = <PlanarConfig.kYUVA_4444: 15>
PlanarConfig.kYUV_444 = <PlanarConfig.kYUV_444: 13>
PlanarConfig.kY_UV_420 = <PlanarConfig.kY_UV_420: 9>
PlanarConfig.kY_UV_A_4204 = <PlanarConfig.kY_UV_A_4204: 11>
PlanarConfig.kY_U_V_410 = <PlanarConfig.kY_U_V_410: 6>
PlanarConfig.kY_U_V_411 = <PlanarConfig.kY_U_V_411: 5>
PlanarConfig.kY_U_V_420 = <PlanarConfig.kY_U_V_420: 2>
PlanarConfig.kY_U_V_422 = <PlanarConfig.kY_U_V_422: 1>
PlanarConfig.kY_U_V_440 = <PlanarConfig.kY_U_V_440: 4>
PlanarConfig.kY_U_V_444 = <PlanarConfig.kY_U_V_444: 0>
PlanarConfig.kY_U_V_A_4204 = <PlanarConfig.kY_U_V_A_4204: 7>
PlanarConfig.kY_VU_420 = <PlanarConfig.kY_VU_420: 10>
PlanarConfig.kY_VU_A_4204 = <PlanarConfig.kY_VU_A_4204: 12>
PlanarConfig.kY_V_U_420 = <PlanarConfig.kY_V_U_420: 3>
PlanarConfig.kY_V_U_A_4204 = <PlanarConfig.kY_V_U_A_4204: 8>
PlanarConfig.name
PlanarConfig.value