⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ijl.h

📁 3D reconstruction, medical image processing from colons, using intel image processing for based clas
💻 H
📖 第 1 页 / 共 4 页
字号:
//  hclass      0 == DC table, 1 == AC table.//  ident       Specifies the identifier for this table.//              0-3 for extended JPEG compliance.//////////////////////////////////////////////////////////////////////////////*D*/typedef struct _JPEGHuffTable{  unsigned char* bits;  unsigned char* vals;  unsigned char  hclass;  unsigned char  ident;} JPEGHuffTable;/*D*////////////////////////////////////////////////////////////////////////////// Name:        QUANT_TABLE//// Purpose:     Stores quantization table information in a//              fast-to-use format.//// Context:     Used by quantizer/dequantizer to store formatted//              quantization tables.//// Fields://  precision   0 => elements contains 8-bit elements,//              1 => elements contains 16-bit elements.//  ident       Table identifier (0-3).//  elements    Pointer to 64 table elements + 16 extra elements to catch//              input data errors that may cause malfunction of the//              Huffman decoder.//  elarray     Space for elements (see above) plus 8 bytes to align//              to a quadword boundary.//////////////////////////////////////////////////////////////////////////////*D*/typedef struct _QUANT_TABLE{  int    precision;  int    ident;  short* elements;  short  elarray [84];} QUANT_TABLE;/*D*////////////////////////////////////////////////////////////////////////////// Name:        JPEGQuantTable//// Purpose:     Stores pointers to JPEG binary spec compliant//              quantization table information.//// Context:     Used by interface and table methods to specify encoder//              tables to generate and store JPEG images.//// Fields://  quantizer   Zig-zag order elements specifying quantization factors.//  ident       Specifies identifier for this table.//              0-3 valid for Extended Baseline JPEG compliance.//////////////////////////////////////////////////////////////////////////////*D*/typedef struct _JPEGQuantTable{  unsigned char* quantizer;  unsigned char  ident;} JPEGQuantTable;/*D*////////////////////////////////////////////////////////////////////////////// Name:        FRAME_COMPONENT//// Purpose:     One frame-component structure is allocated per component//              in a frame.//// Context:     Used by Huffman decoder to manage components.//// Fields://  ident       Component identifier.  The tables use this ident to//              determine the correct table for each component.//  hsampling   Horizontal subsampling factor for this component,//              1-4 are legal.//  vsampling   Vertical subsampling factor for this component,//              1-4 are legal.//  quant_sel   Quantization table selector.  The quantization table//              used by this component is determined via this selector.//////////////////////////////////////////////////////////////////////////////*D*/typedef struct _FRAME_COMPONENT{  int ident;  int hsampling;  int vsampling;  int quant_sel;} FRAME_COMPONENT;/*D*////////////////////////////////////////////////////////////////////////////// Name:        FRAME//// Purpose:     Stores frame-specific data.//// Context:     One Frame structure per image.//// Fields://  precision       Sample precision in bits.//  width           Width of the source image in pixels.//  height          Height of the source image in pixels.//  MCUheight       Height of a frame MCU.//  MCUwidth        Width of a frame MCU.//  max_hsampling   Max horiz sampling ratio of any component in the frame.//  max_vsampling   Max vert sampling ratio of any component in the frame.//  ncomps          Number of components/channels in the frame.//  horMCU          Number of horizontal MCUs in the frame.//  totalMCU        Total number of MCUs in the frame.//  comps           Array of 'ncomps' component descriptors.//  restart_interv  Indicates number of MCUs after which to restart the//                  entropy parameters.//  SeenAllDCScans  Used when decoding Multiscan images to determine if//                  all channels of an image have been decoded.//  SeenAllACScans  (See SeenAllDCScans)//////////////////////////////////////////////////////////////////////////////*D*/typedef struct _FRAME{  int              precision;  int              width;  int              height;  int              MCUheight;  int              MCUwidth;  int              max_hsampling;  int              max_vsampling;  int              ncomps;  int              horMCU;  long             totalMCU;  FRAME_COMPONENT* comps;  int              restart_interv;  int              SeenAllDCScans;  int              SeenAllACScans;} FRAME;/*D*////////////////////////////////////////////////////////////////////////////// Name:        SCAN_COMPONENT//// Purpose:     One scan-component structure is allocated per component//              of each scan in a frame.//// Context:     Used by Huffman decoder to manage components within scans.//// Fields://  comp        Component number, index to the comps member of FRAME.//  hsampling   Horizontal sampling factor.//  vsampling   Vertical sampling factor.//  dc_table    DC Huffman table pointer for this scan.//  ac_table    AC Huffman table pointer for this scan.//  quant_table Quantization table pointer for this scan.//////////////////////////////////////////////////////////////////////////////*D*/typedef struct _SCAN_COMPONENT{  int            comp;  int            hsampling;  int            vsampling;  HUFFMAN_TABLE* dc_table;  HUFFMAN_TABLE* ac_table;  QUANT_TABLE*   quant_table;} SCAN_COMPONENT;/*D*////////////////////////////////////////////////////////////////////////////// Name:        SCAN//// Purpose:     One SCAN structure is allocated per scan in a frame.//// Context:     Used by Huffman decoder to manage scans.//// Fields://  ncomps          Number of image components in a scan, 1-4 legal.//  gray_scale      If TRUE, decode only the Y channel.//  start_spec      Start coefficient of spectral or predictor selector.//  end_spec        End coefficient of spectral selector.//  approx_high     High bit position in successive approximation//                  Progressive coding.//  approx_low      Low bit position in successive approximation//                  Progressive coding.//  restart_interv  Restart interval, 0 if disabled.//  curxMCU         Next horizontal MCU index to be processed after//                  an interrupted SCAN.//  curyMCU         Next vertical MCU index to be processed after//                  an interrupted SCAN.//  dc_diff         Array of DC predictor values for DPCM modes.//  comps           Array of ncomps SCAN_COMPONENT component identifiers.//////////////////////////////////////////////////////////////////////////////*D*/typedef struct _SCAN{  int             ncomps;  int             gray_scale;  int             start_spec;  int             end_spec;  int             approx_high;  int             approx_low;  unsigned int    restart_interv;  int             curxMCU;  int             curyMCU;  int             dc_diff[4];  SCAN_COMPONENT* comps;} SCAN;/*D*////////////////////////////////////////////////////////////////////////////// Name:        DCTTYPE//// Purpose:     Possible algorithms to be used to perform the discrete//              cosine transform (DCT).//// Fields://  IJL_AAN     The AAN (Arai, Agui, and Nakajima) algorithm from//              Trans. IEICE, vol. E 71(11), 1095-1097, Nov. 1988.//  IJL_IPP     The modified K. R. Rao and P. Yip algorithm from//              Intel Performance Primitives Library//////////////////////////////////////////////////////////////////////////////*D*/typedef enum _DCTTYPE{  IJL_AAN = 0,  IJL_IPP = 1} DCTTYPE;/*D*////////////////////////////////////////////////////////////////////////////// Name:        UPSAMPLING_TYPE//// Purpose:            -  Possible algorithms to be used to perform upsampling//// Fields://  IJL_BOX_FILTER      - the algorithm is simple replication of the input pixel//                        onto the corresponding output pixels (box filter);//  IJL_TRIANGLE_FILTER - 3/4 * nearer pixel + 1/4 * further pixel in each//                        dimension////////////////////////////////////////////////////////////////////////////*D*/typedef enum _UPSAMPLING_TYPE{  IJL_BOX_FILTER      = 0,  IJL_TRIANGLE_FILTER = 1} UPSAMPLING_TYPE;/*D*////////////////////////////////////////////////////////////////////////////// Name:        SAMPLING_STATE//// Purpose:     Stores current conditions of sampling. Only for upsampling //              with triangle filter is used now.//// Fields://  top_row        - pointer to buffer with MCUs, that are located above than//                   current row of MCUs;//  cur_row        - pointer to buffer with current row of MCUs;//  bottom_row     - pointer to buffer with MCUs, that are located below than//                   current row of MCUs;//  last_row       - pointer to bottom boundary of last row of MCUs//  cur_row_number - number of row of MCUs, that is decoding;//  user_interrupt - field to store jprops->interrupt, because of we prohibit //                   interrupts while top row of MCUs is upsampling.////////////////////////////////////////////////////////////////////////////*D*/typedef struct _SAMPLING_STATE{  short* top_row;  short* cur_row;  short* bottom_row;  short* last_row;  int    cur_row_number;} SAMPLING_STATE;/*D*////////////////////////////////////////////////////////////////////////////// Name:        PROCESSOR_TYPE//// Purpose:     Possible types of processors.//              Note that the enums are defined in ascending order//              depending upon their various IA32 instruction support.//// Fields://// IJL_OTHER_PROC//      Does not support the CPUID instruction and//      assumes no Pentium(R) processor instructions.//// IJL_PENTIUM_PROC//      Corresponds to an Intel(R) Pentium(R) processor//      (or a 100% compatible) that supports the//      Pentium(R) processor instructions.//// IJL_PENTIUM_PRO_PROC//      Corresponds to an Intel(R) Pentium(R) Pro processor//      (or a 100% compatible) that supports the//      Pentium(R) Pro processor instructions.//// IJL_PENTIUM_PROC_MMX_TECH//      Corresponds to an Intel(R) Pentium(R) processor//      with MMX(TM) technology (or a 100% compatible)//      that supports the MMX(TM) instructions.//// IJL_PENTIUM_II_PROC//      Corresponds to an Intel(R) Pentium(R) II processor//      (or a 100% compatible) that supports both the//      Pentium(R) Pro processor instructions and the//      MMX(TM) instructions.//// IJL_PENTIUM_III_PROC//      Corresponds to an Intel(R) Pentium(R) III processor//// IJL_PENTIUM_4_PROC//      Corresponds to an Intel(R) Pentium(R) 4 processor//// IJL_NEW_PROCESSOR//      Correponds to new processor////  Any additional processor types that support a superset//  of both the Pentium(R) Pro processor instructions and the//  MMX(TM) instructions should be given an enum value greater//  than IJL_PENTIUM_4_PROC.//////////////////////////////////////////////////////////////////////////////*D*/typedef enum _PROCESSOR_TYPE{  IJL_OTHER_PROC            = 0,  IJL_PENTIUM_PROC          = 1,  IJL_PENTIUM_PRO_PROC      = 2,  IJL_PENTIUM_PROC_MMX_TECH = 3,  IJL_PENTIUM_II_PROC       = 4,  IJL_PENTIUM_III_PROC      = 5,  IJL_PENTIUM_4_PROC        = 6,  IJL_NEW_PROCESSOR         = 7} PROCESSOR_TYPE;/*D*////////////////////////////////////////////////////////////////////////////// Name:        RAW_DATA_TYPES_STATE//// Purpose:     Stores data types: raw dct coefficients or raw sampled data.//              Pointer to structure in JPEG_PROPERTIES is NULL, if any raw

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -