~cosme/ubuntu/precise/freeimage/freeimage-3.15.1

« back to all changes in this revision

Viewing changes to Source/LibJPEG/jcparam.c

  • Committer: Bazaar Package Importer
  • Author(s): Cosme Domínguez Díaz
  • Date: 2010-07-20 13:42:15 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20100720134215-xt1454zaedv3b604
Tags: 3.13.1-0ubuntu1
* New upstream release. Closes: (LP: #607800)
 - Updated debian/freeimage-get-orig-source script.
 - Removing no longer necessary debian/patches/* and
   the patch system in debian/rules.
 - Updated debian/rules to work with the new Makefiles.
 - Drop from -O3 to -O2 and use lzma compression saves
   ~10 MB of free space. 
* lintian stuff
 - fixed debhelper-but-no-misc-depends
 - fixed ldconfig-symlink-missing-for-shlib

Show diffs side-by-side

added added

removed removed

Lines of Context:
2
2
 * jcparam.c
3
3
 *
4
4
 * Copyright (C) 1991-1998, Thomas G. Lane.
 
5
 * Modified 2003-2008 by Guido Vollbeding.
5
6
 * This file is part of the Independent JPEG Group's software.
6
7
 * For conditions of distribution and use, see the accompanying README file.
7
8
 *
60
61
}
61
62
 
62
63
 
 
64
/* These are the sample quantization tables given in JPEG spec section K.1.
 
65
 * The spec says that the values given produce "good" quality, and
 
66
 * when divided by 2, "very good" quality.
 
67
 */
 
68
static const unsigned int std_luminance_quant_tbl[DCTSIZE2] = {
 
69
  16,  11,  10,  16,  24,  40,  51,  61,
 
70
  12,  12,  14,  19,  26,  58,  60,  55,
 
71
  14,  13,  16,  24,  40,  57,  69,  56,
 
72
  14,  17,  22,  29,  51,  87,  80,  62,
 
73
  18,  22,  37,  56,  68, 109, 103,  77,
 
74
  24,  35,  55,  64,  81, 104, 113,  92,
 
75
  49,  64,  78,  87, 103, 121, 120, 101,
 
76
  72,  92,  95,  98, 112, 100, 103,  99
 
77
};
 
78
static const unsigned int std_chrominance_quant_tbl[DCTSIZE2] = {
 
79
  17,  18,  24,  47,  99,  99,  99,  99,
 
80
  18,  21,  26,  66,  99,  99,  99,  99,
 
81
  24,  26,  56,  99,  99,  99,  99,  99,
 
82
  47,  66,  99,  99,  99,  99,  99,  99,
 
83
  99,  99,  99,  99,  99,  99,  99,  99,
 
84
  99,  99,  99,  99,  99,  99,  99,  99,
 
85
  99,  99,  99,  99,  99,  99,  99,  99,
 
86
  99,  99,  99,  99,  99,  99,  99,  99
 
87
};
 
88
 
 
89
 
 
90
GLOBAL(void)
 
91
jpeg_default_qtables (j_compress_ptr cinfo, boolean force_baseline)
 
92
/* Set or change the 'quality' (quantization) setting, using default tables
 
93
 * and straight percentage-scaling quality scales.
 
94
 * This entry point allows different scalings for luminance and chrominance.
 
95
 */
 
96
{
 
97
  /* Set up two quantization tables using the specified scaling */
 
98
  jpeg_add_quant_table(cinfo, 0, std_luminance_quant_tbl,
 
99
                       cinfo->q_scale_factor[0], force_baseline);
 
100
  jpeg_add_quant_table(cinfo, 1, std_chrominance_quant_tbl,
 
101
                       cinfo->q_scale_factor[1], force_baseline);
 
102
}
 
103
 
 
104
 
63
105
GLOBAL(void)
64
106
jpeg_set_linear_quality (j_compress_ptr cinfo, int scale_factor,
65
107
                         boolean force_baseline)
69
111
 * applications that insist on a linear percentage scaling.
70
112
 */
71
113
{
72
 
  /* These are the sample quantization tables given in JPEG spec section K.1.
73
 
   * The spec says that the values given produce "good" quality, and
74
 
   * when divided by 2, "very good" quality.
75
 
   */
76
 
  static const unsigned int std_luminance_quant_tbl[DCTSIZE2] = {
77
 
    16,  11,  10,  16,  24,  40,  51,  61,
78
 
    12,  12,  14,  19,  26,  58,  60,  55,
79
 
    14,  13,  16,  24,  40,  57,  69,  56,
80
 
    14,  17,  22,  29,  51,  87,  80,  62,
81
 
    18,  22,  37,  56,  68, 109, 103,  77,
82
 
    24,  35,  55,  64,  81, 104, 113,  92,
83
 
    49,  64,  78,  87, 103, 121, 120, 101,
84
 
    72,  92,  95,  98, 112, 100, 103,  99
85
 
  };
86
 
  static const unsigned int std_chrominance_quant_tbl[DCTSIZE2] = {
87
 
    17,  18,  24,  47,  99,  99,  99,  99,
88
 
    18,  21,  26,  66,  99,  99,  99,  99,
89
 
    24,  26,  56,  99,  99,  99,  99,  99,
90
 
    47,  66,  99,  99,  99,  99,  99,  99,
91
 
    99,  99,  99,  99,  99,  99,  99,  99,
92
 
    99,  99,  99,  99,  99,  99,  99,  99,
93
 
    99,  99,  99,  99,  99,  99,  99,  99,
94
 
    99,  99,  99,  99,  99,  99,  99,  99
95
 
  };
96
 
 
97
114
  /* Set up two quantization tables using the specified scaling */
98
115
  jpeg_add_quant_table(cinfo, 0, std_luminance_quant_tbl,
99
116
                       scale_factor, force_baseline);
284
301
 
285
302
  /* Initialize everything not dependent on the color space */
286
303
 
 
304
  cinfo->scale_num = 1;         /* 1:1 scaling */
 
305
  cinfo->scale_denom = 1;
287
306
  cinfo->data_precision = BITS_IN_JSAMPLE;
288
307
  /* Set up two quantization tables using default quality of 75 */
289
308
  jpeg_set_quality(cinfo, 75, TRUE);
320
339
  /* By default, use the simpler non-cosited sampling alignment */
321
340
  cinfo->CCIR601_sampling = FALSE;
322
341
 
 
342
  /* By default, apply fancy downsampling */
 
343
  cinfo->do_fancy_downsampling = TRUE;
 
344
 
323
345
  /* No input smoothing */
324
346
  cinfo->smoothing_factor = 0;
325
347