jquant1.c File Reference

#include "jinclude.h"
#include "jpeglib.h"

Go to the source code of this file.

Classes

struct  my_cquantizer

Defines

#define JPEG_INTERNALS
#define ODITHER_SIZE   16
#define ODITHER_CELLS   (ODITHER_SIZE*ODITHER_SIZE)
#define ODITHER_MASK   (ODITHER_SIZE-1)
#define MAX_Q_COMPS   4

Typedefs

typedef int ODITHER_MATRIX [ODITHER_SIZE][ODITHER_SIZE]
typedef int(* ODITHER_MATRIX_PTR )[ODITHER_SIZE]
typedef INT16 FSERROR
typedef int LOCFSERROR
typedef FSERROR FAR * FSERRPTR
typedef my_cquantizermy_cquantize_ptr

Functions

 select_ncolors (j_decompress_ptr cinfo, int Ncolors[])
 output_value (j_decompress_ptr cinfo, int ci, int j, int maxj)
 largest_input_value (j_decompress_ptr cinfo, int ci, int j, int maxj)
 create_colormap (j_decompress_ptr cinfo)
 create_colorindex (j_decompress_ptr cinfo)
 make_odither_array (j_decompress_ptr cinfo, int ncolors)
 create_odither_tables (j_decompress_ptr cinfo)
 color_quantize (j_decompress_ptr cinfo, JSAMPARRAY input_buf, JSAMPARRAY output_buf, int num_rows)
 color_quantize3 (j_decompress_ptr cinfo, JSAMPARRAY input_buf, JSAMPARRAY output_buf, int num_rows)
 quantize_ord_dither (j_decompress_ptr cinfo, JSAMPARRAY input_buf, JSAMPARRAY output_buf, int num_rows)
 quantize3_ord_dither (j_decompress_ptr cinfo, JSAMPARRAY input_buf, JSAMPARRAY output_buf, int num_rows)
 quantize_fs_dither (j_decompress_ptr cinfo, JSAMPARRAY input_buf, JSAMPARRAY output_buf, int num_rows)
 alloc_fs_workspace (j_decompress_ptr cinfo)
 start_pass_1_quant (j_decompress_ptr cinfo, boolean is_pre_scan)
 finish_pass_1_quant (j_decompress_ptr cinfo)
 new_color_map_1_quant (j_decompress_ptr cinfo)
 jinit_1pass_quantizer (j_decompress_ptr cinfo)

Variables

static const UINT8 base_dither_matrix [ODITHER_SIZE][ODITHER_SIZE]


Define Documentation

#define JPEG_INTERNALS

Definition at line 13 of file jquant1.c.

#define MAX_Q_COMPS   4

Definition at line 140 of file jquant1.c.

Referenced by jinit_1pass_quantizer().

#define ODITHER_CELLS   (ODITHER_SIZE*ODITHER_SIZE)

Definition at line 73 of file jquant1.c.

Referenced by make_odither_array().

#define ODITHER_MASK   (ODITHER_SIZE-1)

Definition at line 74 of file jquant1.c.

Referenced by quantize3_ord_dither(), and quantize_ord_dither().

#define ODITHER_SIZE   16

Definition at line 71 of file jquant1.c.

Referenced by make_odither_array().


Typedef Documentation

typedef INT16 FSERROR

Definition at line 128 of file jquant1.c.

typedef FSERROR FAR* FSERRPTR

Definition at line 135 of file jquant1.c.

typedef int LOCFSERROR

Definition at line 129 of file jquant1.c.

typedef my_cquantizer* my_cquantize_ptr

Definition at line 167 of file jquant1.c.

typedef int ODITHER_MATRIX[ODITHER_SIZE][ODITHER_SIZE]

Definition at line 76 of file jquant1.c.

typedef int(* ODITHER_MATRIX_PTR)[ODITHER_SIZE]

Definition at line 77 of file jquant1.c.


Function Documentation

alloc_fs_workspace ( j_decompress_ptr  cinfo  ) 

Definition at line 722 of file jquant1.c.

References arraysize, my_cquantizer::fserrors, i, JPOOL_IMAGE, size_t, and SIZEOF.

Referenced by jinit_1pass_quantizer(), and start_pass_1_quant().

