From 14ddfdddf8697c478f005168d92333beaa7ba20c Mon Sep 17 00:00:00 2001 From: michael Date: Mon, 24 Jul 2006 10:36:06 +0000 Subject: 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 --- libswscale/swscale_internal.h | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'libswscale/swscale_internal.h') 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 -- cgit v1.2.3