#include #include #include /*----------------------------------------------------------------------- * Prints the type of format to standard out *-----------------------------------------------------------------------*/ void print_format( uint32_t format ) { #define print_case(A) case A: printf(#A ""); break; switch( format ) { print_case(DC1394_VIDEO_MODE_160x120_YUV444); print_case(DC1394_VIDEO_MODE_320x240_YUV422); print_case(DC1394_VIDEO_MODE_640x480_YUV411); print_case(DC1394_VIDEO_MODE_640x480_YUV422); print_case(DC1394_VIDEO_MODE_640x480_RGB8); print_case(DC1394_VIDEO_MODE_640x480_MONO8); print_case(DC1394_VIDEO_MODE_640x480_MONO16); print_case(DC1394_VIDEO_MODE_800x600_YUV422); print_case(DC1394_VIDEO_MODE_800x600_RGB8); print_case(DC1394_VIDEO_MODE_800x600_MONO8); print_case(DC1394_VIDEO_MODE_1024x768_YUV422); print_case(DC1394_VIDEO_MODE_1024x768_RGB8); print_case(DC1394_VIDEO_MODE_1024x768_MONO8); print_case(DC1394_VIDEO_MODE_800x600_MONO16); print_case(DC1394_VIDEO_MODE_1024x768_MONO16); print_case(DC1394_VIDEO_MODE_1280x960_YUV422); print_case(DC1394_VIDEO_MODE_1280x960_RGB8); print_case(DC1394_VIDEO_MODE_1280x960_MONO8); print_case(DC1394_VIDEO_MODE_1600x1200_YUV422); print_case(DC1394_VIDEO_MODE_1600x1200_RGB8); print_case(DC1394_VIDEO_MODE_1600x1200_MONO8); print_case(DC1394_VIDEO_MODE_1280x960_MONO16); print_case(DC1394_VIDEO_MODE_1600x1200_MONO16); default: dc1394_log_error("Unknown format\n"); exit(1); } } /*----------------------------------------------------------------------- * Prints the type of color encoding *-----------------------------------------------------------------------*/ void print_color_coding( uint32_t color_id ) { switch( color_id ) { case DC1394_COLOR_CODING_MONO8: printf("MONO8"); break; case DC1394_COLOR_CODING_YUV411: printf("YUV411"); break; case DC1394_COLOR_CODING_YUV422: printf("YUV422"); break; case DC1394_COLOR_CODING_YUV444: printf("YUV444"); break; case DC1394_COLOR_CODING_RGB8: printf("RGB8"); break; case DC1394_COLOR_CODING_MONO16: printf("MONO16"); break; case DC1394_COLOR_CODING_RGB16: printf("RGB16"); break; case DC1394_COLOR_CODING_MONO16S: printf("MONO16S"); break; case DC1394_COLOR_CODING_RGB16S: printf("RGB16S"); break; case DC1394_COLOR_CODING_RAW8: printf("RAW8"); break; case DC1394_COLOR_CODING_RAW16: printf("RAW16"); break; default: dc1394_log_error("Unknown color coding = %d\n",color_id); exit(1); } } /*----------------------------------------------------------------------- * Prints various information about the mode the camera is in *-----------------------------------------------------------------------*/ void print_mode_info( dc1394camera_t *camera , uint32_t mode ) { int j; printf("Mode: "); print_format(mode); printf("\n"); dc1394framerates_t framerates; dc1394error_t err; err=dc1394_video_get_supported_framerates(camera,mode,&framerates); DC1394_ERR(err,"Could not get frame rates"); printf("Frame Rates:\n"); for( j = 0; j < framerates.num; j++ ) { uint32_t rate = framerates.framerates[j]; float f_rate; dc1394_framerate_as_float(rate,&f_rate); printf(" [%d] rate = %f\n",j,f_rate ); } } /*----------------------------------------------------------------------- * Releases the cameras and exits *-----------------------------------------------------------------------*/