00001 #ifndef PWC_IOCTL_H 00002 #define PWC_IOCTL_H 00003 00004 /* These are private ioctl() commands, specific for the Philips webcams. 00005 They contain functions not found in other webcams, and settings not 00006 specified in the Video4Linux API. 00007 00008 The #define names are built up like follows: 00009 VIDIOC VIDeo IOCtl prefix 00010 PWC Philps WebCam 00011 [GS] optional: Get or Set 00012 ... The function 00013 */ 00014 00015 /* The frame rate is encoded in the video_window.flags parameter, 00016 in the high 16 bits, since some flags are defined nowadays. The following 00017 defines provide a mask and shift to filter out this value. 00018 00019 In 'Snapshot' mode the camera freezes its automatic exposure and colour 00020 balance controls. 00021 */ 00022 #define PWC_FPS_SHIFT 16 00023 #define PWC_FPS_MASK 0x00FF0000 00024 #define PWC_FPS_FRMASK 0x003F0000 00025 #define PWC_FPS_SNAPSHOT 0x00400000 00026 00027 /* These are private ioctl() commands, specific for the Philips webcams. 00028 They contain functions not found in other webcams, and settings not 00029 specified in the Video4Linux API. 00030 */ 00031 00032 00033 /* Restore user settings */ 00034 #define VIDIOCPWCRUSER _IO('v', 192) 00035 /* Save user settings */ 00036 #define VIDIOCPWCSUSER _IO('v', 193) 00037 /* Restore factory settings */ 00038 #define VIDIOCPWCFACTORY _IO('v', 194) 00039 00040 /* You can manipulate the compression factor. A compression preference of 0 00041 means use uncompressed modes when available; 1 is low compression, 2 is 00042 medium and 3 is high compression preferred. Of course, the higher the 00043 compression, the lower the bandwidth used but more chance of artefacts 00044 in the image. The driver automaticly chooses a higher compression when 00045 the preferred mode is not available. 00046 */ 00047 /* Set preferred compression quality (0 = uncompressed, 3 = highest compression) */ 00048 #define VIDIOCPWCSCQUAL _IOW('v', 195, int) 00049 /* Get preferred compression quality */ 00050 #define VIDIOCPWCGCQUAL _IOR('v', 195, int) 00051 00052 /* Set AGC (Automatic Gain Control); int < 0 = auto, 0..65535 = fixed */ 00053 #define VIDIOCPWCSAGC _IOW('v', 200, int) 00054 /* Get AGC; int < 0 = auto, >= 0 = fixed. range 0..65535 */ 00055 #define VIDIOCPWCGAGC _IOR('v', 200, int) 00056 00057 #define VIDIOCPWCSSHUTTER _IOW('v', 201, int) 00058 00059 #endif