[cvs] / xvidcore / src / xvid.h Repository:
ViewVC logotype

Diff of /xvidcore/src/xvid.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.17.2.4, Wed Oct 30 18:06:41 2002 UTC revision 1.17.2.18, Mon Dec 30 10:49:17 2002 UTC
# Line 46  Line 46 
46    
47  /* API Version : 2.1 */  /* API Version : 2.1 */
48  #define API_VERSION ((2 << 16) | (1))  #define API_VERSION ((2 << 16) | (1))
49    #define XVID_API_UNSTABLE
50    
51  /* Bitstream Version  /* Bitstream Version
52   * this will be writen into the bitstream to allow easy detection of xvid   * this will be writen into the bitstream to allow easy detection of xvid
# Line 58  Line 59 
59   * doesnt hurt but not increasing it could cause difficulty for decoders in the   * doesnt hurt but not increasing it could cause difficulty for decoders in the
60   * future   * future
61   */   */
62  #define XVID_BS_VERSION "0002"  #define XVID_BS_VERSION "0003"
63    
64    
65  /* Error codes */  /* Error codes */
# Line 110  Line 111 
111  #define XVID_CPU_CHKONLY        0x40000000              /* check cpu only; dont init globals */  #define XVID_CPU_CHKONLY        0x40000000              /* check cpu only; dont init globals */
112  #define XVID_CPU_FORCE          0x80000000  #define XVID_CPU_FORCE          0x80000000
113    
114            typedef struct
115            {
116                    int colorspace;
117                    void * y;
118                    void * u;
119                    void * v;
120                    int y_stride;
121                    int uv_stride;
122            } XVID_IMAGE;           /* from yv12 */
123    
124    #define XVID_INIT_INIT          0
125    #define XVID_INIT_CONVERT       1
126    #define XVID_INIT_TEST          2
127    
128  /*****************************************************************************  /*****************************************************************************
129   *  Initialization structures   *  Initialization structures
# Line 123  Line 137 
137          }          }
138          XVID_INIT_PARAM;          XVID_INIT_PARAM;
139    
140            typedef struct
141            {
142                    XVID_IMAGE input;
143                    XVID_IMAGE output;
144                    int width;
145                    int height;
146                    int interlacing;
147            } XVID_INIT_CONVERTINFO;
148    
149  /*****************************************************************************  /*****************************************************************************
150   *  Initialization entry point   *  Initialization entry point
151   ****************************************************************************/   ****************************************************************************/
# Line 138  Line 161 
161   ****************************************************************************/   ****************************************************************************/
162    
163  /* Flags for XVID_DEC_FRAME.general */  /* Flags for XVID_DEC_FRAME.general */
164    #define XVID_DEC_LOWDELAY               0x00000001      /* decode lowdelay mode (ie. video-for-windows) */
165    #define XVID_DEC_DEBLOCKY               0x00000002      /* luma deblocking */
166    #define XVID_DEC_DEBLOCKUV              0x00000008      /* chroma deblocking */
167    #define XVID_DEC_DISCONTINUITY  0x00000004      /* indicates break in stream; instructs
168                                                                                            decoder to ignore any previous reference frames */
169  #define XVID_QUICK_DECODE               0x00000010  #define XVID_QUICK_DECODE               0x00000010
170    
171  /*****************************************************************************  /*****************************************************************************
# Line 153  Line 181 
181          XVID_DEC_PARAM;          XVID_DEC_PARAM;
182    
183    
184    #define XVID_DEC_VOP    0
185    #define XVID_DEC_VOL    1
186    #define XVID_DEC_NOTHING        2       /* nothing was decoded */
187    
188            typedef struct
189            {
190                    int notify;                     /* [out]        output 'mode' */
191                    union
192                    {
193                            struct  /* XVID_DEC_VOP */
194                            {
195                                    int time_base;          /* [out]        time base */
196                                    int time_increment;     /* [out]        time increment */
197                            } vop;
198                            struct  /* XVID_DEC_VOL */
199                            {
200                                    int general;            /* [out]        flags: eg. frames are interlaced */
201                                    int width;                      /* [out]        width */
202                                    int height;                     /* [out]        height */
203                                    int aspect_ratio;       /* [out]        aspect ratio */
204                                    int par_width;          /* [out]        aspect ratio width */
205                                    int par_height;         /* [out]        aspect ratio height */
206                            } vol;
207                    } data;
208            } XVID_DEC_STATS;
209    
210    
211          typedef struct          typedef struct
212          {          {
213                  int general;                  int general;
# Line 197  Line 252 
252  #define XVID_GLOBAL_PACKED              0x00000001      /* packed bitstream */  #define XVID_GLOBAL_PACKED              0x00000001      /* packed bitstream */
253  #define XVID_GLOBAL_DX50BVOP    0x00000002      /* dx50 bvop compatibility */  #define XVID_GLOBAL_DX50BVOP    0x00000002      /* dx50 bvop compatibility */
254  #define XVID_GLOBAL_DEBUG               0x00000004      /* print debug info on each frame */  #define XVID_GLOBAL_DEBUG               0x00000004      /* print debug info on each frame */
255    #define XVID_GLOBAL_REDUCED             0x04000000      /* reduced resolution vop enable */
256    
257  /* Flags for XVID_ENC_FRAME.general */  /* Flags for XVID_ENC_FRAME.general */
258  #define XVID_VALID_FLAGS                0x80000000  #define XVID_VALID_FLAGS                0x80000000
# Line 225  Line 281 
281  #define XVID_ME_PMVFAST                 0x00080000  #define XVID_ME_PMVFAST                 0x00080000
282  #define XVID_ME_EPZS                    0x00100000  #define XVID_ME_EPZS                    0x00100000
283    
   
284  #define XVID_GREYSCALE                  0x01000000      /* enable greyscale only mode (even for */  #define XVID_GREYSCALE                  0x01000000      /* enable greyscale only mode (even for */
285  #define XVID_GRAYSCALE                  0x01000000  /* color input material chroma is ignored) */  #define XVID_GRAYSCALE                  0x01000000  /* color input material chroma is ignored) */
286    
287    #define XVID_GMC                                0x20000000
288    #define XVID_ME_COLOUR                  0x40000000
289    
290    #define XVID_REDUCED                    0x04000000      /* reduced resolution vop */
291    
292  /* Flags for XVID_ENC_FRAME.motion */  /* Flags for XVID_ENC_FRAME.motion */
293  #define PMV_ADVANCEDDIAMOND8    0x00004000  #define PMV_ADVANCEDDIAMOND8    0x00004000
# Line 253  Line 312 
312  #define PMV_USESQUARES8                 0x80000000  #define PMV_USESQUARES8                 0x80000000
313    
314    
315    
316  /*****************************************************************************  /*****************************************************************************
317   * Encoder structures   * Encoder structures
318   ****************************************************************************/   ****************************************************************************/
# Line 271  Line 331 
331  #ifdef _SMP  #ifdef _SMP
332                  int num_threads;                /* number of threads */                  int num_threads;                /* number of threads */
333  #endif  #endif
 #ifdef BFRAMES  
334                  int global;                             /* global/debug options */                  int global;                             /* global/debug options */
335                  int max_bframes;                /* max sequential bframes (0=disable bframes) */                  int max_bframes;                /* max sequential bframes (0=disable bframes) */
336                  int bquant_ratio;               /* bframe quantizer multipier (percentage).                  int bquant_ratio;               /* bframe quantizer multipier (percentage).
# Line 279  Line 338 
338                                                                   * eg. 200 = x2 multiplier                                                                   * eg. 200 = x2 multiplier
339                                                                   * quant = ((past_quant + future_quant) * bquant_ratio)/200                                                                   * quant = ((past_quant + future_quant) * bquant_ratio)/200
340                                                                   */                                                                   */
341                    int bquant_offset;              /* bquant += bquant_offset */
342                  int frame_drop_ratio;   /* frame dropping: 0=drop none... 100=drop all */                  int frame_drop_ratio;   /* frame dropping: 0=drop none... 100=drop all */
 #endif  
343                  void *handle;                   /* [out] encoder instance handle */                  void *handle;                   /* [out] encoder instance handle */
344          }          }
345          XVID_ENC_PARAM;          XVID_ENC_PARAM;
# Line 325  Line 384 
384                  int length;                             /* [out] bitstream length (bytes) */                  int length;                             /* [out] bitstream length (bytes) */
385    
386                  void *image;                    /* [in] image ptr */                  void *image;                    /* [in] image ptr */
387                    int stride;
388                  int colorspace;                 /* [in] source colorspace */                  int colorspace;                 /* [in] source colorspace */
389    
390                  unsigned char *quant_intra_matrix;      // [in] custom intra qmatrix */                  unsigned char *quant_intra_matrix;      // [in] custom intra qmatrix */
# Line 335  Line 395 
395                                                                   */                                                                   */
396                  HINTINFO hint;                  /* [in/out] mv hint information */                  HINTINFO hint;                  /* [in/out] mv hint information */
397    
 #ifdef BFRAMES  
398                  int bquant;                             /* [in] bframe quantizer */                  int bquant;                             /* [in] bframe quantizer */
 #endif  
399    
400          }          }
401          XVID_ENC_FRAME;          XVID_ENC_FRAME;
# Line 348  Line 406 
406                  int quant;                              /* [out] frame quantizer */                  int quant;                              /* [out] frame quantizer */
407                  int hlength;                    /* [out] header length (bytes) */                  int hlength;                    /* [out] header length (bytes) */
408                  int kblks, mblks, ublks;        /* [out] */                  int kblks, mblks, ublks;        /* [out] */
   
409          }          }
410          XVID_ENC_STATS;          XVID_ENC_STATS;
411    

Legend:
Removed from v.1.17.2.4  
changed lines
  Added in v.1.17.2.18

No admin address has been configured
ViewVC Help
Powered by ViewVC 1.0.4