12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- #define JPEG_INTERNALS
- #include "jpeglib.h"
- #ifndef D_PROGRESSIVE_SUPPORTED
- #undef BLOCK_SMOOTHING_SUPPORTED
- #endif
- typedef struct {
- struct jpeg_d_coef_controller pub;
-
-
- JDIMENSION MCU_ctr;
- int MCU_vert_offset;
- int MCU_rows_per_iMCU_row;
-
-
- JBLOCKROW MCU_buffer[D_MAX_BLOCKS_IN_MCU];
-
- JCOEF *workspace;
- #ifdef D_MULTISCAN_FILES_SUPPORTED
-
- jvirt_barray_ptr whole_image[MAX_COMPONENTS];
- #endif
- #ifdef BLOCK_SMOOTHING_SUPPORTED
-
- int *coef_bits_latch;
- #define SAVED_COEFS 6
- #endif
- } my_coef_controller;
- typedef my_coef_controller *my_coef_ptr;
- LOCAL(void)
- start_iMCU_row(j_decompress_ptr cinfo)
- {
- my_coef_ptr coef = (my_coef_ptr)cinfo->coef;
-
- if (cinfo->comps_in_scan > 1) {
- coef->MCU_rows_per_iMCU_row = 1;
- } else {
- if (cinfo->input_iMCU_row < (cinfo->total_iMCU_rows - 1))
- coef->MCU_rows_per_iMCU_row = cinfo->cur_comp_info[0]->v_samp_factor;
- else
- coef->MCU_rows_per_iMCU_row = cinfo->cur_comp_info[0]->last_row_height;
- }
- coef->MCU_ctr = 0;
- coef->MCU_vert_offset = 0;
- }
|