Lines Matching full:main
8 * This file contains the main buffer controller for decompression.
9 * The main buffer lies between the JPEG decompressor proper and the
13 * supplies the equivalent of the main buffer in that case.
22 * In the current system design, the main buffer need never be a full-image
24 * postprocessing controllers. Nonetheless, the main controller is not
162 my_main_ptr main = (my_main_ptr) cinfo->main;
171 main->xbuffer[0] = (JSAMPIMAGE)
174 main->xbuffer[1] = main->xbuffer[0] + cinfo->num_components;
187 main->xbuffer[0][ci] = xbuf;
189 main->xbuffer[1][ci] = xbuf;
197 * The actual workspace is already allocated (in main->buffer),
203 my_main_ptr main = (my_main_ptr) cinfo->main;
213 xbuf0 = main->xbuffer[0][ci];
214 xbuf1 = main->xbuffer[1][ci];
216 buf = main->buffer[ci];
243 my_main_ptr main = (my_main_ptr) cinfo->main;
253 xbuf0 = main->xbuffer[0][ci];
254 xbuf1 = main->xbuffer[1][ci];
272 my_main_ptr main = (my_main_ptr) cinfo->main;
289 main->rowgroups_avail = (JDIMENSION) ((rows_left-1) / rgroup + 1);
294 xbuf = main->xbuffer[main->whichptr][ci];
309 my_main_ptr main = (my_main_ptr) cinfo->main;
314 main->pub.process_data = process_data_context_main;
316 main->whichptr = 0; /* Read first iMCU row into xbuffer[0] */
317 main->context_state = CTX_PREPARE_FOR_IMCU;
318 main->iMCU_row_ctr = 0;
321 main->pub.process_data = process_data_simple_main;
323 main->buffer_full = FALSE; /* Mark buffer empty */
324 main->rowgroup_ctr = 0;
329 main->pub.process_data = process_data_crank_post;
349 my_main_ptr main = (my_main_ptr) cinfo->main;
352 /* Read input data if we haven't filled the main buffer yet */
353 if (! main->buffer_full) {
354 if (! (*cinfo->coef->decompress_data) (cinfo, main->buffer))
356 main->buffer_full = TRUE; /* OK, we have an iMCU row to work with */
367 (*cinfo->post->post_process_data) (cinfo, main->buffer,
368 &main->rowgroup_ctr, rowgroups_avail,
372 if (main->rowgroup_ctr >= rowgroups_avail) {
373 main->buffer_full = FALSE;
374 main->rowgroup_ctr = 0;
389 my_main_ptr main = (my_main_ptr) cinfo->main;
391 /* Read input data if we haven't filled the main buffer yet */
392 if (! main->buffer_full) {
394 main->xbuffer[main->whichptr]))
396 main->buffer_full = TRUE; /* OK, we have an iMCU row to work with */
397 main->iMCU_row_ctr++; /* count rows received */
405 switch (main->context_state) {
408 (*cinfo->post->post_process_data) (cinfo, main->xbuffer[main->whichptr],
409 &main->rowgroup_ctr, main->rowgroups_avail,
411 if (main->rowgroup_ctr < main->rowgroups_avail)
413 main->context_state = CTX_PREPARE_FOR_IMCU;
419 main->rowgroup_ctr = 0;
420 main->rowgroups_avail = (JDIMENSION) (cinfo->min_DCT_scaled_size - 1);
424 if (main->iMCU_row_ctr == cinfo->total_iMCU_rows)
426 main->context_state = CTX_PROCESS_IMCU;
430 (*cinfo->post->post_process_data) (cinfo, main->xbuffer[main->whichptr],
431 &main->rowgroup_ctr, main->rowgroups_avail,
433 if (main->rowgroup_ctr < main->rowgroups_avail)
436 if (main->iMCU_row_ctr == 1)
439 main->whichptr ^= 1; /* 0=>1 or 1=>0 */
440 main->buffer_full = FALSE;
443 main->rowgroup_ctr = (JDIMENSION) (cinfo->min_DCT_scaled_size + 1);
444 main->rowgroups_avail = (JDIMENSION) (cinfo->min_DCT_scaled_size + 2);
445 main->context_state = CTX_POSTPONED_ROW;
472 * Initialize main buffer controller.
478 my_main_ptr main;
482 main = (my_main_ptr)
485 cinfo->main = (struct jpeg_d_main_controller *) main;
486 main->pub.start_pass = start_pass_main;
507 main->buffer[ci] = (*cinfo->mem->alloc_sarray)