[svn] / trunk / vfw / src / xvid.h Repository:
ViewVC logotype

Diff of /trunk/vfw/src/xvid.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 3, Fri Mar 8 02:46:11 2002 UTC revision 102, Fri Apr 5 14:42:37 2002 UTC
# Line 104  Line 104 
104  #define XVID_HALFPEL                    0x00000040              /* use halfpel interpolation */  #define XVID_HALFPEL                    0x00000040              /* use halfpel interpolation */
105  #define XVID_ADAPTIVEQUANT              0x00000080  #define XVID_ADAPTIVEQUANT              0x00000080
106  #define XVID_LUMIMASKING                0x00000100  #define XVID_LUMIMASKING                0x00000100
107    #define XVID_LATEINTRA                  0x00000200
108    
109  #define XVID_INTER4V                    0x00000800  #define XVID_INTERLACING                0x00000400              /* enable interlaced encoding */
110    #define XVID_TOPFIELDFIRST              0x00000800              /* set top-field-first flag (cosmetic only) */
111  #define XVID_ME_ZERO                    0x00001000  #define XVID_ALTERNATESCAN              0x00001000              /* ?? sets alternate vertical scan flag */
112  #define XVID_ME_LOGARITHMIC             0x00002000  
113  #define XVID_ME_FULLSEARCH              0x00004000  #define XVID_HINTEDME_GET               0x00002000              /* receive mv hint data from core (1st pass) */
114  #define XVID_ME_PMVFAST                 0x00008000  #define XVID_HINTEDME_SET               0x00004000              /* send mv hint data to core (2nd pass) */
115    
116    #define XVID_INTER4V                    0x00008000
117    
118    #define XVID_ME_ZERO                    0x00010000
119    #define XVID_ME_LOGARITHMIC             0x00020000
120    #define XVID_ME_FULLSEARCH              0x00040000
121    #define XVID_ME_PMVFAST                 0x00080000
122    #define XVID_ME_EPZS                    0x00100000
123    
124  #define PMV_HALFPELDIAMOND16    0x00010000  #define PMV_HALFPELDIAMOND16    0x00010000
125  #define PMV_HALFPELREFINE16     0x00020000  #define PMV_HALFPELREFINE16     0x00020000
# Line 119  Line 128 
128  #define PMV_QUICKSTOP16                 0x00100000              /* like early, but without any more refinement */  #define PMV_QUICKSTOP16                 0x00100000              /* like early, but without any more refinement */
129  #define PMV_UNRESTRICTED16      0x00200000              /* unrestricted ME, not implemented */  #define PMV_UNRESTRICTED16      0x00200000              /* unrestricted ME, not implemented */
130  #define PMV_OVERLAPPING16       0x00400000              /* overlapping ME, not implemented */  #define PMV_OVERLAPPING16       0x00400000              /* overlapping ME, not implemented */
131    #define PMV_USESQUARES16                0x00800000
132    
133  #define PMV_HALFPELDIAMOND8     0x01000000  #define PMV_HALFPELDIAMOND8     0x01000000
134  #define PMV_HALFPELREFINE8              0x02000000  #define PMV_HALFPELREFINE8              0x02000000
# Line 127  Line 137 
137  #define PMV_QUICKSTOP8                  0x10000000              /* like early, but without any more refinement */  #define PMV_QUICKSTOP8                  0x10000000              /* like early, but without any more refinement */
138  #define PMV_UNRESTRICTED8       0x20000000              /* unrestricted ME, not implemented */  #define PMV_UNRESTRICTED8       0x20000000              /* unrestricted ME, not implemented */
139  #define PMV_OVERLAPPING8                0x40000000              /* overlapping ME, not implemented */  #define PMV_OVERLAPPING8                0x40000000              /* overlapping ME, not implemented */
140    #define PMV_USESQUARES8                 0x80000000
141    
142    
143  typedef struct  typedef struct
144  {  {
# Line 145  Line 157 
157    
158  typedef struct  typedef struct
159  {  {
160            int x;
161            int y;
162    } VECTOR;
163    
164    typedef struct
165    {
166            int mode;                               // macroblock mode
167            VECTOR mvs[4];
168    } MVBLOCKHINT;
169    
170    typedef struct
171    {
172            int intra;                              // frame intra choice
173            int fcode;                              // frame fcode
174            MVBLOCKHINT * block;    // caller-allocated array of block hints (mb_width * mb_height)
175    } MVFRAMEHINT;
176    
177    typedef struct
178    {
179            int rawhints;                   // if set, use MVFRAMEHINT, else use compressed buffer
180    
181            MVFRAMEHINT mvhint;
182            void * hintstream;              // compressed hint buffer
183            int hintlength;                 // length of buffer (bytes)
184    } HINTINFO;
185    
186    typedef struct
187    {
188          int general;                    // [in] general options          int general;                    // [in] general options
189      int motion;                         // [in] ME options      int motion;                         // [in] ME options
190          void * bitstream;               // [in] bitstream ptr          void * bitstream;               // [in] bitstream ptr
# Line 158  Line 198 
198      int quant;                          // [in] frame quantizer (vbr)      int quant;                          // [in] frame quantizer (vbr)
199      int intra;                          // [in] force intra frame (vbr only)      int intra;                          // [in] force intra frame (vbr only)
200                                                          // [out] intra state                                                          // [out] intra state
201            HINTINFO hint;                  // [in/out] mv hint information
202  } XVID_ENC_FRAME;  } XVID_ENC_FRAME;
203    
204    

Legend:
Removed from v.3  
changed lines
  Added in v.102

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