comparison libvo/vo_dga.c @ 2556:71934dc06490

Using new stuff of rgb15to16
author nick
date Tue, 30 Oct 2001 17:04:31 +0000
parents d40f2b686846
children 67202498298e
comparison
equal deleted inserted replaced
2555:66837325b929 2556:71934dc06490
21 * BGR_32_24_888 21 * BGR_32_24_888
22 * 22 *
23 * - works only on x86 architectures 23 * - works only on x86 architectures
24 * 24 *
25 * $Log$ 25 * $Log$
26 * Revision 1.30 2001/08/13 11:08:18 atlka 26 * Revision 1.31 2001/10/30 17:04:31 nick
27 * changes according to -utf8 option, draw_osd() function added 27 * Using new stuff of rgb15to16
28 * 28 *
29 * Revision 1.29 2001/07/16 18:41:52 jkeil 29 * Revision 1.29 2001/07/16 18:41:52 jkeil
30 * vo_dga doesn't compile on non-x86 architecture due to x86 asm usage. 30 * vo_dga doesn't compile on non-x86 architecture due to x86 asm usage.
31 * 31 *
32 * Revision 1.28 2001/07/03 23:45:49 arpi 32 * Revision 1.28 2001/07/03 23:45:49 arpi
149 #include <X11/extensions/xf86vmode.h> 149 #include <X11/extensions/xf86vmode.h>
150 #endif 150 #endif
151 151
152 152
153 #include "x11_common.h" 153 #include "x11_common.h"
154 154 #include "../postproc/rgb2rgb.h"
155 #include "fastmemcpy.h" 155 #include "fastmemcpy.h"
156
157 extern void rgb15to16_mmx(char* s0,char* d0,int count);
158 156
159 static vo_info_t vo_info = 157 static vo_info_t vo_info =
160 { 158 {
161 #ifdef HAVE_DGA2 159 #ifdef HAVE_DGA2
162 "DGA ( Direct Graphic Access V2.0 )", 160 "DGA ( Direct Graphic Access V2.0 )",
477 case VDM_CONV_15TO16: 475 case VDM_CONV_15TO16:
478 { 476 {
479 int i; 477 int i;
480 char *e; 478 char *e;
481 for(i=0; i< vo_dga_lines; i++){ 479 for(i=0; i< vo_dga_lines; i++){
482 #ifdef HAVE_MMX 480 rgb15to16( s, d, vo_dga_bytes_per_line);
483 rgb15to16_mmx( s, d, vo_dga_bytes_per_line);
484 d+=vo_dga_bytes_per_line; 481 d+=vo_dga_bytes_per_line;
485 s+=vo_dga_bytes_per_line; 482 s+=vo_dga_bytes_per_line;
486 #else
487 e = s+vo_dga_bytes_per_line;
488 while( s< e ){
489 register uint16_t x = *(((uint16_t *)s)++);
490 *(((uint16_t *)d)++)=( x&0x001F )|( ( x&0x7FE0 )<<1 );
491 }
492
493 #endif
494 d+= vo_dga_vp_skip; 483 d+= vo_dga_vp_skip;
495 } 484 }
496 } 485 }
497 break; 486 break;
498 case VDM_CONV_24TO32: 487 case VDM_CONV_24TO32: