[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.15, Sat Dec 14 06:07:03 2002 UTC revision 1.17.2.27, Sun Feb 9 06:33:51 2003 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 "0003"  #define XVID_BS_VERSION "0009"
63    
64    
65  /* Error codes */  /* Error codes */
# Line 95  Line 96 
96   ****************************************************************************/   ****************************************************************************/
97    
98  /* CPU flags for XVID_INIT_PARAM.cpu_flags */  /* CPU flags for XVID_INIT_PARAM.cpu_flags */
99    #define XVID_CPU_FORCE          0x80000000
100    #define XVID_CPU_CHKONLY        0x40000000              /* check cpu only; dont init globals */
101    
102  #define XVID_CPU_MMX            0x00000001  #define XVID_CPU_ASM            0x00000080              /* native assembly */
103  #define XVID_CPU_MMXEXT         0x00000002  /* ARCH_X86 */
104  #define XVID_CPU_SSE            0x00000004  #define XVID_CPU_MMX            0x00000001              /* mmx: pentiumMMX,k6 */
105  #define XVID_CPU_SSE2           0x00000008  #define XVID_CPU_MMXEXT         0x00000002              /* mmxx-ext: pentium2,athlon */
106  #define XVID_CPU_3DNOW          0x00000010  #define XVID_CPU_SSE            0x00000004              /* sse: pentium3,athlonXP */
107  #define XVID_CPU_3DNOWEXT       0x00000020  #define XVID_CPU_SSE2           0x00000008              /* sse2: pentium4,athlon64 */
108    #define XVID_CPU_3DNOW          0x00000010              /* 3dnow: k6-2 */
109  #define XVID_CPU_TSC            0x00000040  #define XVID_CPU_3DNOWEXT       0x00000020              /* 3dnow-ext: athlon */
110    #define XVID_CPU_TSC            0x00000040              /* timestamp counter */
111  #define XVID_CPU_IA64           0x00000080  /* ARCH_IA64 */
112    #define XVID_CPU_IA64           XVID_CPU_ASM    /* defined for backward compatibility */
113    /* ARCH_PPC */
114    #define XVID_CPU_ALTIVEC        0x00000001              /* altivec */
115    
 #define XVID_CPU_CHKONLY        0x40000000              /* check cpu only; dont init globals */  
 #define XVID_CPU_FORCE          0x80000000  
116    
117          typedef struct          typedef struct
118          {          {
# Line 122  Line 126 
126    
127  #define XVID_INIT_INIT          0  #define XVID_INIT_INIT          0
128  #define XVID_INIT_CONVERT       1  #define XVID_INIT_CONVERT       1
129    #define XVID_INIT_TEST          2
130    
131  /*****************************************************************************  /*****************************************************************************
132   *  Initialization structures   *  Initialization structures
# Line 161  Line 166 
166  /* Flags for XVID_DEC_FRAME.general */  /* Flags for XVID_DEC_FRAME.general */
167  #define XVID_DEC_LOWDELAY               0x00000001      /* decode lowdelay mode (ie. video-for-windows) */  #define XVID_DEC_LOWDELAY               0x00000001      /* decode lowdelay mode (ie. video-for-windows) */
168  #define XVID_DEC_DEBLOCKY               0x00000002      /* luma deblocking */  #define XVID_DEC_DEBLOCKY               0x00000002      /* luma deblocking */
169  #define XVID_DEC_DEBLOCKUV              0x00000002      /* chroma deblocking */  #define XVID_DEC_DEBLOCKUV              0x00000008      /* chroma deblocking */
170    #define XVID_DEC_DISCONTINUITY  0x00000004      /* indicates break in stream; instructs
171                                                                                            decoder to ignore any previous reference frames */
172  #define XVID_QUICK_DECODE               0x00000010  #define XVID_QUICK_DECODE               0x00000010
173    
174  /*****************************************************************************  /*****************************************************************************
# Line 250  Line 257 
257  #define XVID_GLOBAL_DEBUG               0x00000004      /* print debug info on each frame */  #define XVID_GLOBAL_DEBUG               0x00000004      /* print debug info on each frame */
258  #define XVID_GLOBAL_REDUCED             0x04000000      /* reduced resolution vop enable */  #define XVID_GLOBAL_REDUCED             0x04000000      /* reduced resolution vop enable */
259    
260    #define XVID_GLOBAL_EXTRASTATS  0x00000200      /* generate extra statistics */
261    
262    
263  /* Flags for XVID_ENC_FRAME.general */  /* Flags for XVID_ENC_FRAME.general */
264  #define XVID_VALID_FLAGS                0x80000000  #define XVID_VALID_FLAGS                0x80000000
265    
# Line 260  Line 270 
270  #define XVID_QUARTERPEL                 0x02000000  #define XVID_QUARTERPEL                 0x02000000
271  #define XVID_ADAPTIVEQUANT              0x00000080  #define XVID_ADAPTIVEQUANT              0x00000080
272  #define XVID_LUMIMASKING                0x00000100  #define XVID_LUMIMASKING                0x00000100
 #define XVID_LATEINTRA                  0x00000200  
273    
274  #define XVID_INTERLACING                0x00000400      /* enable interlaced encoding */  #define XVID_INTERLACING                0x00000400      /* enable interlaced encoding */
275  #define XVID_TOPFIELDFIRST              0x00000800      /* set top-field-first flag  */  #define XVID_TOPFIELDFIRST              0x00000800      /* set top-field-first flag  */
# Line 280  Line 289 
289  #define XVID_GREYSCALE                  0x01000000      /* enable greyscale only mode (even for */  #define XVID_GREYSCALE                  0x01000000      /* enable greyscale only mode (even for */
290  #define XVID_GRAYSCALE                  0x01000000  /* color input material chroma is ignored) */  #define XVID_GRAYSCALE                  0x01000000  /* color input material chroma is ignored) */
291    
292  #define XVID_GMC                                0x20000000  #define XVID_GMC                                0x10000000
293  #define XVID_ME_COLOUR                  0x40000000  #define XVID_GMC_TRANSLATIONAL  0x20000000
294    
295  #define XVID_REDUCED                    0x04000000      /* reduced resolution vop */  #define XVID_REDUCED                    0x04000000      /* reduced resolution vop */
296    #define XVID_HQACPRED                   0x08000000      /* 20030209: high quality ac prediction */
297    
298    #define XVID_EXTRASTATS                 0x00000200  /* generate extra statistics */
299    
300    
301  /* Flags for XVID_ENC_FRAME.motion */  /* Flags for XVID_ENC_FRAME.motion */
302  #define PMV_ADVANCEDDIAMOND8    0x00004000  #define PMV_ADVANCEDDIAMOND8    0x00004000
# Line 293  Line 306 
306  #define PMV_HALFPELREFINE16     0x00020000  #define PMV_HALFPELREFINE16     0x00020000
307  #define PMV_QUARTERPELREFINE16  0x00040000  #define PMV_QUARTERPELREFINE16  0x00040000
308  #define PMV_EXTSEARCH16                 0x00080000      /* extend PMV by more searches */  #define PMV_EXTSEARCH16                 0x00080000      /* extend PMV by more searches */
309  #define PMV_QUICKSTOP16                 0x00100000      /* like early, but without any more refinement */  
310    #define PMV_CHROMA16                    0x00100000      /* also use chroma for MB-ME */
311  #define PMV_UNRESTRICTED16      0x00200000      /* unrestricted ME, not implemented */  #define PMV_UNRESTRICTED16      0x00200000      /* unrestricted ME, not implemented */
312  #define PMV_OVERLAPPING16       0x00400000      /* overlapping ME, not implemented */  #define PMV_OVERLAPPING16       0x00400000      /* overlapping ME, not implemented */
313  #define PMV_USESQUARES16                0x00800000  #define PMV_USESQUARES16                0x00800000      /* use squares instead of diamonds as search pattern */
314    
315  #define PMV_HALFPELDIAMOND8     0x01000000  #define PMV_HALFPELDIAMOND8     0x01000000
316  #define PMV_HALFPELREFINE8              0x02000000  #define PMV_HALFPELREFINE8              0x02000000
317  #define PMV_QUARTERPELREFINE8   0x04000000  #define PMV_QUARTERPELREFINE8   0x04000000
318  #define PMV_EXTSEARCH8                  0x08000000      /* extend PMV by more searches */  #define PMV_EXTSEARCH8                  0x08000000      /* extend PMV by more searches */
319  #define PMV_QUICKSTOP8                  0x10000000      /* like early, but without any more refinement */  
320    #define PMV_CHROMA8                             0x10000000      /* also use chroma for B-ME */
321  #define PMV_UNRESTRICTED8       0x20000000      /* unrestricted ME, not implemented */  #define PMV_UNRESTRICTED8       0x20000000      /* unrestricted ME, not implemented */
322  #define PMV_OVERLAPPING8                0x40000000      /* overlapping ME, not implemented */  #define PMV_OVERLAPPING8                0x40000000      /* overlapping ME, not implemented */
323  #define PMV_USESQUARES8                 0x80000000  #define PMV_USESQUARES8                 0x80000000
324    
325    
326    /* note: old and deprecated */
327    
328    /* only for compatability with old encoders */
329    
330    #define PMV_EARLYSTOP16                 0x00
331    #define PMV_EARLYSTOP8                  0x00
332    #define PMV_QUICKSTOP16                 0x00
333    #define PMV_QUICKSTOP8                  0x00
334    
335    #define XVID_ME_COLOUR                  0x00    /* this has been converted to PMV_COLOUR[16/8] */
336    
337    
338  /*****************************************************************************  /*****************************************************************************
339   * Encoder structures   * Encoder structures
# Line 402  Line 428 
428                  int quant;                              /* [out] frame quantizer */                  int quant;                              /* [out] frame quantizer */
429                  int hlength;                    /* [out] header length (bytes) */                  int hlength;                    /* [out] header length (bytes) */
430                  int kblks, mblks, ublks;        /* [out] */                  int kblks, mblks, ublks;        /* [out] */
431                    long sse_y;                             /* [out] SSE of Y */
432                    long sse_u;                             /* [out] SSE of Cb */
433                    long sse_v;                             /* [out] SSE of Cr */
434          }          }
435          XVID_ENC_STATS;          XVID_ENC_STATS;
436    

Legend:
Removed from v.1.17.2.15  
changed lines
  Added in v.1.17.2.27

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