27#ifdef INPUT_SMOOTHING_SUPPORTED
28#define CONTEXT_ROWS_SUPPORTED
64#ifdef CONTEXT_ROWS_SUPPORTED
83 ERREXIT(cinfo, JERR_BAD_BUFFER_MODE);
89#ifdef CONTEXT_ROWS_SUPPORTED
93 prep->this_row_group = 0;
95 prep->next_buf_stop = 2 * cinfo->max_v_samp_factor;
107 int input_rows,
int output_rows)
111 for (
row = input_rows;
row < output_rows;
row++) {
139 while (*in_row_ctr < in_rows_avail &&
140 *out_row_group_ctr < out_row_groups_avail) {
142 inrows = in_rows_avail - *in_row_ctr;
143 numrows = cinfo->max_v_samp_factor - prep->
next_buf_row;
145 (*cinfo->cconvert->color_convert) (cinfo, input_buf + *in_row_ctr,
149 *in_row_ctr += numrows;
155 for (ci = 0; ci < cinfo->num_components; ci++) {
163 (*cinfo->downsample->downsample) (cinfo,
167 (*out_row_group_ctr)++;
173 *out_row_group_ctr < out_row_groups_avail) {
174 for (ci = 0,
compptr = cinfo->comp_info; ci < cinfo->num_components;
177 cinfo->min_DCT_v_scaled_size;
180 (
int) (*out_row_group_ctr * numrows),
181 (
int) (out_row_groups_avail * numrows));
183 *out_row_group_ctr = out_row_groups_avail;
190#ifdef CONTEXT_ROWS_SUPPORTED
208 while (*out_row_group_ctr < out_row_groups_avail) {
209 if (*in_row_ctr < in_rows_avail) {
211 inrows = in_rows_avail - *in_row_ctr;
214 (*cinfo->
cconvert->color_convert) (cinfo, input_buf + *in_row_ctr,
229 *in_row_ctr += numrows;
251 (*out_row_group_ctr)++;
254 if (prep->this_row_group >= buf_height)
255 prep->this_row_group = 0;
291 true_buffer = (*cinfo->mem->alloc_sarray)
298 MEMCOPY(fake_buffer + rgroup_height, true_buffer,
301 for (
i = 0;
i < rgroup_height;
i++) {
302 fake_buffer[
i] = true_buffer[2 * rgroup_height +
i];
303 fake_buffer[4 * rgroup_height +
i] = true_buffer[
i];
305 prep->
color_buf[ci] = fake_buffer + rgroup_height;
306 fake_buffer += 5 * rgroup_height;
325 ERREXIT(cinfo, JERR_BAD_BUFFER_MODE);
337 if (cinfo->downsample->need_context_rows) {
339#ifdef CONTEXT_ROWS_SUPPORTED
340 prep->
pub.pre_process_data = pre_process_context;
341 create_context_buffer(cinfo);
343 ERREXIT(cinfo, JERR_NOT_COMPILED);
348 for (ci = 0,
compptr = cinfo->comp_info; ci < cinfo->num_components;
350 prep->
color_buf[ci] = (*cinfo->mem->alloc_sarray)
353 cinfo->min_DCT_h_scaled_size *
while(CdLookupNextInitialFileDirent(IrpContext, Fcb, FileContext))
struct png_info_def *typedef unsigned char **typedef struct png_info_def *typedef struct png_info_def *typedef struct png_info_def *typedef unsigned char ** row
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
start_pass_prep(j_compress_ptr cinfo, J_BUF_MODE pass_mode)
jinit_c_prep_controller(j_compress_ptr cinfo, boolean need_full_buffer)
my_prep_controller * my_prep_ptr
pre_process_data(j_compress_ptr cinfo, JSAMPARRAY input_buf, JDIMENSION *in_row_ctr, JDIMENSION in_rows_avail, JSAMPIMAGE output_buf, JDIMENSION *out_row_group_ctr, JDIMENSION out_row_groups_avail)
expand_bottom_edge(JSAMPARRAY image_data, JDIMENSION num_cols, int input_rows, int output_rows)
jpeg_component_info * compptr
jpeg_component_info JCOEFPTR JSAMPARRAY output_buf
#define MEMCOPY(dest, src, size)
int JSAMPARRAY int int JDIMENSION num_cols
struct jpeg_common_struct * j_common_ptr
jcopy_sample_rows(JSAMPARRAY input_array, int source_row, JSAMPARRAY output_array, int dest_row, int num_rows, JDIMENSION num_cols)
JDIMENSION width_in_blocks
jpeg_component_info * comp_info
struct jpeg_downsampler * downsample
struct jpeg_c_prep_controller * prep
struct jpeg_color_converter * cconvert
int min_DCT_h_scaled_size
struct jpeg_c_prep_controller pub
JSAMPARRAY color_buf[MAX_COMPONENTS]