28#ifdef INPUT_SMOOTHING_SUPPORTED
29#define CONTEXT_ROWS_SUPPORTED
65#ifdef CONTEXT_ROWS_SUPPORTED
84 ERREXIT(cinfo, JERR_BAD_BUFFER_MODE);
90#ifdef CONTEXT_ROWS_SUPPORTED
94 prep->this_row_group = 0;
96 prep->next_buf_stop = 2 * cinfo->max_v_samp_factor;
108 int input_rows,
int output_rows)
112 for (
row = input_rows;
row < output_rows;
row++) {
141 while (*in_row_ctr < in_rows_avail &&
142 *out_row_group_ctr < out_row_groups_avail) {
144 inrows = in_rows_avail - *in_row_ctr;
145 numrows = cinfo->max_v_samp_factor - prep->
next_buf_row;
147 (*cinfo->cconvert->color_convert) (cinfo, input_buf + *in_row_ctr,
151 *in_row_ctr += numrows;
157 for (ci = 0; ci < cinfo->num_components; ci++) {
165 (*cinfo->downsample->downsample) (cinfo,
169 (*out_row_group_ctr)++;
175 *out_row_group_ctr < out_row_groups_avail) {
176 for (ci = 0,
compptr = cinfo->comp_info; ci < cinfo->num_components;
179 cinfo->min_DCT_v_scaled_size;
182 (
int) (*out_row_group_ctr * numrows),
183 (
int) (out_row_groups_avail * numrows));
185 *out_row_group_ctr = out_row_groups_avail;
192#ifdef CONTEXT_ROWS_SUPPORTED
210 while (*out_row_group_ctr < out_row_groups_avail) {
211 if (*in_row_ctr < in_rows_avail) {
213 inrows = in_rows_avail - *in_row_ctr;
216 (*cinfo->
cconvert->color_convert) (cinfo, input_buf + *in_row_ctr,
231 *in_row_ctr += numrows;
253 (*out_row_group_ctr)++;
256 if (prep->this_row_group >= buf_height)
257 prep->this_row_group = 0;
282 fake_buffer = (
JSAMPARRAY) (*cinfo->mem->alloc_small)
292 true_buffer = (*cinfo->mem->alloc_sarray)
299 MEMCOPY(fake_buffer + rgroup_height, true_buffer,
302 for (
i = 0;
i < rgroup_height;
i++) {
303 fake_buffer[
i] = true_buffer[2 * rgroup_height +
i];
304 fake_buffer[4 * rgroup_height +
i] = true_buffer[
i];
306 prep->
color_buf[ci] = fake_buffer + rgroup_height;
307 fake_buffer += 5 * rgroup_height;
326 ERREXIT(cinfo, JERR_BAD_BUFFER_MODE);
330 cinfo->prep = &prep->
pub;
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)
JSAMPARRAY int JDIMENSION num_cols
struct jpeg_common_struct * j_common_ptr
jcopy_sample_rows(JSAMPARRAY input_array, JSAMPARRAY output_array, 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]