mlib_VideoColorYUV444seq_tmediaLimlib_VideoColorYUV444seq_to_YUYV422int(3MLIB)NAMEmlib_VideoColorYUV444seq_to_YUYV422int - convert YUV sequential to
interleaved with subsampling
SYNOPSIS
cc [ flag... ] file... -lmlib [ library... ]
#include <mlib.h>
void mlib_VideoColorYUV444seq_to_YUYV422int(mlib_u32 *YUYV,
const mlib_u8 *Y, const mlib_u8 *U, const mlib_u8 *V, mlib_s32 w,
mlib_s32 h, mlib_s32 dlb, mlib_s32 slb);
DESCRIPTION
The Y, U, V pixel streams are combined into a YUYV pixel stream. All
pixel components are 8-bit unsigned integers. The Y, U, and V buffers
have 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 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.
PARAMETERS
The function takes the following arguments:
YUYV Pointer to output buffer.
Y Pointer to Y input buffer.
U Pointer to U input buffer.
V Pointer to V input buffer.
w Image width in pixels.
h Image height in lines.
dlb Linebytes for output buffer.
slb Linebytes for input buffers.
RETURN VALUES
None.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
┌─────────────────────────────┬─────────────────────────────┐
│ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
├─────────────────────────────┼─────────────────────────────┤
│Interface Stability │Committed │
├─────────────────────────────┼─────────────────────────────┤
│MT-Level │MT-Safe │
└─────────────────────────────┴─────────────────────────────┘
SEE ALSOmlib_VideoColorYUV444seq_to_UYVY422int(3MLIB), mlib_VideoCol‐
orYUV444int_to_YUYV422int(3MLIB), mlib_VideoCol‐
orYUV444int_to_UYVY422int(3MLIB), attributes(5)SunOS 5.11mlib_VideoColorYUV444seq_to_YUYV422int(3MLIB)