2372
|
1 typedef struct
|
|
2 {
|
|
3 unsigned int what;
|
|
4 unsigned int id;
|
|
5 int (*iq_func)(); /* init/query function */
|
|
6 unsigned int (*dec_func)(); /* opt decode function */
|
|
7 } XAVID_FUNC_HDR;
|
|
8
|
|
9 #define XAVID_WHAT_NO_MORE 0x0000
|
|
10 #define XAVID_AVI_QUERY 0x0001
|
|
11 #define XAVID_QT_QUERY 0x0002
|
|
12 #define XAVID_DEC_FUNC 0x0100
|
|
13
|
|
14 #define XAVID_API_REV 0x0003
|
|
15
|
|
16 typedef struct
|
|
17 {
|
|
18 unsigned int api_rev;
|
|
19 char *desc;
|
|
20 char *rev;
|
|
21 char *copyright;
|
|
22 char *mod_author;
|
|
23 char *authors;
|
|
24 unsigned int num_funcs;
|
|
25 XAVID_FUNC_HDR *funcs;
|
|
26 } XAVID_MOD_HDR;
|
|
27
|
|
28 /* XA CODEC .. */
|
|
29 typedef struct
|
|
30 {
|
|
31 void *anim_hdr;
|
|
32 unsigned long compression;
|
|
33 unsigned long x, y;
|
|
34 unsigned long depth;
|
|
35 void *extra;
|
|
36 unsigned long xapi_rev;
|
|
37 unsigned long (*decoder)();
|
|
38 char *description;
|
|
39 unsigned long avi_ctab_flag;
|
|
40 unsigned long (*avi_read_ext)();
|
|
41 } XA_CODEC_HDR;
|
|
42
|
|
43 #define CODEC_SUPPORTED 1
|
|
44 #define CODEC_UNKNOWN 0
|
|
45 #define CODEC_UNSUPPORTED -1
|
|
46
|
|
47 /* fuckin colormap structures for xanim */
|
|
48 typedef struct
|
|
49 {
|
|
50 unsigned short red;
|
|
51 unsigned short green;
|
|
52 unsigned short blue;
|
|
53 unsigned short gray;
|
|
54 } ColorReg;
|
|
55
|
|
56 typedef struct XA_ACTION_STRUCT
|
|
57 {
|
|
58 int type;
|
|
59 int cmap_rev;
|
|
60 unsigned char *data;
|
|
61 struct XA_ACTION_STRUCT *next;
|
|
62 struct XA_CHDR_STRUCT *chdr;
|
|
63 ColorReg *h_cmap;
|
|
64 unsigned int *map;
|
|
65 struct XA_ACTION_STRUCT *next_same_chdr;
|
|
66 } XA_ACTION;
|
|
67
|
|
68 typedef struct XA_CHDR_STRUCT
|
|
69 {
|
|
70 unsigned int rev;
|
|
71 ColorReg *cmap;
|
|
72 unsigned int csize, coff;
|
|
73 unsigned int *map;
|
|
74 unsigned int msize, moff;
|
|
75 struct XA_CHDR_STRUCT *next;
|
|
76 XA_ACTION *acts;
|
|
77 struct XA_CHDR_STRUCT *new_chdr;
|
|
78 } XA_CHDR;
|
|
79
|
|
80 typedef struct
|
|
81 {
|
|
82 unsigned int cmd;
|
|
83 unsigned int skip_flag;
|
|
84 unsigned int imagex, imagey; /* image buffer size */
|
|
85 unsigned int imaged; /* image depth */
|
|
86 XA_CHDR *chdr; /* color map header */
|
|
87 unsigned int map_flag;
|
|
88 unsigned int *map;
|
|
89 unsigned int xs, ys;
|
|
90 unsigned int xe, ye;
|
|
91 unsigned int special;
|
|
92 void *extra;
|
|
93 } XA_DEC_INFO;
|
|
94
|
|
95 typedef struct
|
|
96 {
|
|
97 unsigned int file_num;
|
|
98 unsigned int anim_type;
|
|
99 unsigned int imagex;
|
|
100 unsigned int imagey;
|
|
101 unsigned int imagec;
|
|
102 unsigned int imaged;
|
|
103 } XA_ANIM_HDR;
|
2384
|
104
|
|
105 // Added by A'rpi
|
|
106 typedef struct {
|
|
107 unsigned int out_fmt;
|
|
108 int bpp;
|
|
109 int width,height;
|
|
110 unsigned char* planes[3];
|
|
111 int stride[3];
|
|
112 unsigned char *mem;
|
|
113 } xacodec_image_t;
|
|
114
|
2563
|
115 int xacodec_init_video(sh_video_t *vidinfo, int out_format);
|
|
116 xacodec_image_t* xacodec_decode_frame(uint8_t *frame, int frame_size, int skip_flag);
|
|
117 int xacodec_exit();
|
|
118
|