typedef struct
{
L_UINT uStructSize;
L_INT nMask;
L_INT nUh;
L_INT nUv;
L_INT nVh;
L_INT nVv;
L_INT *pOffsets;
L_INT nMacroPixel;
L_INT nRange;
L_BOOL bPlanar;
} YUV_PARAMS, *LPYUV_PARAMS;
The YUV_PARAMS structure provides information about YUV conversion properties. It is used to describe some YUV format to be converted to another color conversion. For more information see Generic YUV Conversion.
Parameter | Description | |
uStructSize | Size of this structure | |
nMask | Masking value. This can be any combination of the following values: | |
Value | Meaning | |
YUV_UH | Change the nUh value | |
YUV_UV | Change the nUv value | |
YUV_VH | Change the nVh value | |
YUV_VV | Change the nvV value | |
YUV_OFFSETS | Change the pOffsets value | |
YUV_MACROPIXEL | Change the nMacroPixel value | |
YUV_RANGE | Change the nRange value | |
nUh | Integer that represents the horizontal subsampling period of U | |
nUv | Integer that represents the vertical subsampling period of U. | |
nVh | Integer that represents the horizontal subsampling period of V. | |
nVv | Integer that represents the vertical subsampling period of V. |
pOffsets | Pointer to integer array that represents offsets of the byte ordering for the proposed YUV format. When bPlanar is TRUE, the only useful data is pOffsets[0] which will indicate what is the arrangement of the YUV buffer. Possible values are: | |
Value | Meaning | |
PLANAR_YUV | Planes order, Y, U, V | |
PLANAR_YVU | Planes order, Y, V, U | |
PLANAR_UYV | Planes order, U, Y, V | |
PLANAR_UVY | Planes order, U, V, Y | |
PLANAR_VYU | Planes order, V, Y, U | |
PLANAR_VUY | Planes order, V, U, Y | |
nMacroPixel | Macropixel size, which is the number of pixels in the unit pixels group. | |
nRange | Integer represents the range of values in the input buffer; full range, or 16-240 (YUVRANGE_FULL, and YUVRANGE_16_240). | |
bPlanar | Value that indicates whether the buffer consists of the Y plane, V plane and U plane. Possible values are: | |
Value | Meaning | |
TRUE | The buffer consists of the Y, U, and V planes. | |
FALSE | The buffer does not consist of the Y, U, and V planes. |
LPYUV_PARAMS is a pointer to a YUV_PARAMS structure. Where the function parameter type is LPYUV_PARAMS, you can declare a YUV_PARAMS variable, update the structure's fields, and pass the variable's address. Declaring a LPYUV_PARAMS variable is necessary only if your program requires a pointer.
YUV_PARAMS is used with the CONVERSION_PARAMS structure.