enum {
DC1394_BYTE_ORDER_UYVY=0,
DC1394_BYTE_ORDER_YUYV
};
enum {
DC1394_BAYER_METHOD_NEAREST=0,
DC1394_BAYER_METHOD_SIMPLE,
DC1394_BAYER_METHOD_BILINEAR,
DC1394_BAYER_METHOD_HQLINEAR,
DC1394_BAYER_METHOD_DOWNSAMPLE,
DC1394_BAYER_METHOD_EDGESENSE,
DC1394_BAYER_METHOD_VNG,
DC1394_BAYER_METHOD_AHD
};
#define DC1394_BAYER_METHOD_MIN DC1394_BAYER_METHOD_NEAREST
#define DC1394_BAYER_METHOD_MAX DC1394_BAYER_METHOD_AHD
#define DC1394_BAYER_METHOD_NUM (DC1394_BAYER_METHOD_MAX-DC1394_BAYER_METHOD_MIN+1)
typedef enum {
DC1394_STEREO_METHOD_INTERLACED=0,
DC1394_STEREO_METHOD_FIELD
} dc1394stereo_method_t;
#define DC1394_STEREO_METHOD_MIN DC1394_STEREO_METHOD_INTERLACE
#define DC1394_STEREO_METHOD_MAX DC1394_STEREO_METHOD_FIELD
#define DC1394_STEREO_METHOD_NUM (DC1394_STEREO_METHOD_MAX-DC1394_STEREO_METHOD_MIN+1)
#define YUV2RGB(y, u, v, r, g, b)\
r = y + ((v*1436) >> 10);\
g = y - ((u*352 + v*731) >> 10);\
b = y + ((u*1814) >> 10);\
r = r < 0 ? 0 : r;\
g = g < 0 ? 0 : g;\
b = b < 0 ? 0 : b;\
r = r > 255 ? 255 : r;\
g = g > 255 ? 255 : g;\
b = b > 255 ? 255 : b
#define RGB2YUV(r, g, b, y, u, v)\
y = (306*r + 601*g + 117*b) >> 10;\
u = ((-172*r - 340*g + 512*b) >> 10) + 128;\
v = ((512*r - 429*g - 83*b) >> 10) + 128;\
y = y < 0 ? 0 : y;\
u = u < 0 ? 0 : u;\
v = v < 0 ? 0 : v;\
y = y > 255 ? 255 : y;\
u = u > 255 ? 255 : u;\
v = v > 255 ? 255 : v
dc1394_convert_to_MONO8()Arguments:
| : | src | : | A pointer to the source image buffer | | : | dest | : | A pointer to the destination image buffer | uint_t | : | width | : | the width of the image | uint_t | : | height | : | the height of the image | uint_t | : | byte_order | : | the input/output byte order (for YUV422 only) | dc1394color_coding_t | : | source_coding | : | color coding of the source buffer | uint_t | : | bits | : | number of bits (useful for 16 bits formats only) | Returns: dc1394error_t (error code)
dc1394_convert_to_RGB8()Arguments:
| : | src | : | A pointer to the source image buffer | | : | dest | : | A pointer to the destination image buffer | uint_t | : | width | : | the width of the image | uint_t | : | height | : | the height of the image | uint_t | : | byte_order | : | the input/output byte order (for YUV422 only) | dc1394color_coding_t | : | source_coding | : | color coding of the source buffer | uint_t | : | bits | : | number of bits (useful for 16 bits formats only) | Returns: dc1394error_t (error code)
dc1394_convert_to_YUV422()Arguments:
| : | src | : | A pointer to the source image buffer | | : | dest | : | A pointer to the destination image buffer | uint_t | : | width | : | the width of the image | uint_t | : | height | : | the height of the image | uint_t | : | byte_order | : | the input/output byte order (for YUV422 only) | dc1394color_coding_t | : | source_coding | : | color coding of the source buffer | uint_t | : | bits | : | number of bits (useful for 16 bits formats only) | Returns: dc1394error_t (error code)
dc1394_deinterlace_stereo()Arguments:
| : | src | : | A pointer to the source image buffer | | : | dest | : | A pointer to the destination image buffer | uint_t | : | width | : | the width of the image | uint_t | : | height | : | the height of the image | Returns: (nothing)
dc1394_bayer_decoding_8bit()Arguments:
| : | bayer | : | A pointer to the source image buffer | | : | rgb | : | A pointer to the destination image buffer | uint_t | : | width | : | the width of the image | uint_t | : | height | : | the height of the image | dc1394color_filter_t | : | tile | : | Elementary bayer coding tile (DC1394_COLOR_FILTER_RGGB,...) | dc1394bayer_method_t | : | method | : | Bayer decoding method (DC1394_BAYER_METHOD_BILINEAR,...) | Returns: dc1394error_t (error code)
dc1394_bayer_decoding_16bit()Arguments:
| : | bayer | : | A pointer to the source image buffer | | : | rgb | : | A pointer to the destination image buffer | uint_t | : | width | : | the width of the image | uint_t | : | height | : | the height of the image | dc1394color_filter_t | : | tile | : | Elementary bayer coding tile (DC1394_COLOR_FILTER_RGGB,...) | dc1394bayer_method_t | : | method | : | Bayer decoding method (DC1394_BAYER_METHOD_BILINEAR,...) | uint_t | : | bits | : | Number of effective bits per pixel | Returns: dc1394error_t (error code)
The following functions are more practical and work directly on frames:
dc1394_convert_frames()Arguments:
dc1394video_frame_t | : | *in | : | | dc1394video_frame_t | : | *out | : | | Returns: dc1394error_t (error code)
dc1394_debayer_frames()Arguments:
dc1394video_frame_t | : | *in | : | | dc1394video_frame_t | : | *out | : | | dc1394bayer_method_t | : | method | : | | Returns: dc1394error_t (error code)
dc1394_deinterlace_stereo_frames()Arguments:
dc1394video_frame_t | : | *in | : | | dc1394video_frame_t | : | *out | : | | dc1394stereo_method_t | : | method | : | | Returns: dc1394error_t (error code)
|