Home | History | Annotate | Download | only in src

Lines Matching refs:capture

154 static void icvCloseCAM_DC1394( CvCaptureCAM_DC1394* capture );
156 static int icvGrabFrameCAM_DC1394( CvCaptureCAM_DC1394* capture );
157 static IplImage* icvRetrieveFrameCAM_DC1394( CvCaptureCAM_DC1394* capture, int );
159 static double icvGetPropertyCAM_DC1394( CvCaptureCAM_DC1394* capture, int property_id );
160 static int icvSetPropertyCAM_DC1394( CvCaptureCAM_DC1394* capture, int property_id, double value );
166 static unsigned int icvGetBestFrameRate( CvCaptureCAM_DC1394 * capture, int format, int mode);
167 static int icvResizeFrame(CvCaptureCAM_DC1394 * capture);
301 fprintf(stderr,"%s:%d: Failed to setup DMA capture with VIDEO1394\n",__FILE__,__LINE__);
312 fprintf(stderr,"%s:%d: Failed to setup DMA capture with VIDEO1394\n",__FILE__,__LINE__);
348 static void icvCloseCAM_DC1394( CvCaptureCAM_DC1394* capture ){
349 dc1394_stop_iso_transmission(capture->handle, capture->camera->node);
350 dc1394_dma_unlisten (capture->handle, capture->camera);
352 if(capture->convert){
353 cvFree(&capture->frame.imageData);
357 static int icvGrabFrameCAM_DC1394( CvCaptureCAM_DC1394* capture ){
362 int result = dc1394_dma_single_capture_poll(capture->camera);
379 static IplImage* icvRetrieveFrameCAM_DC1394( CvCaptureCAM_DC1394* capture, int ){
380 if(capture->camera->capture_buffer )
382 if(capture->convert){
384 unsigned char * src = (unsigned char *)capture->camera->capture_buffer;
385 unsigned char * dst = (unsigned char *)capture->frame.imageData;
386 switch (capture->color_mode) {
390 for (int i=0;i<capture->frame.imageSize;i+=6) {
403 capture->camera->frame_width * capture->camera->frame_height);
409 capture->camera->frame_width * capture->camera->frame_height);
415 capture->camera->frame_width * capture->camera->frame_height);
421 capture->camera->frame_width * capture->camera->frame_height);
427 capture->camera->frame_width * capture->camera->frame_height, MONO16_BPP);
433 capture->camera->frame_width * capture->camera->frame_height, MONO16_BPP);
436 fprintf(stderr,"%s:%d: Unsupported color mode %d\n",__FILE__,__LINE__,capture->color_mode);
438 } /* switch (capture->mode) */
442 capture->frame.imageData = (char *) capture->camera->capture_buffer;
443 capture->frame.imageDataOrigin = (char *) capture->camera->capture_buffer;
448 dc1394_dma_done_with_buffer(capture->camera);
450 return &capture->frame;
455 static double icvGetPropertyCAM_DC1394( CvCaptureCAM_DC1394* capture, int property_id ){
459 return capture->convert;
461 return capture->mode;
463 return capture->format;
465 CV_DC1394_CALL(dc1394_get_video_framerate(capture->handle, capture->camera->node,
466 (unsigned int *) &capture->camera->frame_rate));
467 switch(capture->camera->frame_rate) {
495 CV_DC1394_CALL( dc1394_is_feature_present(capture->handle, capture->camera->node,
502 dc1394_get_feature_value(capture->handle, capture->camera->node, index, &value);
510 // resize capture->frame appropriately depending on camera and capture settings
511 static int icvResizeFrame(CvCaptureCAM_DC1394 * capture){
512 if(capture->convert){
515 if(capture->camera->frame_width != capture->frame.width ||
516 capture->camera->frame_height != capture->frame.height ||
517 capture->frame.depth != 8 ||
518 capture->frame.nChannels != 3 ||
519 capture->frame.imageData == NULL ||
520 capture->buffer_is_writeable == 0)
522 if(capture->frame.imageData && capture->buffer_is_writeable){
523 cvReleaseData( &(capture->frame));
525 cvInitImageHeader( &capture->frame, cvSize( capture->camera->frame_width,
526 capture->camera->frame_height ),
528 cvCreateData( &(capture->frame) );
529 capture->buffer_is_writeable = 1;
535 if(capture->buffer_is_writeable){
536 cvReleaseData(&(capture->frame));
542 int width = capture->camera->frame_width;
543 int height = capture->camera->frame_height;
545 switch(capture->color_mode){
576 cvInitImageHeader( &capture->frame,cvSize( width, height ), bpp, nch, IPL_ORIGIN_TL, 4 );
577 //assert(capture->frame.imageSize == capture->camera->quadlets_per_frame*4);
578 capture->buffer_is_writeable = 0;
584 // Allocates/Initializes capture->frame appropriately
585 int icvSetConvertRGB(CvCaptureCAM_DC1394 * capture, int convert){
586 if(convert==capture->convert){
590 capture->convert = convert;
591 return icvResizeFrame( capture );
616 icvSetModeCAM_DC1394( CvCaptureCAM_DC1394 * capture, int mode ){
624 if (dc1394_query_supported_formats(capture->handle, capture->camera->node, &formats)<0) {
635 if (dc1394_query_supported_modes(capture->handle, capture->camera->node, format, &modes)<0){
636 fprintf(stderr,"%s:%d: Could not query supported modes for format %d\n",__FILE__,__LINE__, capture->format);
651 int frame_rate = icvGetBestFrameRate(capture, format, mode);
653 dc1394_dma_unlisten(capture->handle, capture->camera);
654 if (dc1394_dma_setup_capture(capture->handle, capture->camera->node, capture->camera->channel /*channel*/,
657 capture->device_name, capture->camera) != DC1394_SUCCESS) {
658 fprintf(stderr,"%s:%d: Failed to setup DMA capture with VIDEO1394\n",__FILE__,__LINE__);
661 dc1394_start_iso_transmission(capture->handle, capture->camera->node);
663 capture->frame_rate = frame_rate;
664 capture->format = format;
665 capture->mode = mode;
666 capture->color_mode = color_mode;
669 icvResizeFrame( capture );
674 static unsigned int icvGetBestFrameRate( CvCaptureCAM_DC1394 * capture, int format, int mode ){
676 if (dc1394_query_supported_framerates(capture->handle, capture->camera->node,
692 icvSetFrameRateCAM_DC1394( CvCaptureCAM_DC1394 * capture, double value ){
694 if(capture->format == FORMAT_SCALABLE_IMAGE_SIZE)
697 fps=icvGetBestFrameRate( capture, capture->format, capture->mode );
719 dc1394_set_video_framerate(capture->handle, capture->camera->node,fps);
720 dc1394_get_video_framerate(capture->handle, capture->camera->node,
721 (unsigned int *) &capture->camera->frame_rate);
723 return fps==(unsigned int) capture->camera->frame_rate;
777 icvSetFeatureCAM_DC1394( CvCaptureCAM_DC1394* capture, int feature_id, int val){
785 if( dc1394_is_feature_on(capture->handle, capture->camera->node, feature_id, &isOn)
791 if( dc1394_feature_on_off(capture->handle, capture->camera->node, feature_id, 1) == DC1394_FAILURE ) {
798 dc1394_has_auto_mode(capture->handle, capture->camera->node, feature_id, &hasAutoCapability);
802 if( dc1394_is_feature_auto(capture->handle, capture->camera->node, feature_id, &isAutoOn ) == DC1394_FAILURE ) {
816 if(dc1394_auto_on_off(capture->handle, capture->camera->node, feature_id, 1) == DC1394_FAILURE ) {
826 if(dc1394_auto_on_off(capture->handle, capture->camera->node, feature_id, 0) == DC1394_FAILURE ) {
833 CV_DC1394_CALL( dc1394_get_min_value(capture->handle, capture->camera->node, feature_id, &minval));
834 CV_DC1394_CALL( dc1394_get_max_value(capture->handle, capture->camera->node, feature_id, &maxval));
838 if (dc1394_set_feature_value(capture->handle, capture->camera->node, feature_id, val) ==
843 if (dc1394_get_feature_value(capture->handle, capture->camera->node, feature_id, &nval) ==
854 icvSetPropertyCAM_DC1394( CvCaptureCAM_DC1394* capture, int property_id, double value ){
858 return icvSetConvertRGB( capture, value != 0 );
860 return icvSetModeCAM_DC1394( capture, (int) value );
862 return icvSetFrameRateCAM_DC1394( capture, value );
883 return icvSetFeatureCAM_DC1394(capture, index, (int) value);
1056 virtual int getCaptureDomain() { return CV_CAP_DC1394; } // Return the type of the capture object: CV_CAP_VFW, etc...
1104 CvCaptureCAM_DC1394_CPP* capture = new CvCaptureCAM_DC1394_CPP;
1106 if( capture->open( index ))
1107 return capture;
1109 delete capture;