1 /* Linux driver for Philips webcam 2 (C) 2004-2006 Luc Saillard (luc@saillard.org) 3 4 NOTE: this version of pwc is an unofficial (modified) release of pwc & pcwx 5 driver and thus may have bugs that are not present in the original version. 6 Please send bug reports and support requests to <luc@saillard.org>. 7 The decompression routines have been implemented by reverse-engineering the 8 Nemosoft binary pwcx module. Caveat emptor. 9 10 This program is free software; you can redistribute it and/or modify 11 it under the terms of the GNU General Public License as published by 12 the Free Software Foundation; either version 2 of the License, or 13 (at your option) any later version. 14 15 This program is distributed in the hope that it will be useful, 16 but WITHOUT ANY WARRANTY; without even the implied warranty of 17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 GNU General Public License for more details. 19 20 You should have received a copy of the GNU General Public License 21 along with this program; if not, write to the Free Software 22 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 23 */ 24 25 26 27 /* This tables contains entries for the 675/680/690 (Timon) camera, with 28 4 different qualities (no compression, low, medium, high). 29 It lists the bandwidth requirements for said mode by its alternate interface 30 number. An alternate of 0 means that the mode is unavailable. 31 32 There are 6 * 4 * 4 entries: 33 6 different resolutions subqcif, qsif, qcif, sif, cif, vga 34 6 framerates: 5, 10, 15, 20, 25, 30 35 4 compression modi: none, low, medium, high 36 37 When an uncompressed mode is not available, the next available compressed mode 38 will be chosen (unless the decompressor is absent). Sometimes there are only 39 1 or 2 compressed modes available; in that case entries are duplicated. 40 */ 41 42 #ifndef PWC_TIMON_H 43 #define PWC_TIMON_H 44 45 #include <media/pwc-ioctl.h> 46 47 #define PWC_FPS_MAX_TIMON 6 48 49 struct Timon_table_entry 50 { 51 char alternate; /* USB alternate interface */ 52 unsigned short packetsize; /* Normal packet size */ 53 unsigned short bandlength; /* Bandlength when decompressing */ 54 unsigned char mode[13]; /* precomputed mode settings for cam */ 55 }; 56 57 extern const struct Timon_table_entry Timon_table[PSZ_MAX][PWC_FPS_MAX_TIMON][4]; 58 extern const unsigned int TimonRomTable [16][2][16][8]; 59 extern const unsigned int Timon_fps_vector[PWC_FPS_MAX_TIMON]; 60 61 #endif 62 63 64