11958N/A tinyjpeg_idct_float (struct component *compptr, uint8_t *output_buf, int stride)
11958N/A FAST_FLOAT tmp0, tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, tmp7;
11958N/A FAST_FLOAT tmp10, tmp11, tmp12, tmp13;
11958N/A FAST_FLOAT z5, z10, z11, z12, z13;
11958N/A wsptr += DCTSIZE; /* advance pointer to next row */
11958N/A+ mlib_VideoIDCT8x8_U8_S16_NA(output_buf, compptr->DCT, stride);
11958N/A+ c->DCT[j] = DCT[zigzag[j]] * c->Q_table[j];
11958N/A ******************************************************************************/
11958N/A static void build_quantization_table(float *qtable, const unsigned char *ref_table)
11958N/A+static void build_quantization_table(uint16_t *qtable, const unsigned char *ref_table)
11958N/A /* Taken from libjpeg. Copyright Independent JPEG Group's LLM idct.
11958N/A * For float AA&N IDCT method, divisors are equal to quantization
11958N/A *qtable++ = ref_table[*zz++] * aanscalefactor[i] * aanscalefactor[j];
11958N/A static int parse_DQT(struct jdec_private *priv, const unsigned char *stream)
11958N/A const unsigned char *dqt_block_end;
11958N/A float *Q_table; /* Pointer to the quantisation table to use */
11958N/A+ uint16_t *Q_table; /* Pointer to the quantisation table to use */
11958N/A struct huffman_table *AC_table;
11958N/A struct huffman_table *DC_table;
11958N/A short int previous_DC; /* Previous DC coefficient */
11958N/A unsigned int reservoir, nbits_in_reservoir;
11958N/A struct component component_infos[COMPONENTS];
11958N/A float Q_tables[COMPONENTS][64]; /* quantization tables */
11958N/A+ uint16_t Q_tables[COMPONENTS][64]; /* quantization tables */
11958N/A struct huffman_table HTDC[HUFFMAN_TABLES]; /* DC huffman tables */
11958N/A struct huffman_table HTAC[HUFFMAN_TABLES]; /* AC huffman tables */
11958N/A int default_huffman_table_initialized;