Lines Matching refs:cinfo

36 void ErrorExit(jpeg_common_struct* cinfo) {
37 CoderErrorMgr *err = reinterpret_cast<CoderErrorMgr*>(cinfo->err);
88 void InitDestination(jpeg_compress_struct* cinfo) {
89 JpegEncoderState* state = static_cast<JpegEncoderState*>(cinfo->client_data);
95 cinfo->dest->next_output_byte = &(*state->out)[0];
96 cinfo->dest->free_in_buffer = initial_output_buffer_size;
111 boolean EmptyOutputBuffer(jpeg_compress_struct* cinfo) {
112 JpegEncoderState* state = static_cast<JpegEncoderState*>(cinfo->client_data);
121 cinfo->dest->next_output_byte = &(*state->out)[state->image_buffer_used];
122 cinfo->dest->free_in_buffer = state->out->size() - state->image_buffer_used;
133 void TermDestination(jpeg_compress_struct* cinfo) {
134 JpegEncoderState* state = static_cast<JpegEncoderState*>(cinfo->client_data);
138 state->image_buffer_used = cinfo->dest->next_output_byte - &(*state->out)[0];
207 jpeg_compress_struct cinfo;
209 destroyer.SetManagedObject(&cinfo);
218 cinfo.err = jpeg_std_error(&errmgr.pub);
235 // The destroyer will destroy() cinfo on exit.
236 jpeg_create_compress(&cinfo);
238 cinfo.image_width = w;
239 cinfo.image_height = h;
240 cinfo.input_components = 3;
247 cinfo.input_components = 3;
248 cinfo.in_color_space = JCS_RGB;
251 cinfo.input_components = 4;
252 cinfo.in_color_space = JCS_EXT_RGBX;
255 cinfo.input_components = 4;
256 cinfo.in_color_space = JCS_EXT_BGRX;
264 cinfo.in_color_space = JCS_RGB;
266 cinfo.data_precision = 8;
268 jpeg_set_defaults(&cinfo);
269 jpeg_set_quality(&cinfo, quality, 1); // quality here is 0-100
276 cinfo.dest = &destmgr;
279 cinfo.client_data = &state;
281 jpeg_start_compress(&cinfo, 1);
288 while (cinfo.next_scanline < cinfo.image_height) {
289 const unsigned char* row = &input[cinfo.next_scanline * row_byte_width];
290 jpeg_write_scanlines(&cinfo, const_cast<unsigned char**>(&row), 1);
295 while (cinfo.next_scanline < cinfo.image_height) {
296 const unsigned char* row = &input[cinfo.next_scanline * row_byte_width];
297 jpeg_write_scanlines(&cinfo, const_cast<unsigned char**>(&row), 1);
316 while (cinfo.next_scanline < cinfo.image_height) {
317 converter(&input[cinfo.next_scanline * row_byte_width], w, row_buffer);
318 jpeg_write_scanlines(&cinfo, &row_buffer, 1);
324 jpeg_finish_compress(&cinfo);
347 void InitSource(j_decompress_ptr cinfo) {
348 JpegDecoderState* state = static_cast<JpegDecoderState*>(cinfo->client_data);
349 cinfo->src->next_input_byte = state->input_buffer;
350 cinfo->src->bytes_in_buffer = state->input_buffer_length;
366 boolean FillInputBuffer(j_decompress_ptr cinfo) {
383 void SkipInputData(j_decompress_ptr cinfo, long num_bytes) {
384 if (num_bytes > static_cast<long>(cinfo->src->bytes_in_buffer)) {
388 cinfo->src->next_input_byte += cinfo->src->bytes_in_buffer;
389 cinfo->src->bytes_in_buffer = 0;
391 cinfo->src->bytes_in_buffer -= static_cast<size_t>(num_bytes);
392 cinfo->src->next_input_byte += num_bytes;
402 void TermSource(j_decompress_ptr cinfo) {
463 jpeg_decompress_struct cinfo;
465 destroyer.SetManagedObject(&cinfo);
471 cinfo.err = jpeg_std_error(&errmgr.pub);
476 // See note in JPEGCodec::Encode() for why we need to destroy the cinfo
482 // The destroyer will destroy() cinfo on exit. We don't want to set the
483 // destroyer's object until cinfo is initialized.
484 jpeg_create_decompress(&cinfo);
493 cinfo.src = &srcmgr;
496 cinfo.client_data = &state;
499 if (jpeg_read_header(&cinfo, true) != JPEG_HEADER_OK)
503 switch (cinfo.jpeg_color_space) {
513 cinfo.out_color_space = JCS_RGB;
514 cinfo.output_components = 3;
517 cinfo.out_color_space = JCS_EXT_RGBX;
518 cinfo.output_components = 4;
521 cinfo.out_color_space = JCS_EXT_BGRX;
522 cinfo.output_components = 4;
530 cinfo.out_color_space = JCS_RGB;
542 cinfo.output_components = 3;
545 jpeg_calc_output_dimensions(&cinfo);
546 *w = cinfo.output_width;
547 *h = cinfo.output_height;
549 jpeg_start_decompress(&cinfo);
553 int row_read_stride = cinfo.output_width * cinfo.output_components;
559 output->resize(row_write_stride * cinfo.output_height);
561 for (int row = 0; row < static_cast<int>(cinfo.output_height); row++) {
563 if (!jpeg_read_scanlines(&cinfo, &rowptr, 1))
570 output->resize(row_write_stride * cinfo.output_height);
572 for (int row = 0; row < static_cast<int>(cinfo.output_height); row++) {
574 if (!jpeg_read_scanlines(&cinfo, &rowptr, 1))
585 row_write_stride = cinfo.output_width * 4;
589 row_write_stride = cinfo.output_width * 4;
593 jpeg_destroy_decompress(&cinfo);
597 output->resize(row_write_stride * cinfo.output_height);
601 for (int row = 0; row < static_cast<int>(cinfo.output_height); row++) {
602 if (!jpeg_read_scanlines(&cinfo, &rowptr, 1))
609 jpeg_finish_decompress(&cinfo);
610 jpeg_destroy_decompress(&cinfo);