cc [ flag... ] file... –lmlib [ library... ] #include <mlib.h> void mlib_VideoColorYUV420seq_to_UYVY422int(mlib_u32 *UYVY, const mlib_u8 *Y,const mlib_u8 *U, const mlib_u8 *V, mlib_s32 w, mlib_s32 h, mlib_s32 dlb, mlib_s32 ylb, mlib_s32 uvlb);
The Y, U, V pixel streams are combined into a UYVY pixel stream. All pixel components are 8-bit unsigned integers. The Y buffer has dimensions w and h. The U and V buffers have dimensions w/2 and h/2. Dimensions w and h are assumed to be even. Successive rows of the output buffer UYVY use successive rows of Y and the same rows of U and V.
The following equation is used:
UYVY[r][c/2] = (U[r/2][c/2] << 24) | (Y[r][c] << 16) | (V[r/2][c/2] << 8) | (Y[r][c+1]) UYVY[r+1][c/2] = (U[r/2][c/2] << 24) | (Y[r+1][c] << 16) | (V[r/2][c/2] << 8) | (Y[r+1][c+1])
where r = 0, 2, 4, ..., h-2; and c = 0, 2, 4, ..., w-2.
The function takes the following arguments:
Pointer to output buffer.
Pointer to Y input buffer.
Pointer to U input buffer.
Pointer to V input buffer.
Image width in pixels.
Image height in lines.
Linebytes for UYVY buffer.
Linebytes for Y buffer.
Linebytes for U and V buffers.
None.
See attributes(5) for descriptions of the following attributes:
|
mlib_VideoColorYUV420seq_to_YUYV422int(3MLIB), mlib_VideoColorYUV411seq_to_YUYV422int(3MLIB), mlib_VideoColorYUV422seq_to_YUYV422int(3MLIB), mlib_VideoColorYUV411seq_to_UYVY422int(3MLIB), mlib_VideoColorYUV422seq_to_UYVY422int(3MLIB), attributes(5)