GPAC
Open Source Multimedia Framework. For more information, check out http://gpac.wp.mines-telecom.fr
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups
xvid.h File Reference
#include "Rules.h"
+ Include dependency graph for xvid.h:
+ This graph shows which files directly or indirectly include this file:

Data Structures

struct  xvid_gbl_init_t
 
class  C_xvid_image
 
struct  xvid_dec_create_t
 
struct  xvid_dec_frame_t
 
struct  xvid_dec_stats_t
 
struct  xvid_enc_zone_t
 
struct  xvid_plg_info_t
 
struct  xvid_plg_create_t
 
struct  xvid_plg_destroy_t
 
struct  xvid_enc_plugin_t
 
struct  xvid_plugin_single_t
 
struct  xvid_plugin_2pass1_t
 
struct  xvid_plugin_2pass2_t
 
union  xvid_dec_stats_t.data
 
struct  xvid_dec_stats_t.data.vop
 
struct  xvid_dec_stats_t.data.vol
 

Macros

#define PROF_S(n)
 
#define PROF_E(n)
 
#define XVID_MAKE_VERSION(a, b, c)   ((((a)&0xff)<<16) | (((b)&0xff)<<8) | ((c)&0xff))
 
#define XVID_VERSION_MAJOR(a)   ((char)(((a)>>16) & 0xff))
 
#define XVID_VERSION_MINOR(a)   ((char)(((a)>> 8) & 0xff))
 
#define XVID_VERSION_PATCH(a)   ((char)(((a)>> 0) & 0xff))
 
#define XVID_MAKE_API(a, b)   ((((a)&0xff)<<16) | (((b)&0xff)<<0))
 
#define XVID_API_MAJOR(a)   (((a)>>16) & 0xff)
 
#define XVID_API_MINOR(a)   (((a)>> 0) & 0xff)
 
#define XVID_VERSION   XVID_MAKE_VERSION(1,0,-127)
 
#define XVID_API   XVID_MAKE_API(4, 0)
 
#define EDGE_SIZE   16
 
#define XVID_UNSTABLE
 
#define XVID_BS_VERSION   "0023"
 
#define XVID_ERR_FAIL   -1 /* general fault */
 
#define XVID_ERR_MEMORY   -2 /* memory allocation error */
 
#define XVID_ERR_FORMAT   -3 /* file format error */
 
#define XVID_ERR_VERSION   -4 /* structure version not supported */
 
#define XVID_ERR_END   -5 /* encoder only; end of stream reached */
 
#define XVID_PROFILE_S_L0   0x08 /* simple */
 
#define XVID_PROFILE_S_L1   0x01
 
#define XVID_PROFILE_S_L2   0x02
 
#define XVID_PROFILE_S_L3   0x03
 
#define XVID_PROFILE_ARTS_L1   0x91 /* advanced realtime simple */
 
#define XVID_PROFILE_ARTS_L2   0x92
 
#define XVID_PROFILE_ARTS_L3   0x93
 
#define XVID_PROFILE_ARTS_L4   0x94
 
#define XVID_PROFILE_AS_L0   0xf0 /* advanced simple */
 
#define XVID_PROFILE_AS_L1   0xf1
 
#define XVID_PROFILE_AS_L2   0xf2
 
#define XVID_PROFILE_AS_L3   0xf3
 
#define XVID_PROFILE_AS_L4   0xf4
 
#define XVID_PAR_11_VGA   1 /* 1:1 vga (square), default if AR is not precised (ie: ==0) */
 
#define XVID_PAR_43_PAL   2 /* 4:3 pal (12:11 625-line) */
 
#define XVID_PAR_43_NTSC   3 /* 4:3 ntsc (10:11 525-line) */
 
#define XVID_PAR_169_PAL   4 /* 16:9 pal (16:11 625-line) */
 
#define XVID_PAR_169_NTSC   5 /* 16:9 ntsc (40:33 525-line) */
 
#define XVID_PAR_EXT   15 /* extended par; use par_width, par_height */
 
#define XVID_TYPE_VOL   -1 /* decoder only: vol was decoded */
 
#define XVID_TYPE_NOTHING   0 /* decoder only (encoder stats): nothing was decoded/encoded */
 
