/* * jcmainct.c * * This file was part of the Independent JPEG Group's software: * Copyright (C) 1994-1996, Thomas G. Lane. * It was modified by The libjpeg-turbo Project to include only code relevant * to libjpeg-turbo. * For conditions of distribution and use, see the accompanying README.ijg * file. * * This file contains the main buffer controller for compression. * The main buffer lies between the pre-processor and the JPEG * compressor proper; it holds downsampled data in the JPEG colorspace. */ #define JPEG_INTERNALS #include "jinclude.h" #include "jpeglib.h" /* Private buffer controller object */ my_main_controller; my_main_ptr; /* Forward declarations */ METHODDEF(void) process_data_simple_main(j_compress_ptr cinfo, JSAMPARRAY input_buf, JDIMENSION *in_row_ctr, JDIMENSION in_rows_avail); /* * Initialize for a processing pass. */ METHODDEF(void) start_pass_main(j_compress_ptr cinfo, J_BUF_MODE pass_mode) { … } /* * Process some data. * This routine handles the simple pass-through mode, * where we have only a strip buffer. */ METHODDEF(void) process_data_simple_main(j_compress_ptr cinfo, JSAMPARRAY input_buf, JDIMENSION *in_row_ctr, JDIMENSION in_rows_avail) { … } /* * Initialize main buffer controller. */ GLOBAL(void) jinit_c_main_controller(j_compress_ptr cinfo, boolean need_full_buffer) { … }