Lines Matching refs:cinfo

32   /* cinfo->input_iMCU_row is also used for this. */
37 /* The output side's location is represented by cinfo->output_iMCU_row. */
66 JPP((j_decompress_ptr cinfo, JSAMPIMAGE output_buf));
69 JPP((j_decompress_ptr cinfo, JSAMPIMAGE output_buf));
72 LOCAL(boolean) smoothing_ok JPP((j_decompress_ptr cinfo));
74 JPP((j_decompress_ptr cinfo, JSAMPIMAGE output_buf));
79 start_iMCU_row (j_decompress_ptr cinfo)
82 my_coef_ptr coef = (my_coef_ptr) cinfo->coef;
88 if (cinfo->comps_in_scan > 1) {
91 if (cinfo->input_iMCU_row < (cinfo->total_iMCU_rows-1))
92 coef->MCU_rows_per_iMCU_row = cinfo->cur_comp_info[0]->v_samp_factor;
94 coef->MCU_rows_per_iMCU_row = cinfo->cur_comp_info[0]->last_row_height;
107 start_input_pass (j_decompress_ptr cinfo)
109 cinfo->input_iMCU_row = 0;
110 start_iMCU_row(cinfo);
119 start_output_pass (j_decompress_ptr cinfo)
122 my_coef_ptr coef = (my_coef_ptr) cinfo->coef;
126 if (cinfo->do_block_smoothing && smoothing_ok(cinfo))
132 cinfo->output_iMCU_row = 0;
147 decompress_onepass (j_decompress_ptr cinfo, JSAMPIMAGE output_buf)
149 my_coef_ptr coef = (my_coef_ptr) cinfo->coef;
151 JDIMENSION last_MCU_col = cinfo->MCUs_per_row - 1;
152 JDIMENSION last_iMCU_row = cinfo->total_iMCU_rows - 1;
160 if (cinfo->tile_decode) {
162 (cinfo->coef->MCU_column_right_boundary -
163 cinfo->coef->MCU_column_left_boundary) - 1;
174 (*cinfo->entropy->decode_mcu_discard_coef) (cinfo);
178 (size_t) (cinfo->blocks_in_MCU * SIZEOF(JBLOCK)));
179 if (! (*cinfo->entropy->decode_mcu) (cinfo, coef->MCU_buffer)) {
192 for (ci = 0; ci < cinfo->comps_in_scan; ci++) {
193 compptr = cinfo->cur_comp_info[ci];
199 inverse_DCT = cinfo->idct->inverse_DCT[compptr->component_index];
206 if (cinfo->input_iMCU_row < last_iMCU_row ||
210 (*inverse_DCT) (cinfo, compptr,
225 cinfo->output_iMCU_row++;
226 if (++(cinfo->input_iMCU_row) < cinfo->total_iMCU_rows) {
227 start_iMCU_row(cinfo);
231 (*cinfo->inputctl->finish_input_pass) (cinfo);
241 dummy_consume_data (j_decompress_ptr cinfo)
255 consume_data (j_decompress_ptr cinfo)
257 my_coef_ptr coef = (my_coef_ptr) cinfo->coef;
266 for (ci = 0; ci < cinfo->comps_in_scan; ci++) {
267 compptr = cinfo->cur_comp_info[ci];
268 buffer[ci] = (*cinfo->mem->access_virt_barray)
269 ((j_common_ptr) cinfo, coef->whole_image[compptr->component_index],
270 cinfo->tile_decode ? 0 : cinfo->input_iMCU_row * compptr->v_samp_factor,
277 unsigned int MCUs_per_row = cinfo->MCUs_per_row;
279 if (cinfo->tile_decode) {
281 if (cinfo->comps_in_scan > 1) {
286 iMCU_width_To_MCU_width = cinfo->cur_comp_info[0]->h_samp_factor;
289 (cinfo->coef->column_right_boundary - cinfo->coef->column_left_boundary)
290 * cinfo->entropy->index->MCU_sample_size * iMCU_width_To_MCU_width);
299 if (cinfo->tile_decode) {
301 cinfo->entropy->index->scan[cinfo->input_scan_number];
302 int col_offset = cinfo->coef->column_left_boundary;
303 (*cinfo->entropy->configure_huffman_decoder) (cinfo,
304 scan_header.offset[cinfo->input_iMCU_row]
314 for (ci = 0; ci < cinfo->comps_in_scan; ci++) {
315 compptr = cinfo->cur_comp_info[ci];
322 if (cinfo->tile_decode && cinfo->input_scan_number == 0) {
334 if (! (*cinfo->entropy->decode_mcu) (cinfo, coef->MCU_buffer)) {
345 if (++(cinfo->input_iMCU_row) < cinfo->total_iMCU_rows) {
346 start_iMCU_row(cinfo);
350 (*cinfo->inputctl->finish_input_pass) (cinfo);
360 consume_data_multi_scan (j_decompress_ptr cinfo)
362 huffman_index *index = cinfo->entropy->index;
364 int mcu = cinfo->input_iMCU_row;
365 jinit_phuff_decoder(cinfo);
367 (*cinfo->inputctl->finish_input_pass) (cinfo);
368 jset_input_stream_position(cinfo, index->scan[i].bitstream_offset);
369 cinfo->output_iMCU_row = mcu;
370 cinfo->unread_marker = 0;
372 retcode = (*cinfo->inputctl->consume_markers) (cinfo, index, i);
373 cinfo->input_iMCU_row = mcu;
374 cinfo->input_scan_number = i;
375 cinfo->entropy->index = index;
377 consume_data(cinfo);
379 cinfo->input_iMCU_row = mcu + 1;
380 cinfo->input_scan_number = 0;
381 cinfo->output_scan_number = 0;
391 consume_data_build_huffman_index_baseline (j_decompress_ptr cinfo,
394 my_coef_ptr coef = (my_coef_ptr) cinfo->coef;
404 * jdiv_round_up(cinfo->MCUs_per_row, index->MCU_sample_size)
406 scan_header->offset[cinfo->input_iMCU_row] =
410 huffman_offset_data *offset_data = scan_header->offset[cinfo->input_iMCU_row];
415 for (MCU_col_num = coef->MCU_ctr; MCU_col_num < cinfo->MCUs_per_row;
419 (*cinfo->entropy->get_huffman_decoder_configuration)
420 (cinfo, offset_data);
425 if (! (*cinfo->entropy->decode_mcu_discard_coef) (cinfo)) {
436 if (++(cinfo->input_iMCU_row) < cinfo->total_iMCU_rows) {
437 start_iMCU_row(cinfo);
441 (*cinfo->inputctl->finish_input_pass) (cinfo);
451 consume_data_build_huffman_index_progressive (j_decompress_ptr cinfo,
454 my_coef_ptr coef = (my_coef_ptr) cinfo->coef;
463 for (ci = 0; ci < cinfo->comps_in_scan; ci++)
464 factor = jmin(factor, cinfo->cur_comp_info[ci]->h_samp_factor);
469 scan_header->MCUs_per_row = jdiv_round_up(cinfo->MCUs_per_row, sample_size);
470 scan_header->comps_in_scan = cinfo->comps_in_scan;
474 scan_header->offset[cinfo->input_iMCU_row] =
478 huffman_offset_data *offset_data = scan_header->offset[cinfo->input_iMCU_row];
481 for (ci = 0; ci < cinfo->comps_in_scan; ci++) {
482 compptr = cinfo->cur_comp_info[ci];
483 buffer[ci] = (*cinfo->mem->access_virt_barray)
484 ((j_common_ptr) cinfo, coef->whole_image[compptr->component_index],
491 for (MCU_col_num = coef->MCU_ctr; MCU_col_num < cinfo->MCUs_per_row;
498 for (ci = 0; ci < cinfo->comps_in_scan; ci++) {
499 compptr = cinfo->cur_comp_info[ci];
508 if (cinfo->input_scan_number == 0) {
518 (*cinfo->entropy->get_huffman_decoder_configuration)
519 (cinfo, offset_data);
523 if (! (*cinfo->entropy->decode_mcu) (cinfo, coef->MCU_buffer)) {
533 (*cinfo->entropy->get_huffman_decoder_configuration)
534 (cinfo, &scan_header->prev_MCU_offset);
536 if (++(cinfo->input_iMCU_row) < cinfo->total_iMCU_rows) {
537 start_iMCU_row(cinfo);
541 (*cinfo->inputctl->finish_input_pass) (cinfo);
554 decompress_data (j_decompress_ptr cinfo, JSAMPIMAGE output_buf)
556 my_coef_ptr coef = (my_coef_ptr) cinfo->coef;
557 JDIMENSION last_iMCU_row = cinfo->total_iMCU_rows - 1;
568 while (cinfo->input_scan_number < cinfo->output_scan_number ||
569 (cinfo->input_scan_number == cinfo->output_scan_number &&
570 cinfo->input_iMCU_row <= cinfo->output_iMCU_row)) {
571 if ((*cinfo->inputctl->consume_input)(cinfo) == JPEG_SUSPENDED)
576 for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components;
582 buffer = (*cinfo->mem->access_virt_barray)
583 ((j_common_ptr) cinfo, coef->whole_image[ci],
584 cinfo->tile_decode ? 0 : cinfo->output_iMCU_row * compptr->v_samp_factor,
587 if (cinfo->output_iMCU_row < last_iMCU_row)
594 inverse_DCT = cinfo->idct->inverse_DCT[ci];
599 if (cinfo->tile_decode) {
602 (cinfo->coef->MCU_column_right_boundary -
603 cinfo->coef->MCU_column_left_boundary) *
615 (*inverse_DCT) (cinfo, compptr, (JCOEFPTR) buffer_ptr,
624 if (++(cinfo->output_iMCU_row) < cinfo->total_iMCU_rows)
658 smoothing_ok (j_decompress_ptr cinfo)
660 my_coef_ptr coef = (my_coef_ptr) cinfo->coef;
668 if (! cinfo->progressive_mode || cinfo->coef_bits == NULL)
674 (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE,
675 cinfo->num_components *
679 for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components;
693 coef_bits = cinfo->coef_bits[ci];
714 decompress_smooth_data (j_decompress_ptr cinfo, JSAMPIMAGE output_buf)
716 my_coef_ptr coef = (my_coef_ptr) cinfo->coef;
717 JDIMENSION last_iMCU_row = cinfo->total_iMCU_rows - 1;
735 while (cinfo->input_scan_number <= cinfo->output_scan_number &&
736 ! cinfo->inputctl->eoi_reached) {
737 if (cinfo->input_scan_number == cinfo->output_scan_number) {
743 JDIMENSION delta = (cinfo->Ss == 0) ? 1 : 0;
744 if (cinfo->input_iMCU_row > cinfo->output_iMCU_row+delta)
747 if ((*cinfo->inputctl->consume_input)(cinfo) == JPEG_SUSPENDED)
752 for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components;
758 if (cinfo->output_iMCU_row < last_iMCU_row) {
770 if (cinfo->output_iMCU_row > 0) {
772 buffer = (*cinfo->mem->access_virt_barray)
773 ((j_common_ptr) cinfo, coef->whole_image[ci],
774 (cinfo->output_iMCU_row - 1) * compptr->v_samp_factor,
779 buffer = (*cinfo->mem->access_virt_barray)
780 ((j_common_ptr) cinfo, coef->whole_image[ci],
793 inverse_DCT = cinfo->idct->inverse_DCT[ci];
903 (*inverse_DCT) (cinfo, compptr, (JCOEFPTR) workspace,
916 if (++(cinfo->output_iMCU_row) < cinfo->total_iMCU_rows)
929 jinit_d_coef_controller (j_decompress_ptr cinfo, boolean need_full_buffer)
934 (*cinfo->mem->alloc_small) ((j_common_ptr) cinfo, JPOOL_IMAGE,
936 cinfo->coef = (struct jpeg_d_coef_controller *) coef;
947 if (cinfo->tile_decode) {
948 if (cinfo->progressive_mode) {
956 for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components;
959 coef->whole_image[ci] = (*cinfo->mem->request_virt_barray)
960 ((j_common_ptr) cinfo, JPOOL_IMAGE, TRUE,
977 (*cinfo->mem->alloc_large) ((j_common_ptr) cinfo, JPOOL_IMAGE,
1001 for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components;
1006 if (cinfo->progressive_mode)
1009 coef->whole_image[ci] = (*cinfo->mem->request_virt_barray)
1010 ((j_common_ptr) cinfo, JPOOL_IMAGE, TRUE,
1021 ERREXIT(cinfo, JERR_NOT_COMPILED);
1029 (*cinfo->mem->alloc_large) ((j_common_ptr) cinfo, JPOOL_IMAGE,