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

📄 hplx_def.h

📁 JPEG2000 EBCOT算法源码
💻 H
字号:
/*****************************************************************************/
/* Copyright 1998, Hewlett-Packard Company                                   */
/* All rights reserved                                                       */
/* Author: Christos Chrysafis                                                */
/* Version: V2.1                                                             */
/* Last Revised: 10/2/98                                                     */
/*****************************************************************************/
#ifndef HPLX_DEF_H
#define HPLX_DEF_H

#include <stdio.h>
#include <time.h>
#include <line_block_ifc.h>
#include <hplx_hor.h>

#ifndef roundshift
#define roundshift(a,l) \
( (a) > 0 ) ? (( int) (  (float)0.5 + (a) *  ( 1 << (l)  )  )  ):\
            (( int) ( (float)-0.5 + (a) *  ( 1 << (l)  )  )  )
#endif 

#ifndef max
#define max(a,b)  ( (b) < (a) ) ? (a):(b)
#endif

#ifndef min
#define min(a,b)  ( (b) > (a) ) ? (a) : (b)
#endif



/************************************************************************/
/*
 *   transform object 
 *   can do either analysis or synthesis
 *   depending up on the way it is created.
 */
 /***********************************************************************/

/***********************************************************************/

typedef struct transform_obj *transform_ref;

typedef
  struct transform_obj {
    int component_idx;
    transform_ref next;
    float ** _data, *RawData,*SecBuf,*ExtraLine;
    float *LowA, *HighA,*LowS,*HighS;
    int  w,h,Cpeek,Cpoke,Middle;
    int UsedAsAnalysis; /* 0->synthesis*/
	int TrueExtra,fixed;
    short int  ** _data_I,*RawData_I; 
    int maxY,ImageRows;
    int EvenFilter,LoneLine;
    int ZLevel,CmpLevel,term;
    int *LowA_I[2], *HighA_I[2],*LowS_I[2],*HighS_I[2];
	int *BufFast;
    int lone_factors[2];
    short int  *SecBuf_I,*ExtraLine_I;
    int coeff_precision;
    int shiftFactor;
    quantizer_ref   quant;
    dequantizer_ref dequant;
    interpolator    *inv;
    decimator       *frd;
  } transform_obj;

typedef
  struct the_analysis_obj {
    analysis_obj base;
    int num_levels;
    int num_components;
    transform_ref components;
  } the_analysis_obj, *the_analysis_ref;

typedef
  struct the_synthesis_obj {
    synthesis_obj base;
    int num_levels;
    int num_components;
    transform_ref components;
  } the_synthesis_obj, *the_synthesis_ref;


#endif /* HPLX_DEF_H */

⌨️ 快捷键说明

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