Go to the source code of this file.
Classes | |
struct | my_cquantizer |
struct | box |
Macros | |
#define | JPEG_INTERNALS |
#define | R_SCALE 2 /* scale R distances by this much */ |
#define | G_SCALE 3 /* scale G distances by this much */ |
#define | B_SCALE 1 /* and B by this much */ |
#define | C0_SCALE R_SCALE |
#define | C1_SCALE G_SCALE |
#define | C2_SCALE B_SCALE |
#define | MAXNUMCOLORS (MAXJSAMPLE+1) /* maximum size of colormap */ |
#define | HIST_C0_BITS 5 /* bits of precision in R/B histogram */ |
#define | HIST_C1_BITS 6 /* bits of precision in G histogram */ |
#define | HIST_C2_BITS 5 /* bits of precision in B/R histogram */ |
#define | HIST_C0_ELEMS (1<<HIST_C0_BITS) |
#define | HIST_C1_ELEMS (1<<HIST_C1_BITS) |
#define | HIST_C2_ELEMS (1<<HIST_C2_BITS) |
#define | C0_SHIFT (BITS_IN_JSAMPLE-HIST_C0_BITS) |
#define | C1_SHIFT (BITS_IN_JSAMPLE-HIST_C1_BITS) |
#define | C2_SHIFT (BITS_IN_JSAMPLE-HIST_C2_BITS) |
#define | BOX_C0_LOG (HIST_C0_BITS-3) |
#define | BOX_C1_LOG (HIST_C1_BITS-3) |
#define | BOX_C2_LOG (HIST_C2_BITS-3) |
#define | BOX_C0_ELEMS (1<<BOX_C0_LOG) /* # of hist cells in update box */ |
#define | BOX_C1_ELEMS (1<<BOX_C1_LOG) |
#define | BOX_C2_ELEMS (1<<BOX_C2_LOG) |
#define | BOX_C0_SHIFT (C0_SHIFT + BOX_C0_LOG) |
#define | BOX_C1_SHIFT (C1_SHIFT + BOX_C1_LOG) |
#define | BOX_C2_SHIFT (C2_SHIFT + BOX_C2_LOG) |
#define | STEP_C0 ((1 << C0_SHIFT) * C0_SCALE) |
#define | STEP_C1 ((1 << C1_SHIFT) * C1_SCALE) |
#define | STEP_C2 ((1 << C2_SHIFT) * C2_SCALE) |
#define | STEPSIZE ((MAXJSAMPLE+1)/16) |
Typedefs | |
typedef UINT16 | histcell |
typedef histcell FAR * | histptr |
typedef histcell | hist1d[HIST_C2_ELEMS] |
typedef hist1d FAR * | hist2d |
typedef hist2d * | hist3d |
typedef INT16 | FSERROR |
typedef int | LOCFSERROR |
typedef FSERROR FAR * | FSERRPTR |
typedef my_cquantizer * | my_cquantize_ptr |
typedef box * | boxptr |
#define B_SCALE 1 /* and B by this much */ |
Definition at line 66 of file jquant2.cpp.
#define BOX_C0_ELEMS (1<<BOX_C0_LOG) /* # of hist cells in update box */ |
Definition at line 620 of file jquant2.cpp.
Referenced by fill_inverse_cmap(), and find_best_colors().
#define BOX_C0_LOG (HIST_C0_BITS-3) |
Definition at line 616 of file jquant2.cpp.
Referenced by fill_inverse_cmap().
#define BOX_C0_SHIFT (C0_SHIFT + BOX_C0_LOG) |
Definition at line 624 of file jquant2.cpp.
Referenced by fill_inverse_cmap(), and find_nearby_colors().
#define BOX_C1_ELEMS (1<<BOX_C1_LOG) |
Definition at line 621 of file jquant2.cpp.
Referenced by fill_inverse_cmap(), and find_best_colors().
#define BOX_C1_LOG (HIST_C1_BITS-3) |
Definition at line 617 of file jquant2.cpp.
Referenced by fill_inverse_cmap().
#define BOX_C1_SHIFT (C1_SHIFT + BOX_C1_LOG) |
Definition at line 625 of file jquant2.cpp.
Referenced by find_nearby_colors().
#define BOX_C2_ELEMS (1<<BOX_C2_LOG) |
Definition at line 622 of file jquant2.cpp.
Referenced by fill_inverse_cmap(), and find_best_colors().
#define BOX_C2_LOG (HIST_C2_BITS-3) |
Definition at line 618 of file jquant2.cpp.
Referenced by fill_inverse_cmap().
#define BOX_C2_SHIFT (C2_SHIFT + BOX_C2_LOG) |
Definition at line 626 of file jquant2.cpp.
Referenced by find_nearby_colors().
#define C0_SCALE R_SCALE |
Definition at line 76 of file jquant2.cpp.
Referenced by find_best_colors(), find_nearby_colors(), median_cut(), and update_box().
#define C0_SHIFT (BITS_IN_JSAMPLE-HIST_C0_BITS) |
Definition at line 133 of file jquant2.cpp.
Referenced by fill_inverse_cmap(), find_nearby_colors(), median_cut(), pass2_fs_dither(), pass2_no_dither(), prescan_quantize(), select_colors(), and update_box().
#define C1_SCALE G_SCALE |
Definition at line 82 of file jquant2.cpp.
Referenced by find_best_colors(), find_nearby_colors(), median_cut(), and update_box().
#define C1_SHIFT (BITS_IN_JSAMPLE-HIST_C1_BITS) |
Definition at line 134 of file jquant2.cpp.
Referenced by find_nearby_colors(), median_cut(), pass2_fs_dither(), pass2_no_dither(), prescan_quantize(), select_colors(), and update_box().
#define C2_SCALE B_SCALE |
Definition at line 88 of file jquant2.cpp.
Referenced by find_best_colors(), find_nearby_colors(), median_cut(), and update_box().
#define C2_SHIFT (BITS_IN_JSAMPLE-HIST_C2_BITS) |
Definition at line 135 of file jquant2.cpp.
Referenced by find_nearby_colors(), median_cut(), pass2_fs_dither(), pass2_no_dither(), prescan_quantize(), select_colors(), and update_box().
Definition at line 65 of file jquant2.cpp.
Definition at line 123 of file jquant2.cpp.
#define HIST_C0_ELEMS (1<<HIST_C0_BITS) |
Definition at line 128 of file jquant2.cpp.
Referenced by jinit_2pass_quantizer(), and start_pass_2_quant().
#define HIST_C1_BITS 6 /* bits of precision in G histogram */ |
Definition at line 124 of file jquant2.cpp.
#define HIST_C1_ELEMS (1<<HIST_C1_BITS) |
Definition at line 129 of file jquant2.cpp.
Referenced by jinit_2pass_quantizer(), and start_pass_2_quant().
Definition at line 125 of file jquant2.cpp.
#define HIST_C2_ELEMS (1<<HIST_C2_BITS) |
Definition at line 130 of file jquant2.cpp.
Referenced by jinit_2pass_quantizer(), start_pass_2_quant(), and update_box().
#define JPEG_INTERNALS |
Definition at line 10 of file jquant2.cpp.
#define MAXNUMCOLORS (MAXJSAMPLE+1) /* maximum size of colormap */ |
Definition at line 118 of file jquant2.cpp.
Referenced by fill_inverse_cmap(), find_nearby_colors(), jinit_2pass_quantizer(), and start_pass_2_quant().
Definition at line 64 of file jquant2.cpp.
Referenced by find_best_colors().
Referenced by find_best_colors().
Referenced by find_best_colors().
#define STEPSIZE ((MAXJSAMPLE+1)/16) |
Referenced by init_error_limit().
Definition at line 261 of file jquant2.cpp.
Definition at line 172 of file jquant2.cpp.
Definition at line 179 of file jquant2.cpp.
typedef histcell hist1d[HIST_C2_ELEMS] |
Definition at line 142 of file jquant2.cpp.
Definition at line 143 of file jquant2.cpp.
Definition at line 144 of file jquant2.cpp.
Definition at line 138 of file jquant2.cpp.
Definition at line 140 of file jquant2.cpp.
typedef int LOCFSERROR |
Definition at line 173 of file jquant2.cpp.
typedef my_cquantizer* my_cquantize_ptr |
Definition at line 202 of file jquant2.cpp.
compute_color | ( | j_decompress_ptr | cinfo, |
boxptr | boxp, | ||
int | icolor | ||
) |
Definition at line 491 of file jquant2.cpp.
References mrpt::math::histogram(), and my_cquantizer::histogram.
Referenced by select_colors().
fill_inverse_cmap | ( | j_decompress_ptr | cinfo, |
int | c0, | ||
int | c1, | ||
int | c2 | ||
) |
Definition at line 847 of file jquant2.cpp.
References BOX_C0_ELEMS, BOX_C0_LOG, BOX_C0_SHIFT, BOX_C1_ELEMS, BOX_C1_LOG, BOX_C2_ELEMS, BOX_C2_LOG, C0_SHIFT, find_best_colors(), find_nearby_colors(), GETJSAMPLE, mrpt::math::histogram(), my_cquantizer::histogram, and MAXNUMCOLORS.
Referenced by pass2_fs_dither(), and pass2_no_dither().
find_best_colors | ( | j_decompress_ptr | cinfo, |
int | minc0, | ||
int | minc1, | ||
int | minc2, | ||
int | numcolors, | ||
JSAMPLE | colorlist[], | ||
JSAMPLE | bestcolor[] | ||
) |
Definition at line 767 of file jquant2.cpp.
References BOX_C0_ELEMS, BOX_C1_ELEMS, BOX_C2_ELEMS, C0_SCALE, C1_SCALE, C2_SCALE, GETJSAMPLE, STEP_C0, STEP_C1, and STEP_C2.
Referenced by fill_inverse_cmap().
find_biggest_color_pop | ( | boxptr | boxlist, |
int | numboxes | ||
) |
Definition at line 265 of file jquant2.cpp.
References box::colorcount, and box::volume.
Referenced by median_cut().
find_biggest_volume | ( | boxptr | boxlist, |
int | numboxes | ||
) |
find_nearby_colors | ( | j_decompress_ptr | cinfo, |
int | minc0, | ||
int | minc1, | ||
int | minc2, | ||
JSAMPLE | colorlist[] | ||
) |
Definition at line 638 of file jquant2.cpp.
References BOX_C0_SHIFT, BOX_C1_SHIFT, BOX_C2_SHIFT, C0_SCALE, C0_SHIFT, C1_SCALE, C1_SHIFT, C2_SCALE, C2_SHIFT, GETJSAMPLE, and MAXNUMCOLORS.
Referenced by fill_inverse_cmap().
finish_pass1 | ( | j_decompress_ptr | cinfo | ) |
Definition at line 1135 of file jquant2.cpp.
References my_cquantizer::desired, my_cquantizer::needs_zeroed, select_colors(), my_cquantizer::sv_colormap, and TRUE.
Referenced by start_pass_2_quant().
finish_pass2 | ( | j_decompress_ptr | ) |
Definition at line 1148 of file jquant2.cpp.
Referenced by start_pass_2_quant().
init_error_limit | ( | j_decompress_ptr | cinfo | ) |
Definition at line 1100 of file jquant2.cpp.
References my_cquantizer::error_limiter, JPOOL_IMAGE, MAXJSAMPLE, SIZEOF, and STEPSIZE.
Referenced by jinit_2pass_quantizer(), and start_pass_2_quant().
jinit_2pass_quantizer | ( | j_decompress_ptr | cinfo | ) |
Definition at line 1236 of file jquant2.cpp.
References my_cquantizer::desired, desired, ERREXIT, ERREXIT1, my_cquantizer::error_limiter, my_cquantizer::fserrors, HIST_C0_ELEMS, HIST_C1_ELEMS, HIST_C2_ELEMS, my_cquantizer::histogram, init_error_limit(), JDITHER_FS, JDITHER_NONE, JPOOL_IMAGE, MAXNUMCOLORS, my_cquantizer::needs_zeroed, new_color_map_2_quant(), my_cquantizer::pub, SIZEOF, start_pass_2_quant(), my_cquantizer::sv_colormap, and TRUE.
Referenced by master_selection().
median_cut | ( | j_decompress_ptr | cinfo, |
boxptr | boxlist, | ||
int | numboxes, | ||
int | desired_colors | ||
) |
Definition at line 416 of file jquant2.cpp.
References mrpt::obs::gnss::b1, mrpt::obs::gnss::b2, C0_SCALE, C0_SHIFT, C1_SCALE, C1_SHIFT, C2_SCALE, C2_SHIFT, find_biggest_color_pop(), find_biggest_volume(), and update_box().
Referenced by select_colors().
new_color_map_2_quant | ( | j_decompress_ptr | cinfo | ) |
Definition at line 1222 of file jquant2.cpp.
References my_cquantizer::needs_zeroed, and TRUE.
Referenced by jinit_2pass_quantizer().
pass2_fs_dither | ( | j_decompress_ptr | cinfo, |
JSAMPARRAY | input_buf, | ||
JSAMPARRAY | output_buf, | ||
int | num_rows | ||
) |
Definition at line 941 of file jquant2.cpp.
References C0_SHIFT, C1_SHIFT, C2_SHIFT, my_cquantizer::error_limiter, FALSE, fill_inverse_cmap(), my_cquantizer::fserrors, GETJSAMPLE, mrpt::math::histogram(), my_cquantizer::histogram, input_buf, num_rows, my_cquantizer::on_odd_row, output_buf, RIGHT_SHIFT, SHIFT_TEMPS, and TRUE.
Referenced by start_pass_2_quant().
pass2_no_dither | ( | j_decompress_ptr | cinfo, |
JSAMPARRAY | input_buf, | ||
JSAMPARRAY | output_buf, | ||
int | num_rows | ||
) |
Definition at line 907 of file jquant2.cpp.
References C0_SHIFT, C1_SHIFT, C2_SHIFT, fill_inverse_cmap(), GETJSAMPLE, mrpt::math::histogram(), my_cquantizer::histogram, input_buf, num_rows, and output_buf.
Referenced by start_pass_2_quant().
prescan_quantize | ( | j_decompress_ptr | cinfo, |
JSAMPARRAY | input_buf, | ||
JSAMPARRAY | output_buf, | ||
int | num_rows | ||
) |
Definition at line 215 of file jquant2.cpp.
References C0_SHIFT, C1_SHIFT, C2_SHIFT, GETJSAMPLE, mrpt::math::histogram(), my_cquantizer::histogram, input_buf, MRPT_UNUSED_PARAM, num_rows, and output_buf.
Referenced by start_pass_2_quant().
select_colors | ( | j_decompress_ptr | cinfo, |
int | desired_colors | ||
) |
Definition at line 531 of file jquant2.cpp.
References C0_SHIFT, box::c0max, box::c0min, C1_SHIFT, box::c1max, box::c1min, C2_SHIFT, box::c2max, box::c2min, compute_color(), JPOOL_IMAGE, MAXJSAMPLE, median_cut(), SIZEOF, TRACEMS1, and update_box().
Referenced by finish_pass1().
start_pass_2_quant | ( | j_decompress_ptr | cinfo, |
boolean | is_pre_scan | ||
) |
Definition at line 1159 of file jquant2.cpp.
References ERREXIT1, my_cquantizer::error_limiter, FALSE, FAR, finish_pass1(), finish_pass2(), my_cquantizer::fserrors, HIST_C0_ELEMS, HIST_C1_ELEMS, HIST_C2_ELEMS, mrpt::math::histogram(), my_cquantizer::histogram, init_error_limit(), JDITHER_FS, JDITHER_NONE, JPOOL_IMAGE, jzero_far(), MAXNUMCOLORS, my_cquantizer::needs_zeroed, my_cquantizer::on_odd_row, pass2_fs_dither(), pass2_no_dither(), prescan_quantize(), my_cquantizer::pub, SIZEOF, and TRUE.
Referenced by jinit_2pass_quantizer().
update_box | ( | j_decompress_ptr | cinfo, |
boxptr | boxp | ||
) |
Definition at line 305 of file jquant2.cpp.
References C0_SCALE, C0_SHIFT, C1_SCALE, C1_SHIFT, C2_SCALE, C2_SHIFT, HIST_C2_ELEMS, mrpt::math::histogram(), and my_cquantizer::histogram.
Referenced by median_cut(), and select_colors().
Page generated by Doxygen 1.8.14 for MRPT 1.5.7 Git: 5902e14cc Wed Apr 24 15:04:01 2019 +0200 at lun oct 28 01:39:17 CET 2019 |