libfreenect2  0.1
Public Types | Public Member Functions | Public Attributes | Protected Attributes | List of all members
Frame Class Reference

Frame format and metadata. More...

#include <libfreenect2/frame_listener.hpp>

Public Types

enum  Type { Color = 1, Ir = 2, Depth = 4 }
 Available types of frames. More...
 
enum  Format { BGRX, RGBX, Gray, Float }
 (Proposed for 0.2) Pixel format. More...
 

Public Member Functions

 Frame (size_t width, size_t height, size_t bytes_per_pixel, unsigned char *data_=NULL)
 Construct a new frame. More...
 
virtual ~Frame ()
 

Public Attributes

size_t width
 Length of a line (in pixels). More...
 
size_t height
 Number of lines in the frame. More...
 
size_t bytes_per_pixel
 Number of bytes in a pixel. More...
 
unsigned char * data
 Data of the frame (aligned). More...
 
uint32_t timestamp
 Unit: roughly or exactly 0.1 millisecond. More...
 
uint32_t sequence
 Increasing frame sequence number. More...
 
float exposure
 From 0.5 (very bright) to ~60.0 (fully covered) More...
 
float gain
 From 1.0 (bright) to 1.5 (covered) More...
 
float gamma
 From 1.0 (bright) to 6.4 (covered) More...
 
uint32_t status
 Reserved. To be defined in 0.2. More...
 
Format format
 Reserved. To be defined in 0.2. More...
 

Protected Attributes

unsigned char * rawdata
 Unaligned start of data. More...
 

Detailed Description

Frame format and metadata.

Member Enumeration Documentation

enum Type

Available types of frames.

Enumerator
Color 

1920x1080 32-bit BGRX.

Ir 

512x424 float. Range is [0.0, 65535.0].

Depth 

512x424 float, unit: millimeter. Non-positive, NaN, and infinity are invalid or missing data.

enum Format

(Proposed for 0.2) Pixel format.

Enumerator
BGRX 
RGBX 
Gray 
Float 

Constructor & Destructor Documentation

Frame ( size_t  width,
size_t  height,
size_t  bytes_per_pixel,
unsigned char *  data_ = NULL 
)
inline

Construct a new frame.

Parameters
widthWidth in pixel
heightHeight in pixel
bytes_per_pixelBytes per pixel
data_Memory to store frame data. If NULL, new memory is allocated.
virtual ~Frame ( )
inlinevirtual

Member Data Documentation

size_t width

Length of a line (in pixels).

size_t height

Number of lines in the frame.

size_t bytes_per_pixel

Number of bytes in a pixel.

unsigned char* data

Data of the frame (aligned).

See Also
See Frame::Type for pixel format.
uint32_t timestamp

Unit: roughly or exactly 0.1 millisecond.

uint32_t sequence

Increasing frame sequence number.

float exposure

From 0.5 (very bright) to ~60.0 (fully covered)

float gain

From 1.0 (bright) to 1.5 (covered)

float gamma

From 1.0 (bright) to 6.4 (covered)

uint32_t status

Reserved. To be defined in 0.2.

Format format

Reserved. To be defined in 0.2.

unsigned char* rawdata
protected

Unaligned start of data.