[SCM] libav/experimental: xinc scaled by 16 instead of 8
siretart at users.alioth.debian.org
siretart at users.alioth.debian.org
Sun Jun 30 15:30:13 UTC 2013
The following commit has been merged in the experimental branch:
commit 44f9179b602cd7831800b3d35f095d56ff194da0
Author: Arpi <arpi at thot.banki.hu>
Date: Fri Oct 19 02:21:47 2001 +0000
xinc scaled by 16 instead of 8
Originally committed as revision 2275 to svn://svn.mplayerhq.hu/mplayer/trunk/postproc
diff --git a/postproc/swscale.c b/postproc/swscale.c
index 02e9650..3b0e7b9 100644
--- a/postproc/swscale.c
+++ b/postproc/swscale.c
@@ -71,7 +71,7 @@ static uint8_t funnyUVCode[10000];
// *** bilinear scaling and yuv->rgb conversion of yv12 slices:
// *** Note: it's called multiple times while decoding a frame, first time y==0
// *** Designed to upscale, but may work for downscale too.
-// s_xinc = (src_width << 8) / dst_width
+// s_xinc = (src_width << 16) / dst_width
// s_yinc = (src_height << 16) / dst_height
void SwScale_YV12slice_brg24(unsigned char* srcptr[],int stride[], int y, int h,
unsigned char* dstptr, int dststride, int dstw, int dstbpp,
@@ -104,7 +104,7 @@ static int s_xinc2_diff=0;
int canMMX2BeUsed;
// we need that precission at least for the mmx2 code
-s_xinc*= 256;
+//s_xinc*= 256;
s_xinc2=s_xinc>>1;
canMMX2BeUsed= (s_xinc <= 0x10000 && (dstw&31)==0) ? 1 : 0;
diff --git a/postproc/swscale_template.c b/postproc/swscale_template.c
index 02e9650..3b0e7b9 100644
--- a/postproc/swscale_template.c
+++ b/postproc/swscale_template.c
@@ -71,7 +71,7 @@ static uint8_t funnyUVCode[10000];
// *** bilinear scaling and yuv->rgb conversion of yv12 slices:
// *** Note: it's called multiple times while decoding a frame, first time y==0
// *** Designed to upscale, but may work for downscale too.
-// s_xinc = (src_width << 8) / dst_width
+// s_xinc = (src_width << 16) / dst_width
// s_yinc = (src_height << 16) / dst_height
void SwScale_YV12slice_brg24(unsigned char* srcptr[],int stride[], int y, int h,
unsigned char* dstptr, int dststride, int dstw, int dstbpp,
@@ -104,7 +104,7 @@ static int s_xinc2_diff=0;
int canMMX2BeUsed;
// we need that precission at least for the mmx2 code
-s_xinc*= 256;
+//s_xinc*= 256;
s_xinc2=s_xinc>>1;
canMMX2BeUsed= (s_xinc <= 0x10000 && (dstw&31)==0) ? 1 : 0;
--
Libav/FFmpeg packaging
More information about the pkg-multimedia-commits
mailing list