10 #define JPEG_INTERNALS 33 ERREXIT1(cinfo, JERR_BAD_STATE, cinfo->global_state);
40 (*cinfo->dest->init_destination)(cinfo);
44 (*cinfo->master->prepare_for_pass)(cinfo);
48 cinfo->next_scanline = 0;
75 ERREXIT1(cinfo, JERR_BAD_STATE, cinfo->global_state);
76 if (cinfo->next_scanline >= cinfo->image_height)
77 WARNMS(cinfo, JWRN_TOO_MUCH_DATA);
80 if (cinfo->progress !=
nullptr)
82 cinfo->progress->pass_counter = (long)cinfo->next_scanline;
83 cinfo->progress->pass_limit = (
long)cinfo->image_height;
84 (*cinfo->progress->progress_monitor)((
j_common_ptr)cinfo);
92 if (cinfo->master->call_pass_startup) (*cinfo->master->pass_startup)(cinfo);
95 rows_left = cinfo->image_height - cinfo->next_scanline;
96 if (num_lines > rows_left) num_lines = rows_left;
99 (*cinfo->main->process_data)(cinfo, scanlines, &row_ctr, num_lines);
100 cinfo->next_scanline += row_ctr;
115 ERREXIT1(cinfo, JERR_BAD_STATE, cinfo->global_state);
116 if (cinfo->next_scanline >= cinfo->image_height)
118 WARNMS(cinfo, JWRN_TOO_MUCH_DATA);
123 if (cinfo->progress !=
nullptr)
125 cinfo->progress->pass_counter = (long)cinfo->next_scanline;
126 cinfo->progress->pass_limit = (
long)cinfo->image_height;
127 (*cinfo->progress->progress_monitor)((
j_common_ptr)cinfo);
135 if (cinfo->master->call_pass_startup) (*cinfo->master->pass_startup)(cinfo);
138 lines_per_iMCU_row = cinfo->max_v_samp_factor *
DCTSIZE;
139 if (num_lines < lines_per_iMCU_row)
ERREXIT(cinfo, JERR_BUFFER_SIZE);
142 if (!(*cinfo->coef->compress_data)(cinfo,
data))
149 cinfo->next_scanline += lines_per_iMCU_row;
150 return lines_per_iMCU_row;
#define ERREXIT(cinfo, code)
jpeg_suppress_tables(j_compress_ptr cinfo, boolean suppress)
jpeg_write_scanlines(j_compress_ptr cinfo, JSAMPARRAY scanlines, JDIMENSION num_lines)
jinit_compress_master(j_compress_ptr cinfo)
#define WARNMS(cinfo, code)
#define ERREXIT1(cinfo, code, p1)
jpeg_write_raw_data(j_compress_ptr cinfo, JSAMPIMAGE data, JDIMENSION num_lines)
GLsizei GLsizei GLenum GLenum const GLvoid * data
jpeg_start_compress(j_compress_ptr cinfo, boolean write_all_tables)