[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, Wed Jul 31 18:10:34 2002 UTC revision 1.17.2.7, Sat Nov 2 16:08:14 2002 UTC
# Line 47  Line 47 
47  /* API Version : 2.1 */  /* API Version : 2.1 */
48  #define API_VERSION ((2 << 16) | (1))  #define API_VERSION ((2 << 16) | (1))
49    
50    /* Bitstream Version
51     * this will be writen into the bitstream to allow easy detection of xvid
52     * encoder bugs in the decoder, without this it might not possible to
53     * automatically distinquish between a file which has been encoded with an
54     * old & buggy XVID from a file which has been encoded with a bugfree version
55     * see the infamous interlacing bug ...
56     *
57     * this MUST be increased if an encoder bug is fixed, increasing it too often
58     * doesnt hurt but not increasing it could cause difficulty for decoders in the
59     * future
60     */
61    #define XVID_BS_VERSION "0003"
62    
63    
64  /* Error codes */  /* Error codes */
65  #define XVID_ERR_FAIL           -1  #define XVID_ERR_FAIL           -1
# Line 56  Line 69 
69    
70    
71  /* Colorspaces */  /* Colorspaces */
72  #define XVID_CSP_RGB24  0  #define XVID_CSP_RGB24  0               /* [b|g|r] */
73  #define XVID_CSP_YV12   1  #define XVID_CSP_YV12   1
74  #define XVID_CSP_YUY2   2  #define XVID_CSP_YUY2   2
75  #define XVID_CSP_UYVY   3  #define XVID_CSP_UYVY   3
# Line 66  Line 79 
79  #define XVID_CSP_USER   12  #define XVID_CSP_USER   12
80  #define XVID_CSP_EXTERN      1004  // per slice rendering  #define XVID_CSP_EXTERN      1004  // per slice rendering
81  #define XVID_CSP_YVYU   1002  #define XVID_CSP_YVYU   1002
82  #define XVID_CSP_RGB32  1000  #define XVID_CSP_RGB32  1000    /* [b|g|r|a] */
83    #define XVID_CSP_ABGR   1006    /* [a|b|g|r] */
84    #define XVID_CSP_RGBA   1005    /* [r|g|b|a] */
85    
86    
87    
88  #define XVID_CSP_NULL   9999  #define XVID_CSP_NULL   9999
89    
90  #define XVID_CSP_VFLIP  0x80000000      // flip mask  #define XVID_CSP_VFLIP  0x80000000      // flip mask
# Line 187  Line 205 
205  #define XVID_H263QUANT                  0x00000010  #define XVID_H263QUANT                  0x00000010
206  #define XVID_MPEGQUANT                  0x00000020  #define XVID_MPEGQUANT                  0x00000020
207  #define XVID_HALFPEL                    0x00000040      /* use halfpel interpolation */  #define XVID_HALFPEL                    0x00000040      /* use halfpel interpolation */
208    #define XVID_QUARTERPEL                 0x02000000
209  #define XVID_ADAPTIVEQUANT              0x00000080  #define XVID_ADAPTIVEQUANT              0x00000080
210  #define XVID_LUMIMASKING                0x00000100  #define XVID_LUMIMASKING                0x00000100
211  #define XVID_LATEINTRA                  0x00000200  #define XVID_LATEINTRA                  0x00000200
# Line 210  Line 229 
229  #define XVID_GREYSCALE                  0x01000000      /* enable greyscale only mode (even for */  #define XVID_GREYSCALE                  0x01000000      /* enable greyscale only mode (even for */
230  #define XVID_GRAYSCALE                  0x01000000      /* color input material chroma is ignored) */  #define XVID_GRAYSCALE                  0x01000000      /* color input material chroma is ignored) */
231    
232    #define XVID_GMC                        0x20000000
233    
234  /* Flags for XVID_ENC_FRAME.motion */  /* Flags for XVID_ENC_FRAME.motion */
235  #define PMV_ADVANCEDDIAMOND8    0x00004000  #define PMV_ADVANCEDDIAMOND8    0x00004000
# Line 217  Line 237 
237    
238  #define PMV_HALFPELDIAMOND16    0x00010000  #define PMV_HALFPELDIAMOND16    0x00010000
239  #define PMV_HALFPELREFINE16     0x00020000  #define PMV_HALFPELREFINE16     0x00020000
240  #define PMV_EXTSEARCH16                 0x00040000      /* extend PMV by more searches */  #define PMV_QUARTERPELREFINE16  0x00040000
241  #define PMV_EARLYSTOP16                 0x00080000  #define PMV_EXTSEARCH16                 0x00080000      /* extend PMV by more searches */
242  #define PMV_QUICKSTOP16                 0x00100000      /* like early, but without any more refinement */  #define PMV_QUICKSTOP16                 0x00100000      /* like early, but without any more refinement */
243  #define PMV_UNRESTRICTED16      0x00200000      /* unrestricted ME, not implemented */  #define PMV_UNRESTRICTED16      0x00200000      /* unrestricted ME, not implemented */
244  #define PMV_OVERLAPPING16       0x00400000      /* overlapping ME, not implemented */  #define PMV_OVERLAPPING16       0x00400000      /* overlapping ME, not implemented */
# Line 226  Line 246 
246    
247  #define PMV_HALFPELDIAMOND8     0x01000000  #define PMV_HALFPELDIAMOND8     0x01000000
248  #define PMV_HALFPELREFINE8              0x02000000  #define PMV_HALFPELREFINE8              0x02000000
249  #define PMV_EXTSEARCH8                  0x04000000      /* extend PMV by more searches */  #define PMV_QUARTERPELREFINE8   0x04000000
250  #define PMV_EARLYSTOP8                  0x08000000  #define PMV_EXTSEARCH8                  0x08000000      /* extend PMV by more searches */
251  #define PMV_QUICKSTOP8                  0x10000000      /* like early, but without any more refinement */  #define PMV_QUICKSTOP8                  0x10000000      /* like early, but without any more refinement */
252  #define PMV_UNRESTRICTED8       0x20000000      /* unrestricted ME, not implemented */  #define PMV_UNRESTRICTED8       0x20000000      /* unrestricted ME, not implemented */
253  #define PMV_OVERLAPPING8                0x40000000      /* overlapping ME, not implemented */  #define PMV_OVERLAPPING8                0x40000000      /* overlapping ME, not implemented */
# Line 252  Line 272 
272  #ifdef _SMP  #ifdef _SMP
273                  int num_threads;                /* number of threads */                  int num_threads;                /* number of threads */
274  #endif  #endif
 #ifdef BFRAMES  
275                  int global;                             /* global/debug options */                  int global;                             /* global/debug options */
276                  int max_bframes;                /* max sequential bframes (0=disable bframes) */                  int max_bframes;                /* max sequential bframes (0=disable bframes) */
277                  int bquant_ratio;               /* bframe quantizer multipier (percentage).                  int bquant_ratio;               /* bframe quantizer multipier (percentage).
# Line 261  Line 280 
280                                                                   * quant = ((past_quant + future_quant) * bquant_ratio)/200                                                                   * quant = ((past_quant + future_quant) * bquant_ratio)/200
281                                                                   */                                                                   */
282                  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  
283                  void *handle;                   /* [out] encoder instance handle */                  void *handle;                   /* [out] encoder instance handle */
284          }          }
285          XVID_ENC_PARAM;          XVID_ENC_PARAM;
# Line 316  Line 334 
334                                                                   */                                                                   */
335                  HINTINFO hint;                  /* [in/out] mv hint information */                  HINTINFO hint;                  /* [in/out] mv hint information */
336    
 #ifdef BFRAMES  
337                  int bquant;                             /* [in] bframe quantizer */                  int bquant;                             /* [in] bframe quantizer */
 #endif  
338    
339          }          }
340          XVID_ENC_FRAME;          XVID_ENC_FRAME;

Legend:
Removed from v.1.17  
changed lines
  Added in v.1.17.2.7

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