[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.34, Thu Sep 4 18:40:01 2003 UTC revision 1.27.2.49, Sat Dec 6 10:56:10 2003 UTC
# Line 49  Line 49 
49          */          */
50    
51  #define XVID_MAKE_VERSION(a,b,c) ((((a)&0xff)<<16) | (((b)&0xff)<<8) | ((c)&0xff))  #define XVID_MAKE_VERSION(a,b,c) ((((a)&0xff)<<16) | (((b)&0xff)<<8) | ((c)&0xff))
52  #define XVID_VERSION_MAJOR(a)    (((a)>>16) & 0xff)  #define XVID_VERSION_MAJOR(a)    ((char)(((a)>>16) & 0xff))
53  #define XVID_VERSION_MINOR(a)    (((a)>> 8) & 0xff)  #define XVID_VERSION_MINOR(a)    ((char)(((a)>> 8) & 0xff))
54  #define XVID_VERSION_PATCH(a)    (((a)>> 0) & 0xff)  #define XVID_VERSION_PATCH(a)    ((char)(((a)>> 0) & 0xff))
55    
56  #define XVID_MAKE_API(a,b)       ((((a)&0xff)<<16) | (((b)&0xff)<<0))  #define XVID_MAKE_API(a,b)       ((((a)&0xff)<<16) | (((b)&0xff)<<0))
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,-127,0)  #define XVID_VERSION             XVID_MAKE_VERSION(1,0,-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 "0018"  #define XVID_BS_VERSION "0023"
77    
78    
79  /*****************************************************************************  /*****************************************************************************
# Line 96  Line 96 
96    
97  /* colorspace values */  /* colorspace values */
98    
99  #define XVID_CSP_USER     (1<< 0) /* 4:2:0 planar */  #define XVID_CSP_USER     (1<< 0) /* 4:2:0 planar (==I420, except for pointers/strides) */
100  #define XVID_CSP_I420     (1<< 1) /* 4:2:0 packed(planar win32) */  #define XVID_CSP_I420     (1<< 1) /* 4:2:0 planar */
101  #define XVID_CSP_YV12     (1<< 2) /* 4:2:0 packed(planar win32) */  #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 */
103  #define XVID_CSP_UYVY     (1<< 4) /* 4:2:2 packed */  #define XVID_CSP_UYVY     (1<< 4) /* 4:2:2 packed */
104  #define XVID_CSP_YVYU     (1<< 5) /* 4:2:2 packed */  #define XVID_CSP_YVYU     (1<< 5) /* 4:2:2 packed */
# Line 159  Line 159 
159   * xvid_global()   * xvid_global()
160   ****************************************************************************/   ****************************************************************************/
161    
162  /* cpu_flags definitions */  /* cpu_flags definitions (make sure to sync this with cpuid.asm for ia32) */
163    
164  #define XVID_CPU_FORCE    (1<<31) /* force passed cpu flags */  #define XVID_CPU_FORCE    (1<<31) /* force passed cpu flags */
165  #define XVID_CPU_ASM      (1<< 7) /* native assembly */  #define XVID_CPU_ASM      (1<< 7) /* native assembly */
# Line 217  Line 217 
217  #define XVID_GBL_INIT    0 /* initialize xvidcore; must be called before using xvid_decore, or xvid_encore) */  #define XVID_GBL_INIT    0 /* initialize xvidcore; must be called before using xvid_decore, or xvid_encore) */
218  #define XVID_GBL_INFO    1 /* return some info about xvidcore, and the host computer */  #define XVID_GBL_INFO    1 /* return some info about xvidcore, and the host computer */
219  #define XVID_GBL_CONVERT 2 /* colorspace conversion utility */  #define XVID_GBL_CONVERT 2 /* colorspace conversion utility */
 #define XVID_GBL_TEST    3 /* testing.. */  
