summaryrefslogtreecommitdiffstats
path: root/libswscale/swscale_internal.h
diff options
context:
space:
mode:
authormichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-07-24 10:36:06 +0000
committermichael <michael@b3059339-0415-0410-9bf9-f77b7e298cf2>2006-07-24 10:36:06 +0000
commit14ddfdddf8697c478f005168d92333beaa7ba20c (patch)
tree755d64b6d869dc3a497edce4dd5402586cbb2b8f /libswscale/swscale_internal.h
parent53ab918dcf7c2655ca11a42d2343289ac86716f0 (diff)
downloadmpv-14ddfdddf8697c478f005168d92333beaa7ba20c.tar.bz2
mpv-14ddfdddf8697c478f005168d92333beaa7ba20c.tar.xz
vertical scaler with accurate rounding, some people on doom9 can see +-1 errors
the +-1 issue is limited to >2tap vertical filters, so bilinear upscale was unaffected the new code is sometime faster sometimes slower but the difference is significant (~20%) so its optional and enabled with arnd=1 git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@19177 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libswscale/swscale_internal.h')
-rw-r--r--libswscale/swscale_internal.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/libswscale/swscale_internal.h b/libswscale/swscale_internal.h
index bc8f08d1db..177074d6a5 100644
--- a/libswscale/swscale_internal.h
+++ b/libswscale/swscale_internal.h
@@ -126,7 +126,9 @@ typedef struct SwsContext{
#define DSTW_OFFSET "11*8+4*4*256*2" //do not change, its hardcoded in the asm
#define ESP_OFFSET "11*8+4*4*256*2+8"
#define VROUNDER_OFFSET "11*8+4*4*256*2+16"
-
+#define U_TEMP "11*8+4*4*256*2+24"
+#define V_TEMP "11*8+4*4*256*2+32"
+
uint64_t redDither __attribute__((aligned(8)));
uint64_t greenDither __attribute__((aligned(8)));
uint64_t blueDither __attribute__((aligned(8)));
@@ -144,6 +146,8 @@ typedef struct SwsContext{
int dstW;
uint64_t esp __attribute__((aligned(8)));
uint64_t vRounder __attribute__((aligned(8)));
+ uint64_t u_temp __attribute__((aligned(8)));
+ uint64_t v_temp __attribute__((aligned(8)));
#ifdef HAVE_ALTIVEC