#define XVID_TYPE_AUTO   0 /* encoder: automatically determine coding type */
 
#define XVID_TYPE_IVOP   1 /* intra frame */
 
#define XVID_TYPE_PVOP   2 /* predicted frame */
 
#define XVID_TYPE_BVOP   3 /* bidirectionally encoded */
 
#define XVID_TYPE_SVOP   4 /* predicted+sprite frame */
 
#define XVID_DEBUG_ERROR   (1<< 0)
 
#define XVID_DEBUG_STARTCODE   (1<< 1)
 
#define XVID_DEBUG_HEADER   (1<< 2)
 
#define XVID_DEBUG_TIMECODE   (1<< 3)
 
#define XVID_DEBUG_MB   (1<< 4)
 
#define XVID_DEBUG_COEFF   (1<< 5)
 
#define XVID_DEBUG_MV   (1<< 6)
 
#define XVID_DEBUG_RC   (1<< 7)
 
#define XVID_DEBUG_DEBUG   (1<<31)
 
#define XVID_GBL_INIT   0 /* initialize xvidcore; must be called before using xvid_decore, or xvid_encore) */
 
#define XVID_DEC_CREATE   0 /* create decore instance; return 0 on success */
 
#define XVID_DEC_DESTROY   1 /* destroy decore instance: return 0 on success */
 
#define XVID_DEC_DECODE   2 /* decode a frame: returns number of bytes consumed >= 0 */
 
#define XVID_LOWDELAY   (1<<0) /* lowdelay mode */
 
#define XVID_DISCONTINUITY   (1<<1) /* indicates break in stream */
 
#define XVID_ZONE_QUANT   (1<<0)
 
#define XVID_ZONE_WEIGHT   (1<<1)
 
#define XVID_PLG_CREATE   (1<<0)
 
#define XVID_PLG_DESTROY   (1<<1)
 
#define XVID_PLG_INFO   (1<<2)
 
#define XVID_PLG_BEFORE   (1<<3)
 
#define XVID_PLG_FRAME   (1<<4)
 
#define XVID_PLG_AFTER   (1<<5)
 
#define XVID_REQORIGINAL   (1<<0) /* plugin requires a copy of the original (uncompressed) image */
 
#define XVID_REQPSNR   (1<<1) /* plugin requires psnr between the uncompressed and compressed image*/
 
#define XVID_REQDQUANTS   (1<<2) /* plugin requires access to the dquant table */
 
#define XVID_PAYBACK_BIAS   0 /* payback with bias */
 
#define XVID_PAYBACK_PROP   1 /* payback proportionally */
 

Typedefs

typedef int( xvid_plugin_func )(void *handle, int opt, void *param1, void *param2)
 

Functions

int xvid_global (void *handle, int opt, void *param1, void *param2)
 
void * InitCodec (dword sx, dword sy, dword fcc)
 
void CloseCodec (void *handle)
 
int DecodeFrame (void *handle, const void *buf, dword sz_in, byte *&y, byte *&u, byte *&v, dword &pitch)
 
int xvid_decore (void *handle, int opt, void *param1, void *param2)
 

Variables

xvid_plugin_func xvid_plugin_single
 
xvid_plugin_func xvid_plugin_2pass1
 
xvid_plugin_func xvid_plugin_2pass2
 
xvid_plugin_func xvid_plugin_lumimasking
 
xvid_plugin_func xvid_plugin_psnr
 
xvid_plugin_func xvid_plugin_dump
 

Data Structure Documentation

