• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/linux/linux-2.6.36/drivers/media/video/pwc/

Lines Matching defs:pdec

61 static void build_subblock_pattern(struct pwc_dec23_private *pdec)
82 pdec->table_subblock[i][j] = temp_values[j];
88 static void build_bit_powermask_table(struct pwc_dec23_private *pdec)
96 p = pdec->table_bitpowermask[bit];
162 static void fill_table_dc00_d800(struct pwc_dec23_private *pdec)
171 pdec->table_dc00[i] = offset1 & ~(ONE_HALF);
172 pdec->table_d800[i] = offset2;
281 struct pwc_dec23_private *pdec;
284 pdec = kmalloc(sizeof(struct pwc_dec23_private), GFP_KERNEL);
285 if (pdec == NULL)
287 pwc->decompress_data = pdec;
289 pdec = pwc->decompress_data;
294 pdec->nbits = 7; /* More bits, mean more bits to encode the stream, but better quality */
296 pdec->nbits = 8;
298 pdec->nbits = 6;
301 build_table_color(KiaraRomTable[version][0], pdec->table_0004_pass1, pdec->table_8004_pass1);
302 build_table_color(KiaraRomTable[version][1], pdec->table_0004_pass2, pdec->table_8004_pass2);
308 pdec->nbits = 7;
310 pdec->nbits = 8;
312 pdec->nbits = 6;
315 build_table_color(TimonRomTable[version][0], pdec->table_0004_pass1, pdec->table_8004_pass1);
316 build_table_color(TimonRomTable[version][1], pdec->table_0004_pass2, pdec->table_8004_pass2);
320 shift = 8 - pdec->nbits;
321 pdec->scalebits = SCALEBITS - shift;
322 pdec->nbitsmask = 0xFF >> shift;
324 fill_table_dc00_d800(pdec);
325 build_subblock_pattern(pdec);
326 build_bit_powermask_table(pdec);
569 #define fill_nbits(pdec, nbits_wanted) do { \
570 while (pdec->nbits_in_reservoir<(nbits_wanted)) \
572 pdec->reservoir |= (*(pdec->stream)++) << (pdec->nbits_in_reservoir); \
573 pdec->nbits_in_reservoir += 8; \
577 #define skip_nbits(pdec, nbits_to_skip) do { \
578 pdec->reservoir >>= (nbits_to_skip); \
579 pdec->nbits_in_reservoir -= (nbits_to_skip); \
582 #define get_nbits(pdec, nbits_wanted, result) do { \
583 fill_nbits(pdec, nbits_wanted); \
584 result = (pdec->reservoir) & ((1U<<(nbits_wanted))-1); \
585 skip_nbits(pdec, nbits_wanted); \
588 #define __get_nbits(pdec, nbits_wanted, result) do { \
589 result = (pdec->reservoir) & ((1U<<(nbits_wanted))-1); \
590 skip_nbits(pdec, nbits_wanted); \
593 #define look_nbits(pdec, nbits_wanted) \
594 ((pdec->reservoir) & ((1U<<(nbits_wanted))-1))
599 static void decode_block(struct pwc_dec23_private *pdec,
607 fill_nbits(pdec, 16);
608 __get_nbits(pdec, pdec->nbits, primary_color);
610 if (look_nbits(pdec,2) == 0) {
611 skip_nbits(pdec, 2);
614 pdec->temp_colors[i] = pdec->table_dc00[primary_color];
621 pdec->temp_colors[i] = pdec->table_d800[primary_color];
623 __get_nbits(pdec, 3, channel_v);
641 fill_nbits(pdec, 16);
642 htable_idx = look_nbits(pdec, 6);
646 skip_nbits(pdec, 2);
653 skip_nbits(pdec, 3);
655 __get_nbits(pdec, 4, yyyy);
660 __get_nbits(pdec, nbits+1, col1);
663 mask = pdec->table_bitpowermask[nbits][col1];
667 block = pdec->table_subblock[rows];
669 pdec->temp_colors[i] += block[MulIdx[offset1][i]];
681 block = pdec->table_subblock[rows];
683 pdec->temp_colors[i] += block[MulIdx[offset1][i]];
686 skip_nbits(pdec, shift);
693 static void DecompressBand23(struct pwc_dec23_private *pdec,
705 pdec->reservoir = 0;
706 pdec->nbits_in_reservoir = 0;
707 pdec->stream = rawyuv + 1; /* The first byte of the stream is skipped */
709 get_nbits(pdec, 4, compression_index);
714 ptable0004 = pdec->table_0004_pass1[compression_index];
715 ptable8004 = pdec->table_8004_pass1[compression_index];
719 decode_block(pdec, ptable0004, ptable8004);
720 copy_image_block_Y(pdec->temp_colors, planar_y, real_image_width, pdec->scalebits);
728 ptable0004 = pdec->table_0004_pass2[compression_index];
729 ptable8004 = pdec->table_8004_pass2[compression_index];
733 decode_block(pdec, ptable0004, ptable8004);
734 copy_image_block_CrCb(pdec->temp_colors, planar_u, real_image_width/2, pdec->scalebits);
736 decode_block(pdec, ptable0004, ptable8004);
737 copy_image_block_CrCb(pdec->temp_colors, planar_v, real_image_width/2, pdec->scalebits);
758 static void DecompressBandBayer(struct pwc_dec23_private *pdec,
769 pdec->reservoir = 0;
770 pdec->nbits_in_reservoir = 0;
771 pdec->stream = rawyuv + 1; /* The first byte of the stream is skipped */
773 get_nbits(pdec, 4, compression_index);
778 ptable0004 = pdec->table_0004_pass1[compression_index];
779 ptable8004 = pdec->table_8004_pass1[compression_index];
784 decode_block(pdec, ptable0004, ptable8004);
785 copy_image_block_RedBlue(pdec->temp_colors, rgbbayer, real_image_width, pdec->scalebits);
793 ptable0004 = pdec->table_0004_pass2[compression_index];
794 ptable8004 = pdec->table_8004_pass2[compression_index];
798 decode_block(pdec, ptable0004, ptable8004);
799 copy_image_block_Green(pdec->temp_colors, rgbbayer+1, real_image_width, pdec->scalebits);
801 decode_block(pdec, ptable0004, ptable8004);
802 copy_image_block_Green(pdec->temp_colors, rgbbayer+real_image_width, real_image_width, pdec->scalebits);