summaryrefslogtreecommitdiffstats
path: root/libvo/vesa_lvo.c
diff options
context:
space:
mode:
authornick <nick@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-11-18 09:45:29 +0000
committernick <nick@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-11-18 09:45:29 +0000
commit0daa53ca2a6535ab62d5ff00b2e67ee4c46c8ae8 (patch)
tree9b9e76b53f13733399888bc77087ae7327784174 /libvo/vesa_lvo.c
parentd2d9565a1a5d38054feee9cc4f91cf6f984296f3 (diff)
downloadmpv-0daa53ca2a6535ab62d5ff00b2e67ee4c46c8ae8.tar.bz2
mpv-0daa53ca2a6535ab62d5ff00b2e67ee4c46c8ae8.tar.xz
Qualitative speedup of decoding
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@2965 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libvo/vesa_lvo.c')
-rw-r--r--libvo/vesa_lvo.c48
1 files changed, 2 insertions, 46 deletions
diff --git a/libvo/vesa_lvo.c b/libvo/vesa_lvo.c
index e9643d5243..debe2d3d89 100644
--- a/libvo/vesa_lvo.c
+++ b/libvo/vesa_lvo.c
@@ -162,57 +162,13 @@ uint32_t vlvo_draw_slice(uint8_t *image[], int stride[], int w,int h,int x,int y
src+=stride[2];
dest += bespitch2;
}
-#elsif 0
-/* vo_xv stuff: slightly better for YV12 on radeon_vid */
- uint8_t *src;
- uint8_t *dst;
- int i;
-
- dst = lvo_mem + image_width * y + x;
- src = image[0];
- if(w==stride[0] && w==image_width) memcpy(dst,src,w*h);
- else
- for(i=0;i<h;i++)
- {
- memcpy(dst,src,w);
- src+=stride[0];
- dst+=image_width;
- }
-
- x/=2;y/=2;w/=2;h/=2;
-
- dst = lvo_mem + image_width * image_height + image_width/2 * y + x;
- src = image[2];
- if(w==stride[2] && w==image_width/2) memcpy(dst,src,w*h);
- else
- for(i=0;i<h;i++)
- {
- memcpy(dst,src,w);
- src+=stride[2];
- dst+=image_width/2;
- }
- dst = lvo_mem + image_width * image_height * 5 / 4 + image_width/2 * y + x;
- src = image[1];
- if(w==stride[1] && w==image_width/2) memcpy(dst,src,w*h);
- else
- for(i=0;i<h;i++)
- {
- memcpy(dst,src,w);
- src+=stride[1];
- dst+=image_width/2;
- }
#else
uint8_t *src;
uint8_t *dst;
dst = lvo_mem + image_width * y + x;
src = image[0];
- w <<= 1;
- while(h--) {
- memcpy(dst, src, w);
- src += stride[0];
- dst += stride[0];
- }
-
+ w *= (image_bpp+7)/8;
+ memcpy(dst,src,w*h);
#endif
return 0;
}