Intel® RealSense™ Cross Platform API
Intel Realsense Cross-platform API
libuvc.h
Go to the documentation of this file.
1 #ifndef LIBUVC_H
2 #define LIBUVC_H
3 
4 #ifdef __cplusplus
5 extern "C" {
6 #endif
7 
8 #include <stdio.h> // FILE
9 #include <stdint.h>
10 
11 #ifdef WIN32
12 #include <winsock.h>
13 #else
14 #include <sys/time.h>
15 #endif
16 
17 #include <libuvc/libuvc_config.h>
18 
19 struct libusb_context;
20 struct libusb_device_handle;
21 
25 typedef enum uvc_error {
60 } uvc_error_t;
61 
85 };
86 
87 /* UVC_COLOR_FORMAT_* have been replaced with UVC_FRAME_FORMAT_*. Please use
88  * UVC_FRAME_FORMAT_* instead of using these. */
89 #define UVC_COLOR_FORMAT_UNKNOWN UVC_FRAME_FORMAT_UNKNOWN
90 #define UVC_COLOR_FORMAT_UNCOMPRESSED UVC_FRAME_FORMAT_UNCOMPRESSED
91 #define UVC_COLOR_FORMAT_COMPRESSED UVC_FRAME_FORMAT_COMPRESSED
92 #define UVC_COLOR_FORMAT_YUYV UVC_FRAME_FORMAT_YUYV
93 #define UVC_COLOR_FORMAT_UYVY UVC_FRAME_FORMAT_UYVY
94 #define UVC_COLOR_FORMAT_RGB UVC_FRAME_FORMAT_RGB
95 #define UVC_COLOR_FORMAT_BGR UVC_FRAME_FORMAT_BGR
96 #define UVC_COLOR_FORMAT_MJPEG UVC_FRAME_FORMAT_MJPEG
97 #define UVC_COLOR_FORMAT_GRAY8 UVC_FRAME_FORMAT_GRAY8
98 
115 };
116 
117 struct uvc_format_desc;
118 struct uvc_frame_desc;
119 
126 typedef struct uvc_frame_desc {
132  uint8_t bFrameIndex;
133  uint8_t bmCapabilities;
135  uint16_t wWidth;
137  uint16_t wHeight;
139  uint32_t dwMinBitRate;
141  uint32_t dwMaxBitRate;
155  uint32_t dwBytesPerLine;
157  uint32_t *intervals;
159 
165 typedef struct uvc_format_desc {
166  struct uvc_streaming_interface *parent;
171  uint8_t bFormatIndex;
174  union {
175  uint8_t guidFormat[16];
176  uint8_t fourccFormat[4];
177  };
179  union {
181  uint8_t bBitsPerPixel;
183  uint8_t bmFlags;
184  };
187  uint8_t bAspectRatioX;
188  uint8_t bAspectRatioY;
190  uint8_t bCopyProtect;
191  uint8_t bVariableSize;
195 
199  UVC_SET_CUR = 0x01,
200  UVC_GET_CUR = 0x81,
201  UVC_GET_MIN = 0x82,
202  UVC_GET_MAX = 0x83,
203  UVC_GET_RES = 0x84,
204  UVC_GET_LEN = 0x85,
205  UVC_GET_INFO = 0x86,
206  UVC_GET_DEF = 0x87,
209 };
210 
214 };
215 
239 };
240 
263 };
264 
269 };
270 
274  UVC_ITT_CAMERA = 0x0201,
276 };
277 
281  UVC_OTT_DISPLAY = 0x0301,
283 };
284 
291 };
292 
299 struct uvc_context;
300 typedef struct uvc_context uvc_context_t;
301 
306 struct uvc_device;
307 typedef struct uvc_device uvc_device_t;
308 
314 struct uvc_device_handle;
315 typedef struct uvc_device_handle uvc_device_handle_t;
316 
322 struct uvc_stream_handle;
323 typedef struct uvc_stream_handle uvc_stream_handle_t;
324 
326 typedef struct uvc_input_terminal {
329  uint8_t bTerminalID;
336  uint64_t bmControls;
338 
339 typedef struct uvc_output_terminal {
343 
345 typedef struct uvc_processing_unit {
348  uint8_t bUnitID;
350  uint8_t bSourceID;
352  uint64_t bmControls;
354 
356 typedef struct uvc_selector_unit {
359  uint8_t bUnitID;
361 
363 typedef struct uvc_extension_unit {
366  uint8_t bUnitID;
368  uint8_t guidExtensionCode[16];
370  uint64_t bmControls;
372 
377 };
378 
384 };
385 
389 typedef void(uvc_status_callback_t)(enum uvc_status_class status_class,
390  int event,
391  int selector,
392  enum uvc_status_attribute status_attribute,
393  void *data, size_t data_len,
394  void *user_ptr);
395 
399 typedef void(uvc_button_callback_t)(int button,
400  int state,
401  void *user_ptr);
402 
407 typedef struct uvc_device_descriptor {
409  uint16_t idVendor;
411  uint16_t idProduct;
413  uint16_t bcdUVC;
415  const char *serialNumber;
417  const char *manufacturer;
419  const char *product;
421 
425 typedef struct uvc_frame {
427  void *data;
429  size_t data_bytes;
431  void *metadata;
433  uint8_t metadata_bytes;
435  uint32_t width;
437  uint32_t height;
441  size_t step;
443  uint32_t sequence;
445  struct timeval capture_time;
456 } uvc_frame_t;
457 
461 typedef void(uvc_frame_callback_t)(struct uvc_frame *frame, void *user_ptr);
462 
466 typedef struct uvc_stream_ctrl {
467  uint16_t bmHint;
468  uint8_t bFormatIndex;
469  uint8_t bFrameIndex;
470  uint32_t dwFrameInterval;
471  uint16_t wKeyFrameRate;
472  uint16_t wPFrameRate;
473  uint16_t wCompQuality;
474  uint16_t wCompWindowSize;
475  uint16_t wDelay;
479  uint8_t bmFramingInfo;
481  uint8_t bMinVersion;
482  uint8_t bMaxVersion;
484  uint8_t bUsage;
485  uint8_t bBitDepthLuma;
486  uint8_t bmSettings;
491 
492 typedef struct uvc_format {
494  uint32_t width;
496  uint32_t height;
498  uint32_t fourcc;
500  uint32_t fps;
502  struct uvc_format *next;
503 } uvc_format_t;
504 
505 typedef struct uvc_stream_info {
507  uint32_t interface_idx;
509  char stream_name[128];
513 
514 uvc_error_t uvc_init(uvc_context_t **ctx, struct libusb_context *usb_ctx);
515 void uvc_exit(uvc_context_t *ctx);
516 
518  uvc_context_t *ctx,
519  uvc_device_t ***list);
520 void uvc_free_device_list(uvc_device_t **list, uint8_t unref_devices);
521 
523  uvc_device_t *dev,
524  uvc_device_descriptor_t **desc);
527 
528 uint8_t uvc_get_bus_number(uvc_device_t *dev);
530 
532  uvc_context_t *ctx,
533  uvc_device_t **dev,
534  int vid, int pid, const char *sn);
535 
537  uvc_context_t *ctx,
538  uvc_device_t ***devs,
539  int vid, int pid, const char *sn);
540 
542  uvc_device_t *dev,
543  uvc_device_handle_t **devh);
544 
546  uvc_device_t *dev,
547  uvc_device_handle_t **devh,
548  int camera_number);
549 
550 void uvc_close(uvc_device_handle_t *devh);
551 
553 struct libusb_device_handle *uvc_get_libusb_handle(uvc_device_handle_t *devh);
554 
555 void uvc_ref_device(uvc_device_t *dev);
556 void uvc_unref_device(uvc_device_t *dev);
557 
560  void *user_ptr);
561 
564  void *user_ptr);
565 
572 
574  uvc_device_handle_t *devh,
575  uvc_stream_ctrl_t *ctrl,
576  uint32_t fourcc,
577  int width, int height,
578  int fps,
579  int interface_idx
580 );
581 
583  uvc_device_handle_t *devh,
584  uvc_stream_ctrl_t *ctrl,
585  uint32_t fourcc,
586  int width, int height,
587  int fps
588 );
589 
591  uvc_device_handle_t *devh,
592  int interface_idx,
593  uvc_format_t **formats);
594 
596  uvc_device_handle_t *devh,
597  uvc_format_t **formats);
598 
600 
602 
604  uvc_device_handle_t *devh,
605  uvc_stream_ctrl_t *ctrl);
606 
608  uvc_device_handle_t *devh,
609  uvc_stream_ctrl_t *ctrl,
611  void *user_ptr,
612  uint8_t flags);
613 
615  uvc_device_handle_t *devh,
616  uvc_stream_ctrl_t *ctrl,
618  void *user_ptr);
619 
621 
626  void *user_ptr,
627  uint8_t flags);
630  void *user_ptr);
632  uvc_stream_handle_t *strmh,
633  uvc_frame_t **frame,
634  int32_t timeout_us
635 );
638 
639 int uvc_get_ctrl_len(uvc_device_handle_t *devh, uint8_t unit, uint8_t ctrl);
640 int uvc_get_ctrl(uvc_device_handle_t *devh, uint8_t unit, uint8_t ctrl, void *data, int len, enum uvc_req_code req_code);
641 int uvc_set_ctrl(uvc_device_handle_t *devh, uint8_t unit, uint8_t ctrl, void *data, int len);
642 
645 
646 /* AUTO-GENERATED control accessors! Update them with the output of `ctrl-gen.py decl`. */
647 uvc_error_t uvc_get_scanning_mode(uvc_device_handle_t *devh, uint8_t* mode, enum uvc_req_code req_code);
649 
650 uvc_error_t uvc_get_ae_mode(uvc_device_handle_t *devh, uint8_t* mode, enum uvc_req_code req_code);
651 uvc_error_t uvc_set_ae_mode(uvc_device_handle_t *devh, uint8_t mode);
652 
653 uvc_error_t uvc_get_ae_priority(uvc_device_handle_t *devh, uint8_t* priority, enum uvc_req_code req_code);
654 uvc_error_t uvc_set_ae_priority(uvc_device_handle_t *devh, uint8_t priority);
655 
656 uvc_error_t uvc_get_exposure_abs(uvc_device_handle_t *devh, uint32_t* time, enum uvc_req_code req_code);
658 
659 uvc_error_t uvc_get_exposure_rel(uvc_device_handle_t *devh, int8_t* step, enum uvc_req_code req_code);
661 
662 uvc_error_t uvc_get_focus_abs(uvc_device_handle_t *devh, uint16_t* focus, enum uvc_req_code req_code);
663 uvc_error_t uvc_set_focus_abs(uvc_device_handle_t *devh, uint16_t focus);
664 
665 uvc_error_t uvc_get_focus_rel(uvc_device_handle_t *devh, int8_t* focus_rel, uint8_t* speed, enum uvc_req_code req_code);
666 uvc_error_t uvc_set_focus_rel(uvc_device_handle_t *devh, int8_t focus_rel, uint8_t speed);
667 
668 uvc_error_t uvc_get_focus_simple_range(uvc_device_handle_t *devh, uint8_t* focus, enum uvc_req_code req_code);
670 
671 uvc_error_t uvc_get_focus_auto(uvc_device_handle_t *devh, uint8_t* state, enum uvc_req_code req_code);
673 
674 uvc_error_t uvc_get_iris_abs(uvc_device_handle_t *devh, uint16_t* iris, enum uvc_req_code req_code);
675 uvc_error_t uvc_set_iris_abs(uvc_device_handle_t *devh, uint16_t iris);
676 
677 uvc_error_t uvc_get_iris_rel(uvc_device_handle_t *devh, uint8_t* iris_rel, enum uvc_req_code req_code);
678 uvc_error_t uvc_set_iris_rel(uvc_device_handle_t *devh, uint8_t iris_rel);
679 
680 uvc_error_t uvc_get_zoom_abs(uvc_device_handle_t *devh, uint16_t* focal_length, enum uvc_req_code req_code);
681 uvc_error_t uvc_set_zoom_abs(uvc_device_handle_t *devh, uint16_t focal_length);
682 
683 uvc_error_t uvc_get_zoom_rel(uvc_device_handle_t *devh, int8_t* zoom_rel, uint8_t* digital_zoom, uint8_t* speed, enum uvc_req_code req_code);
684 uvc_error_t uvc_set_zoom_rel(uvc_device_handle_t *devh, int8_t zoom_rel, uint8_t digital_zoom, uint8_t speed);
685 
686 uvc_error_t uvc_get_pantilt_abs(uvc_device_handle_t *devh, int32_t* pan, int32_t* tilt, enum uvc_req_code req_code);
687 uvc_error_t uvc_set_pantilt_abs(uvc_device_handle_t *devh, int32_t pan, int32_t tilt);
688 
689 uvc_error_t uvc_get_pantilt_rel(uvc_device_handle_t *devh, int8_t* pan_rel, uint8_t* pan_speed, int8_t* tilt_rel, uint8_t* tilt_speed, enum uvc_req_code req_code);
690 uvc_error_t uvc_set_pantilt_rel(uvc_device_handle_t *devh, int8_t pan_rel, uint8_t pan_speed, int8_t tilt_rel, uint8_t tilt_speed);
691 
692 uvc_error_t uvc_get_roll_abs(uvc_device_handle_t *devh, int16_t* roll, enum uvc_req_code req_code);
694 
695 uvc_error_t uvc_get_roll_rel(uvc_device_handle_t *devh, int8_t* roll_rel, uint8_t* speed, enum uvc_req_code req_code);
696 uvc_error_t uvc_set_roll_rel(uvc_device_handle_t *devh, int8_t roll_rel, uint8_t speed);
697 
698 uvc_error_t uvc_get_privacy(uvc_device_handle_t *devh, uint8_t* privacy, enum uvc_req_code req_code);
699 uvc_error_t uvc_set_privacy(uvc_device_handle_t *devh, uint8_t privacy);
700 
701 uvc_error_t uvc_get_digital_window(uvc_device_handle_t *devh, uint16_t* window_top, uint16_t* window_left, uint16_t* window_bottom, uint16_t* window_right, uint16_t* num_steps, uint16_t* num_steps_units, enum uvc_req_code req_code);
702 uvc_error_t uvc_set_digital_window(uvc_device_handle_t *devh, uint16_t window_top, uint16_t window_left, uint16_t window_bottom, uint16_t window_right, uint16_t num_steps, uint16_t num_steps_units);
703 
704 uvc_error_t uvc_get_digital_roi(uvc_device_handle_t *devh, uint16_t* roi_top, uint16_t* roi_left, uint16_t* roi_bottom, uint16_t* roi_right, uint16_t* auto_controls, enum uvc_req_code req_code);
705 uvc_error_t uvc_set_digital_roi(uvc_device_handle_t *devh, uint16_t roi_top, uint16_t roi_left, uint16_t roi_bottom, uint16_t roi_right, uint16_t auto_controls);
706 
707 uvc_error_t uvc_get_backlight_compensation(uvc_device_handle_t *devh, uint16_t* backlight_compensation, enum uvc_req_code req_code);
708 uvc_error_t uvc_set_backlight_compensation(uvc_device_handle_t *devh, uint16_t backlight_compensation);
709 
710 uvc_error_t uvc_get_brightness(uvc_device_handle_t *devh, int16_t* brightness, enum uvc_req_code req_code);
711 uvc_error_t uvc_set_brightness(uvc_device_handle_t *devh, int16_t brightness);
712 
713 uvc_error_t uvc_get_contrast(uvc_device_handle_t *devh, uint16_t* contrast, enum uvc_req_code req_code);
714 uvc_error_t uvc_set_contrast(uvc_device_handle_t *devh, uint16_t contrast);
715 
716 uvc_error_t uvc_get_contrast_auto(uvc_device_handle_t *devh, uint8_t* contrast_auto, enum uvc_req_code req_code);
717 uvc_error_t uvc_set_contrast_auto(uvc_device_handle_t *devh, uint8_t contrast_auto);
718 
719 uvc_error_t uvc_get_gain(uvc_device_handle_t *devh, uint16_t* gain, enum uvc_req_code req_code);
720 uvc_error_t uvc_set_gain(uvc_device_handle_t *devh, uint16_t gain);
721 
722 uvc_error_t uvc_get_power_line_frequency(uvc_device_handle_t *devh, uint8_t* power_line_frequency, enum uvc_req_code req_code);
723 uvc_error_t uvc_set_power_line_frequency(uvc_device_handle_t *devh, uint8_t power_line_frequency);
724 
725 uvc_error_t uvc_get_hue(uvc_device_handle_t *devh, int16_t* hue, enum uvc_req_code req_code);
726 uvc_error_t uvc_set_hue(uvc_device_handle_t *devh, int16_t hue);
727 
728 uvc_error_t uvc_get_hue_auto(uvc_device_handle_t *devh, uint8_t* hue_auto, enum uvc_req_code req_code);
729 uvc_error_t uvc_set_hue_auto(uvc_device_handle_t *devh, uint8_t hue_auto);
730 
731 uvc_error_t uvc_get_saturation(uvc_device_handle_t *devh, uint16_t* saturation, enum uvc_req_code req_code);
732 uvc_error_t uvc_set_saturation(uvc_device_handle_t *devh, uint16_t saturation);
733 
734 uvc_error_t uvc_get_sharpness(uvc_device_handle_t *devh, uint16_t* sharpness, enum uvc_req_code req_code);
735 uvc_error_t uvc_set_sharpness(uvc_device_handle_t *devh, uint16_t sharpness);
736 
737 uvc_error_t uvc_get_gamma(uvc_device_handle_t *devh, uint16_t* gamma, enum uvc_req_code req_code);
738 uvc_error_t uvc_set_gamma(uvc_device_handle_t *devh, uint16_t gamma);
739 
740 uvc_error_t uvc_get_white_balance_temperature(uvc_device_handle_t *devh, uint16_t* temperature, enum uvc_req_code req_code);
742 
743 uvc_error_t uvc_get_white_balance_temperature_auto(uvc_device_handle_t *devh, uint8_t* temperature_auto, enum uvc_req_code req_code);
745 
746 uvc_error_t uvc_get_white_balance_component(uvc_device_handle_t *devh, uint16_t* blue, uint16_t* red, enum uvc_req_code req_code);
747 uvc_error_t uvc_set_white_balance_component(uvc_device_handle_t *devh, uint16_t blue, uint16_t red);
748 
749 uvc_error_t uvc_get_white_balance_component_auto(uvc_device_handle_t *devh, uint8_t* white_balance_component_auto, enum uvc_req_code req_code);
750 uvc_error_t uvc_set_white_balance_component_auto(uvc_device_handle_t *devh, uint8_t white_balance_component_auto);
751 
752 uvc_error_t uvc_get_digital_multiplier(uvc_device_handle_t *devh, uint16_t* multiplier_step, enum uvc_req_code req_code);
753 uvc_error_t uvc_set_digital_multiplier(uvc_device_handle_t *devh, uint16_t multiplier_step);
754 
755 uvc_error_t uvc_get_digital_multiplier_limit(uvc_device_handle_t *devh, uint16_t* multiplier_step, enum uvc_req_code req_code);
756 uvc_error_t uvc_set_digital_multiplier_limit(uvc_device_handle_t *devh, uint16_t multiplier_step);
757 
758 uvc_error_t uvc_get_analog_video_standard(uvc_device_handle_t *devh, uint8_t* video_standard, enum uvc_req_code req_code);
759 uvc_error_t uvc_set_analog_video_standard(uvc_device_handle_t *devh, uint8_t video_standard);
760 
763 
764 uvc_error_t uvc_get_input_select(uvc_device_handle_t *devh, uint8_t* selector, enum uvc_req_code req_code);
765 uvc_error_t uvc_set_input_select(uvc_device_handle_t *devh, uint8_t selector);
766 /* end AUTO-GENERATED control accessors */
767 
768 void uvc_perror(uvc_error_t err, const char *msg);
769 const char* uvc_strerror(uvc_error_t err);
770 void uvc_print_diag(uvc_device_handle_t *devh, FILE *stream);
771 void uvc_print_stream_ctrl(uvc_stream_ctrl_t *ctrl, FILE *stream);
772 
773 uvc_frame_t *uvc_allocate_frame(size_t data_bytes);
774 void uvc_free_frame(uvc_frame_t *frame);
775 
777 
781 
785 
788 
790  uvc_device_handle_t *devh, uvc_stream_info_t **streams);
792 #ifdef LIBUVC_HAS_JPEG
793 uvc_error_t uvc_mjpeg2rgb(uvc_frame_t *in, uvc_frame_t *out);
794 #endif
795 
796 #ifdef __cplusplus
797 }
798 #endif
799 
800 #endif // !def(LIBUVC_H)
801 
Definition: libuvc.h:202
Definition: libuvc.h:59
uint16_t wOcularFocalLength
Definition: libuvc.h:334
uvc_vs_desc_subtype
Definition: libuvc.h:100
const uvc_input_terminal_t * uvc_get_input_terminals(uvc_device_handle_t *devh)
Definition: libuvc.h:47
void() uvc_status_callback_t(enum uvc_status_class status_class, int event, int selector, enum uvc_status_attribute status_attribute, void *data, size_t data_len, void *user_ptr)
Definition: libuvc.h:389
Definition: libuvc.h:236
uint8_t bBitDepthLuma
Definition: libuvc.h:485
uvc_error_t uvc_set_focus_rel(uvc_device_handle_t *devh, int8_t focus_rel, uint8_t speed)
const uvc_extension_unit_t * uvc_get_extension_units(uvc_device_handle_t *devh)
uint16_t wObjectiveFocalLengthMin
Definition: libuvc.h:332
void uvc_close(uvc_device_handle_t *devh)
Definition: libuvc.h:201
void uvc_ref_device(uvc_device_t *dev)
uint8_t bUnitID
Definition: libuvc.h:366
uvc_error_t uvc_get_white_balance_temperature(uvc_device_handle_t *devh, uint16_t *temperature, enum uvc_req_code req_code)
uvc_req_code
Definition: libuvc.h:197
enum uvc_vs_desc_subtype bDescriptorSubtype
Definition: libuvc.h:169
uvc_error_t uvc_set_saturation(uvc_device_handle_t *devh, uint16_t saturation)
uvc_et_type
Definition: libuvc.h:286
uvc_error_t uvc_set_hue_auto(uvc_device_handle_t *devh, uint8_t hue_auto)
uvc_error_t uvc_free_streams(uvc_stream_info_t *streams)
Definition: libuvc.h:114
Definition: libuvc.h:274
uvc_error_t uvc_uyvy2bgr(uvc_frame_t *in, uvc_frame_t *out)
uvc_error_t uvc_set_gain(uvc_device_handle_t *devh, uint16_t gain)
uint8_t bSourceID
Definition: libuvc.h:350
uint8_t bUnitID
Definition: libuvc.h:359
Definition: libuvc.h:492
uvc_error_t uvc_start_iso_streaming(uvc_device_handle_t *devh, uvc_stream_ctrl_t *ctrl, uvc_frame_callback_t *cb, void *user_ptr)
uvc_error_t uvc_get_digital_window(uvc_device_handle_t *devh, uint16_t *window_top, uint16_t *window_left, uint16_t *window_bottom, uint16_t *window_right, uint16_t *num_steps, uint16_t *num_steps_units, enum uvc_req_code req_code)
int uvc_get_ctrl_len(uvc_device_handle_t *devh, uint8_t unit, uint8_t ctrl)
uint64_t bmLayoutPerStream
Definition: libuvc.h:489
uvc_error_t uvc_get_scanning_mode(uvc_device_handle_t *devh, uint8_t *mode, enum uvc_req_code req_code)
size_t data_bytes
Definition: libuvc.h:429
enum uvc_it_type wTerminalType
Definition: libuvc.h:331
int uvc_get_ctrl(uvc_device_handle_t *devh, uint8_t unit, uint8_t ctrl, void *data, int len, enum uvc_req_code req_code)
Definition: libuvc.h:107
const char * manufacturer
Definition: libuvc.h:417
Definition: libuvc.h:106
uvc_error_t uvc_get_gamma(uvc_device_handle_t *devh, uint16_t *gamma, enum uvc_req_code req_code)
char stream_name[128]
Definition: libuvc.h:509
uvc_error_t uvc_get_stream_ctrl_format_size_all(uvc_device_handle_t *devh, uvc_stream_ctrl_t *ctrl, uint32_t fourcc, int width, int height, int fps)
Definition: libuvc.h:231
uvc_error_t uvc_set_contrast_auto(uvc_device_handle_t *devh, uint8_t contrast_auto)
uint16_t wWidth
Definition: libuvc.h:135
uvc_error_t uvc_get_available_formats(uvc_device_handle_t *devh, int interface_idx, uvc_format_t **formats)
uvc_error_t uvc_start_streaming(uvc_device_handle_t *devh, uvc_stream_ctrl_t *ctrl, uvc_frame_callback_t *cb, void *user_ptr, uint8_t flags)
uint32_t * intervals
Definition: libuvc.h:157
uvc_error_t uvc_get_exposure_abs(uvc_device_handle_t *devh, uint32_t *time, enum uvc_req_code req_code)
Definition: libuvc.h:101
uvc_frame_t * uvc_allocate_frame(size_t data_bytes)
struct uvc_processing_unit * next
Definition: libuvc.h:346
uvc_error_t uvc_set_iris_abs(uvc_device_handle_t *devh, uint16_t iris)
Definition: libuvc.h:45
uvc_error_t uvc_get_backlight_compensation(uvc_device_handle_t *devh, uint16_t *backlight_compensation, enum uvc_req_code req_code)
uint8_t guidExtensionCode[16]
Definition: libuvc.h:368
uvc_error_t uvc_free_formats(uvc_format_t *formats)
Definition: libuvc.h:105
uvc_error_t uvc_get_pantilt_rel(uvc_device_handle_t *devh, int8_t *pan_rel, uint8_t *pan_speed, int8_t *tilt_rel, uint8_t *tilt_speed, enum uvc_req_code req_code)
uvc_error_t uvc_find_devices(uvc_context_t *ctx, uvc_device_t ***devs, int vid, int pid, const char *sn)
Definition: libuvc.h:39
Definition: libuvc.h:249
const uvc_output_terminal_t * uvc_get_output_terminals(uvc_device_handle_t *devh)
struct libusb_device_handle * uvc_get_libusb_handle(uvc_device_handle_t *devh)
Definition: libuvc.h:267
struct uvc_stream_info * next
Definition: libuvc.h:511
Definition: libuvc.h:33
uint16_t bcdUVC
Definition: libuvc.h:413
Definition: libuvc.h:326
uvc_error_t uvc_set_white_balance_component(uvc_device_handle_t *devh, uint16_t blue, uint16_t red)
Definition: libuvc.h:204
Definition: libuvc.h:224
uint16_t wHeight
Definition: libuvc.h:137
struct uvc_processing_unit * prev
Definition: libuvc.h:346
uvc_error_t uvc_get_white_balance_component_auto(uvc_device_handle_t *devh, uint8_t *white_balance_component_auto, enum uvc_req_code req_code)
void() uvc_button_callback_t(int button, int state, void *user_ptr)
Definition: libuvc.h:399
const char * serialNumber
Definition: libuvc.h:415
uvc_error_t uvc_get_sharpness(uvc_device_handle_t *devh, uint16_t *sharpness, enum uvc_req_code req_code)
uvc_error_t uvc_get_pantilt_abs(uvc_device_handle_t *devh, int32_t *pan, int32_t *tilt, enum uvc_req_code req_code)
uvc_device_t * uvc_get_device(uvc_device_handle_t *devh)
uvc_error_t uvc_stream_stop(uvc_stream_handle_t *strmh)
void uvc_exit(uvc_context_t *ctx)
uint16_t idProduct
Definition: libuvc.h:411
uvc_error_t uvc_set_sharpness(uvc_device_handle_t *devh, uint16_t sharpness)
uvc_error_t uvc_get_gain(uvc_device_handle_t *devh, uint16_t *gain, enum uvc_req_code req_code)
struct uvc_selector_unit * prev
Definition: libuvc.h:357
Definition: libuvc.h:74
uvc_error_t uvc_duplicate_frame(uvc_frame_t *in, uvc_frame_t *out)
Definition: libuvc.h:75
Definition: libuvc.h:259
uint32_t fourcc
Definition: libuvc.h:498
uvc_error_t uvc_yuyv2bgr(uvc_frame_t *in, uvc_frame_t *out)
uint8_t bMaxVersion
Definition: libuvc.h:482
struct uvc_format_desc * prev
Definition: libuvc.h:167
Definition: libuvc.h:37
struct uvc_device uvc_device_t
Definition: libuvc.h:307
uvc_error_t uvc_get_contrast_auto(uvc_device_handle_t *devh, uint8_t *contrast_auto, enum uvc_req_code req_code)
enum uvc_error uvc_error_t
struct uvc_frame_desc * prev
Definition: libuvc.h:128
Definition: libuvc.h:383
void uvc_print_stream_ctrl(uvc_stream_ctrl_t *ctrl, FILE *stream)
const char * product
Definition: libuvc.h:419
Definition: libuvc.h:382
struct uvc_output_terminal * prev
Definition: libuvc.h:340
uvc_error_t uvc_uyvy2rgb(uvc_frame_t *in, uvc_frame_t *out)
uvc_error_t uvc_get_focus_rel(uvc_device_handle_t *devh, int8_t *focus_rel, uint8_t *speed, enum uvc_req_code req_code)
uvc_error_t uvc_probe_stream_ctrl(uvc_device_handle_t *devh, uvc_stream_ctrl_t *ctrl)
uvc_error_t uvc_get_ae_mode(uvc_device_handle_t *devh, uint8_t *mode, enum uvc_req_code req_code)
uint32_t height
Definition: libuvc.h:437
struct uvc_input_terminal * prev
Definition: libuvc.h:327
uvc_error_t uvc_stream_ctrl(uvc_stream_handle_t *strmh, uvc_stream_ctrl_t *ctrl)
Definition: libuvc.h:70
Definition: libuvc.h:290
uint32_t interface_idx
Definition: libuvc.h:507
Definition: libuvc.h:356
Definition: libuvc.h:102
Definition: libuvc.h:208
uvc_error_t uvc_get_device_list(uvc_context_t *ctx, uvc_device_t ***list)
Definition: libuvc.h:113
struct uvc_output_terminal uvc_output_terminal_t
uvc_device_power_mode
Definition: libuvc.h:211
struct uvc_processing_unit uvc_processing_unit_t
uvc_error_t uvc_set_zoom_rel(uvc_device_handle_t *devh, int8_t zoom_rel, uint8_t digital_zoom, uint8_t speed)
Definition: libuvc.h:104
Definition: libuvc.h:207
uvc_error_t uvc_stream_open_ctrl(uvc_device_handle_t *devh, uvc_stream_handle_t **strmh, uvc_stream_ctrl_t *ctrl)
Definition: libuvc.h:109
Definition: libuvc.h:111
Definition: libuvc.h:165
uint32_t dwMinBitRate
Definition: libuvc.h:139
uvc_error_t uvc_set_digital_multiplier_limit(uvc_device_handle_t *devh, uint16_t multiplier_step)
Definition: libuvc.h:268
Definition: libuvc.h:68
void uvc_perror(uvc_error_t err, const char *msg)
uint32_t width
Definition: libuvc.h:494
struct uvc_format_desc * next
Definition: libuvc.h:167
Definition: libuvc.h:110
uvc_error_t uvc_get_power_mode(uvc_device_handle_t *devh, enum uvc_device_power_mode *mode, enum uvc_req_code req_code)
status
Defines return codes that SDK interfaces use. Negative values indicate errors, a zero value indicates...
Definition: serialization.h:305
uint32_t dwFrameIntervalStep
Definition: libuvc.h:151
struct uvc_format_desc * parent
Definition: libuvc.h:127
uint16_t wObjectiveFocalLengthMax
Definition: libuvc.h:333
Definition: libuvc.h:69
uint32_t dwMaxVideoFrameBufferSize
Definition: libuvc.h:143
uvc_error_t uvc_set_roll_abs(uvc_device_handle_t *devh, int16_t roll)
uvc_error_t uvc_stream_start(uvc_stream_handle_t *strmh, uvc_frame_callback_t *cb, void *user_ptr, uint8_t flags)
uvc_error_t uvc_set_privacy(uvc_device_handle_t *devh, uint8_t privacy)
uint8_t library_owns_data
Definition: libuvc.h:455
uint8_t bInterfaceNumber
Definition: libuvc.h:483
Definition: libuvc.h:29
void uvc_free_frame(uvc_frame_t *frame)
Definition: libuvc.h:339
struct uvc_format_desc uvc_format_desc_t
uvc_error_t uvc_set_power_line_frequency(uvc_device_handle_t *devh, uint8_t power_line_frequency)
uvc_error_t uvc_get_available_formats_all(uvc_device_handle_t *devh, uvc_format_t **formats)
Definition: libuvc.h:218
Definition: libuvc.h:200
uvc_error_t uvc_get_stream_ctrl_format_size(uvc_device_handle_t *devh, uvc_stream_ctrl_t *ctrl, uint32_t fourcc, int width, int height, int fps, int interface_idx)
uint8_t bFrameIntervalType
Definition: libuvc.h:153
Definition: libuvc.h:27
Definition: libuvc.h:375
enum uvc_vs_desc_subtype bDescriptorSubtype
Definition: libuvc.h:130
Definition: libuvc.h:257
uint8_t uvc_get_bus_number(uvc_device_t *dev)
uint8_t bBitsPerPixel
Definition: libuvc.h:181
uvc_status_class
Definition: libuvc.h:373
uint32_t dwMaxPayloadTransferSize
Definition: libuvc.h:477
uvc_error_t uvc_set_digital_roi(uvc_device_handle_t *devh, uint16_t roi_top, uint16_t roi_left, uint16_t roi_bottom, uint16_t roi_right, uint16_t auto_controls)
Definition: libuvc.h:35
uvc_error_t uvc_set_pantilt_rel(uvc_device_handle_t *devh, int8_t pan_rel, uint8_t pan_speed, int8_t tilt_rel, uint8_t tilt_speed)
struct uvc_format uvc_format_t
uint32_t width
Definition: libuvc.h:435
Definition: libuvc.h:103
Definition: libuvc.h:245
uint32_t dwFrameInterval
Definition: libuvc.h:470
void uvc_free_device_descriptor(uvc_device_descriptor_t *desc)
uvc_error_t uvc_set_iris_rel(uvc_device_handle_t *devh, uint8_t iris_rel)
void() uvc_frame_callback_t(struct uvc_frame *frame, void *user_ptr)
Definition: libuvc.h:461
Definition: libuvc.h:289
uint8_t bFormatIndex
Definition: libuvc.h:171
void uvc_set_button_callback(uvc_device_handle_t *devh, uvc_button_callback_t cb, void *user_ptr)
Definition: libuvc.h:53
uvc_error_t uvc_open(uvc_device_t *dev, uvc_device_handle_t **devh)
uint32_t dwMaxBitRate
Definition: libuvc.h:141
uvc_error_t uvc_any2bgr(uvc_frame_t *in, uvc_frame_t *out)
const uvc_format_desc_t * uvc_get_format_descs(uvc_device_handle_t *)
uint8_t bDefaultFrameIndex
Definition: libuvc.h:186
Definition: libuvc.h:205
uint32_t dwClockFrequency
Definition: libuvc.h:478
uvc_error_t uvc_get_privacy(uvc_device_handle_t *devh, uint8_t *privacy, enum uvc_req_code req_code)
uvc_it_type
Definition: libuvc.h:272
uvc_pu_ctrl_selector
Definition: libuvc.h:242
Definition: libuvc.h:381
Definition: libuvc.h:82
uvc_error_t uvc_get_zoom_abs(uvc_device_handle_t *devh, uint16_t *focal_length, enum uvc_req_code req_code)
uvc_error_t uvc_set_scanning_mode(uvc_device_handle_t *devh, uint8_t mode)
Definition: libuvc.h:282
void uvc_unref_device(uvc_device_t *dev)
uvc_error_t uvc_get_focus_auto(uvc_device_handle_t *devh, uint8_t *state, enum uvc_req_code req_code)
uint8_t bAspectRatioY
Definition: libuvc.h:188
uint8_t bUsage
Definition: libuvc.h:484
Definition: libuvc.h:43
uint16_t bmHint
Definition: libuvc.h:467
Definition: libuvc.h:232
Definition: libuvc.h:81
Definition: libuvc.h:238
uvc_error
Definition: libuvc.h:25
uvc_error_t uvc_any2rgb(uvc_frame_t *in, uvc_frame_t *out)
uvc_error_t uvc_get_white_balance_component(uvc_device_handle_t *devh, uint16_t *blue, uint16_t *red, enum uvc_req_code req_code)
uvc_error_t uvc_get_exposure_rel(uvc_device_handle_t *devh, int8_t *step, enum uvc_req_code req_code)
Definition: libuvc.h:275
uvc_error_t uvc_set_contrast(uvc_device_handle_t *devh, uint16_t contrast)
Definition: libuvc.h:374
uint8_t bmFramingInfo
Definition: libuvc.h:479
uint16_t wKeyFrameRate
Definition: libuvc.h:471
uint8_t bCopyProtect
Definition: libuvc.h:190
struct uvc_stream_handle uvc_stream_handle_t
Definition: libuvc.h:323
uint8_t metadata_bytes
Definition: libuvc.h:433
uint8_t guidFormat[16]
Definition: libuvc.h:175
uint8_t fourccFormat[4]
Definition: libuvc.h:176
Definition: libuvc.h:66
struct uvc_frame_desc uvc_frame_desc_t
Definition: libuvc.h:230
uvc_error_t uvc_set_zoom_abs(uvc_device_handle_t *devh, uint16_t focal_length)
Definition: libuvc.h:220
Definition: libuvc.h:234
int uvc_set_ctrl(uvc_device_handle_t *devh, uint8_t unit, uint8_t ctrl, void *data, int len)
enum uvc_frame_format frame_format
Definition: libuvc.h:439
Definition: libuvc.h:219
uint64_t bmControls
Definition: libuvc.h:370
uvc_error_t uvc_get_contrast(uvc_device_handle_t *devh, uint16_t *contrast, enum uvc_req_code req_code)
uint64_t bmControls
Definition: libuvc.h:352
uvc_error_t uvc_get_focus_abs(uvc_device_handle_t *devh, uint16_t *focus, enum uvc_req_code req_code)
uvc_error_t uvc_set_pantilt_abs(uvc_device_handle_t *devh, int32_t pan, int32_t tilt)
uint16_t wCompWindowSize
Definition: libuvc.h:474
Definition: libuvc.h:281
struct uvc_stream_ctrl uvc_stream_ctrl_t
struct uvc_input_terminal uvc_input_terminal_t
uvc_error_t uvc_get_power_line_frequency(uvc_device_handle_t *devh, uint8_t *power_line_frequency, enum uvc_req_code req_code)
void uvc_set_status_callback(uvc_device_handle_t *devh, uvc_status_callback_t cb, void *user_ptr)
Definition: libuvc.h:250
uvc_error_t uvc_set_hue(uvc_device_handle_t *devh, int16_t hue)
Definition: libuvc.h:49
uvc_error_t uvc_get_digital_multiplier_limit(uvc_device_handle_t *devh, uint16_t *multiplier_step, enum uvc_req_code req_code)
uint8_t bmCapabilities
Definition: libuvc.h:133
Definition: libuvc.h:251
Definition: libuvc.h:505
struct uvc_frame_desc * next
Definition: libuvc.h:128
uvc_error_t uvc_set_white_balance_temperature_auto(uvc_device_handle_t *devh, uint8_t temperature_auto)
uvc_error_t uvc_get_analog_video_lock_status(uvc_device_handle_t *devh, uint8_t *status, enum uvc_req_code req_code)
const char * uvc_strerror(uvc_error_t err)
Definition: libuvc.h:80
Definition: libuvc.h:55
void uvc_free_device_list(uvc_device_t **list, uint8_t unref_devices)
uint16_t wPFrameRate
Definition: libuvc.h:472
uvc_error_t uvc_get_analog_video_standard(uvc_device_handle_t *devh, uint8_t *video_standard, enum uvc_req_code req_code)
Definition: libuvc.h:225
uvc_error_t uvc_get_white_balance_temperature_auto(uvc_device_handle_t *devh, uint8_t *temperature_auto, enum uvc_req_code req_code)
struct uvc_device_descriptor uvc_device_descriptor_t
uvc_error_t uvc_yuyv2y(uvc_frame_t *in, uvc_frame_t *out)
uvc_error_t uvc_set_focus_simple_range(uvc_device_handle_t *devh, uint8_t focus)
uvc_error_t uvc_set_white_balance_temperature(uvc_device_handle_t *devh, uint16_t temperature)
uint32_t dwBytesPerLine
Definition: libuvc.h:155
struct uvc_format * next
Definition: libuvc.h:502
uint8_t bAspectRatioX
Definition: libuvc.h:187
Definition: libuvc.h:108
uvc_device_handle_t * source
Definition: libuvc.h:448
Definition: libuvc.h:380
Definition: libuvc.h:112
uvc_error_t uvc_set_focus_auto(uvc_device_handle_t *devh, uint8_t state)
uvc_error_t uvc_set_brightness(uvc_device_handle_t *devh, int16_t brightness)
Definition: libuvc.h:247
Definition: libuvc.h:227
uint32_t dwMaxVideoFrameSize
Definition: libuvc.h:476
Definition: libuvc.h:84
Definition: libuvc.h:228
uvc_error_t uvc_get_roll_abs(uvc_device_handle_t *devh, int16_t *roll, enum uvc_req_code req_code)
uvc_error_t uvc_get_hue(uvc_device_handle_t *devh, int16_t *hue, enum uvc_req_code req_code)
Definition: libuvc.h:248
uvc_error_t uvc_get_digital_roi(uvc_device_handle_t *devh, uint16_t *roi_top, uint16_t *roi_left, uint16_t *roi_bottom, uint16_t *roi_right, uint16_t *auto_controls, enum uvc_req_code req_code)
uint16_t bmRateControlModes
Definition: libuvc.h:488
Definition: libuvc.h:260
uvc_error_t uvc_get_saturation(uvc_device_handle_t *devh, uint16_t *saturation, enum uvc_req_code req_code)
Definition: libuvc.h:243
uint8_t bFrameIndex
Definition: libuvc.h:132
uint16_t wDelay
Definition: libuvc.h:475
uint32_t sequence
Definition: libuvc.h:443
Definition: libuvc.h:246
uvc_error_t uvc_set_white_balance_component_auto(uvc_device_handle_t *devh, uint8_t white_balance_component_auto)
Definition: libuvc.h:288
uvc_ct_ctrl_selector
Definition: libuvc.h:217
struct uvc_context uvc_context_t
Definition: libuvc.h:300
uint64_t bmControls
Definition: libuvc.h:336
uvc_error_t uvc_get_roll_rel(uvc_device_handle_t *devh, int8_t *roll_rel, uint8_t *speed, enum uvc_req_code req_code)
uvc_error_t uvc_get_input_select(uvc_device_handle_t *devh, uint8_t *selector, enum uvc_req_code req_code)
struct uvc_output_terminal * next
Definition: libuvc.h:340
uint8_t bFrameIndex
Definition: libuvc.h:469
uint8_t uvc_get_device_address(uvc_device_t *dev)
uint8_t bNumFrameDescriptors
Definition: libuvc.h:172
uvc_error_t uvc_stream_start_iso(uvc_stream_handle_t *strmh, uvc_frame_callback_t *cb, void *user_ptr)
uvc_error_t uvc_get_brightness(uvc_device_handle_t *devh, int16_t *brightness, enum uvc_req_code req_code)
uint8_t bmSettings
Definition: libuvc.h:486
uvc_error_t uvc_init(uvc_context_t **ctx, struct libusb_context *usb_ctx)
uvc_error_t uvc_get_iris_rel(uvc_device_handle_t *devh, uint8_t *iris_rel, enum uvc_req_code req_code)
Definition: libuvc.h:363
Definition: libuvc.h:77
void uvc_stream_close(uvc_stream_handle_t *strmh)
uvc_error_t uvc_set_focus_abs(uvc_device_handle_t *devh, uint16_t focus)
uint8_t bmFlags
Definition: libuvc.h:183
uvc_error_t uvc_get_ae_priority(uvc_device_handle_t *devh, uint8_t *priority, enum uvc_req_code req_code)
uvc_error_t uvc_get_zoom_rel(uvc_device_handle_t *devh, int8_t *zoom_rel, uint8_t *digital_zoom, uint8_t *speed, enum uvc_req_code req_code)
Definition: libuvc.h:57
struct uvc_selector_unit * next
Definition: libuvc.h:357
Definition: libuvc.h:345
Definition: libuvc.h:229
uvc_status_attribute
Definition: libuvc.h:379
Definition: libuvc.h:51
uint32_t fps
Definition: libuvc.h:500
Definition: libuvc.h:199
void uvc_print_diag(uvc_device_handle_t *devh, FILE *stream)
Definition: libuvc.h:226
uint8_t bMaxNumberOfRefFramesPlus1
Definition: libuvc.h:487
Definition: libuvc.h:261
Definition: libuvc.h:273
uvc_error_t uvc_set_exposure_rel(uvc_device_handle_t *devh, int8_t step)
const uvc_input_terminal_t * uvc_get_camera_terminal(uvc_device_handle_t *devh)
uint8_t bUnitID
Definition: libuvc.h:348
uvc_error_t uvc_set_digital_window(uvc_device_handle_t *devh, uint16_t window_top, uint16_t window_left, uint16_t window_bottom, uint16_t window_right, uint16_t num_steps, uint16_t num_steps_units)
void * metadata
Definition: libuvc.h:431
uvc_error_t uvc_set_digital_multiplier(uvc_device_handle_t *devh, uint16_t multiplier_step)
Definition: libuvc.h:376
uvc_error_t uvc_set_analog_video_standard(uvc_device_handle_t *devh, uint8_t video_standard)
struct uvc_extension_unit * next
Definition: libuvc.h:364
uvc_error_t uvc_set_exposure_abs(uvc_device_handle_t *devh, uint32_t time)
Definition: libuvc.h:233
struct uvc_stream_info uvc_stream_info_t
uvc_error_t uvc_set_gamma(uvc_device_handle_t *devh, uint16_t gamma)
size_t step
Definition: libuvc.h:441
Definition: libuvc.h:262
struct uvc_extension_unit * prev
Definition: libuvc.h:364
Definition: libuvc.h:31
Definition: libuvc.h:198
uvc_error_t uvc_get_focus_simple_range(uvc_device_handle_t *devh, uint8_t *focus, enum uvc_req_code req_code)
struct uvc_extension_unit uvc_extension_unit_t
uvc_error_t uvc_find_device(uvc_context_t *ctx, uvc_device_t **dev, int vid, int pid, const char *sn)
uvc_error_t uvc_yuyv2uv(uvc_frame_t *in, uvc_frame_t *out)
struct uvc_device_handle uvc_device_handle_t
Definition: libuvc.h:315
Definition: libuvc.h:466
uint32_t dwMinFrameInterval
Definition: libuvc.h:147
Definition: libuvc.h:280
uvc_frame_format
Definition: libuvc.h:65
uint16_t wCompQuality
Definition: libuvc.h:473
uvc_error_t uvc_open2(uvc_device_t *dev, uvc_device_handle_t **devh, int camera_number)
uint8_t bmInterlaceFlags
Definition: libuvc.h:189
uvc_error_t uvc_yuyv2rgb(uvc_frame_t *in, uvc_frame_t *out)
Definition: libuvc.h:203
uvc_error_t uvc_set_roll_rel(uvc_device_handle_t *devh, int8_t roll_rel, uint8_t speed)
uvc_error_t uvc_get_iris_abs(uvc_device_handle_t *devh, uint16_t *iris, enum uvc_req_code req_code)
uvc_error_t uvc_get_hue_auto(uvc_device_handle_t *devh, uint8_t *hue_auto, enum uvc_req_code req_code)
uvc_error_t uvc_stream_get_frame(uvc_stream_handle_t *strmh, uvc_frame_t **frame, int32_t timeout_us)
uint8_t bMinVersion
Definition: libuvc.h:481
uvc_ot_type
Definition: libuvc.h:279
Definition: libuvc.h:237
uint16_t idVendor
Definition: libuvc.h:409
uvc_error_t uvc_set_ae_mode(uvc_device_handle_t *devh, uint8_t mode)
Definition: libuvc.h:126
Definition: libuvc.h:78
struct uvc_frame_desc * frame_descs
Definition: libuvc.h:193
uvc_error_t uvc_set_ae_priority(uvc_device_handle_t *devh, uint8_t priority)
uint8_t bPreferredVersion
Definition: libuvc.h:480
uint32_t height
Definition: libuvc.h:496
uvc_error_t uvc_set_power_mode(uvc_device_handle_t *devh, enum uvc_device_power_mode mode)
uint8_t bFormatIndex
Definition: libuvc.h:468
struct timeval capture_time
Definition: libuvc.h:445
uint32_t dwMaxFrameInterval
Definition: libuvc.h:149
Definition: libuvc.h:252
Definition: libuvc.h:212
struct uvc_frame uvc_frame_t
uint32_t dwDefaultFrameInterval
Definition: libuvc.h:145
struct uvc_input_terminal * next
Definition: libuvc.h:327
struct uvc_streaming_interface * parent
Definition: libuvc.h:166
const uvc_processing_unit_t * uvc_get_processing_units(uvc_device_handle_t *devh)
struct uvc_selector_unit uvc_selector_unit_t
uvc_error_t uvc_get_digital_multiplier(uvc_device_handle_t *devh, uint16_t *multiplier_step, enum uvc_req_code req_code)
uvc_error_t uvc_get_available_streams(uvc_device_handle_t *devh, uvc_stream_info_t **streams)
uint8_t bVariableSize
Definition: libuvc.h:191
Definition: libuvc.h:221
uvc_error_t uvc_get_device_descriptor(uvc_device_t *dev, uvc_device_descriptor_t **desc)
Definition: libuvc.h:235
Definition: libuvc.h:206
void * data
Definition: libuvc.h:427
uvc_error_t uvc_set_input_select(uvc_device_handle_t *devh, uint8_t selector)
uvc_term_type
Definition: libuvc.h:266
void uvc_stop_streaming(uvc_device_handle_t *devh)
Definition: libuvc.h:425
const uvc_selector_unit_t * uvc_get_selector_units(uvc_device_handle_t *devh)
Definition: libuvc.h:41
Definition: libuvc.h:407
uint8_t bTerminalID
Definition: libuvc.h:329
uvc_error_t uvc_set_analog_video_lock_status(uvc_device_handle_t *devh, uint8_t status)
Definition: libuvc.h:287
uvc_error_t uvc_set_backlight_compensation(uvc_device_handle_t *devh, uint16_t backlight_compensation)