1 /* Linux driver for Philips webcam
2 (C) 2004-2006 Luc Saillard (luc@saillard.org)
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.
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.
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.
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
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.
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
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.
45 #include <media/pwc-ioctl.h>
47 #define PWC_FPS_MAX_TIMON 6
49 struct Timon_table_entry
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 */
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
];