@@ -300,14 +300,31 @@ static const unsigned int std_chrominance_quant_tbl[DCTSIZE2] = {
300300 99 , 99 , 99 , 99 , 99 , 99 , 99 , 99
301301};
302302
303+ static const unsigned int flat_quant_tbl [DCTSIZE2 ] = {
304+ 16 , 16 , 16 , 16 , 16 , 16 , 16 , 16 ,
305+ 16 , 16 , 16 , 16 , 16 , 16 , 16 , 16 ,
306+ 16 , 16 , 16 , 16 , 16 , 16 , 16 , 16 ,
307+ 16 , 16 , 16 , 16 , 16 , 16 , 16 , 16 ,
308+ 16 , 16 , 16 , 16 , 16 , 16 , 16 , 16 ,
309+ 16 , 16 , 16 , 16 , 16 , 16 , 16 , 16 ,
310+ 16 , 16 , 16 , 16 , 16 , 16 , 16 , 16 ,
311+ 16 , 16 , 16 , 16 , 16 , 16 , 16 , 16
312+ };
303313
304314LOCAL (void )
305315jpeg_default_qtables (j_compress_ptr cinfo , boolean force_baseline )
306316{
307- jpeg_add_quant_table (cinfo , 0 , std_luminance_quant_tbl ,
308- q_scale_factor [0 ], force_baseline );
309- jpeg_add_quant_table (cinfo , 1 , std_chrominance_quant_tbl ,
310- q_scale_factor [1 ], force_baseline );
317+ if (cinfo -> use_flat_quant_tbl ) {
318+ jpeg_add_quant_table (cinfo , 0 , flat_quant_tbl ,
319+ q_scale_factor [0 ], force_baseline );
320+ jpeg_add_quant_table (cinfo , 1 , flat_quant_tbl ,
321+ q_scale_factor [1 ], force_baseline );
322+ } else {
323+ jpeg_add_quant_table (cinfo , 0 , std_luminance_quant_tbl ,
324+ q_scale_factor [0 ], force_baseline );
325+ jpeg_add_quant_table (cinfo , 1 , std_chrominance_quant_tbl ,
326+ q_scale_factor [1 ], force_baseline );
327+ }
311328}
312329#endif
313330
0 commit comments