root/drivers/media/usb/pwc/pwc-dec23.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0-or-later */
   2 /* Linux driver for Philips webcam
   3    (C) 2004-2006 Luc Saillard (luc@saillard.org)
   4 
   5    NOTE: this version of pwc is an unofficial (modified) release of pwc & pcwx
   6    driver and thus may have bugs that are not present in the original version.
   7    Please send bug reports and support requests to <luc@saillard.org>.
   8    The decompression routines have been implemented by reverse-engineering the
   9    Nemosoft binary pwcx module. Caveat emptor.
  10 
  11 */
  12 
  13 #ifndef PWC_DEC23_H
  14 #define PWC_DEC23_H
  15 
  16 struct pwc_device;
  17 
  18 struct pwc_dec23_private
  19 {
  20         struct mutex lock;
  21 
  22         unsigned char last_cmd, last_cmd_valid;
  23 
  24   unsigned int scalebits;
  25   unsigned int nbitsmask, nbits; /* Number of bits of a color in the compressed stream */
  26 
  27   unsigned int reservoir;
  28   unsigned int nbits_in_reservoir;
  29 
  30   const unsigned char *stream;
  31   int temp_colors[16];
  32 
  33   unsigned char table_0004_pass1[16][1024];
  34   unsigned char table_0004_pass2[16][1024];
  35   unsigned char table_8004_pass1[16][256];
  36   unsigned char table_8004_pass2[16][256];
  37   unsigned int  table_subblock[256][12];
  38 
  39   unsigned char table_bitpowermask[8][256];
  40   unsigned int  table_d800[256];
  41   unsigned int  table_dc00[256];
  42 
  43 };
  44 
  45 void pwc_dec23_init(struct pwc_device *pdev, const unsigned char *cmd);
  46 void pwc_dec23_decompress(struct pwc_device *pdev,
  47                           const void *src,
  48                           void *dst);
  49 #endif

/* [<][>][^][v][top][bottom][index][help] */