struct xvid_gbl_init_t
+ Collaboration diagram for xvid_gbl_init_t:
Data Fields
int version
unsigned int cpu_flags
int debug
struct xvid_dec_create_t
+ Collaboration diagram for xvid_dec_create_t:
Data Fields
int version
int width
int height
void * handle
struct xvid_dec_frame_t
+ Collaboration diagram for xvid_dec_frame_t:
Data Fields
int version
int general
const void * bitstream
int length
const C_xvid_image * img_out
struct xvid_dec_stats_t
+ Collaboration diagram for xvid_dec_stats_t:
Data Fields
int version
int type
union xvid_dec_stats_t data
struct xvid_enc_zone_t
+ Collaboration diagram for xvid_enc_zone_t:
Data Fields
int frame
int mode
int increment
int base
struct xvid_plg_info_t
+ Collaboration diagram for xvid_plg_info_t:
Data Fields
int version
int flags
struct xvid_plg_create_t
+ Collaboration diagram for xvid_plg_create_t:
Data Fields
int version
int num_zones
xvid_enc_zone_t * zones
int width
int height
int mb_width
int mb_height
int fincr
int fbase
void * param
struct xvid_plg_destroy_t
+ Collaboration diagram for xvid_plg_destroy_t:
Data Fields
int version
int num_frames
struct xvid_enc_plugin_t
+ Collaboration diagram for xvid_enc_plugin_t:
Data Fields
xvid_plugin_func * func
void * param
struct xvid_plugin_single_t
+ Collaboration diagram for xvid_plugin_single_t:
Data Fields
int version
int bitrate
int reaction_delay_factor
int averaging_period
int buffer
struct xvid_plugin_2pass1_t
+ Collaboration diagram for xvid_plugin_2pass1_t:
Data Fields
int version
char * filename
struct xvid_plugin_2pass2_t
+ Collaboration diagram for xvid_plugin_2pass2_t:
Data Fields
int version
int bitrate
char * filename
int keyframe_boost
int curve_compression_high
int curve_compression_low
int overflow_control_strength
int max_overflow_improvement
int max_overflow_degradation
int kfreduction
int kfthreshold
int container_frame_overhead
union xvid_dec_stats_t.data
+ Collaboration diagram for xvid_dec_stats_t.data:
Data Fields
data vop
data vol
struct xvid_dec_stats_t.data.vop
+ Collaboration diagram for xvid_dec_stats_t.data.vop:
Data Fields
int general
int time_base
int time_increment
int * qscale
int qscale_stride
struct xvid_dec_stats_t.data.vol
+ Collaboration diagram for xvid_dec_stats_t.data.vol:
Data Fields
int general
int width
int height
int par
int par_width
int par_height

Macro Definition Documentation

#define PROF_S (   n)
#define PROF_E (   n)
#define XVID_MAKE_VERSION (   a,
  b,
 
)    ((((a)&0xff)<<16) | (((b)&0xff)<<8) | ((c)&0xff))
#define XVID_VERSION_MAJOR (   a)    ((char)(((a)>>16) & 0xff))
#define XVID_VERSION_MINOR (   a)    ((char)(((a)>> 8) & 0xff))
#define XVID_VERSION_PATCH (   a)    ((char)(((a)>> 0) & 0xff))
#define XVID_MAKE_API (   a,
 
)    ((((a)&0xff)<<16) | (((b)&0xff)<<0))
#define XVID_API_MAJOR (   a)    (((a)>>16) & 0xff)
#define XVID_API_MINOR (   a)    (((a)>> 0) & 0xff)
#define XVID_VERSION   XVID_MAKE_VERSION(1,0,-127)
#define XVID_API   XVID_MAKE_API(4, 0)
#define EDGE_SIZE   16
#define XVID_UNSTABLE
#define XVID_BS_VERSION   "0023"
#define XVID_ERR_FAIL   -1 /* general fault */
#define XVID_ERR_MEMORY   -2 /* memory allocation error */
#define XVID_ERR_FORMAT   -3 /* file format error */
#define XVID_ERR_VERSION   -4 /* structure version not supported */
#define XVID_ERR_END   -5 /* encoder only; end of stream reached */
#define XVID_PROFILE_S_L0   0x08 /* simple */
#define XVID_PROFILE_S_L1   0x01
#define XVID_PROFILE_S_L2   0x02
#define XVID_PROFILE_S_L3   0x03
#define XVID_PROFILE_ARTS_L1   0x91 /* advanced realtime simple */
#define XVID_PROFILE_ARTS_L2   0x92
#define XVID_PROFILE_ARTS_L3   0x93
#define XVID_PROFILE_ARTS_L4   0x94
#define XVID_PROFILE_AS_L0   0xf0 /* advanced simple */
#define XVID_PROFILE_AS_L1   0xf1
#define XVID_PROFILE_AS_L2   0xf2
#define XVID_PROFILE_AS_L3   0xf3
#define XVID_PROFILE_AS_L4   0xf4
#define XVID_PAR_11_VGA   1 /* 1:1 vga (square), default if AR is not precised (ie: ==0) */
#define XVID_PAR_43_PAL   2 /* 4:3 pal (12:11 625-line) */
#define XVID_PAR_43_NTSC   3 /* 4:3 ntsc (10:11 525-line) */
#define XVID_PAR_169_PAL   4 /* 16:9 pal (16:11 625-line) */
#define XVID_PAR_169_NTSC   5 /* 16:9 ntsc (40:33 525-line) */
#define XVID_PAR_EXT   15 /* extended par; use par_width, par_height */
#define XVID_TYPE_VOL   -1 /* decoder only: vol was decoded */
#define XVID_TYPE_NOTHING   0 /* decoder only (encoder stats): nothing was decoded/encoded */
#define XVID_TYPE_AUTO   0 /* encoder: automatically determine coding type */
#define XVID_TYPE_IVOP   1 /* intra frame */
#define XVID_TYPE_PVOP   2 /* predicted frame */
#define XVID_TYPE_BVOP   3 /* bidirectionally encoded */
#define XVID_TYPE_SVOP   4 /* predicted+sprite frame */
#define XVID_DEBUG_ERROR   (1<< 0)
#define XVID_DEBUG_STARTCODE   (1<< 1)
#define XVID_DEBUG_HEADER   (1<< 2)
#define XVID_DEBUG_TIMECODE   (1<< 3)
#define XVID_DEBUG_MB   (1<< 4)
#define XVID_DEBUG_COEFF   (1<< 5)
#define XVID_DEBUG_MV   (1<< 6)
#define XVID_DEBUG_RC   (1<< 7)
#define XVID_DEBUG_DEBUG   (1<<31)
#define XVID_GBL_INIT   0 /* initialize xvidcore; must be called before using xvid_decore, or xvid_encore) */
#define XVID_DEC_CREATE   0 /* create decore instance; return 0 on success */
#define XVID_DEC_DESTROY   1 /* destroy decore instance: return 0 on success */
#define XVID_DEC_DECODE   2 /* decode a frame: returns number of bytes consumed >= 0 */
#define XVID_LOWDELAY   (1<<0) /* lowdelay mode */
#define XVID_DISCONTINUITY   (1<<1) /* indicates break in stream */
#define XVID_ZONE_QUANT   (1<<0)
#define XVID_ZONE_WEIGHT   (1<<1)
#define XVID_PLG_CREATE   (1<<0)
#define XVID_PLG_DESTROY   (1<<1)
#define XVID_PLG_INFO   (1<<2)
#define XVID_PLG_BEFORE   (1<<3)
#define XVID_PLG_FRAME   (1<<4)
#define XVID_PLG_AFTER   (1<<5)
#define XVID_REQORIGINAL   (1<<0) /* plugin requires a copy of the original (uncompressed) image */
#define XVID_REQPSNR   (1<<1) /* plugin requires psnr between the uncompressed and compressed image*/
#define XVID_REQDQUANTS   (1<<2) /* plugin requires access to the dquant table */
#define XVID_PAYBACK_BIAS   0 /* payback with bias */
#define XVID_PAYBACK_PROP   1 /* payback proportionally */

Typedef Documentation

typedef int( xvid_plugin_func)(void *handle, int opt, void *param1, void *param2)

Function Documentation

int xvid_global ( void *  handle,
int  opt,
void *  param1,
void *  param2 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void* InitCodec ( dword  sx,
dword  sy,
dword  fcc 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void CloseCodec ( void *  handle)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int DecodeFrame ( void *  handle,
const void *  buf,
dword  sz_in,
byte *&  y,
byte *&  u,
byte *&  v,
dword pitch 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int xvid_decore ( void *  handle,
int  opt,
void *  param1,
void *  param2 
)

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

xvid_plugin_func xvid_plugin_single
xvid_plugin_func xvid_plugin_2pass1
xvid_plugin_func xvid_plugin_2pass2
xvid_plugin_func xvid_plugin_lumimasking
xvid_plugin_func xvid_plugin_psnr
xvid_plugin_func xvid_plugin_dump