Home | History | Annotate | Download | only in libjpeg_turbo

Lines Matching refs:upsample

31 /* Pointer to routine to upsample a single component */
76 my_upsample_ptr upsample = (my_upsample_ptr) cinfo->upsample;
79 upsample->next_row_out = cinfo->max_v_samp_factor;
81 upsample->rows_to_go = cinfo->output_height;
88 * In this version we upsample each component independently.
89 * We upsample one row group into the conversion buffer, then apply
100 my_upsample_ptr upsample = (my_upsample_ptr) cinfo->upsample;
106 if (upsample->next_row_out >= cinfo->max_v_samp_factor) {
109 /* Invoke per-component upsample method. Notice we pass a POINTER
112 (*upsample->methods[ci]) (cinfo, compptr,
113 input_buf[ci] + (*in_row_group_ctr * upsample->rowgroup_height[ci]),
114 upsample->color_buf + ci);
116 upsample->next_row_out = 0;
122 num_rows = (JDIMENSION) (cinfo->max_v_samp_factor - upsample->next_row_out);
126 if (num_rows > upsample->rows_to_go)
127 num_rows = upsample->rows_to_go;
133 (*cinfo->cconvert->color_convert) (cinfo, upsample->color_buf,
134 (JDIMENSION) upsample->next_row_out,
140 upsample->rows_to_go -= num_rows;
141 upsample->next_row_out += num_rows;
143 if (upsample->next_row_out >= cinfo->max_v_samp_factor)
149 * These are the routines invoked by sep_upsample to upsample pixel values
197 my_upsample_ptr upsample = (my_upsample_ptr) cinfo->upsample;
206 h_expand = upsample->h_expand[compptr->component_index];
207 v_expand = upsample->v_expand[compptr->component_index];
406 my_upsample_ptr upsample;
412 upsample = (my_upsample_ptr)
415 cinfo->upsample = (struct jpeg_upsampler *) upsample;
416 upsample->pub.start_pass = start_pass_upsample;
417 upsample->pub.upsample = sep_upsample;
418 upsample->pub.need_context_rows = FALSE; /* until we find out differently */
442 upsample->rowgroup_height[ci] = v_in_group; /* save for use later */
445 /* Don't bother to upsample an uninteresting component. */
446 upsample->methods[ci] = noop_upsample;
450 upsample->methods[ci] = fullsize_upsample;
457 upsample->methods[ci] = jsimd_h2v1_fancy_upsample;
459 upsample->methods[ci] = h2v1_fancy_upsample;
462 upsample->methods[ci] = jsimd_h2v1_upsample;
464 upsample->methods[ci] = h2v1_upsample;
471 upsample->methods[ci] = jsimd_h2v2_fancy_upsample;
473 upsample->methods[ci] = h2v2_fancy_upsample;
474 upsample->pub.need_context_rows = TRUE;
477 upsample->methods[ci] = jsimd_h2v2_upsample;
479 upsample->methods[ci] = h2v2_upsample;
484 upsample->methods[ci] = int_upsample;
485 upsample->h_expand[ci] = (UINT8) (h_out_group / h_in_group);
486 upsample->v_expand[ci] = (UINT8) (v_out_group / v_in_group);
490 upsample->color_buf[ci] = (*cinfo->mem->alloc_sarray)