Lines Matching full:yuv
149 * Basics of RGB -> YUV conversion
153 * RGB -> YUV conversion macros
159 /* Converts R8 G8 B8 color to YUV. */
168 /* Converts RGB565 color to YUV. */
175 /* Converts RGB32 color to YUV. */
185 * Basics of YUV -> RGB conversion.
189 * YUV -> RGB conversion macros
209 /* Converts YUV color to RGB565. */
221 /* Converts YUV color to RGB32. */
234 /* Converts YUV color to separated RGB32 colors. */
336 * Generic converters between YUV and RGB formats
357 * YUV format has much greater complexity for conversion. in YUV color encoding
361 * YUV formats that can be abstracted through a descriptor:
369 * Moving between the lines in YUV can also be easily formalized. Essentially,
376 * This type is used to encode YUV 4:2:2 formats.
408 * So, all these patterns can be coded in a YUV format descriptor, so there can
409 * just one generic way of walking YUV frame.
453 * given line in a YUV framebuffer.
455 * desc - Descriptor for the YUV frame for which the offset is being calculated.
460 * here is relative to the beginning of the YUV framebuffer.
465 * given line in a YUV framebuffer.
467 * desc - Descriptor for the YUV frame for which the offset is being calculated.
472 * here is relative to the beginning of the YUV framebuffer.
486 /* YUV format descriptor. */
488 /* Offset of the first Y value in a fully interleaved YUV framebuffer. */
491 * interleaved YUV framebuffer. */
494 * interleaved YUV framebuffer. */
496 /* Increment between adjacent U/V values in a YUV framebuffer. */
498 /* Controls location of the first U value in YUV framebuffer. Depending on
499 * the actual YUV format can mean three things:
500 * - For fully interleaved YUV formats contains offset of the first U value
502 * - For YUV format that use separate, but interleaved UV pane, this field
504 * - For YUV format that use fully separated Y, U, and V panes this field
509 /* Controls location of the first V value in YUV framebuffer.
513 * in a YUV framebuffer. */
516 * in a YUV framebuffer. */
656 * YUV's U/V offset calculation routines.
659 /* U offset in a fully interleaved YUV 4:2:2 */
663 /* In interleaved YUV 4:2:2 each pair of pixels is encoded with 4 consecutive
664 * bytes (or 2 bytes per pixel). So line size in a fully interleaved YUV 4:2:2
669 /* V offset in a fully interleaved YUV 4:2:2 */
677 /* U offset in an interleaved UV pane of YUV 4:2:0 */
685 * for the beggining of the UV pane's line for the given line in YUV
693 /* V offset in an interleaved UV pane of YUV 4:2:0 */
701 /* U offset in a 3-pane YUV 4:2:0 */
728 /* V offset in a 3-pane YUV 4:2:0 */
995 * Generic YUV/RGB/BAYER converters
998 /* Generic converter from an RGB/BRG format to a YUV format. */
1003 void* yuv,
1015 uint8_t* pY = (uint8_t*)yuv + yuv_fmt->Y_offset;
1018 (uint8_t*)yuv + yuv_fmt->u_offset(yuv_fmt, y, width, height);
1020 (uint8_t*)yuv + yuv_fmt->v_offset(yuv_fmt, y, width, height);
1066 /* Generic converter from a YUV format to an RGB/BRG format. */
1070 const void* yuv,
1083 const uint8_t* pY = (const uint8_t*)yuv + yuv_fmt->Y_offset;
1086 (const uint8_t*)yuv + yuv_fmt->u_offset(yuv_fmt, y, width, height);
1088 (const uint8_t*)yuv + yuv_fmt->v_offset(yuv_fmt, y, width, height);
1108 /* Generic converter from one YUV format to another YUV format. */
1185 /* Generic converter from a BAYER format to a YUV format. */
1190 void* yuv,
1202 uint8_t* pY = (uint8_t*)yuv + yuv_fmt->Y_offset;
1205 (uint8_t*)yuv + yuv_fmt->u_offset(yuv_fmt, y, width, height);
1207 (uint8_t*)yuv + yuv_fmt->v_offset(yuv_fmt, y, width, height);
1276 * YUV 4:2:2 format descriptors.
1279 /* YUYV: 4:2:2, YUV are interleaved. */
1292 /* UYVY: 4:2:2, YUV are interleaved. */
1305 /* YVYU: 4:2:2, YUV are interleaved. */
1318 /* VYUY: 4:2:2, YUV are interleaved. */
1331 /* YYUV (also YUY2, YUNV, V422) : 4:2:2, YUV are interleaved. */
1344 /* YYVU: 4:2:2, YUV are interleaved. */
1358 * YUV 4:2:0 descriptors.
1361 /* YV12: 4:2:0, YUV are fully separated, U pane follows V pane */
1374 /* YU12: 4:2:0, YUV are fully separated, V pane follows U pane */
1510 /* Pixel format is YUV */
1520 /* RGB/YUV/BAYER format selector */
1525 /* References YUV format descriptor for that format. */
1541 /* YUV 4:2:0 formats. */
1547 /* YUV 4:2:2 formats. */