[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.27.2.53, Wed Dec 17 15:16:16 2003 UTC revision 1.44, Sun Jul 18 15:24:05 2004 UTC
# Line 3  Line 3 
3   * XVID MPEG-4 VIDEO CODEC   * XVID MPEG-4 VIDEO CODEC
4   * - XviD Main header file -   * - XviD Main header file -
5   *   *
6   *  Copyright(C) 2001-2003 Peter Ross <pross@xvid.org>   *  Copyright(C) 2001-2004 Peter Ross <pross@xvid.org>
7   *   *
8   *  This program is free software ; you can redistribute it and/or modify   *  This program is free software ; you can redistribute it and/or modify
9   *  it under the terms of the GNU General Public License as published by   *  it under the terms of the GNU General Public License as published by
# Line 57  Line 57 
57  #define XVID_API_MAJOR(a)        (((a)>>16) & 0xff)  #define XVID_API_MAJOR(a)        (((a)>>16) & 0xff)
58  #define XVID_API_MINOR(a)        (((a)>> 0) & 0xff)  #define XVID_API_MINOR(a)        (((a)>> 0) & 0xff)
59    
60  #define XVID_VERSION             XVID_MAKE_VERSION(1,0,-126)  #define XVID_VERSION             XVID_MAKE_VERSION(1,1,-127)
61  #define XVID_API                 XVID_MAKE_API(4, 0)  #define XVID_API                 XVID_MAKE_API(4, 0)
62    
63  #define XVID_UNSTABLE  #define XVID_UNSTABLE
# Line 73  Line 73 
73   * 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
74   * future   * future
75   */   */
76  #define XVID_BS_VERSION "0024"  #define XVID_BS_VERSION 35
   
77    
78  /*****************************************************************************  /*****************************************************************************
79   * error codes   * error codes
# Line 96  Line 95 
95    
96  /* colorspace values */  /* colorspace values */
97    
98  #define XVID_CSP_USER     (1<< 0) /* 4:2:0 planar (==I420, except for pointers/strides) */  #define XVID_CSP_PLANAR   (1<< 0) /* 4:2:0 planar (==I420, except for pointers/strides) */
99    #define XVID_CSP_USER     XVID_CSP_PLANAR
100  #define XVID_CSP_I420     (1<< 1) /* 4:2:0 planar */  #define XVID_CSP_I420     (1<< 1) /* 4:2:0 planar */
101  #define XVID_CSP_YV12     (1<< 2) /* 4:2:0 planar */  #define XVID_CSP_YV12     (1<< 2) /* 4:2:0 planar */
102  #define XVID_CSP_YUY2     (1<< 3) /* 4:2:2 packed */  #define XVID_CSP_YUY2     (1<< 3) /* 4:2:2 packed */
# Line 105  Line 105 
105  #define XVID_CSP_BGRA     (1<< 6) /* 32-bit bgra packed */  #define XVID_CSP_BGRA     (1<< 6) /* 32-bit bgra packed */
106  #define XVID_CSP_ABGR     (1<< 7) /* 32-bit abgr packed */  #define XVID_CSP_ABGR     (1<< 7) /* 32-bit abgr packed */
107  #define XVID_CSP_RGBA     (1<< 8) /* 32-bit rgba packed */  #define XVID_CSP_RGBA     (1<< 8) /* 32-bit rgba packed */
108    #define XVID_CSP_ARGB     (1<<15) /* 32-bit argb packed */
109  #define XVID_CSP_BGR      (1<< 9) /* 24-bit bgr packed */  #define XVID_CSP_BGR      (1<< 9) /* 24-bit bgr packed */
110  #define XVID_CSP_RGB555   (1<<10) /* 16-bit rgb555 packed */  #define XVID_CSP_RGB555   (1<<10) /* 16-bit rgb555 packed */
111  #define XVID_CSP_RGB565   (1<<11) /* 16-bit rgb565 packed */  #define XVID_CSP_RGB565   (1<<11) /* 16-bit rgb565 packed */
# Line 248  Line 249 
249  #define XVID_DISCONTINUITY (1<<1) /* indicates break in stream */  #define XVID_DISCONTINUITY (1<<1) /* indicates break in stream */
250  #define XVID_DEBLOCKY      (1<<2) /* perform luma deblocking */  #define XVID_DEBLOCKY      (1<<2) /* perform luma deblocking */
251  #define XVID_DEBLOCKUV     (1<<3) /* perform chroma deblocking */  #define XVID_DEBLOCKUV     (1<<3) /* perform chroma deblocking */
252    #define XVID_FILMEFFECT    (1<<4) /* adds film grain */
253    #define XVID_DERINGUV      (1<<5) /* perform chroma deringing, requires deblocking to work */
254    #define XVID_DERINGY       (1<<6) /* perform luma deringing, requires deblocking to work */
255    
256    #define XVID_DEC_FAST      (1<<29) /* disable postprocessing to decrease cpu usage *todo* */
257    #define XVID_DEC_DROP      (1<<30) /* drop bframes to decrease cpu usage *todo* */
258    #define XVID_DEC_PREROLL   (1<<31) /* decode as fast as you can, don't even show output *todo* */
259    
260  typedef struct {  typedef struct {
261          int version;          int version;
# Line 255  Line 263 
263          void *bitstream;     /* [in]     bitstream (read from)*/          void *bitstream;     /* [in]     bitstream (read from)*/
264          int length;          /* [in]     bitstream length */          int length;          /* [in]     bitstream length */
265          xvid_image_t output; /* [in]     output image (written to) */          xvid_image_t output; /* [in]     output image (written to) */
266    /* ------- v1.1.x ------- */
267            int brightness;          /* [in]         brightness offset (0=none) */
268  } xvid_dec_frame_t;  } xvid_dec_frame_t;
269    
270    
# Line 498  Line 508 
508  typedef struct {  typedef struct {
509          int version;          int version;
510    
511          int bitrate;                  /* [in] bits per second */          int bitrate;                  /* [in] target bitrate (bits per second) */
512          char * filename;              /* [in] first pass stats filename */          char * filename;              /* [in] first pass stats filename */
513    
514          int keyframe_boost;           /* [in] keyframe boost percentage: [0..100] */          int keyframe_boost;           /* [in] keyframe boost percentage: [0..100] */
# Line 515  Line 525 
525                                                                     *      0 for 1<distance<kfthreshold */                                                                     *      0 for 1<distance<kfthreshold */
526    
527          int container_frame_overhead; /* [in] How many bytes the controller has to compensate per frame due to container format overhead */          int container_frame_overhead; /* [in] How many bytes the controller has to compensate per frame due to container format overhead */
528    
529    /* ------- v1.1.x ------- */
530            int vbv_size;                 /* [in] buffer size (bits) */
531            int vbv_initial;              /* [in] initial buffer occupancy (bits) */
532            int vbv_maxrate;              /* [in] max processing bitrate (bits per second) */
533            int vbv_peakrate;             /* [in:opt] max average bitrate over 3 seconds (bits per second) */
534    
535  }xvid_plugin_2pass2_t;  }xvid_plugin_2pass2_t;
536    
537  /*****************************************************************************  /*****************************************************************************
# Line 611  Line 628 
628  #define XVID_VOP_HQACPRED             (1<< 7) /* high quality ac prediction */  #define XVID_VOP_HQACPRED             (1<< 7) /* high quality ac prediction */
629  #define XVID_VOP_MODEDECISION_RD      (1<< 8) /* enable DCT-ME and use it for mode decision */  #define XVID_VOP_MODEDECISION_RD      (1<< 8) /* enable DCT-ME and use it for mode decision */
630  #define XVID_VOP_FAST_MODEDECISION_RD (1<<12) /* use simplified R-D mode decision */  #define XVID_VOP_FAST_MODEDECISION_RD (1<<12) /* use simplified R-D mode decision */
631    #define XVID_VOP_RD_BVOP              (1<<13) /* enable rate-distortion mode decision in b-frames */
632    
633  /* Only valid for vol_flags|=XVID_VOL_INTERLACING */  /* Only valid for vol_flags|=XVID_VOL_INTERLACING */
634  #define XVID_VOP_TOPFIELDFIRST        (1<< 9) /* set top-field-first flag  */  #define XVID_VOP_TOPFIELDFIRST        (1<< 9) /* set top-field-first flag  */
# Line 644  Line 662 
662  #define XVID_ME_CHROMA_PVOP           (1<<12) /* also use chroma for P_VOP/S_VOP ME */  #define XVID_ME_CHROMA_PVOP           (1<<12) /* also use chroma for P_VOP/S_VOP ME */
663  #define XVID_ME_CHROMA_BVOP           (1<<13) /* also use chroma for B_VOP ME */  #define XVID_ME_CHROMA_BVOP           (1<<13) /* also use chroma for B_VOP ME */
664  #define XVID_ME_FASTREFINE16              (1<<25) /* use low-complexity refinement functions */  #define XVID_ME_FASTREFINE16              (1<<25) /* use low-complexity refinement functions */
665    #define XVID_ME_FASTREFINE8           (1<<29) /* low-complexity 8x8 sub-block refinement */
666    
667  /* Rate Distortion based flags  /* Rate Distortion based flags
668   * Valid when XVID_VOP_MODEDECISION_BITS is enabled */   * Valid when XVID_VOP_MODEDECISION_RD is enabled */
669  #define XVID_ME_HALFPELREFINE16_RD    (1<<14) /* perform RD-based halfpel refinement */  #define XVID_ME_HALFPELREFINE16_RD    (1<<14) /* perform RD-based halfpel refinement */
670  #define XVID_ME_HALFPELREFINE8_RD     (1<<15) /* perform RD-based halfpel refinement for 8x8 mode */  #define XVID_ME_HALFPELREFINE8_RD     (1<<15) /* perform RD-based halfpel refinement for 8x8 mode */
671  #define XVID_ME_QUARTERPELREFINE16_RD (1<<16) /* perform RD-based qpel refinement */  #define XVID_ME_QUARTERPELREFINE16_RD (1<<16) /* perform RD-based qpel refinement */
# Line 656  Line 675 
675    
676  /* Other */  /* Other */
677  #define XVID_ME_DETECT_STATIC_MOTION  (1<<24) /* speed-up ME by detecting stationary scenes */  #define XVID_ME_DETECT_STATIC_MOTION  (1<<24) /* speed-up ME by detecting stationary scenes */
678    #define XVID_ME_SKIP_DELTASEARCH      (1<<26) /* speed-up by skipping b-frame delta search */
679    #define XVID_ME_FAST_MODEINTERPOLATE  (1<<27) /* speed-up by partly skipping interpolate mode */
680    #define XVID_ME_BFRAME_EARLYSTOP      (1<<28) /* speed-up by early exiting b-search */
681    
682  /* Unused */  /* Unused */
683  #define XVID_ME_UNRESTRICTED16        (1<<20) /* unrestricted ME, not implemented */  #define XVID_ME_UNRESTRICTED16        (1<<20) /* unrestricted ME, not implemented */

Legend:
Removed from v.1.27.2.53  
changed lines
  Added in v.1.44

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