[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.11, Fri Jun 14 13:27:47 2002 UTC revision 1.17.2.2, Sun Oct 6 07:05:50 2002 UTC
# Line 37  Line 37 
37  #define _XVID_H_  #define _XVID_H_
38    
39  #ifdef __cplusplus  #ifdef __cplusplus
40  *  $Id$  extern "C" {
41  #endif  #endif
42    
43  /*****************************************************************************  /*****************************************************************************
# Line 56  Line 56 
56    
57    
58  /* Colorspaces */  /* Colorspaces */
59  #define XVID_CSP_RGB24  0  #define XVID_CSP_RGB24  0               /* [b|g|r] */
60  #define XVID_CSP_YV12   1  #define XVID_CSP_YV12   1
61  #define XVID_CSP_YUY2   2  #define XVID_CSP_YUY2   2
62  #define XVID_CSP_UYVY   3  #define XVID_CSP_UYVY   3
# Line 66  Line 66 
66  #define XVID_CSP_USER   12  #define XVID_CSP_USER   12
67  #define XVID_CSP_EXTERN      1004  // per slice rendering  #define XVID_CSP_EXTERN      1004  // per slice rendering
68  #define XVID_CSP_YVYU   1002  #define XVID_CSP_YVYU   1002
69  #define XVID_CSP_RGB32  1000  #define XVID_CSP_RGB32  1000    /* [b|g|r|a] */
70    #define XVID_CSP_ABGR   1006    /* [a|b|g|r] */
71    #define XVID_CSP_RGBA   1005    /* [r|g|b|a] */
72    
73    
74    
75  #define XVID_CSP_NULL   9999  #define XVID_CSP_NULL   9999
76    
77  #define XVID_CSP_VFLIP  0x80000000      // flip mask  #define XVID_CSP_VFLIP  0x80000000      // flip mask
78    
79    
80  /*****************************************************************************  /*****************************************************************************
81     *  Initialization constants
82   ****************************************************************************/   ****************************************************************************/
83    
84  /* CPU flags for XVID_INIT_PARAM.cpu_flags */  /* CPU flags for XVID_INIT_PARAM.cpu_flags */
# Line 97  Line 103 
103   ****************************************************************************/   ****************************************************************************/
104    
105          typedef struct          typedef struct
106            {
107                  int cpu_flags;                  int cpu_flags;
108                  int api_version;                  int api_version;
109                  int core_build;                  int core_build;
# Line 153  Line 160 
160                  int stride_y, stride_u,stride_v;                  int stride_y, stride_u,stride_v;
161          } XVID_DEC_PICTURE;          } XVID_DEC_PICTURE;
162    
163    
164    /*****************************************************************************
165     * Decoder entry point
166     ****************************************************************************/
167    
168    /* decoder options */
169    #define XVID_DEC_DECODE         0
170    #define XVID_DEC_CREATE         1
171  #define XVID_DEC_DESTROY        2  #define XVID_DEC_DESTROY        2
172    
173          int xvid_decore(void *handle,          int xvid_decore(void *handle,
# Line 174  Line 189 
189  #define XVID_VALID_FLAGS                0x80000000  #define XVID_VALID_FLAGS                0x80000000
190    
191  #define XVID_CUSTOM_QMATRIX             0x00000004      /* use custom quant matrix */  #define XVID_CUSTOM_QMATRIX             0x00000004      /* use custom quant matrix */
192    #define XVID_H263QUANT                  0x00000010
193    #define XVID_MPEGQUANT                  0x00000020
194    #define XVID_HALFPEL                    0x00000040      /* use halfpel interpolation */
195    #define XVID_QUARTERPEL                 0x02000000
196    #define XVID_ADAPTIVEQUANT              0x00000080
197    #define XVID_LUMIMASKING                0x00000100
198  #define XVID_LATEINTRA                  0x00000200  #define XVID_LATEINTRA                  0x00000200
199    
200  #define XVID_INTERLACING                0x00000400      /* enable interlaced encoding */  #define XVID_INTERLACING                0x00000400      /* enable interlaced encoding */
# Line 199  Line 220 
220  /* Flags for XVID_ENC_FRAME.motion */  /* Flags for XVID_ENC_FRAME.motion */
221  #define PMV_ADVANCEDDIAMOND8    0x00004000  #define PMV_ADVANCEDDIAMOND8    0x00004000
222  #define PMV_ADVANCEDDIAMOND16   0x00008000  #define PMV_ADVANCEDDIAMOND16   0x00008000
223  #define PMV_EARLYSTOP16                 0x00080000  
224    #define PMV_HALFPELDIAMOND16    0x00010000
225    #define PMV_HALFPELREFINE16     0x00020000
226    #define PMV_QUARTERPELREFINE16  0x00040000
227    #define PMV_EXTSEARCH16                 0x00080000      /* extend PMV by more searches */
228  #define PMV_QUICKSTOP16                 0x00100000      /* like early, but without any more refinement */  #define PMV_QUICKSTOP16                 0x00100000      /* like early, but without any more refinement */
229  #define PMV_UNRESTRICTED16      0x00200000      /* unrestricted ME, not implemented */  #define PMV_UNRESTRICTED16      0x00200000      /* unrestricted ME, not implemented */
230  #define PMV_OVERLAPPING16       0x00400000      /* overlapping ME, not implemented */  #define PMV_OVERLAPPING16       0x00400000      /* overlapping ME, not implemented */
# Line 207  Line 232 
232    
233  #define PMV_HALFPELDIAMOND8     0x01000000  #define PMV_HALFPELDIAMOND8     0x01000000
234  #define PMV_HALFPELREFINE8              0x02000000  #define PMV_HALFPELREFINE8              0x02000000
235  #define PMV_EXTSEARCH8                  0x04000000      /* extend PMV by more searches */  #define PMV_QUARTERPELREFINE8   0x04000000
236  #define PMV_EARLYSTOP8                  0x08000000  #define PMV_EXTSEARCH8                  0x08000000      /* extend PMV by more searches */
237  #define PMV_QUICKSTOP8                  0x10000000      /* like early, but without any more refinement */  #define PMV_QUICKSTOP8                  0x10000000      /* like early, but without any more refinement */
238  #define PMV_UNRESTRICTED8       0x20000000      /* unrestricted ME, not implemented */  #define PMV_UNRESTRICTED8       0x20000000      /* unrestricted ME, not implemented */
239  #define PMV_OVERLAPPING8                0x40000000      /* overlapping ME, not implemented */  #define PMV_OVERLAPPING8                0x40000000      /* overlapping ME, not implemented */
# Line 239  Line 264 
264                  int bquant_ratio;               /* bframe quantizer multipier (percentage).                  int bquant_ratio;               /* bframe quantizer multipier (percentage).
265                                                                   * used only when bquant < 1                                                                   * used only when bquant < 1
266                                                                   * eg. 200 = x2 multiplier                                                                   * eg. 200 = x2 multiplier
267                                                                     * quant = ((past_quant + future_quant) * bquant_ratio)/200
268                                                                     */
269                    int frame_drop_ratio;   /* frame dropping: 0=drop none... 100=drop all */
270  #endif  #endif
271                    void *handle;                   /* [out] encoder instance handle */
272          }          }
273          XVID_ENC_PARAM;          XVID_ENC_PARAM;
274    
275          typedef struct          typedef struct
276          {          {
277                  int x;                  int x;
278                    int y;
279          }          }
280          VECTOR;          VECTOR;
281    
# Line 303  Line 333 
333          typedef struct          typedef struct
334          {          {
335                  int quant;                              /* [out] frame quantizer */                  int quant;                              /* [out] frame quantizer */
                 int input_consumed;             /* [out] */  
336                  int hlength;                    /* [out] header length (bytes) */                  int hlength;                    /* [out] header length (bytes) */
337                  int kblks, mblks, ublks;        /* [out] */                  int kblks, mblks, ublks;        /* [out] */
338    

Legend:
Removed from v.1.11  
changed lines
  Added in v.1.17.2.2

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