www.pudn.com > JPEGMotion.rar > IJPEGENC.H


/* 
 *  ======== ijpegenc.h ======== 
 *  IJPEGENC Interface Header 
 */ 
#ifndef IJPEGENC_ 
#define IJPEGENC_ 
 
#include  
#include  
#include  
#include  
 
/* 
 *  ======== IJPEGENC_Handle ======== 
 *  This handle is used to reference all JPEGENC instance objects 
 */ 
typedef struct IJPEGENC_Obj *IJPEGENC_Handle; 
 
/* 
 *  ======== IJPEGENC_Obj ======== 
 *  This structure must be the first field of all JPEGENC instance objects 
 */ 
typedef struct IJPEGENC_Obj { 
    struct IJPEGENC_Fxns *fxns; 
} IJPEGENC_Obj; 
 
/* 
 *  ======== IJPEGENC_Params ======== 
 *  This structure defines the creation parameters for all JPEGENC objects 
 */ 
typedef struct IJPEGENC_Params { 
    Int size;	/* must be first field of all params structures */ 
    unsigned int  samplePrec; 
    unsigned int  numComps; 
    unsigned int  numQtables; 
    unsigned int  interleaved; 
    unsigned int  format; 
    unsigned int  quality; 
    unsigned int  numLines[3]; 
    unsigned int  numSamples[3];  
    unsigned int  pitch[3];    
    unsigned int  outputSize; 
 
} IJPEGENC_Params; 
typedef IJPEGENC_Params IJPEGENC_Status; 
/* 
 *  ======== IJPEGENC_PARAMS ======== 
 *  Default parameter values for JPEGENC instance objects 
 */ 
extern IJPEGENC_Params IJPEGENC_PARAMS; 
 
/* 
 *  ======== IJPEGENC_Fxns ======== 
 *  This structure defines all of the operations on JPEGENC objects 
 */ 
typedef struct IJPEGENC_Fxns { 
    IALG_Fxns	ialg;    /* IJPEGENC extends IALG */ 
    XDAS_Bool   (*control)(IJPEGENC_Handle handle, IJPEG_Cmd cmd, IJPEGENC_Status *status); 
    XDAS_Int32  (*encode)(IJPEGENC_Handle handle, XDAS_Int8** in, XDAS_Int8* out); 
 
} IJPEGENC_Fxns; 
 
#endif	/* IJPEGENC_ */