[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.10, Thu Jun 13 21:45:24 2002 UTC revision 1.18.2.6, Wed Dec 4 12:31:18 2002 UTC
# Line 70  Line 70 
70  {  {
71          I_VOP = 0,          I_VOP = 0,
72          P_VOP = 1,          P_VOP = 1,
73          B_VOP = 2          B_VOP = 2,
74            S_VOP = 3
75  }  }
76  VOP_TYPE;  VOP_TYPE;
77    
# Line 92  Line 93 
93          uint32_t fincr;          uint32_t fincr;
94          uint32_t fbase;          uint32_t fbase;
95    
96  #ifdef BFRAMES  #ifdef _SMP
97          int max_bframes;          int num_threads;
98  #endif  #endif
99    
100            int max_bframes;
101    
102          /* rounding type; alternate 0-1 after each interframe */          /* rounding type; alternate 0-1 after each interframe */
103          /* 1 <= fixed_code <= 4          /* 1 <= fixed_code <= 4
104             automatically adjusted using motion vector statistics inside             automatically adjusted using motion vector statistics inside
# Line 105  Line 108 
108          uint32_t m_quant_type;          uint32_t m_quant_type;
109          uint32_t m_rounding_type;          uint32_t m_rounding_type;
110          uint32_t m_fcode;          uint32_t m_fcode;
111            uint32_t m_quarterpel;
112    
113          HINTINFO *hint;          HINTINFO *hint;
114    
115  #ifdef BFRAMES          int64_t m_stamp;
         uint32_t m_seconds;  
         uint32_t m_ticks;  
 #endif  
   
116  }  }
117  MBParam;  MBParam;
118    
119    
120  typedef struct  typedef struct
121  {  {
122            int iTextBits;
123            int iMvSum;
124            int iMvCount;
125            int kblks;
126            int mblks;
127            int ublks;
128    }
129    Statistics;
130    
131    
132    typedef struct
133    {
134          uint32_t quant;          uint32_t quant;
135          uint32_t motion_flags;          uint32_t motion_flags;
136          uint32_t global_flags;          uint32_t global_flags;
137    
138          VOP_TYPE coding_type;          VOP_TYPE coding_type;
139          uint32_t rounding_type;          uint32_t rounding_type;
140            uint32_t quarterpel;
141          uint32_t fcode;          uint32_t fcode;
142          uint32_t bcode;          uint32_t bcode;
143    
 #ifdef BFRAMES  
144          uint32_t seconds;          uint32_t seconds;
145          uint32_t ticks;          uint32_t ticks;
146  #endif          int64_t stamp;
147    
148          IMAGE image;          IMAGE image;
149    
150          MACROBLOCK *mbs;          MACROBLOCK *mbs;
151            VECTOR GMC_MV;
152    
153            Statistics sStat;
154  }  }
155  FRAMEINFO;  FRAMEINFO;
156    
 typedef struct  
 {  
         int iTextBits;  
         float fMvPrevSigma;  
         int iMvSum;  
         int iMvCount;  
         int kblks;  
         int mblks;  
         int ublks;  
 }  
 Statistics;  
   
157    
158    
159  typedef struct  typedef struct
# Line 167  Line 169 
169          FRAMEINFO *current;          FRAMEINFO *current;
170          FRAMEINFO *reference;          FRAMEINFO *reference;
171    
172  #ifdef _DEBUG  #ifdef _DEBUG_PSNR
173          IMAGE sOriginal;          IMAGE sOriginal;
174  #endif  #endif
175          IMAGE vInterH;          IMAGE vInterH;
# Line 176  Line 178 
178          IMAGE vInterHV;          IMAGE vInterHV;
179          IMAGE vInterHVf;          IMAGE vInterHVf;
180    
 #ifdef BFRAMES  
181          /* constants */          /* constants */
182            int global;
183          int bquant_ratio;          int bquant_ratio;
184          /* vars */          int bquant_offset;
185            int frame_drop_ratio;
186    
187            /* image queue */
188            int queue_head;
189            int queue_tail;
190            int queue_size;
191            IMAGE *queue;
192    
193            /* bframe buffer */
194          int bframenum_head;          int bframenum_head;
195          int bframenum_tail;          int bframenum_tail;
196          int flush_bframes;          int flush_bframes;
# Line 188  Line 199 
199          IMAGE f_refh;          IMAGE f_refh;
200          IMAGE f_refv;          IMAGE f_refv;
201          IMAGE f_refhv;          IMAGE f_refhv;
202  #endif          int bframenum_dx50bvop;
203          Statistics sStat;  
204            int m_framenum; /* debug frame num counter; unlike iFrameNum, does not reset at ivop */
205    
206          RateControl rate_control;          RateControl rate_control;
207    
208            float fMvPrevSigma;
209  }  }
210  Encoder;  Encoder;
211    
# Line 239  Line 254 
254                                     XVID_ENC_FRAME * pFrame,                                     XVID_ENC_FRAME * pFrame,
255                                     XVID_ENC_STATS * pResult);                                     XVID_ENC_STATS * pResult);
256    
257    int encoder_encode_bframes(Encoder * pEnc,
258                                       XVID_ENC_FRAME * pFrame,
259                                       XVID_ENC_STATS * pResult);
260    
261  #endif  #endif

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.18.2.6

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