linux/drivers/media/usb/pwc/pwc-dec23.h
<<
>>
Prefs
   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#ifndef PWC_DEC23_H
  26#define PWC_DEC23_H
  27
  28struct pwc_device;
  29
  30struct pwc_dec23_private
  31{
  32        struct mutex lock;
  33
  34        unsigned char last_cmd, last_cmd_valid;
  35
  36  unsigned int scalebits;
  37  unsigned int nbitsmask, nbits; /* Number of bits of a color in the compressed stream */
  38
  39  unsigned int reservoir;
  40  unsigned int nbits_in_reservoir;
  41
  42  const unsigned char *stream;
  43  int temp_colors[16];
  44
  45  unsigned char table_0004_pass1[16][1024];
  46  unsigned char table_0004_pass2[16][1024];
  47  unsigned char table_8004_pass1[16][256];
  48  unsigned char table_8004_pass2[16][256];
  49  unsigned int  table_subblock[256][12];
  50
  51  unsigned char table_bitpowermask[8][256];
  52  unsigned int  table_d800[256];
  53  unsigned int  table_dc00[256];
  54
  55};
  56
  57void pwc_dec23_init(struct pwc_device *pdev, const unsigned char *cmd);
  58void pwc_dec23_decompress(struct pwc_device *pdev,
  59                          const void *src,
  60                          void *dst);
  61#endif
  62