jcmaster.h (1376B)
1 /* 2 * jcmaster.h 3 * 4 * This file was part of the Independent JPEG Group's software: 5 * Copyright (C) 1991-1995, Thomas G. Lane. 6 * libjpeg-turbo Modifications: 7 * Copyright (C) 2016, D. R. Commander. 8 * For conditions of distribution and use, see the accompanying README.ijg 9 * file. 10 * 11 * This file contains master control structure for the JPEG compressor. 12 */ 13 14 /* Private state */ 15 16 typedef enum { 17 main_pass, /* input data, also do first output step */ 18 huff_opt_pass, /* Huffman code optimization pass */ 19 output_pass /* data output pass */ 20 } c_pass_type; 21 22 typedef struct { 23 struct jpeg_comp_master pub; /* public fields */ 24 25 c_pass_type pass_type; /* the type of the current pass */ 26 27 int pass_number; /* # of passes completed */ 28 int total_passes; /* total # of passes needed */ 29 30 int scan_number; /* current index in scan_info[] */ 31 32 /* 33 * This is here so we can add libjpeg-turbo version/build information to the 34 * global string table without introducing a new global symbol. Adding this 35 * information to the global string table allows one to examine a binary 36 * object and determine which version of libjpeg-turbo it was built from or 37 * linked against. 38 */ 39 const char *jpeg_version; 40 41 } my_comp_master; 42 43 typedef my_comp_master *my_master_ptr;