YUV_PARAMS

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.

Comments

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.