color_quantize ( j_decompress_ptr  cinfo,
JSAMPARRAY  input_buf,
JSAMPARRAY  output_buf,
int  num_rows 
)

Definition at line 459 of file jquant1.c.

References my_cquantizer::colorindex, for(), GETJSAMPLE, nc, row, and width.

Referenced by start_pass_1_quant().

color_quantize3 ( j_decompress_ptr  cinfo,
JSAMPARRAY  input_buf,
JSAMPARRAY  output_buf,
int  num_rows 
)

Definition at line 487 of file jquant1.c.

References my_cquantizer::colorindex, for(), GETJSAMPLE, row, and width.

Referenced by start_pass_1_quant().

create_colorindex ( j_decompress_ptr  cinfo  ) 

Definition at line 333 of file jquant1.c.

References my_cquantizer::colorindex, FALSE, i, if(), my_cquantizer::is_padded, j, JDITHER_ORDERED, JPOOL_IMAGE, k, largest_input_value(), MAXJSAMPLE, my_cquantizer::Ncolors, my_cquantizer::sv_actual, TRUE, and val.

Referenced by jinit_1pass_quantizer(), and start_pass_1_quant().

create_colormap ( j_decompress_ptr  cinfo  ) 

Definition at line 273 of file jquant1.c.

References for(), i, j, JPOOL_IMAGE, k, my_cquantizer::Ncolors, output_value(), ptr, select_ncolors(), my_cquantizer::sv_actual, my_cquantizer::sv_colormap, TRACEMS1, TRACEMS4, and val.

Referenced by default_colormap(), gdk_colormap_new(), and jinit_1pass_quantizer().

create_odither_tables ( j_decompress_ptr  cinfo  ) 

Definition at line 432 of file jquant1.c.

References for(), i, j, make_odither_array(), my_cquantizer::Ncolors, NULL, and my_cquantizer::odither.

Referenced by start_pass_1_quant().

finish_pass_1_quant ( j_decompress_ptr  cinfo  ) 

Definition at line 798 of file jquant1.c.

Referenced by jinit_1pass_quantizer().

jinit_1pass_quantizer ( j_decompress_ptr  cinfo  ) 

Definition at line 821 of file jquant1.c.

References alloc_fs_workspace(), create_colorindex(), create_colormap(), ERREXIT1, finish_pass_1_quant(), my_cquantizer::fserrors, JDITHER_FS, JERR_QUANT_COMPONENTS, JPOOL_IMAGE, MAX_Q_COMPS, MAXJSAMPLE, new_color_map_1_quant(), NULL, my_cquantizer::odither, my_cquantizer::pub, SIZEOF, and start_pass_1_quant().

Referenced by master_selection().

largest_input_value ( j_decompress_ptr  cinfo,
int  ci,
int  j,
int  maxj 
)

Definition at line 259 of file jquant1.c.

References MAXJSAMPLE.

Referenced by create_colorindex().

make_odither_array ( j_decompress_ptr  cinfo,
int  ncolors 
)

Definition at line 396 of file jquant1.c.

References base_dither_matrix, int, j, JPOOL_IMAGE, k, MAXJSAMPLE, num, ODITHER_CELLS, ODITHER_SIZE, and SIZEOF.

Referenced by create_odither_tables().

new_color_map_1_quant ( j_decompress_ptr  cinfo  ) 

Definition at line 810 of file jquant1.c.

References ERREXIT.

Referenced by jinit_1pass_quantizer().

output_value ( j_decompress_ptr  cinfo,
int  ci,
int  j,
int  maxj 
)

Definition at line 245 of file jquant1.c.

References MAXJSAMPLE.

Referenced by create_colormap().

quantize3_ord_dither ( j_decompress_ptr  cinfo,
JSAMPARRAY  input_buf,
JSAMPARRAY  output_buf,
int  num_rows 
)

Definition at line 565 of file jquant1.c.

References my_cquantizer::colorindex, for(), GETJSAMPLE, my_cquantizer::odither, ODITHER_MASK, row, my_cquantizer::row_index, and width.

Referenced by start_pass_1_quant().

quantize_fs_dither ( j_decompress_ptr  cinfo,
JSAMPARRAY  input_buf,
JSAMPARRAY  output_buf,
int  num_rows 
)

