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

Annotation of /xvidcore/src/decoder.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.5 - (view) (download)

1 : Isibaar 1.1 #ifndef _DECODER_H_
2 :     #define _DECODER_H_
3 :    
4 :     #include "xvid.h"
5 :    
6 :     #include "portab.h"
7 :     #include "global.h"
8 :     #include "image/image.h"
9 :    
10 :    
11 :     typedef struct
12 :     {
13 :     // bitstream
14 :    
15 :     uint32_t shape;
16 :     uint32_t time_inc_bits;
17 :     uint32_t quant_bits;
18 :     uint32_t quant_type;
19 :     uint32_t quarterpel;
20 :    
21 : h 1.2 uint32_t interlacing;
22 :     uint32_t top_field_first;
23 :     uint32_t alternate_vertical_scan;
24 :    
25 : Isibaar 1.1 // image
26 :    
27 :     uint32_t width;
28 :     uint32_t height;
29 :     uint32_t edged_width;
30 :     uint32_t edged_height;
31 :    
32 :     IMAGE cur;
33 : chenm001 1.4 IMAGE refn[3]; // 0 -- last I or P VOP
34 :     // 1 -- first I or P
35 : chenm001 1.5 // 2 -- for interpolate mode B-frame
36 : Isibaar 1.1 IMAGE refh;
37 :     IMAGE refv;
38 :     IMAGE refhv;
39 :    
40 :     // macroblock
41 :    
42 :     uint32_t mb_width;
43 :     uint32_t mb_height;
44 :     MACROBLOCK * mbs;
45 :    
46 : chenm001 1.4 // for B-frame
47 :     int32_t frames; // total frame number
48 :     int8_t scalability;
49 :     VECTOR p_fmv, p_bmv; // pred forward & backward motion vector
50 : chenm001 1.5 MACROBLOCK *last_mbs; // last MB
51 : chenm001 1.4 int64_t time; // for record time
52 :     int64_t time_base;
53 :     int64_t last_time_base;
54 :     int64_t last_non_b_time;
55 :     uint32_t time_pp;
56 :     uint32_t time_bp;
57 : chenm001 1.5 uint8_t low_delay; // low_delay flage (1 means no B_VOP)
58 : Isibaar 1.1 } DECODER;
59 :    
60 :     void init_decoder(uint32_t cpu_flags);
61 :    
62 :     int decoder_create(XVID_DEC_PARAM * param);
63 :     int decoder_destroy(DECODER * dec);
64 :     int decoder_decode(DECODER * dec, XVID_DEC_FRAME * frame);
65 :    
66 :    
67 :     #endif /* _DECODER_H_ */

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