openshot-audio  0.1.2
Classes | Macros | Typedefs | Functions
jquant2.c File Reference
#include "jinclude.h"
#include "jpeglib.h"

Classes

struct  my_cquantizer2
 
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)
 
#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)
 
#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 FARhistptr
 
typedef histcell hist1d[HIST_C2_ELEMS]
 
typedef hist1d FARhist2d
 
typedef hist2dhist3d
 
typedef INT16 FSERROR
 
typedef int LOCFSERROR
 
typedef FSERROR FARFSERRPTR
 
typedef my_cquantizer2my_cquantize_ptr2
 
typedef boxboxptr
 

Functions

 prescan_quantize (j_decompress_ptr cinfo, JSAMPARRAY input_buf, JSAMPARRAY, int num_rows)
 
 find_biggest_color_pop (boxptr boxlist, int numboxes)
 
 find_biggest_volume (boxptr boxlist, int numboxes)
 
 update_box (j_decompress_ptr cinfo, boxptr boxp)
 
 median_cut (j_decompress_ptr cinfo, boxptr boxlist, int numboxes, int desired_colors)
 
 compute_color (j_decompress_ptr cinfo, boxptr boxp, int icolor)
 
 select_colors (j_decompress_ptr cinfo, int desired_colors)
 
 find_nearby_colors (j_decompress_ptr cinfo, int minc0, int minc1, int minc2, JSAMPLE colorlist[])
 
 find_best_colors (j_decompress_ptr cinfo, int minc0, int minc1, int minc2, int numcolors, JSAMPLE colorlist[], JSAMPLE bestcolor[])
 
 fill_inverse_cmap (j_decompress_ptr cinfo, int c0, int c1, int c2)
 
 pass2_no_dither (j_decompress_ptr cinfo, JSAMPARRAY input_buf, JSAMPARRAY output_buf, int num_rows)
 
 pass2_fs_dither (j_decompress_ptr cinfo, JSAMPARRAY input_buf, JSAMPARRAY output_buf, int num_rows)
 
 init_error_limit (j_decompress_ptr cinfo)
 
 finish_pass1 (j_decompress_ptr cinfo)
 
 finish_pass2 (j_decompress_ptr)
 
 start_pass_2_quant (j_decompress_ptr cinfo, boolean is_pre_scan)
 
 new_color_map_2_quant (j_decompress_ptr cinfo)
 
 jinit_2pass_quantizer (j_decompress_ptr cinfo)
 

Macro Definition Documentation

#define B_SCALE   1 /* and B by this much */
#define B_SCALE   1 /* and B by this much */
#define B_SCALE   1 /* and B by this much */
#define BOX_C0_ELEMS   (1<<BOX_C0_LOG) /* # of hist cells in update box */
#define BOX_C0_ELEMS   (1<<BOX_C0_LOG) /* # of hist cells in update box */
#define BOX_C0_ELEMS   (1<<BOX_C0_LOG) /* # of hist cells in update box */
#define BOX_C0_LOG   (HIST_C0_BITS-3)
#define BOX_C0_LOG   (HIST_C0_BITS-3)
#define BOX_C0_LOG   (HIST_C0_BITS-3)
#define BOX_C0_SHIFT   (C0_SHIFT + BOX_C0_LOG)
#define BOX_C0_SHIFT   (C0_SHIFT + BOX_C0_LOG)
#define BOX_C0_SHIFT   (C0_SHIFT + BOX_C0_LOG)
#define BOX_C1_ELEMS   (1<<BOX_C1_LOG)
#define BOX_C1_ELEMS   (1<<BOX_C1_LOG)
#define BOX_C1_ELEMS   (1<<BOX_C1_LOG)
#define BOX_C1_LOG   (HIST_C1_BITS-3)
#define BOX_C1_LOG   (HIST_C1_BITS-3)
#define BOX_C1_LOG   (HIST_C1_BITS-3)
#define BOX_C1_SHIFT   (C1_SHIFT + BOX_C1_LOG)
#define BOX_C1_SHIFT   (C1_SHIFT + BOX_C1_LOG)
#define BOX_C1_SHIFT   (C1_SHIFT + BOX_C1_LOG)
#define BOX_C2_ELEMS   (1<<BOX_C2_LOG)
#define BOX_C2_ELEMS   (1<<BOX_C2_LOG)
#define BOX_C2_ELEMS   (1<<BOX_C2_LOG)
#define BOX_C2_LOG   (HIST_C2_BITS-3)
#define BOX_C2_LOG   (HIST_C2_BITS-3)
#define BOX_C2_LOG   (HIST_C2_BITS-3)
#define BOX_C2_SHIFT   (C2_SHIFT + BOX_C2_LOG)
#define BOX_C2_SHIFT   (C2_SHIFT + BOX_C2_LOG)
#define BOX_C2_SHIFT   (C2_SHIFT + BOX_C2_LOG)
#define C0_SCALE   R_SCALE
#define C0_SCALE   R_SCALE
#define C0_SCALE   R_SCALE
#define C0_SHIFT   (BITS_IN_JSAMPLE-HIST_C0_BITS)
#define C0_SHIFT   (BITS_IN_JSAMPLE-HIST_C0_BITS)
#define C0_SHIFT   (BITS_IN_JSAMPLE-HIST_C0_BITS)
#define C1_SCALE   G_SCALE
#define C1_SCALE   G_SCALE
#define C1_SCALE   G_SCALE
#define C1_SHIFT   (BITS_IN_JSAMPLE-HIST_C1_BITS)
#define C1_SHIFT   (BITS_IN_JSAMPLE-HIST_C1_BITS)
#define C1_SHIFT   (BITS_IN_JSAMPLE-HIST_C1_BITS)
#define C2_SCALE   B_SCALE
#define C2_SCALE   B_SCALE
#define C2_SCALE   B_SCALE
#define C2_SHIFT   (BITS_IN_JSAMPLE-HIST_C2_BITS)
#define C2_SHIFT   (BITS_IN_JSAMPLE-HIST_C2_BITS)
#define C2_SHIFT   (BITS_IN_JSAMPLE-HIST_C2_BITS)
#define G_SCALE   3 /* scale G distances by this much */
#define G_SCALE   3 /* scale G distances by this much */
#define G_SCALE   3 /* scale G distances by this much */
#define HIST_C0_BITS   5 /* bits of precision in R/B histogram */
#define HIST_C0_BITS   5 /* bits of precision in R/B histogram */
#define HIST_C0_BITS   5 /* bits of precision in R/B histogram */
#define HIST_C0_ELEMS   (1<<HIST_C0_BITS)
#define HIST_C0_ELEMS   (1<<HIST_C0_BITS)
#define HIST_C0_ELEMS   (1<<HIST_C0_BITS)
#define HIST_C1_BITS   6 /* bits of precision in G histogram */
#define HIST_C1_BITS   6 /* bits of precision in G histogram */
#define HIST_C1_BITS   6 /* bits of precision in G histogram */
#define HIST_C1_ELEMS   (1<<HIST_C1_BITS)
#define HIST_C1_ELEMS   (1<<HIST_C1_BITS)
#define HIST_C1_ELEMS   (1<<HIST_C1_BITS)
#define HIST_C2_BITS   5 /* bits of precision in B/R histogram */
#define HIST_C2_BITS   5 /* bits of precision in B/R histogram */
#define HIST_C2_BITS   5 /* bits of precision in B/R histogram */
#define HIST_C2_ELEMS   (1<<HIST_C2_BITS)
#define HIST_C2_ELEMS   (1<<HIST_C2_BITS)
#define HIST_C2_ELEMS   (1<<HIST_C2_BITS)
#define JPEG_INTERNALS
#define JPEG_INTERNALS
#define JPEG_INTERNALS
#define MAXNUMCOLORS   (MAXJSAMPLE+1) /* maximum size of colormap */
#define MAXNUMCOLORS   (MAXJSAMPLE+1) /* maximum size of colormap */
#define MAXNUMCOLORS   (MAXJSAMPLE+1) /* maximum size of colormap */
#define R_SCALE   2 /* scale R distances by this much */
#define R_SCALE   2 /* scale R distances by this much */
#define R_SCALE   2 /* scale R distances by this much */
#define STEP_C0   ((1 << C0_SHIFT) * C0_SCALE)
#define STEP_C0   ((1 << C0_SHIFT) * C0_SCALE)
#define STEP_C0   ((1 << C0_SHIFT) * C0_SCALE)
#define STEP_C1   ((1 << C1_SHIFT) * C1_SCALE)
#define STEP_C1   ((1 << C1_SHIFT) * C1_SCALE)
#define STEP_C1   ((1 << C1_SHIFT) * C1_SCALE)
#define STEP_C2   ((1 << C2_SHIFT) * C2_SCALE)
#define STEP_C2   ((1 << C2_SHIFT) * C2_SCALE)
#define STEP_C2   ((1 << C2_SHIFT) * C2_SCALE)
#define STEPSIZE   ((MAXJSAMPLE+1)/16)
#define STEPSIZE   ((MAXJSAMPLE+1)/16)
#define STEPSIZE   ((MAXJSAMPLE+1)/16)

Typedef Documentation

typedef box* boxptr
typedef INT16 FSERROR
typedef FSERROR FAR* FSERRPTR
typedef histcell hist1d[HIST_C2_ELEMS]
typedef hist1d FAR* hist2d
typedef hist2d* hist3d
typedef UINT16 histcell
typedef histcell FAR* histptr
typedef int LOCFSERROR

Function Documentation

compute_color ( j_decompress_ptr  cinfo,
boxptr  boxp,
int  icolor 
)
fill_inverse_cmap ( j_decompress_ptr  cinfo,
int  c0,
int  c1,
int  c2 
)
find_best_colors ( j_decompress_ptr  cinfo,
int  minc0,
int  minc1,
int  minc2,
int  numcolors,
JSAMPLE  colorlist[],
JSAMPLE  bestcolor[] 
)
find_biggest_color_pop ( boxptr  boxlist,
int  numboxes 
)
find_biggest_volume ( boxptr  boxlist,
int  numboxes 
)
find_nearby_colors ( j_decompress_ptr  cinfo,
int  minc0,
int  minc1,
int  minc2,
JSAMPLE  colorlist[] 
)
finish_pass1 ( j_decompress_ptr  cinfo)
finish_pass2 ( j_decompress_ptr  )
init_error_limit ( j_decompress_ptr  cinfo)
jinit_2pass_quantizer ( j_decompress_ptr  cinfo)
median_cut ( j_decompress_ptr  cinfo,
boxptr  boxlist,
int  numboxes,
int  desired_colors 
)
new_color_map_2_quant ( j_decompress_ptr  cinfo)
pass2_fs_dither ( j_decompress_ptr  cinfo,
JSAMPARRAY  input_buf,
JSAMPARRAY  output_buf,
int  num_rows 
)
pass2_no_dither ( j_decompress_ptr  cinfo,
JSAMPARRAY  input_buf,
JSAMPARRAY  output_buf,
int  num_rows 
)
prescan_quantize ( j_decompress_ptr  cinfo,
JSAMPARRAY  input_buf,
JSAMPARRAY  ,
int  num_rows 
)
select_colors ( j_decompress_ptr  cinfo,
int  desired_colors 
)
start_pass_2_quant ( j_decompress_ptr  cinfo,
boolean  is_pre_scan 
)
update_box ( j_decompress_ptr  cinfo,
boxptr  boxp 
)