cc [ flag... ] file... –lmlib [ library... ] #include <mlib.h> mlib_status mlib_VideoColorYUV2ABGR420_X3(mlib_u8 *abgr, const mlib_u8 *y, const mlib_u8 *u, const mlib_u8 *v, mlib_s32 width, mlib_s32 height, mlib_s32 abgr_stride, mlib_s32 y_stride, mlib_s32 uv_stride);
The mlib_VideoColorYUV2ABGR420_X3() function performs YUV to RGB color conversion used in MPEG1 and MPEG2 video compression in the 4:2:0 sequence. It performs color conversion together with 3X zooming.
The luminance component is stored in Y, the chrominance components are stored in U and V, respectively. The size of the chrominance image depends on the chroma format used by the sequence. In this sequence, the chrominance components are subsampled 2-to-1 in both the horizontal and vertical directions in respect to the luminance component.
The function takes the following arguments:
Pointer to the destination packed ABGR image. abgr must be 8-byte aligned.
Pointer to the source Y component. y must be 8-byte aligned.
Pointer to the source U component. u must be 4-byte aligned.
Pointer to the source V component. v must be 4-byte aligned.
Width of the image. width must be a multiple of 8.
Height of the image. height must be a multiple of 2.
Stride, in bytes, between adjacent rows in the ABGR image. abgr_stride must be a multiple of 8.
Stride, in bytes, between adjacent rows in the Y component image. y_stride must be a multiple of 8.
Stride, in bytes, between adjacent rows in the U and V component images. uv_stride must be a multiple of 8.
The function returns MLIB_SUCCESS if successful. Otherwise it returns MLIB_FAILURE.
See attributes(5) for descriptions of the following attributes: