Mercurial > mplayer.hg
annotate xacodec.h @ 6844:e69615f1c309
vd_vfw.c
author | arpi |
---|---|
date | Tue, 30 Jul 2002 16:41:33 +0000 |
parents | ebe660cf5752 |
children |
rev | line source |
---|---|
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; | |
6698
ebe660cf5752
Patch by Alan Young <ayoung at teleport.com>: Fix xacodec type mismatch, which
atmos4
parents:
2563
diff
changeset
|
32 unsigned int compression; |
ebe660cf5752
Patch by Alan Young <ayoung at teleport.com>: Fix xacodec type mismatch, which
atmos4
parents:
2563
diff
changeset
|
33 unsigned int x, y; |
ebe660cf5752
Patch by Alan Young <ayoung at teleport.com>: Fix xacodec type mismatch, which
atmos4
parents:
2563
diff
changeset
|
34 unsigned int depth; |
2372 | 35 void *extra; |
6698
ebe660cf5752
Patch by Alan Young <ayoung at teleport.com>: Fix xacodec type mismatch, which
atmos4
parents:
2563
diff
changeset
|
36 unsigned int xapi_rev; |
ebe660cf5752
Patch by Alan Young <ayoung at teleport.com>: Fix xacodec type mismatch, which
atmos4
parents:
2563
diff
changeset
|
37 unsigned int (*decoder)(); |
2372 | 38 char *description; |
6698
ebe660cf5752
Patch by Alan Young <ayoung at teleport.com>: Fix xacodec type mismatch, which
atmos4
parents:
2563
diff
changeset
|
39 unsigned int avi_ctab_flag; |
ebe660cf5752
Patch by Alan Young <ayoung at teleport.com>: Fix xacodec type mismatch, which
atmos4
parents:
2563
diff
changeset
|
40 unsigned int (*avi_read_ext)(); |
2372 | 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 |