[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.1, Fri Mar 8 02:44:31 2002 UTC revision 1.6, Wed May 1 13:00:01 2002 UTC
# Line 31  Line 31 
31  typedef enum  typedef enum
32  {  {
33      I_VOP = 0,      I_VOP = 0,
34      P_VOP = 1      P_VOP = 1,
35            B_VOP = 2
36  }  }
37  VOP_TYPE;  VOP_TYPE;
38    
# Line 51  Line 52 
52          uint32_t mb_width;          uint32_t mb_width;
53          uint32_t mb_height;          uint32_t mb_height;
54    
55      VOP_TYPE coding_type;          /* frame rate increment & base */
56            uint32_t fincr;
57            uint32_t fbase;
58    
59      /* rounding type; alternate 0-1 after each interframe */      /* rounding type; alternate 0-1 after each interframe */
   
     uint32_t rounding_type;  
   
60          /* 1 <= fixed_code <= 4          /* 1 <= fixed_code <= 4
61             automatically adjusted using motion vector statistics inside             automatically adjusted using motion vector statistics inside
62           */           */
63    
64      uint32_t fixed_code;          /* vars that not "quite" frame independant */
65            uint32_t m_quant_type;
66            uint32_t m_rounding_type;
67            uint32_t m_fcode;
68    
69            HINTINFO * hint;
70    
71    #ifdef BFRAMES
72            uint32_t m_seconds;
73            uint32_t m_ticks;
74    #endif
75    
76    } MBParam;
77    
78    
79    typedef struct
80    {
81      uint32_t quant;      uint32_t quant;
         uint32_t quant_type;  
82          uint32_t motion_flags;          uint32_t motion_flags;
83          uint32_t global_flags;          uint32_t global_flags;
84  } MBParam;  
85            VOP_TYPE coding_type;
86        uint32_t rounding_type;
87        uint32_t fcode;
88            uint32_t bcode;
89    
90    #ifdef BFRAMES
91            uint32_t seconds;
92            uint32_t ticks;
93    #endif
94    
95            IMAGE image;
96    
97            MACROBLOCK * mbs;
98    
99    } FRAMEINFO;
100    
101  typedef struct  typedef struct
102  {  {
# Line 88  Line 118 
118    
119      int iFrameNum;      int iFrameNum;
120      int iMaxKeyInterval;      int iMaxKeyInterval;
         int lum_masking;  
121          int bitrate;          int bitrate;
122    
123          // images          // images
124    
125      IMAGE sCurrent;          FRAMEINFO * current;
126      IMAGE sReference;          FRAMEINFO * reference;
127    
128    #ifdef _DEBUG
129            IMAGE sOriginal;
130    #endif
131      IMAGE vInterH;      IMAGE vInterH;
132      IMAGE vInterV;      IMAGE vInterV;
133            IMAGE vInterVf;
134      IMAGE vInterHV;      IMAGE vInterHV;
135            IMAGE vInterHVf;
136    
137          // macroblock  #ifdef BFRAMES
138            /* constants */
139          MACROBLOCK * pMBs;          int max_bframes;
140            int bquant_ratio;
141            /* vars */
142            int bframenum_head;
143            int bframenum_tail;
144            int flush_bframes;
145    
146            FRAMEINFO ** bframes;
147        IMAGE f_refh;
148        IMAGE f_refv;
149        IMAGE f_refhv;
150    #endif
151      Statistics sStat;      Statistics sStat;
152  }  }
153  Encoder;  Encoder;

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.6

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