config.h

Version:
5.3
Includes:
<sdkddkver.h>
<windows.h>

Introduction

ARToolKit core configuration.



Typedefs

AR_PIXEL_FORMAT

ARToolKit pixel-format specifiers.


AR_PIXEL_FORMAT


ARToolKit pixel-format specifiers.

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.