220    
221  int xvid_global(void *handle, int opt, void *param1, void *param2);  int xvid_global(void *handle, int opt, void *param1, void *param2);
222    
# Line 278  Line 277 
277                          int general;        /* [out] flags */                          int general;        /* [out] flags */
278                          int width;          /* [out] width */                          int width;          /* [out] width */
279                          int height;         /* [out] height */                          int height;         /* [out] height */
280                          int par;            /* [out] picture aspect ratio (refer to XVID_PAR_xxx above) */                          int par;            /* [out] pixel aspect ratio (refer to XVID_PAR_xxx above) */
281                          int par_width;      /* [out] aspect ratio width */                          int par_width;      /* [out] aspect ratio width */
282                          int par_height;     /* [out] aspect ratio height */                          int par_height;     /* [out] aspect ratio height */
283                  } vol;                  } vol;
# Line 314  Line 313 
313  #define XVID_PLG_DESTROY (1<<1)  #define XVID_PLG_DESTROY (1<<1)
314  #define XVID_PLG_INFO    (1<<2)  #define XVID_PLG_INFO    (1<<2)
315  #define XVID_PLG_BEFORE  (1<<3)  #define XVID_PLG_BEFORE  (1<<3)
316  #define XVID_PLG_AFTER   (1<<4)  #define XVID_PLG_FRAME   (1<<4)
317    #define XVID_PLG_AFTER   (1<<5)
318    
319  /* xvid_plg_info_t.flags */  /* xvid_plg_info_t.flags */
320  #define XVID_REQORIGINAL (1<<0) /* plugin requires a copy of the original (uncompressed) image */  #define XVID_REQORIGINAL (1<<0) /* plugin requires a copy of the original (uncompressed) image */
# Line 393  Line 393 
393          int sse_y;              /* [out] Y plane's sse */          int sse_y;              /* [out] Y plane's sse */
394          int sse_u;              /* [out] U plane's sse */          int sse_u;              /* [out] U plane's sse */
395          int sse_v;              /* [out] V plane's sse */          int sse_v;              /* [out] V plane's sse */
396            int bquant_ratio;       /* [in] */
397            int bquant_offset;      /* [in] */
398  } xvid_plg_data_t;  } xvid_plg_data_t;
399    
400    
# Line 465  Line 467 
467          char * filename;              /* [in] first pass stats filename */          char * filename;              /* [in] first pass stats filename */
468    
469          int keyframe_boost;           /* [in] keyframe boost percentage: [0..100] */          int keyframe_boost;           /* [in] keyframe boost percentage: [0..100] */
         int payback_method;           /* [in] Payback method: see XVID_PAYBACK flags */  
         int bitrate_payback_delay;    /* [in] Payback delay expressed in number of frames */  
470          int curve_compression_high;   /* [in] percentage of compression performed on the high part of the curve (above average) */          int curve_compression_high;   /* [in] percentage of compression performed on the high part of the curve (above average) */
471          int curve_compression_low;    /* [in] percentage of compression performed on the low  part of the curve (below average) */          int curve_compression_low;    /* [in] percentage of compression performed on the low  part of the curve (below average) */
472          int max_overflow_improvement; /* [in] */          int overflow_control_strength;/* [in] Payback delay expressed in number of frames */
473          int max_overflow_degradation; /* [in] */          int max_overflow_improvement; /* [in] percentage of allowed range for a frame that gets bigger because of overflow bonus */
474            int max_overflow_degradation; /* [in] percentage of allowed range for a frame that gets smaller because of overflow penalty */
475          int kftreshold;               /* [in] */  
476          int kfreduction;              /* [in] */          int kfreduction;              /* [in] maximum bitrate reduction applied to an iframe under the kfthreshold distance limit */
477          int min_key_interval;         /* [in] Minimum interval of frames between two IFrames */          int kfthreshold;              /* [in] if an iframe is closer to the next iframe than this distance, a quantity of bits
478                                                                       *      is substracted from its bit allocation. The reduction is computed as multiples of
479                                                                       *      kfreduction/kthreshold. It reaches kfreduction when the distance == kfthreshold,
480                                                                       *      0 for 1<distance<kfthreshold */
481    
482          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 */
483  }xvid_plugin_2pass2_t;  }xvid_plugin_2pass2_t;
# Line 531  Line 534 
534  /* only valid for vol_flags|=XVID_VOL_REDUCED_ENABLED */  /* only valid for vol_flags|=XVID_VOL_REDUCED_ENABLED */
535  #define XVID_VOP_REDUCED         (1<<11) /* reduced resolution vop */  #define XVID_VOP_REDUCED         (1<<11) /* reduced resolution vop */
536    
537  #define XVID_VOP_FAST_MODEDECISION_RD (1<< 8) /* use simplified R-D mode decision */  #define XVID_VOP_FAST_MODEDECISION_RD (1<< 12) /* use simplified R-D mode decision */
538    
539    
540    
# Line 551  Line 554 
554  #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 */
555    
556  /* Motion search using DCT. use XVID_VOP_MODEDECISION_BITS to enable */  /* Motion search using DCT. use XVID_VOP_MODEDECISION_BITS to enable */
557  #define XVID_ME_HALFPELREFINE16_RD    (1<<14) /* perform DCT-based halfpel refinement */  #define XVID_ME_HALFPELREFINE16_RD    (1<<14) /* perform RD-based halfpel refinement */
558  #define XVID_ME_HALFPELREFINE8_RD     (1<<15) /* perform DCT-based halfpel refinement for 8x8 mode */  #define XVID_ME_HALFPELREFINE8_RD     (1<<15) /* perform RD-based halfpel refinement for 8x8 mode */
559  #define XVID_ME_QUARTERPELREFINE16_RD (1<<16) /* perform DCT-based qpel refinement */  #define XVID_ME_QUARTERPELREFINE16_RD (1<<16) /* perform RD-based qpel refinement */
560  #define XVID_ME_QUARTERPELREFINE8_RD  (1<<17) /* perform DCT-based qpel refinement for 8x8 mode */  #define XVID_ME_QUARTERPELREFINE8_RD  (1<<17) /* perform RD-based qpel refinement for 8x8 mode */
561  #define XVID_ME_EXTSEARCH_RD          (1<<18) /* perform DCT-based search using square pattern enable XVID_ME_EXTSEARCH8 to do this in 8x8 search as well */  #define XVID_ME_EXTSEARCH_RD          (1<<18) /* perform RD-based search using square pattern enable XVID_ME_EXTSEARCH8 to do this in 8x8 search as well */
562  #define XVID_ME_CHECKPREDICTION_RD    (1<<19) /* always check vector equal to prediction */  #define XVID_ME_CHECKPREDICTION_RD    (1<<19) /* always check vector equal to prediction */
563    
564  #define XVID_ME_UNRESTRICTED16        (1<<20) /* unrestricted ME, not implemented */  #define XVID_ME_UNRESTRICTED16        (1<<20) /* unrestricted ME, not implemented */
# Line 617  Line 620 
620          unsigned char *quant_intra_matrix; /* [in:opt] custom intra qmatrix */          unsigned char *quant_intra_matrix; /* [in:opt] custom intra qmatrix */
621          unsigned char *quant_inter_matrix; /* [in:opt] custom inter qmatrix */          unsigned char *quant_inter_matrix; /* [in:opt] custom inter qmatrix */
622    
623          int par;                           /* [in:opt] picture aspect ratio (refer to XVID_PAR_xxx above) */          int par;                           /* [in:opt] pixel aspect ratio (refer to XVID_PAR_xxx above) */
624          int par_width;                     /* [in:opt] aspect ratio width */          int par_width;                     /* [in:opt] aspect ratio width */
625          int par_height;                    /* [in:opt] aspect ratio height */          int par_height;                    /* [in:opt] aspect ratio height */
626          /* ---------------------------------------------- */          /* ---------------------------------------------- */

Legend:
Removed from v.1.27.2.34  
changed lines
  Added in v.1.27.2.49

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