Definition at line 610 of file jquant1.c.

References my_cquantizer::colorindex, dir(), FALSE, FAR, for(), my_cquantizer::fserrors, GETJSAMPLE, jzero_far(), nc, my_cquantizer::on_odd_row, RIGHT_SHIFT, row, SHIFT_TEMPS, size_t, SIZEOF, my_cquantizer::sv_colormap, TRUE, and width.

Referenced by start_pass_1_quant().

quantize_ord_dither ( j_decompress_ptr  cinfo,
JSAMPARRAY  input_buf,
JSAMPARRAY  output_buf,
int  num_rows 
)

Definition at line 515 of file jquant1.c.

References my_cquantizer::colorindex, FAR, for(), GETJSAMPLE, jzero_far(), nc, my_cquantizer::odither, ODITHER_MASK, row, my_cquantizer::row_index, size_t, SIZEOF, and width.

Referenced by start_pass_1_quant().

select_ncolors ( j_decompress_ptr  cinfo,
int  Ncolors[] 
)

Definition at line 186 of file jquant1.c.

References ERREXIT1, FALSE, i, if(), int, j, JCS_RGB, nc, and TRUE.

Referenced by create_colormap().

start_pass_1_quant ( j_decompress_ptr  cinfo,
boolean  is_pre_scan 
)

Definition at line 741 of file jquant1.c.

References alloc_fs_workspace(), arraysize, color_quantize(), color_quantize3(), create_colorindex(), create_odither_tables(), ERREXIT, FALSE, FAR, my_cquantizer::fserrors, i, my_cquantizer::is_padded, JDITHER_FS, JDITHER_NONE, JDITHER_ORDERED, jzero_far(), NULL, my_cquantizer::odither, my_cquantizer::on_odd_row, my_cquantizer::pub, quantize3_ord_dither(), quantize_fs_dither(), quantize_ord_dither(), my_cquantizer::row_index, size_t, SIZEOF, my_cquantizer::sv_actual, and my_cquantizer::sv_colormap.

Referenced by jinit_1pass_quantizer().


Variable Documentation

const UINT8 base_dither_matrix[ODITHER_SIZE][ODITHER_SIZE] [static]

Initial value:

 {
  
  {   0,192, 48,240, 12,204, 60,252,  3,195, 51,243, 15,207, 63,255 },
  { 128, 64,176,112,140, 76,188,124,131, 67,179,115,143, 79,191,127 },
  {  32,224, 16,208, 44,236, 28,220, 35,227, 19,211, 47,239, 31,223 },
  { 160, 96,144, 80,172,108,156, 92,163, 99,147, 83,175,111,159, 95 },
  {   8,200, 56,248,  4,196, 52,244, 11,203, 59,251,  7,199, 55,247 },
  { 136, 72,184,120,132, 68,180,116,139, 75,187,123,135, 71,183,119 },
  {  40,232, 24,216, 36,228, 20,212, 43,235, 27,219, 39,231, 23,215 },
  { 168,104,152, 88,164,100,148, 84,171,107,155, 91,167,103,151, 87 },
  {   2,194, 50,242, 14,206, 62,254,  1,193, 49,241, 13,205, 61,253 },
  { 130, 66,178,114,142, 78,190,126,129, 65,177,113,141, 77,189,125 },
  {  34,226, 18,210, 46,238, 30,222, 33,225, 17,209, 45,237, 29,221 },
  { 162, 98,146, 82,174,110,158, 94,161, 97,145, 81,173,109,157, 93 },
  {  10,202, 58,250,  6,198, 54,246,  9,201, 57,249,  5,197, 53,245 },
  { 138, 74,186,122,134, 70,182,118,137, 73,185,121,133, 69,181,117 },
  {  42,234, 26,218, 38,230, 22,214, 41,233, 25,217, 37,229, 21,213 },
  { 170,106,154, 90,166,102,150, 86,169,105,153, 89,165,101,149, 85 }
}

Definition at line 79 of file jquant1.c.

Referenced by make_odither_array().


Generated on Tue Jul 5 15:57:57 2011 for ROOT_528-00b_version by  doxygen 1.5.1