streamerSource Class Reference
Interacts with LIBAV and other relevant libraries to read video data from USB.
More...
#include <video.hpp>
List of all members.
Public Member Functions |
void | close_device () |
void | close_video_capture () |
int | close_video_file (string filename) |
void | errno_exit (const char *s) |
void | init_device (int image_width, int image_height) |
int | init_mjpeg_decoder (int image_width, int image_height) |
void | init_mmap () |
void | init_read (unsigned int buffer_size) |
void | init_userp (unsigned int buffer_size) |
void | initialize_video_source () |
void | mjpeg2rgb (char *MJPEG, int len, char *RGB, int NumPixels) |
void | open_device () |
void | process_image (const void *src, int len, usb_cam_camera_image_t *dest) |
int | read_frame () |
int | setup_video_capture (string devicename, int &deviceWidth, int &deviceHeight, bool verbose=false) |
int | setup_video_file (string filename) |
void | start_capturing () |
void | stop_capturing () |
void | uninit_device () |
void | usb_cam_camera_grab_image () |
void | usb_cam_camera_shutdown (void) |
void | usb_cam_camera_start (const char *dev, usb_cam_io_method io, usb_cam_pixel_format pf, int width, int height) |
void | uyvy2rgb (char *YUV, char *RGB, int NumPixels) |
int | xioctl (int fd, int request, void *arg) |
void | YUV2RGB (const unsigned char y, const unsigned char u, const unsigned char v, unsigned char *r, unsigned char *g, unsigned char *b) |
void | yuyv2rgb (char *YUV, char *RGB, int NumPixels) |
Public Attributes |
AVCodec * | avcodec |
AVCodecContext * | avcodec_context |
AVFrame * | avframe_camera |
int | avframe_camera_size |
AVFrame * | avframe_rgb |
int | avframe_rgb_size |
int | bImgFormat |
int | bQuality |
int | bRet |
uint8_t * | buffer |
struct usb_buffer * | buffers |
char * | camera_dev |
int | fd |
FILE * | fdJPEG |
int | fFrame |
int | frameFinished |
int | i |
usb_cam_camera_image_t * | image |
usb_cam_io_method | io |
int | ix |
int | ixInputStream |
unsigned int | n_buffers |
int | numBytes |
AVPacket | oPacket |
AVPacket | packet |
AVCodec * | pCodec |
AVCodecContext * | pCodecCtx |
AVFrame * | pFrame |
AVFrame * | pFrameRGB |
AVCodec * | pICodec |
AVCodecContext * | pICodecCtx |
AVInputFormat * | pIFormat |
AVFormatContext * | pIFormatCtx |
unsigned int | pixelformat |
AVCodec * | pOCodec |
AVCodecContext * | pOCodecCtx |
int | szBuffer |
int | szBufferActual |
struct SwsContext * | video_sws |
uint8_t * | videoBuffer |
int | videoStream |
Detailed Description
Interacts with LIBAV and other relevant libraries to read video data from USB.
Definition at line 50 of file video.hpp.
Member Function Documentation
void streamerSource::close_device |
( |
|
) |
|
void streamerSource::close_video_capture |
( |
|
) |
|
int streamerSource::close_video_file |
( |
string |
filename |
) |
|
void streamerSource::errno_exit |
( |
const char * |
s |
) |
|
void streamerSource::init_device |
( |
int |
image_width, |
|
|
int |
image_height | |
|
) |
| | |
int streamerSource::init_mjpeg_decoder |
( |
int |
image_width, |
|
|
int |
image_height | |
|
) |
| | |
void streamerSource::init_mmap |
( |
void |
|
) |
|
void streamerSource::init_read |
( |
unsigned int |
buffer_size |
) |
|
void streamerSource::init_userp |
( |
unsigned int |
buffer_size |
) |
|
void streamerSource::initialize_video_source |
( |
|
) |
|
void streamerSource::mjpeg2rgb |
( |
char * |
MJPEG, |
|
|
int |
len, |
|
|
char * |
RGB, |
|
|
int |
NumPixels | |
|
) |
| | |
void streamerSource::open_device |
( |
|
) |
|
int streamerSource::read_frame |
( |
|
) |
|
int streamerSource::setup_video_capture |
( |
string |
devicename, |
|
|
int & |
deviceWidth, |
|
|
int & |
deviceHeight, |
|
|
bool |
verbose = false | |
|
) |
| | |
int streamerSource::setup_video_file |
( |
string |
filename |
) |
|
void streamerSource::start_capturing |
( |
void |
|
) |
|
void streamerSource::stop_capturing |
( |
void |
|
) |
|
void streamerSource::uninit_device |
( |
void |
|
) |
|
void streamerSource::usb_cam_camera_grab_image |
( |
|
) |
|
void streamerSource::usb_cam_camera_shutdown |
( |
void |
|
) |
|
void streamerSource::uyvy2rgb |
( |
char * |
YUV, |
|
|
char * |
RGB, |
|
|
int |
NumPixels | |
|
) |
| | |
int streamerSource::xioctl |
( |
int |
fd, |
|
|
int |
request, |
|
|
void * |
arg | |
|
) |
| | |
void streamerSource::YUV2RGB |
( |
const unsigned char |
y, |
|
|
const unsigned char |
u, |
|
|
const unsigned char |
v, |
|
|
unsigned char * |
r, |
|
|
unsigned char * |
g, |
|
|
unsigned char * |
b | |
|
) |
| | |
Clip a value to the range 0<val<255. For speed this is done using an array, so can only cope with numbers in the range -128<val<383. Conversion from YUV to RGB. The normal conversion matrix is due to Julien (surname unknown):
[ R ] [ 1.0 0.0 1.403 ] [ Y ] [ G ] = [ 1.0 -0.344 -0.714 ] [ U ] [ B ] [ 1.0 1.770 0.0 ] [ V ]
and the firewire one is similar:
[ R ] [ 1.0 0.0 0.700 ] [ Y ] [ G ] = [ 1.0 -0.198 -0.291 ] [ U ] [ B ] [ 1.0 1.015 0.0 ] [ V ]
Corrected by BJT (coriander's transforms RGB->YUV and YUV->RGB do not get you back to the same RGB!) [ R ] [ 1.0 0.0 1.136 ] [ Y ] [ G ] = [ 1.0 -0.396 -0.578 ] [ U ] [ B ] [ 1.0 2.041 0.002 ] [ V ]
Definition at line 360 of file video.cpp.
void streamerSource::yuyv2rgb |
( |
char * |
YUV, |
|
|
char * |
RGB, |
|
|
int |
NumPixels | |
|
) |
| | |
Member Data Documentation
The documentation for this class was generated from the following files: