[cvs] / xvidcore / src / encoder.h Repository:
ViewVC logotype

Diff of /xvidcore/src/encoder.h

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

revision 1.15, Fri Jul 19 14:56:00 2002 UTC revision 1.27.4.1, Sat May 3 23:24:25 2003 UTC
# Line 46  Line 46 
46  #include "xvid.h"  #include "xvid.h"
47  #include "portab.h"  #include "portab.h"
48  #include "global.h"  #include "global.h"
 #include "image/image.h"  
49  #include "utils/ratecontrol.h"  #include "utils/ratecontrol.h"
50    
51  /*****************************************************************************  /*****************************************************************************
# Line 70  Line 69 
69  {  {
70          I_VOP = 0,          I_VOP = 0,
71          P_VOP = 1,          P_VOP = 1,
72          B_VOP = 2          B_VOP = 2,
73            S_VOP = 3
74  }  }
75  VOP_TYPE;  VOP_TYPE;
76    
# Line 92  Line 92 
92          uint32_t fincr;          uint32_t fincr;
93          uint32_t fbase;          uint32_t fbase;
94    
95  #ifdef _SMP          /* constants */
96          int num_threads;          int global;
97  #endif          int bquant_ratio;
98            int bquant_offset;
99            int frame_drop_ratio;
100    
101  #ifdef BFRAMES          int iMaxKeyInterval;
102          int max_bframes;          int max_bframes;
 #endif  
103    
104          /* rounding type; alternate 0-1 after each interframe */          /* rounding type; alternate 0-1 after each interframe */
105          /* 1 <= fixed_code <= 4          /* 1 <= fixed_code <= 4
# Line 109  Line 110 
110          uint32_t m_quant_type;          uint32_t m_quant_type;
111          uint32_t m_rounding_type;          uint32_t m_rounding_type;
112          uint32_t m_fcode;          uint32_t m_fcode;
113            uint32_t m_quarterpel;
114            int m_reduced_resolution;       /* reduced_resolution_enable */
115    
116          HINTINFO *hint;          HINTINFO *hint;
117    
118  #ifdef BFRAMES          int64_t m_stamp;
         uint32_t m_seconds;  
         uint32_t m_ticks;  
 #endif  
   
119  }  }
120  MBParam;  MBParam;
121    
122    
123  typedef struct  typedef struct
124  {  {
125            int iTextBits;
126            int iMvSum;
127            int iMvCount;
128            int kblks;
129            int mblks;
130            int ublks;
131            int gblks;
132            int iblks;
133            int qblks;
134    }
135    Statistics;
136    
137    
138    typedef struct
139    {
140          uint32_t quant;          uint32_t quant;
141          uint32_t motion_flags;          uint32_t motion_flags;
142          uint32_t global_flags;          uint32_t global_flags;
143    
144          VOP_TYPE coding_type;          VOP_TYPE coding_type;
145          uint32_t rounding_type;          uint32_t rounding_type;
146            uint32_t quarterpel;
147          uint32_t fcode;          uint32_t fcode;
148          uint32_t bcode;          uint32_t bcode;
149    
 #ifdef BFRAMES  
150          uint32_t seconds;          uint32_t seconds;
151          uint32_t ticks;          uint32_t ticks;
152  #endif          int64_t stamp;
153    
154          IMAGE image;          IMAGE image;
155    
156          MACROBLOCK *mbs;          MACROBLOCK *mbs;
157    
158  }          WARPPOINTS warp;                // as in bitstream
159  FRAMEINFO;          GMC_DATA gmc_data;              // common data for all MBs
160    
161  typedef struct          Statistics sStat;
 {  
         int iTextBits;  
         float fMvPrevSigma;  
         int iMvSum;  
         int iMvCount;  
         int kblks;  
         int mblks;  
         int ublks;  
162  }  }
163  Statistics;  FRAMEINFO;
   
164    
165    
166  typedef struct  typedef struct
# Line 163  Line 168 
168          MBParam mbParam;          MBParam mbParam;
169    
170          int iFrameNum;          int iFrameNum;
         int iMaxKeyInterval;  
171          int bitrate;          int bitrate;
172    
173          // images          // images
# Line 171  Line 175 
175          FRAMEINFO *current;          FRAMEINFO *current;
176          FRAMEINFO *reference;          FRAMEINFO *reference;
177    
 #ifdef _DEBUG_PSNR  
178          IMAGE sOriginal;          IMAGE sOriginal;
 #endif  
179          IMAGE vInterH;          IMAGE vInterH;
180          IMAGE vInterV;          IMAGE vInterV;
181          IMAGE vInterVf;          IMAGE vInterVf;
182          IMAGE vInterHV;          IMAGE vInterHV;
183          IMAGE vInterHVf;          IMAGE vInterHVf;
184    
185  #ifdef BFRAMES          IMAGE vGMC;
         /* constants */  
         int global;  
         int bquant_ratio;  
186    
187          /* image queue */          /* image queue */
188          int queue_head;          int queue_head;
# Line 202  Line 201 
201          IMAGE f_refhv;          IMAGE f_refhv;
202          int bframenum_dx50bvop;          int bframenum_dx50bvop;
203    
         int last_pframe;  
         int time_pp;  
204          int m_framenum; /* debug frame num counter; unlike iFrameNum, does not reset at ivop */          int m_framenum; /* debug frame num counter; unlike iFrameNum, does not reset at ivop */
 #endif  
205    
         Statistics sStat;  
206          RateControl rate_control;          RateControl rate_control;
207    
208            float fMvPrevSigma;
209  }  }
210  Encoder;  Encoder;
211    

Legend:
Removed from v.1.15  
changed lines
  Added in v.1.27.4.1

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