Name | Synopsis | Description | Parameters | Return Values | Attributes | See Also
cc [ flag... ] file... -lmlib [ library... ] #include <mlib.h> void mlib_VideoColorUYV444int_to_YUYV422int(mlib_u32 *YUYV, const mlib_u8 *UYV,mlib_s32 w,mlib_s32 h, mlib_s32 dlb, mlib_s32 slb);
The UYV pixel stream is broken apart and recombined into a YUYV pixel stream. All pixel components are 8-bit unsigned integers. The UYV 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 U[r][c], Y[r][c], V[r][c], U[r][c+1], Y[r][c+1], V[r][c+1], ...
The following equation is used:
YUYV[r][c/2] = (Y[r][c] << 24) | (((U[r][c] + U[r][c+1]) / 2) << 16) | (Y[r][c+1] << 8) | (((V[r][c] + V[r][c+1]) / 2))
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_VideoColorYUV444int_to_UYVY422int(3MLIB), mlib_VideoColorUYV444int_to_UYVY422int(3MLIB), attributes(5)
Name | Synopsis | Description | Parameters | Return Values | Attributes | See Also