Mercurial > mplayer.hg
comparison libvo/vo_svga.c @ 617:33b559940fb4
*** empty log message ***
author | se7encode |
---|---|
date | Tue, 24 Apr 2001 12:21:42 +0000 |
parents | 41d6eec69b60 |
children | 99a716d8cac8 |
comparison
equal
deleted
inserted
replaced
616:41d6eec69b60 | 617:33b559940fb4 |
---|---|
20 | 20 |
21 #include "yuv2rgb.h" | 21 #include "yuv2rgb.h" |
22 #include "mmx.h" | 22 #include "mmx.h" |
23 | 23 |
24 #include "sub.h" | 24 #include "sub.h" |
25 #include "osd.h" | |
25 | 26 |
26 extern void rgb15to16_mmx(char* s0,char* d0,int count); | 27 extern void rgb15to16_mmx(char* s0,char* d0,int count); |
27 extern int vo_dbpp; | 28 extern int vo_dbpp; |
28 extern int verbose; | 29 extern int verbose; |
29 | 30 |
176 printf("vo_svga: Maybe you should try -bpp\n"); | 177 printf("vo_svga: Maybe you should try -bpp\n"); |
177 return(1); | 178 return(1); |
178 } else { | 179 } else { |
179 bpp = 32; | 180 bpp = 32; |
180 bpp_conv = 1; | 181 bpp_conv = 1; |
181 if (verbose) | 182 printf("vo_svga: BPP conversion 24->32\n"); |
182 printf("vo_svga: BPP conversion 24->32\n"); | |
183 } | 183 } |
184 break; | 184 break; |
185 case 16: if (!(bpp_avail & BPP_16)) { | 185 case 16: if (!(bpp_avail & BPP_16)) { |
186 printf("vo_svga: Haven't found video mode which fit to: %dx%d %dbpp\n",req_w,req_h,bpp); | 186 printf("vo_svga: Haven't found video mode which fit to: %dx%d %dbpp\n",req_w,req_h,bpp); |
187 printf("vo_svga: Maybe you should try -bpp\n"); | 187 printf("vo_svga: Maybe you should try -bpp\n"); |
194 printf("vo_svga: Maybe you should try -bpp\n"); | 194 printf("vo_svga: Maybe you should try -bpp\n"); |
195 return(1); | 195 return(1); |
196 } else { | 196 } else { |
197 bpp = 16; | 197 bpp = 16; |
198 bpp_conv = 1; | 198 bpp_conv = 1; |
199 if (verbose) | 199 printf("vo_svga: BPP conversion 15->16\n"); |
200 printf("vo_svga: BPP conversion 15->16\n"); | |
201 } | 200 } |
202 break; | 201 break; |
203 } | 202 } |
204 } else { | 203 } else { |
205 bpp = vo_dbpp; | 204 bpp = vo_dbpp; |
417 } | 416 } |
418 | 417 |
419 static const vo_info_t* get_info(void) { | 418 static const vo_info_t* get_info(void) { |
420 return (&vo_info); | 419 return (&vo_info); |
421 } | 420 } |
422 | |
423 #include "osd.h" | |
424 | 421 |
425 static void draw_alpha(int x0, int y0, int w, int h, unsigned char *src, | 422 static void draw_alpha(int x0, int y0, int w, int h, unsigned char *src, |
426 unsigned char *srca, int stride) { | 423 unsigned char *srca, int stride) { |
427 switch (bpp) { | 424 switch (bpp) { |
428 case 32: | 425 case 32: |
483 } break; | 480 } break; |
484 } | 481 } |
485 src[0] = bppbuf; | 482 src[0] = bppbuf; |
486 } | 483 } |
487 gl_putbox(x_pos, y_pos, maxw, maxh, src[0]); | 484 gl_putbox(x_pos, y_pos, maxw, maxh, src[0]); |
488 return 0; | 485 |
486 return (0); | |
489 } | 487 } |
490 | 488 |
491 static uint32_t draw_slice(uint8_t *image[], int stride[], | 489 static uint32_t draw_slice(uint8_t *image[], int stride[], |
492 int w, int h, int x, int y) { | 490 int w, int h, int x, int y) { |
493 uint8_t *src = yuvbuf; | 491 uint8_t *src = yuvbuf; |
500 if (scalebuf != NULL) { | 498 if (scalebuf != NULL) { |
501 gl_scalebox(w, h, yuvbuf, sw, sh, scalebuf); | 499 gl_scalebox(w, h, yuvbuf, sw, sh, scalebuf); |
502 src = scalebuf; | 500 src = scalebuf; |
503 } | 501 } |
504 gl_putbox((int)(x * scaling) + x_pos, (int)(y * scaling) + y_pos, sw, sh, src); | 502 gl_putbox((int)(x * scaling) + x_pos, (int)(y * scaling) + y_pos, sw, sh, src); |
505 return 0; | 503 |
504 return (0); | |
506 } | 505 } |
507 | 506 |
508 static void flip_page(void) { | 507 static void flip_page(void) { |
509 if (y_pos) { | 508 if (y_pos) { |
510 gl_fillbox(0, 0, WIDTH, y_pos, 0); | 509 gl_fillbox(0, 0, WIDTH, y_pos, 0); |