Name | Synopsis | Description | Parameters | Return Values | Attributes | See Also
cc [ flag... ] file... -lmlib [ library... ] #include <mlib.h> void mlib_VideoColorYUV444int_to_UYVY422int(mlib_u32 *UYVY, const mlib_u8 *YUV, mlib_s32 w, mlib_s32 h, mlib_s32 dlb, mlib_s32 slb);
The YUV pixel stream is broken apart and recombined into a UYVY pixel stream. All pixel components are 8-bit unsigned integers. The YUV buffer has dimensions w and h. Dimension w is assumed to be a multiple of 2. Adjacent U and V values are averaged to get the output U and V values. The sequence of values in the input stream is Y[r][c], U[r][c], V[r][c], Y[r][c+1], U[r][c+1], V[r][c+1], ...
The following equation is used:
UYVY[r][c/2] = (((U[r][c] + U[r][c+1]) / 2) << 24) | (Y[r][c] << 16) | (((V[r][c] + V[r][c+1]) / 2) << 8) | (Y[r][c+1])
where r = 0, 1, 2, ..., h-1; and c = 0, 2, 4, ..., w-2.
The function takes the following arguments:
Pointer to output buffer.
Pointer to input buffer.
Image width in pixels.
Image height in lines.
Linebytes for output buffer.
Linebytes for input buffer.
None.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE |
ATTRIBUTE VALUE |
---|---|
Interface Stability |
Committed |
MT-Level |
MT-Safe |
mlib_VideoColorYUV444seq_to_YUYV422int(3MLIB), mlib_VideoColorYUV444int_to_YUYV422int(3MLIB), mlib_VideoColorYUV444seq_to_UYVY422int(3MLIB), mlib_VideoColorUYV444int_to_YUYV422int(3MLIB), mlib_VideoColorUYV444int_to_UYVY422int(3MLIB), attributes(5)
Name | Synopsis | Description | Parameters | Return Values | Attributes | See Also