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);