annotate libvo/mga_common.c @ 1346:d6e6132bff35

AUDIO_ENCODING_LINEAR8 format is not available on sunos 5.5. Format is unsupported in mplayer for now, to get the code compiled on that old version of the OS.
author jkeil
date Thu, 19 Jul 2001 20:04:54 +0000
parents 0375ced94bd7
children 248972c26eee
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
413
7785656abf11 fastmemcpy added
arpi_esp
parents: 326
diff changeset
1
566
0375ced94bd7 ehh fixed ;)
arpi_esp
parents: 470
diff changeset
2 #include "fastmemcpy.h"
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
3
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
4 // mga_vid drawing functions
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
5
56
cdb2e30be421 mga_vid fixes, code cleanup
arpi_esp
parents: 47
diff changeset
6 static int mga_next_frame=0;
cdb2e30be421 mga_vid fixes, code cleanup
arpi_esp
parents: 47
diff changeset
7
cdb2e30be421 mga_vid fixes, code cleanup
arpi_esp
parents: 47
diff changeset
8 static mga_vid_config_t mga_vid_config;
cdb2e30be421 mga_vid fixes, code cleanup
arpi_esp
parents: 47
diff changeset
9 static uint8_t *vid_data, *frames[4];
cdb2e30be421 mga_vid fixes, code cleanup
arpi_esp
parents: 47
diff changeset
10 static int f;
cdb2e30be421 mga_vid fixes, code cleanup
arpi_esp
parents: 47
diff changeset
11
202
6ad0715dfac8 grey+alpha rendering support (for .sub)
arpi_esp
parents: 56
diff changeset
12 static void draw_alpha(int x0,int y0, int w,int h, unsigned char* src, unsigned char *srca, int stride){
6ad0715dfac8 grey+alpha rendering support (for .sub)
arpi_esp
parents: 56
diff changeset
13 int x,y;
6ad0715dfac8 grey+alpha rendering support (for .sub)
arpi_esp
parents: 56
diff changeset
14 uint32_t bespitch = (mga_vid_config.src_width + 31) & ~31;
466
c7c03bf70bb7 UYVY support
arpi_esp
parents: 448
diff changeset
15 switch(mga_vid_config.format){
c7c03bf70bb7 UYVY support
arpi_esp
parents: 448
diff changeset
16 case MGA_VID_FORMAT_YV12:
470
8e101a5d9dc2 I420/IYUV support
arpi_esp
parents: 466
diff changeset
17 case MGA_VID_FORMAT_IYUV:
8e101a5d9dc2 I420/IYUV support
arpi_esp
parents: 466
diff changeset
18 case MGA_VID_FORMAT_I420:
326
f6b5c2dbc88e OSD alpha renderers moved to osd.c
arpi_esp
parents: 284
diff changeset
19 vo_draw_alpha_yv12(w,h,src,srca,stride,vid_data+bespitch*y0+x0,bespitch);
466
c7c03bf70bb7 UYVY support
arpi_esp
parents: 448
diff changeset
20 break;
c7c03bf70bb7 UYVY support
arpi_esp
parents: 448
diff changeset
21 case MGA_VID_FORMAT_YUY2:
326
f6b5c2dbc88e OSD alpha renderers moved to osd.c
arpi_esp
parents: 284
diff changeset
22 vo_draw_alpha_yuy2(w,h,src,srca,stride,vid_data+2*(bespitch*y0+x0),2*bespitch);
466
c7c03bf70bb7 UYVY support
arpi_esp
parents: 448
diff changeset
23 break;
c7c03bf70bb7 UYVY support
arpi_esp
parents: 448
diff changeset
24 case MGA_VID_FORMAT_UYVY:
c7c03bf70bb7 UYVY support
arpi_esp
parents: 448
diff changeset
25 vo_draw_alpha_yuy2(w,h,src,srca,stride,vid_data+2*(bespitch*y0+x0)+1,2*bespitch);
c7c03bf70bb7 UYVY support
arpi_esp
parents: 448
diff changeset
26 break;
c7c03bf70bb7 UYVY support
arpi_esp
parents: 448
diff changeset
27 }
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
28 }
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
29
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
30
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
31 //static void
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
32 //write_slice_g200(uint8_t *y,uint8_t *cr, uint8_t *cb,uint32_t slice_num)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
33
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
34 static void
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
35 draw_slice_g200(uint8_t *image[], int stride[], int width,int height,int x,int y)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
36 {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
37 uint8_t *src;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
38 uint8_t *src2;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
39 uint8_t *dest;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
40 uint32_t bespitch,h,w;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
41
284
1ddac77b0d43 fixed the bespitch*y*x bug
arpi_esp
parents: 275
diff changeset
42 bespitch = (mga_vid_config.src_width + 31) & ~31;
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
43
284
1ddac77b0d43 fixed the bespitch*y*x bug
arpi_esp
parents: 275
diff changeset
44 dest = vid_data + bespitch*y + x;
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
45 src = image[0];
284
1ddac77b0d43 fixed the bespitch*y*x bug
arpi_esp
parents: 275
diff changeset
46 for(h=0; h < height; h++)
1ddac77b0d43 fixed the bespitch*y*x bug
arpi_esp
parents: 275
diff changeset
47 {
1ddac77b0d43 fixed the bespitch*y*x bug
arpi_esp
parents: 275
diff changeset
48 memcpy(dest, src, width);
1ddac77b0d43 fixed the bespitch*y*x bug
arpi_esp
parents: 275
diff changeset
49 src += stride[0];
1ddac77b0d43 fixed the bespitch*y*x bug
arpi_esp
parents: 275
diff changeset
50 dest += bespitch;
1ddac77b0d43 fixed the bespitch*y*x bug
arpi_esp
parents: 275
diff changeset
51 }
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
52
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
53 width/=2;height/=2;x/=2;y/=2;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
54
284
1ddac77b0d43 fixed the bespitch*y*x bug
arpi_esp
parents: 275
diff changeset
55 dest = vid_data + bespitch*mga_vid_config.src_height + bespitch*y + 2*x;
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
56 src = image[1];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
57 src2 = image[2];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
58 for(h=0; h < height; h++)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
59 {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
60 for(w=0; w < width; w++)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
61 {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
62 dest[2*w+0] = src[w];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
63 dest[2*w+1] = src2[w];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
64 }
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
65 dest += bespitch;
284
1ddac77b0d43 fixed the bespitch*y*x bug
arpi_esp
parents: 275
diff changeset
66 src += stride[1];
1ddac77b0d43 fixed the bespitch*y*x bug
arpi_esp
parents: 275
diff changeset
67 src2+= stride[2];
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
68 }
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
69 }
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
70
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
71 static void
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
72 draw_slice_g400(uint8_t *image[], int stride[], int w,int h,int x,int y)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
73 {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
74 uint8_t *src;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
75 uint8_t *dest;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
76 uint32_t bespitch,bespitch2;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
77 int i;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
78
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
79 bespitch = (mga_vid_config.src_width + 31) & ~31;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
80 bespitch2 = bespitch/2;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
81
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
82 dest = vid_data + bespitch * y + x;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
83 src = image[0];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
84 for(i=0;i<h;i++){
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
85 memcpy(dest,src,w);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
86 src+=stride[0];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
87 dest += bespitch;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
88 }
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
89
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
90 w/=2;h/=2;x/=2;y/=2;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
91
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
92 dest = vid_data + bespitch*mga_vid_config.src_height + bespitch2 * y + x;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
93 src = image[1];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
94 for(i=0;i<h;i++){
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
95 memcpy(dest,src,w);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
96 src+=stride[1];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
97 dest += bespitch2;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
98 }
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
99
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
100 dest = vid_data + bespitch*mga_vid_config.src_height
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
101 + bespitch*mga_vid_config.src_height / 4
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
102 + bespitch2 * y + x;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
103 src = image[2];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
104 for(i=0;i<h;i++){
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
105 memcpy(dest,src,w);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
106 src+=stride[2];
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
107 dest += bespitch2;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
108 }
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
109
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
110 }
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
111
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
112 static uint32_t
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
113 draw_slice(uint8_t *src[], int stride[], int w,int h,int x,int y)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
114 {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
115 if (mga_vid_config.card_type == MGA_G200)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
116 draw_slice_g200(src,stride,w,h,x,y);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
117 else
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
118 draw_slice_g400(src,stride,w,h,x,y);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
119 return 0;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
120 }
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
121
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
122 static void
31
1fc618eba830 added check_events() interface
arpi_esp
parents: 1
diff changeset
123 vo_mga_flip_page(void)
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
124 {
47
9d68da5d8a9a vsync in mga/xmga
arpi_esp
parents: 31
diff changeset
125
9d68da5d8a9a vsync in mga/xmga
arpi_esp
parents: 31
diff changeset
126 // printf("-- flip to %d --\n",mga_next_frame);
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
127
47
9d68da5d8a9a vsync in mga/xmga
arpi_esp
parents: 31
diff changeset
128 #if 1
9d68da5d8a9a vsync in mga/xmga
arpi_esp
parents: 31
diff changeset
129 ioctl(f,MGA_VID_FSEL,&mga_next_frame);
56
cdb2e30be421 mga_vid fixes, code cleanup
arpi_esp
parents: 47
diff changeset
130 mga_next_frame=(mga_next_frame+1)%mga_vid_config.num_frames;
47
9d68da5d8a9a vsync in mga/xmga
arpi_esp
parents: 31
diff changeset
131 vid_data=frames[mga_next_frame];
9d68da5d8a9a vsync in mga/xmga
arpi_esp
parents: 31
diff changeset
132 #endif
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
133
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
134 }
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
135
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
136
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
137 static void
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
138 write_frame_yuy2(uint8_t *y)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
139 {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
140 uint8_t *dest;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
141 uint32_t bespitch,h;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
142 int len=2*mga_vid_config.src_width;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
143
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
144 dest = vid_data;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
145 bespitch = (mga_vid_config.src_width + 31) & ~31;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
146
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
147 // y+=2*mga_vid_config.src_width*mga_vid_config.src_height;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
148
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
149 for(h=0; h < mga_vid_config.src_height; h++)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
150 {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
151 // y -= 2*mga_vid_config.src_width;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
152 memcpy(dest, y, len);
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
153 y += len;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
154 dest += 2*bespitch;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
155 }
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
156 }
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
157
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
158
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
159 static uint32_t
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
160 draw_frame(uint8_t *src[])
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
161 {
448
198b46b739d8 qrva eletbe nem kene cvs-t elbaszni inkabb ne nyuljatok hozza baz+
arpi_esp
parents: 413
diff changeset
162 switch(mga_vid_config.format){
198b46b739d8 qrva eletbe nem kene cvs-t elbaszni inkabb ne nyuljatok hozza baz+
arpi_esp
parents: 413
diff changeset
163 case MGA_VID_FORMAT_YUY2:
198b46b739d8 qrva eletbe nem kene cvs-t elbaszni inkabb ne nyuljatok hozza baz+
arpi_esp
parents: 413
diff changeset
164 write_frame_yuy2(src[0]);break;
198b46b739d8 qrva eletbe nem kene cvs-t elbaszni inkabb ne nyuljatok hozza baz+
arpi_esp
parents: 413
diff changeset
165 case MGA_VID_FORMAT_UYVY:
198b46b739d8 qrva eletbe nem kene cvs-t elbaszni inkabb ne nyuljatok hozza baz+
arpi_esp
parents: 413
diff changeset
166 write_frame_yuy2(src[0]);break;
198b46b739d8 qrva eletbe nem kene cvs-t elbaszni inkabb ne nyuljatok hozza baz+
arpi_esp
parents: 413
diff changeset
167 }
198b46b739d8 qrva eletbe nem kene cvs-t elbaszni inkabb ne nyuljatok hozza baz+
arpi_esp
parents: 413
diff changeset
168 return 0;
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
169 }
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
170
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
171 static uint32_t
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
172 query_format(uint32_t format)
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
173 {
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
174 switch(format){
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
175 case IMGFMT_YV12:
470
8e101a5d9dc2 I420/IYUV support
arpi_esp
parents: 466
diff changeset
176 case IMGFMT_I420:
8e101a5d9dc2 I420/IYUV support
arpi_esp
parents: 466
diff changeset
177 case IMGFMT_IYUV:
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
178 case IMGFMT_YUY2:
448
198b46b739d8 qrva eletbe nem kene cvs-t elbaszni inkabb ne nyuljatok hozza baz+
arpi_esp
parents: 413
diff changeset
179 case IMGFMT_UYVY:
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
180 // case IMGFMT_RGB|24:
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
181 // case IMGFMT_BGR|24:
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
182 return 1;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
183 }
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
184 return 0;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
185 }
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
186
56
cdb2e30be421 mga_vid fixes, code cleanup
arpi_esp
parents: 47
diff changeset
187 static int mga_init(){
cdb2e30be421 mga_vid fixes, code cleanup
arpi_esp
parents: 47
diff changeset
188 char *frame_mem;
cdb2e30be421 mga_vid fixes, code cleanup
arpi_esp
parents: 47
diff changeset
189
cdb2e30be421 mga_vid fixes, code cleanup
arpi_esp
parents: 47
diff changeset
190 mga_vid_config.num_frames=4;
cdb2e30be421 mga_vid fixes, code cleanup
arpi_esp
parents: 47
diff changeset
191 mga_vid_config.version=MGA_VID_VERSION;
cdb2e30be421 mga_vid fixes, code cleanup
arpi_esp
parents: 47
diff changeset
192 if (ioctl(f,MGA_VID_CONFIG,&mga_vid_config))
cdb2e30be421 mga_vid fixes, code cleanup
arpi_esp
parents: 47
diff changeset
193 {
275
edd442cd99f0 lamer_protection++
arpi_esp
parents: 249
diff changeset
194 perror("Error in mga_vid_config ioctl()");
edd442cd99f0 lamer_protection++
arpi_esp
parents: 249
diff changeset
195 printf("Your mga_vid driver version is incompatible with this MPlayer version!\n");
56
cdb2e30be421 mga_vid fixes, code cleanup
arpi_esp
parents: 47
diff changeset
196 return -1;
cdb2e30be421 mga_vid fixes, code cleanup
arpi_esp
parents: 47
diff changeset
197 }
cdb2e30be421 mga_vid fixes, code cleanup
arpi_esp
parents: 47
diff changeset
198 ioctl(f,MGA_VID_ON,0);
cdb2e30be421 mga_vid fixes, code cleanup
arpi_esp
parents: 47
diff changeset
199
cdb2e30be421 mga_vid fixes, code cleanup
arpi_esp
parents: 47
diff changeset
200 frames[0] = (char*)mmap(0,mga_vid_config.frame_size*mga_vid_config.num_frames,PROT_WRITE,MAP_SHARED,f,0);
cdb2e30be421 mga_vid fixes, code cleanup
arpi_esp
parents: 47
diff changeset
201 frames[1] = frames[0] + 1*mga_vid_config.frame_size;
cdb2e30be421 mga_vid fixes, code cleanup
arpi_esp
parents: 47
diff changeset
202 frames[2] = frames[0] + 2*mga_vid_config.frame_size;
cdb2e30be421 mga_vid fixes, code cleanup
arpi_esp
parents: 47
diff changeset
203 frames[3] = frames[0] + 3*mga_vid_config.frame_size;
cdb2e30be421 mga_vid fixes, code cleanup
arpi_esp
parents: 47
diff changeset
204 mga_next_frame = 0;
cdb2e30be421 mga_vid fixes, code cleanup
arpi_esp
parents: 47
diff changeset
205 vid_data = frames[mga_next_frame];
cdb2e30be421 mga_vid fixes, code cleanup
arpi_esp
parents: 47
diff changeset
206
cdb2e30be421 mga_vid fixes, code cleanup
arpi_esp
parents: 47
diff changeset
207 //clear the buffer
cdb2e30be421 mga_vid fixes, code cleanup
arpi_esp
parents: 47
diff changeset
208 memset(frames[0],0x80,mga_vid_config.frame_size*mga_vid_config.num_frames);
cdb2e30be421 mga_vid fixes, code cleanup
arpi_esp
parents: 47
diff changeset
209
cdb2e30be421 mga_vid fixes, code cleanup
arpi_esp
parents: 47
diff changeset
210 return 0;
cdb2e30be421 mga_vid fixes, code cleanup
arpi_esp
parents: 47
diff changeset
211
cdb2e30be421 mga_vid fixes, code cleanup
arpi_esp
parents: 47
diff changeset
212 }
cdb2e30be421 mga_vid fixes, code cleanup
arpi_esp
parents: 47
diff changeset
213