Introduction
ARToolKit core configuration.
Typedefs
- AR_PIXEL_FORMAT
ARToolKit pixel-format specifiers.
ARToolKit pixel-format specifiers.
typedef enum {
AR_PIXEL_FORMAT_INVALID = -1,
AR_PIXEL_FORMAT_RGB = 0,
AR_PIXEL_FORMAT_BGR,
AR_PIXEL_FORMAT_RGBA,
AR_PIXEL_FORMAT_BGRA,
AR_PIXEL_FORMAT_ABGR,
AR_PIXEL_FORMAT_MONO,
AR_PIXEL_FORMAT_ARGB,
AR_PIXEL_FORMAT_2vuy,
AR_PIXEL_FORMAT_yuvs,
AR_PIXEL_FORMAT_RGB_565,
AR_PIXEL_FORMAT_RGBA_5551,
AR_PIXEL_FORMAT_RGBA_4444,
AR_PIXEL_FORMAT_420v,
AR_PIXEL_FORMAT_420f,
AR_PIXEL_FORMAT_NV21
} AR_PIXEL_FORMAT;
Constants
AR_PIXEL_FORMAT_RGB
Each pixel is represented by 24 bits. Eight bits per each Red, Green,
and Blue component. This is the native 24 bit format for the Mac platform.
AR_PIXEL_FORMAT_BGR
Each pixel is represented by 24 bits. Eight bits per each Blue, Red, and
Green component. This is the native 24 bit format for the Win32 platform.
AR_PIXEL_FORMAT_RGBA
Each pixel is represented by 32 bits. Eight bits per each Red, Green,
Blue, and Alpha component.
AR_PIXEL_FORMAT_BGRA
Each pixel is represented by 32 bits. Eight bits per each Blue, Green,
Red, and Alpha component. This is the native 32 bit format for the Win32
and Mac Intel platforms.
AR_PIXEL_FORMAT_ABGR
Each pixel is represented by 32 bits. Eight bits per each Alpha, Blue,
Green, and Red component. This is the native 32 bit format for the SGI
platform.
AR_PIXEL_FORMAT_MONO
Each pixel is represented by 8 bits of luminance information.
AR_PIXEL_FORMAT_ARGB
Each pixel is represented by 32 bits. Eight bits per each Alpha, Red,
Green, and Blue component. This is the native 32 bit format for the Mac
PowerPC platform.
AR_PIXEL_FORMAT_2vuy
8-bit 4:2:2 Component Y'CbCr format. Each 16 bit pixel is represented
by an unsigned eight bit luminance component and two unsigned eight bit
chroma components. Each pair of pixels shares a common set of chroma
values. The components are ordered in memory; Cb, Y0, Cr, Y1. The
luminance components have a range of [16, 235], while the chroma value
has a range of [16, 240]. This is consistent with the CCIR601 spec.
This format is fairly prevalent on both Mac and Win32 platforms.
'2vuy' is the Apple QuickTime four-character code for this pixel format.
The equivalent Microsoft fourCC is 'UYVY'.
AR_PIXEL_FORMAT_yuvs
8-bit 4:2:2 Component Y'CbCr format. Identical to the AR_PIXEL_FORMAT_2vuy except
each 16 bit word has been byte swapped. This results in a component
ordering of; Y0, Cb, Y1, Cr.
This is most prevalent yuv 4:2:2 format on both Mac and Win32 platforms.
'yuvs' is the Apple QuickTime four-character code for this pixel format.
The equivalent Microsoft fourCC is 'YUY2'.
AR_PIXEL_FORMAT_RGB_565
A packed-pixel format. Each 16 bit pixel consists of 5 bits of red color
information in bits 15-11, 6 bits of green color information in bits 10-5,
and 5 bits of blue color information in bits 4-0. Byte ordering is big-endian.
AR_PIXEL_FORMAT_RGBA_5551
A packed-pixel format. Each 16 bit pixel consists of 5 bits of red color
information in bits 15-11, 5 bits of green color information in bits 10-6,
5 bits of blue color information in bits 5-1, and a single alpha bit in bit 0.
Byte ordering is big-endian.
AR_PIXEL_FORMAT_RGBA_4444
A packed-pixel format. Each 16 bit pixel consists of 4 bits of red color
information in bits 15-12, 6 bits of green color information in bits 11-8,
4 bits of blue color information in bits 7-4, and 4 bits of alpha information
in bits 3-0. Byte ordering is big-endian.
AR_PIXEL_FORMAT_420v
8-bit 4:2:0 Component Y'CbCr format. Each 2x2 pixel block is represented
by 4 unsigned eight bit luminance values and two unsigned eight bit
chroma values. The chroma plane and luma plane are separated in memory. The
luminance components have a range of [16, 235], while the chroma value
has a range of [16, 240]. This is consistent with the CCIR601 spec.
'420v' is the Apple Core Video four-character code for this pixel format.
AR_PIXEL_FORMAT_420f
8-bit 4:2:0 Component Y'CbCr format. Each 2x2 pixel block is represented
by 4 unsigned eight bit luminance components and two unsigned eight bit
chroma components. The chroma plane and luma plane are separated in memory. The
luminance components have a range of [0, 255], while the chroma value
has a range of [1, 255].
'420f' is the Apple Core Video four-character code for this pixel format.
The equivalent Microsoft fourCC is 'NV12'.
AR_PIXEL_FORMAT_NV21
8-bit 4:2:0 Component Y'CbCr format. Each 2x2 pixel block is represented
by 4 unsigned eight bit luminance components and two unsigned eight bit
chroma components. The chroma plane and luma plane are separated in memory. The
luminance components have a range of [0, 255], while the chroma value
has a range of [1, 255].
Discussion
ARToolKit functions can accept pixel data in a variety of formats.
This enumerations provides a set of constants you can use to request
data in a particular pixel format from an ARToolKit function that
returns data to you, or to specify that data you are providing to an
ARToolKit function is in a particular pixel format.
© 2015 Daqri, LLC.
Last Updated: Monday, October 05, 2015
|