📄 dc1394_control.h
字号:
dc1394_dma_setup_camera*****************************************************/int dc1394_dma_release_camera(raw1394handle_t handle, dc1394_cameracapture *camera);/***************************************************** dc1394_dma_unlisten This tells video1394 to halt iso reception.*****************************************************/int dc1394_dma_unlisten(raw1394handle_t handle, dc1394_cameracapture *camera);/**************************************************** dc1394_dma_single_capture This captures a frame from the given camera. Two policies are available: wait for a frame or return if no frame is available (POLL)*****************************************************/int dc1394_dma_single_capture(dc1394_cameracapture *camera);intdc1394_dma_single_capture_poll(dc1394_cameracapture *camera);/**************************************************** dc1394_dma_multi_capture This captures a frame from the given camera. Two policies are available: wait for a frame or return if no frame is available (POLL)*****************************************************/int dc1394_dma_multi_capture(dc1394_cameracapture *camera, int num);intdc1394_dma_multi_capture_poll(dc1394_cameracapture *camera, int num);/***************************************************** dc1394_dma_done_with_buffer This allows the driver to use the buffer previously handed to the user by dc1394_dma_*_capture*****************************************************/int dc1394_dma_done_with_buffer(dc1394_cameracapture * camera);/******************************** Non DMA Capture Functions These functions use libraw to grab frames from the cameras, the dma routines are faster, and should be used instead.*********************************//*********************************************************** dc1394_setup_capture Sets up both the camera and the cameracapture structure to be used other places. Returns DC1394_SUCCESS on success, DC1394_FAILURE otherwise NOTE: it is important to call dc1394_release_camera to free memory allocated by this routine- if you don't, your application WILL leak memory************************************************************/int dc1394_setup_capture(raw1394handle_t handle, nodeid_t node, int channel, int format, int mode, int speed, int frame_rate, dc1394_cameracapture * camera);/*********************************************************** dc1394_release_camera Frees buffer space contained in the cameracapture structure************************************************************/int dc1394_release_camera(raw1394handle_t handle, dc1394_cameracapture *camera);/***************************************************** dc1394_single_capture Captures a frame of video from the camera specified*****************************************************/int dc1394_single_capture(raw1394handle_t handle, dc1394_cameracapture *camera);/******************************************************** dc1394_multi_capture This routine captures a frame from each camera specified in the cams array. Cameras must be set up first using dc1394_setup_camera Returns DC1394_FAILURE if it fails, DC1394_SUCCESS if it succeeds*********************************************************/int dc1394_multi_capture(raw1394handle_t handle, dc1394_cameracapture *cams, int num);/************************************************** Functions to read and write camera setups on/in memory channels***************************************************/int dc1394_get_memory_load_ch(raw1394handle_t handle, nodeid_t node, unsigned int *channel);int dc1394_get_memory_save_ch(raw1394handle_t handle, nodeid_t node, unsigned int *channel);int dc1394_is_memory_save_in_operation(raw1394handle_t handle, nodeid_t node, dc1394bool_t *value);int dc1394_set_memory_save_ch(raw1394handle_t handle, nodeid_t node, unsigned int channel);intdc1394_memory_save(raw1394handle_t handle, nodeid_t node);intdc1394_memory_load(raw1394handle_t handle, nodeid_t node, unsigned int channel);/************************************************* Functions to control the trigger feature.**************************************************/intdc1394_set_trigger_polarity(raw1394handle_t handle, nodeid_t node, dc1394bool_t polarity);intdc1394_get_trigger_polarity(raw1394handle_t handle, nodeid_t node, dc1394bool_t *polarity);intdc1394_trigger_has_polarity(raw1394handle_t handle, nodeid_t node, dc1394bool_t *polarity);intdc1394_set_trigger_on_off(raw1394handle_t handle, nodeid_t node, dc1394bool_t on_off);intdc1394_get_trigger_on_off(raw1394handle_t handle, nodeid_t node, dc1394bool_t *on_off);/* Turn one software trigger on or off and get state */intdc1394_set_soft_trigger(raw1394handle_t handle, nodeid_t node);intdc1394_unset_soft_trigger(raw1394handle_t handle, nodeid_t node);intdc1394_get_soft_trigger(raw1394handle_t handle, nodeid_t node, dc1394bool_t *is_on); /************************************************* FORMAT_7 access functions**************************************************//*======================================================================*//*! * setup capture for format7 (FORMAT_SCALABLE_IMAGE_SIZE) mode. For * some parameters you may pass QUERY_FROM_CAMERA (which means query * this value from the camera and maybe adjust it to the new * conditions) or USE_MAX_AVAIL (which means query the maximum * availible value for this parameter from camera and use this) * * \param handle handle for raw1394 port * \param node node of the camera * \param channel iso channel for data transmission (0 ... 15) * \param mode mode for camera operation * (MODE_FORMAT7_0 ... MODE_FORMAT7_7) * \param speed transmission speed (SPEED_100 ... SPEED_400) * \param bytes_per_packet number of bytes per packet can be used to * control the framerate or QUERY_FROM_CAMERA or * USE_MAX_AVAIL * \param left area of interest start column or QUERY_FROM_CAMERA * \param top area of interest start row or QUERY_FROM_CAMERA * \param width area of interest width or QUERY_FROM_CAMERA * or USE_MAX_AVAIL * \param height area of interest height or QUERY_FROM_CAMERA * or USE_MAX_AVAIL * \param camera (out) structure containing the returned parameters * from the camera. Memory for this struct must be * allocated by the calling function * * \return DC1394_SUCCESS or DC1394_FAILURE *//*======================================================================*/intdc1394_setup_format7_capture(raw1394handle_t handle, nodeid_t node, int channel, int mode, int speed, int bytes_per_packet, unsigned int left, unsigned int top, unsigned int width, unsigned int height, dc1394_cameracapture * camera); /*======================================================================*//*! * setup capture for format7 (FORMAT_SCALABLE_IMAGE_SIZE) mode using * the dma engine. Should be much faster than the above * routines. For some parameters you may pass QUERY_FROM_CAMERA * (which means query this value from the camera and maybe adjust it * to the new conditions) or USE_MAX_AVAIL (which means query the * maximum availible value for this parameter from camera and use * this) * * \param handle handle for raw1394 port * \param node node of the camera * \param channel iso channel for data transmission (0 ... 15) * \param mode mode for camera operation * (MODE_FORMAT7_0 ... MODE_FORMAT7_7) * \param speed transmission speed (SPEED_100 ... SPEED_400) * \param bytes_per_packet number of bytes per packet can be used to * control the framerate or QUERY_FROM_CAMERA or * USE_MAX_AVAIL * \param left area of interest start column or QUERY_FROM_CAMERA * \param top area of interest start row or QUERY_FROM_CAMERA * \param width area of interest width or QUERY_FROM_CAMERA * or USE_MAX_AVAIL * \param height area of interest height or QUERY_FROM_CAMERA * or USE_MAX_AVAIL * \param num_dma_buffers number of buffers for the dma ring buffer * \param camera (out) structure containing the returned parameters * from the camera. Memory for this struct must be * allocated by the calling function * * \return DC1394_SUCCESS or DC1394_FAILURE *//*======================================================================*/intdc1394_dma_setup_format7_capture(raw1394handle_t handle, nodeid_t node, int channel, int mode, int speed, int bytes_per_packet, unsigned int left, unsigned int top, unsigned int width, unsigned int height, int num_dma_buffers, int drop_frames, const char *dma_device_file, dc1394_cameracapture *camera); intdc1394_query_format7_max_image_size(raw1394handle_t handle, nodeid_t node, unsigned int mode, unsigned int *horizontal_size, unsigned int *vertical_size);intdc1394_query_format7_unit_size(raw1394handle_t handle, nodeid_t node, unsigned int mode, unsigned int *horizontal_unit, unsigned int *vertical_unit);intdc1394_query_format7_image_position(raw1394handle_t handle, nodeid_t node, unsigned int mode, unsigned int *left_position, unsigned int *top_position);intdc1394_query_format7_image_size(raw1394handle_t handle, nodeid_t node, unsigned int mode, unsigned int *width, unsigned int *height);intdc1394_query_format7_color_coding_id(raw1394handle_t handle, nodeid_t node, unsigned int mode, unsigned int *color_id);intdc1394_query_format7_color_coding(raw1394handle_t handle, nodeid_t node, unsigned int mode, quadlet_t *value);intdc1394_query_format7_pixel_number(raw1394handle_t handle, nodeid_t node, unsigned int mode, unsigned int *pixnum);intdc1394_query_format7_total_bytes(raw1394handle_t handle, nodeid_t node, unsigned int mode, unsigned long long int *total_bytes);intdc1394_query_format7_packet_para(raw1394handle_t handle, nodeid_t node, unsigned int mode, unsigned int *min_bytes, unsigned int *max_bytes);intdc1394_query_format7_byte_per_packet(raw1394handle_t handle, nodeid_t node, unsigned int mode, unsigned int *packet_bytes);intdc1394_set_format7_image_position(raw1394handle_t handle, nodeid_t node, unsigned int mode, unsigned int left, unsigned int top);intdc1394_set_format7_image_size(raw1394handle_t handle, nodeid_t node, unsigned int mode, unsigned int width, unsigned int height);intdc1394_set_format7_color_coding_id(raw1394handle_t handle, nodeid_t node, unsigned int mode, unsigned int color_id);intdc1394_set_format7_byte_per_packet(raw1394handle_t handle, nodeid_t node, unsigned int mode, unsigned int packet_bytes);intdc1394_query_format7_value_setting(raw1394handle_t handle, nodeid_t node, unsigned int mode, unsigned int *present, unsigned int *setting1, unsigned int *err_flag1, unsigned int *err_flag2);intdc1394_set_format7_value_setting(raw1394handle_t handle, nodeid_t node, unsigned int mode);intdc1394_query_format7_recommended_byte_per_packet(raw1394handle_t handle, nodeid_t node, unsigned int mode, unsigned int *bpp);intdc1394_query_format7_packet_per_frame(raw1394handle_t handle, nodeid_t node, unsigned int mode, unsigned int *ppf);intdc1394_query_format7_packet_per_frame(raw1394handle_t handle, nodeid_t node, unsigned int mode, unsigned int *ppf);intdc1394_query_format7_unit_position(raw1394handle_t handle, nodeid_t node, unsigned int mode, unsigned int *horizontal_pos, unsigned int *vertical_pos);intdc1394_query_format7_data_depth(raw1394handle_t handle, nodeid_t node, unsigned int mode, unsigned int *data_depth);intdc1394_query_format7_frame_interval(raw1394handle_t handle, nodeid_t node, unsigned int mode, float *interval);intdc1394_set_format7_color_filter_id(raw1394handle_t handle, nodeid_t node, unsigned int mode, unsigned int color_id);intdc1394_query_format7_color_filter_id(raw1394handle_t handle, nodeid_t node, unsigned int mode, unsigned int *color_id);/********************************** * ABSOLUTE SETTING FUNCTIONS * **********************************/intdc1394_query_absolute_feature_min_max(raw1394handle_t handle, nodeid_t node, unsigned int feature, float *min, float *max);intdc1394_query_absolute_feature_value(raw1394handle_t handle, nodeid_t node, int feature, float *value);intdc1394_set_absolute_feature_value(raw1394handle_t handle, nodeid_t node, int feature, float value);intdc1394_query_absolute_control(raw1394handle_t handle, nodeid_t node, unsigned int feature, dc1394bool_t *value);intdc1394_absolute_setting_on_off(raw1394handle_t handle, nodeid_t node, unsigned int feature, unsigned int value);intdc1394_has_absolute_control(raw1394handle_t handle, nodeid_t node, unsigned int feature, dc1394bool_t *value);intdc1394_get_bandwidth_usage(raw1394handle_t handle, nodeid_t node, unsigned int *bandwidth);intdc1394_get_camera_port(raw1394handle_t handle);#ifdef __cplusplus}#endif#endif /* _DC1394_CAMERA_CONTROL_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -