Parent Directory
|
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 |