18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */ 28c2ecf20Sopenharmony_ci/* Linux driver for Philips webcam 38c2ecf20Sopenharmony_ci (C) 2004-2006 Luc Saillard (luc@saillard.org) 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ci NOTE: this version of pwc is an unofficial (modified) release of pwc & pcwx 68c2ecf20Sopenharmony_ci driver and thus may have bugs that are not present in the original version. 78c2ecf20Sopenharmony_ci Please send bug reports and support requests to <luc@saillard.org>. 88c2ecf20Sopenharmony_ci The decompression routines have been implemented by reverse-engineering the 98c2ecf20Sopenharmony_ci Nemosoft binary pwcx module. Caveat emptor. 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ci*/ 128c2ecf20Sopenharmony_ci 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci/* This tables contains entries for the 675/680/690 (Timon) camera, with 168c2ecf20Sopenharmony_ci 4 different qualities (no compression, low, medium, high). 178c2ecf20Sopenharmony_ci It lists the bandwidth requirements for said mode by its alternate interface 188c2ecf20Sopenharmony_ci number. An alternate of 0 means that the mode is unavailable. 198c2ecf20Sopenharmony_ci 208c2ecf20Sopenharmony_ci There are 6 * 4 * 4 entries: 218c2ecf20Sopenharmony_ci 6 different resolutions subqcif, qsif, qcif, sif, cif, vga 228c2ecf20Sopenharmony_ci 6 framerates: 5, 10, 15, 20, 25, 30 238c2ecf20Sopenharmony_ci 4 compression modi: none, low, medium, high 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ci When an uncompressed mode is not available, the next available compressed mode 268c2ecf20Sopenharmony_ci will be chosen (unless the decompressor is absent). Sometimes there are only 278c2ecf20Sopenharmony_ci 1 or 2 compressed modes available; in that case entries are duplicated. 288c2ecf20Sopenharmony_ci*/ 298c2ecf20Sopenharmony_ci 308c2ecf20Sopenharmony_ci#ifndef PWC_TIMON_H 318c2ecf20Sopenharmony_ci#define PWC_TIMON_H 328c2ecf20Sopenharmony_ci 338c2ecf20Sopenharmony_ci#include "pwc.h" 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ci#define PWC_FPS_MAX_TIMON 6 368c2ecf20Sopenharmony_ci 378c2ecf20Sopenharmony_cistruct Timon_table_entry 388c2ecf20Sopenharmony_ci{ 398c2ecf20Sopenharmony_ci char alternate; /* USB alternate interface */ 408c2ecf20Sopenharmony_ci unsigned short packetsize; /* Normal packet size */ 418c2ecf20Sopenharmony_ci unsigned short bandlength; /* Bandlength when decompressing */ 428c2ecf20Sopenharmony_ci unsigned char mode[13]; /* precomputed mode settings for cam */ 438c2ecf20Sopenharmony_ci}; 448c2ecf20Sopenharmony_ci 458c2ecf20Sopenharmony_ciextern const struct Timon_table_entry Timon_table[PSZ_MAX][PWC_FPS_MAX_TIMON][4]; 468c2ecf20Sopenharmony_ciextern const unsigned int TimonRomTable [16][2][16][8]; 478c2ecf20Sopenharmony_ciextern const unsigned int Timon_fps_vector[PWC_FPS_MAX_TIMON]; 488c2ecf20Sopenharmony_ci 498c2ecf20Sopenharmony_ci#endif 508c2ecf20Sopenharmony_ci 518c2ecf20Sopenharmony_ci 52