17 #define JPEG_INTERNALS
41 ERREXIT1(cinfo, JERR_BAD_STATE, cinfo->global_state);
48 (*cinfo->dest->init_destination) (cinfo);
52 (*cinfo->master->prepare_for_pass) (cinfo);
56 cinfo->next_scanline = 0;
83 ERREXIT1(cinfo, JERR_BAD_STATE, cinfo->global_state);
84 if (cinfo->next_scanline >= cinfo->image_height)
85 WARNMS(cinfo, JWRN_TOO_MUCH_DATA);
88 if (cinfo->progress != NULL) {
89 cinfo->progress->pass_counter = (long) cinfo->next_scanline;
90 cinfo->progress->pass_limit = (
long) cinfo->image_height;
91 (*cinfo->progress->progress_monitor) ((
j_common_ptr) cinfo);
99 if (cinfo->master->call_pass_startup)
100 (*cinfo->master->pass_startup) (cinfo);
103 rows_left = cinfo->image_height - cinfo->next_scanline;
109 cinfo->next_scanline += row_ctr;
126 ERREXIT1(cinfo, JERR_BAD_STATE, cinfo->global_state);
127 if (cinfo->next_scanline >= cinfo->image_height) {
128 WARNMS(cinfo, JWRN_TOO_MUCH_DATA);
133 if (cinfo->progress != NULL) {
134 cinfo->progress->pass_counter = (long) cinfo->next_scanline;
135 cinfo->progress->pass_limit = (
long) cinfo->image_height;
136 (*cinfo->progress->progress_monitor) ((
j_common_ptr) cinfo);
144 if (cinfo->master->call_pass_startup)
145 (*cinfo->master->pass_startup) (cinfo);
148 lines_per_iMCU_row = cinfo->max_v_samp_factor *
DCTSIZE;
150 ERREXIT(cinfo, JERR_BUFFER_SIZE);
153 if (! (*cinfo->coef->compress_data) (cinfo,
data)) {
159 cinfo->next_scanline += lines_per_iMCU_row;
160 return lines_per_iMCU_row;