]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
Remove software filters
authorToni Wilen <twilen@winuae.net>
Fri, 7 Mar 2025 16:01:14 +0000 (18:01 +0200)
committerToni Wilen <twilen@winuae.net>
Fri, 7 Mar 2025 16:01:14 +0000 (18:01 +0200)
18 files changed:
gfxutil.cpp
include/gfxfilter.h
od-win32/direct3d.cpp
od-win32/direct3d11.cpp
od-win32/gdirender.cpp
od-win32/hq2x16.asm [deleted file]
od-win32/hq2x32.asm [deleted file]
od-win32/hq3x16.asm [deleted file]
od-win32/hq3x32.asm [deleted file]
od-win32/hq4x16.asm [deleted file]
od-win32/hq4x32.asm [deleted file]
od-win32/scaler.cpp [deleted file]
od-win32/scaler2.cpp [deleted file]
od-win32/scaler_more.cpp [deleted file]
od-win32/win32_scaler.cpp
od-win32/win32gfx.cpp
od-win32/winuae_msvc15/winuae_msvc.vcxproj
od-win32/winuae_msvc15/winuae_msvc.vcxproj.filters

index 3501feb35d4e345f67ff56ad29c68d63bae5f01d..a24d51251a03818713db831f167c50e3b8968d7e 100644 (file)
@@ -236,12 +236,6 @@ static uae_s32 get_cr(int monid, int r, int g, int b)
        return limit256rb(monid, 0.5f * r - 0.418688f * g - 0.081312f * b);
 }
 
-extern uae_s32 tyhrgb[65536];
-extern uae_s32 tylrgb[65536];
-extern uae_s32 tcbrgb[65536];
-extern uae_s32 tcrrgb[65536];
-extern uae_u32 redc[3 * 256], grec[3 * 256], bluc[3 * 256];
-
 static uae_u32 lowbits (int v, int shift, int lsize)
 {
        v >>= shift;
@@ -428,18 +422,6 @@ void alloc_colors64k(int monid, int rw, int gw, int bw, int rs, int gs, int bs,
 
 #if defined(AGA) || defined(GFXFILTER)
        alloc_colors_rgb (rw, gw, bw, rs, gs, bs, aw, as, alpha, byte_swap, xredcolors, xgreencolors, xbluecolors);
-       /* copy original color table */
-       for (i = 0; i < 256; i++) {
-               redc[0 * 256 + i] = xredcolors[0];
-               grec[0 * 256 + i] = xgreencolors[0];
-               bluc[0 * 256 + i] = xbluecolors[0];
-               redc[1 * 256 + i] = xredcolors[i];
-               grec[1 * 256 + i] = xgreencolors[i];
-               bluc[1 * 256 + i] = xbluecolors[i];
-               redc[2 * 256 + i] = xredcolors[255];
-               grec[2 * 256 + i] = xgreencolors[255];
-               bluc[2 * 256 + i] = xbluecolors[255];
-       }
 #ifdef GFXFILTER
        if (yuv) {
                /* create internal 5:6:5 color tables */
@@ -483,21 +465,6 @@ void alloc_colors64k(int monid, int rw, int gw, int bw, int rs, int gs, int bs,
                                xcolors[i] |= xcolors[i] * 0x00010001;
                        }
                }
-
-               /* create RGB 5:6:5 -> YUV tables */
-               for (i = 0; i < 65536; i++) {
-                       uae_u32 r, g, b;
-                       r = (((i >> 11) & 31) << 3) | lowbits (i, 11, 3);
-                       r = gamma[r + 256][0];
-                       g = (((i >>  5) & 63) << 2) | lowbits (i,  5, 2);
-                       g = gamma[g + 256][1];
-                       b = (((i >>  0) & 31) << 3) | lowbits (i,  0, 3);
-                       b = gamma[b + 256][2];
-                       tyhrgb[i] = get_yh(monid, r, g, b) * 256 * 256;
-                       tylrgb[i] = get_yl(monid, r, g, b) * 256 * 256;
-                       tcbrgb[i] = ((uae_s8)get_cb(monid, r, g, b)) * 256;
-                       tcrrgb[i] = ((uae_s8)get_cr(monid, r, g, b)) * 256;
-               }
        }
 #endif
 
index 4ad8d25d0ee624d1504ad84e6e6a1ee411fedfb6..4a4a6e3e424d0e9356d090b54743f7ecb5a59787 100644 (file)
@@ -9,6 +9,7 @@ typedef unsigned char u8;
 typedef unsigned short u16;
 typedef unsigned long u32;
 
+#if 0
 extern void S2X_refresh(int);
 extern void S2X_render(int, int, int);
 extern bool S2X_init (int, int dw, int dh, int dd);
@@ -19,11 +20,13 @@ extern int S2X_getmult(int);
 extern void PAL_init(int monid);
 extern void PAL_1x1_32 (uae_u32 *src, int pitchs, uae_u32 *trg, int pitcht, int width, int height);
 extern void PAL_1x1_16 (uae_u16 *src, int pitchs, uae_u16 *trg, int pitcht, int width, int height);
+#endif
 
 #ifndef __cplusplus
 typedef int bool;
 #endif
 
+#if 0
 extern "C"
 {
        extern void S2X_configure(int, int rb, int gb, int bb, int rs, int gs, int bs);
@@ -48,6 +51,7 @@ extern "C"
        extern void _cdecl hq4x_16 (unsigned char*, unsigned char*, DWORD, DWORD, DWORD);
        extern void _cdecl hq4x_32 (unsigned char*, unsigned char*, DWORD, DWORD, DWORD);
 }
+#endif
 
 #define UAE_FILTER_NULL 1
 #define UAE_FILTER_SCALE2X 2
@@ -60,13 +64,14 @@ extern "C"
 #define UAE_FILTER_PAL 9
 #define UAE_FILTER_LAST 9
 
+#if 0
 #define UAE_FILTER_MODE_16 16
 #define UAE_FILTER_MODE_16_16 16
 #define UAE_FILTER_MODE_16_32 (16 | 8)
 #define UAE_FILTER_MODE_32 32
 #define UAE_FILTER_MODE_32_32 32
 #define UAE_FILTER_MODE_32_16 (32 | 8)
-
+#endif
 
 struct uae_filter
 {
index 7ee8c6d71963bd6d29f780847a75063c9284ce2b..370a1bb959ffaefd6ec7c19db88ce6f96785a9bf 100644 (file)
@@ -2940,7 +2940,7 @@ static const TCHAR *D3D_init2 (struct d3dstruct *d3d, HWND ahwnd, int w_w, int w
 
        d3d->dmultxh = mmulth;
        d3d->dmultxv = mmultv;
-       d3d->dmult = S2X_getmult(d3d->num);
+       d3d->dmult = 1; // S2X_getmult(d3d->num);
 
        d3d->window_w = w_w;
        d3d->window_h = w_h;
index 73a15f983343d312ef665d2403e1bbcf85bb0d97..2132e3c8aaa8a81f5fa58bb9e1f4ff1efa93f7aa 100644 (file)
@@ -5072,7 +5072,7 @@ static bool xD3D11_alloctexture(int monid, int w, int h)
        d3d->m_bitmapHeight = h;
        d3d->m_bitmapWidth2 = d3d->m_bitmapWidth;
        d3d->m_bitmapHeight2 = d3d->m_bitmapHeight;
-       d3d->dmult = S2X_getmult(monid);
+       d3d->dmult = 1; // S2X_getmult(monid);
        d3d->m_bitmapWidthX = d3d->m_bitmapWidth * d3d->dmultxh;
        d3d->m_bitmapHeightX = d3d->m_bitmapHeight * d3d->dmultxv;
 
index 56b99b47fdf3c427eb2488047b40679fb5d7b1d3..31e4d5b26875ca5d632c2a0eccc4198c0b452b33 100644 (file)
@@ -253,7 +253,7 @@ static bool gdi_alloctexture(int monid, int w, int h)
                SetDCPenColor(gdi->hdc, RGB(0, 0, 0));
                SetDCBrushColor(gdi->hdc, RGB(0, 0, 0));
                if (allocsprite(gdi, &gdi->bm, w, h)) {
-                       gdi->dmult = S2X_getmult(monid);
+                       gdi->dmult = 1; // S2X_getmult(monid);
                        setupscenecoords(gdi, monid);
                        return true;
                }
diff --git a/od-win32/hq2x16.asm b/od-win32/hq2x16.asm
deleted file mode 100644 (file)
index e607c13..0000000
+++ /dev/null
@@ -1,1931 +0,0 @@
-;hq2x filter
-;16bpp output
-;----------------------------------------------------------
-;Copyright (C) 2003 MaxSt ( maxst@hiend3d.com )
-;
-;This program is free software; you can redistribute it and/or
-;modify it under the terms of the GNU General Public License
-;as published by the Free Software Foundation; either
-;version 2 of the License, or (at your option) any later
-;version.
-;
-;This program is distributed in the hope that it will be useful,
-;but WITHOUT ANY WARRANTY; without even the implied warranty of
-;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;GNU General Public License for more details.
-;
-;You should have received a copy of the GNU General Public License
-;along with this program; if not, write to the Free Software
-;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-GLOBAL _hq2x_16
-
-EXTERN _LUT16to32
-EXTERN _RGBtoYUV
-
-SECTION .bss
-linesleft resd 1
-xcounter  resd 1
-cross     resd 1
-nextline  resd 1
-prevline  resd 1
-w1        resd 1
-w2        resd 1
-w3        resd 1
-w4        resd 1
-w5        resd 1
-w6        resd 1
-w7        resd 1
-w8        resd 1
-w9        resd 1
-
-SECTION .data
-
-reg_blank    dd  0,0
-const3       dd  0x00030003,0x00000003
-const5       dd  0x00050005,0x00000005
-const6       dd  0x00060006,0x00000006
-const14      dd  0x000E000E,0x0000000E
-threshold    dd  0x00300706,0x00000000
-zerolowbits  dd  0xF7DEF7DE
-
-SECTION .text
-
-%macro TestDiff 2
-    xor     ecx,ecx
-    mov     edx,[%1]
-    cmp     edx,[%2]
-    je      %%fin
-    mov     ecx,_RGBtoYUV
-    movd    mm1,[ecx+edx*4]
-    movq    mm5,mm1
-    mov     edx,[%2]
-    movd    mm2,[ecx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    ecx,mm1
-%%fin:
-%endmacro
-
-%macro DiffOrNot 4
-   TestDiff %1,%2
-   test ecx,ecx
-   jz   %%same
-   %3
-   jmp %%fin
-%%same:
-   %4
-%%fin
-%endmacro
-
-%macro DiffOrNot 6
-   TestDiff %1,%2
-   test ecx,ecx
-   jz   %%same
-   %3
-   %4
-   jmp %%fin
-%%same:
-   %5
-   %6
-%%fin
-%endmacro
-
-%macro DiffOrNot 8
-   TestDiff %1,%2
-   test ecx,ecx
-   jz   %%same
-   %3
-   %4
-   %5
-   jmp %%fin
-%%same:
-   %6
-   %7
-   %8
-%%fin
-%endmacro
-
-%macro DiffOrNot 10
-   TestDiff %1,%2
-   test ecx,ecx
-   jz %%same
-   %3
-   %4
-   %5
-   %6
-   jmp %%fin
-%%same:
-   %7
-   %8
-   %9
-   %10
-%%fin
-%endmacro
-
-%macro Interp1 3
-    mov edx,%2
-    mov ecx,%3
-    cmp edx,ecx
-    je  %%fin
-    and edx,[zerolowbits]
-    and ecx,[zerolowbits]
-    add ecx,edx
-    shr ecx,1
-    add ecx,0x0821
-    and ecx,[zerolowbits]
-    add edx,ecx
-    shr edx,1
-%%fin
-    mov %1,dx
-%endmacro
-
-%macro Interp2 4
-    mov edx,%3
-    mov ecx,%4
-    cmp edx,ecx
-    je  %%fin1
-    and edx,[zerolowbits]
-    and ecx,[zerolowbits]
-    add ecx,edx
-    shr ecx,1
-    add ecx,0x0821
-%%fin1
-    mov edx,%2
-    cmp edx,ecx
-    je  %%fin2
-    and ecx,[zerolowbits]
-    and edx,[zerolowbits]
-    add edx,ecx
-    shr edx,1
-%%fin2
-    mov %1,dx
-%endmacro
-
-%macro Interp5 3
-    mov edx,%2
-    mov ecx,%3
-    cmp edx,ecx
-    je  %%fin
-    and edx,[zerolowbits]
-    and ecx,[zerolowbits]
-    add edx,ecx
-    shr edx,1
-%%fin
-    mov %1,dx
-%endmacro
-
-%macro Interp6 3
-    mov        ecx, _LUT16to32
-    movd       mm1, [ecx+eax*4]
-    mov        edx, %2
-    movd       mm2, [ecx+edx*4]
-    mov        edx, %3
-    movd       mm3, [ecx+edx*4]
-    punpcklbw  mm1, [reg_blank]
-    punpcklbw  mm2, [reg_blank]
-    punpcklbw  mm3, [reg_blank]
-    pmullw     mm1, [const5]
-    psllw      mm2, 1
-    paddw      mm1, mm3
-    paddw      mm1, mm2
-    psrlw      mm1, 5
-    packuswb   mm1, [reg_blank]
-    movd       edx, mm1
-    shl        dl,  2
-    shr        edx, 1
-    shl        dx,  3
-    shr        edx, 5
-    mov        %1,  dx
-%endmacro
-
-%macro Interp7 3
-    mov        ecx, _LUT16to32
-    movd       mm1, [ecx+eax*4]
-    mov        edx, %2
-    movd       mm2, [ecx+edx*4]
-    mov        edx, %3
-    movd       mm3, [ecx+edx*4]
-    punpcklbw  mm1, [reg_blank]
-    punpcklbw  mm2, [reg_blank]
-    punpcklbw  mm3, [reg_blank]
-    pmullw     mm1, [const6]
-    paddw      mm2, mm3
-    paddw      mm1, mm2
-    psrlw      mm1, 5
-    packuswb   mm1, [reg_blank]
-    movd       edx, mm1
-    shl        dl,  2
-    shr        edx, 1
-    shl        dx,  3
-    shr        edx, 5
-    mov        %1,  dx
-%endmacro
-
-%macro Interp9 3
-    mov        ecx, _LUT16to32
-    movd       mm1, [ecx+eax*4]
-    mov        edx, %2
-    movd       mm2, [ecx+edx*4]
-    mov        edx, %3
-    movd       mm3, [ecx+edx*4]
-    punpcklbw  mm1, [reg_blank]
-    punpcklbw  mm2, [reg_blank]
-    punpcklbw  mm3, [reg_blank]
-    psllw      mm1, 1
-    paddw      mm2, mm3
-    pmullw     mm2, [const3]
-    paddw      mm1, mm2
-    psrlw      mm1, 5
-    packuswb   mm1, [reg_blank]
-    movd       edx, mm1
-    shl        dl,  2
-    shr        edx, 1
-    shl        dx,  3
-    shr        edx, 5
-    mov        %1,  dx
-%endmacro
-
-%macro Interp10 3
-    mov        ecx, _LUT16to32
-    movd       mm1, [ecx+eax*4]
-    mov        edx, %2
-    movd       mm2, [ecx+edx*4]
-    mov        edx, %3
-    movd       mm3, [ecx+edx*4]
-    punpcklbw  mm1, [reg_blank]
-    punpcklbw  mm2, [reg_blank]
-    punpcklbw  mm3, [reg_blank]
-    pmullw     mm1, [const14]
-    paddw      mm2, mm3
-    paddw      mm1, mm2
-    psrlw      mm1, 6
-    packuswb   mm1, [reg_blank]
-    movd       edx, mm1
-    shl        dl,  2
-    shr        edx, 1
-    shl        dx,  3
-    shr        edx, 5
-    mov        %1,  dx
-%endmacro
-
-%macro PIXEL00_0 0
-    mov [edi],ax
-%endmacro
-
-%macro PIXEL00_10 0
-    Interp1 [edi],eax,[w1]
-%endmacro
-
-%macro PIXEL00_11 0
-    Interp1 [edi],eax,[w4]
-%endmacro
-
-%macro PIXEL00_12 0
-    Interp1 [edi],eax,[w2]
-%endmacro
-
-%macro PIXEL00_20 0
-    Interp2 [edi],eax,[w4],[w2]
-%endmacro
-
-%macro PIXEL00_21 0
-    Interp2 [edi],eax,[w1],[w2]
-%endmacro
-
-%macro PIXEL00_22 0
-    Interp2 [edi],eax,[w1],[w4]
-%endmacro
-
-%macro PIXEL00_60 0
-    Interp6 [edi],[w2],[w4]
-%endmacro
-
-%macro PIXEL00_61 0
-    Interp6 [edi],[w4],[w2]
-%endmacro
-
-%macro PIXEL00_70 0
-    Interp7 [edi],[w4],[w2]
-%endmacro
-
-%macro PIXEL00_90 0
-    Interp9 [edi],[w4],[w2]
-%endmacro
-
-%macro PIXEL00_100 0
-    Interp10 [edi],[w4],[w2]
-%endmacro
-
-%macro PIXEL01_0 0
-    mov [edi+2],ax
-%endmacro
-
-%macro PIXEL01_10 0
-    Interp1 [edi+2],eax,[w3]
-%endmacro
-
-%macro PIXEL01_11 0
-    Interp1 [edi+2],eax,[w2]
-%endmacro
-
-%macro PIXEL01_12 0
-    Interp1 [edi+2],eax,[w6]
-%endmacro
-
-%macro PIXEL01_20 0
-    Interp2 [edi+2],eax,[w2],[w6]
-%endmacro
-
-%macro PIXEL01_21 0
-    Interp2 [edi+2],eax,[w3],[w6]
-%endmacro
-
-%macro PIXEL01_22 0
-    Interp2 [edi+2],eax,[w3],[w2]
-%endmacro
-
-%macro PIXEL01_60 0
-    Interp6 [edi+2],[w6],[w2]
-%endmacro
-
-%macro PIXEL01_61 0
-    Interp6 [edi+2],[w2],[w6]
-%endmacro
-
-%macro PIXEL01_70 0
-    Interp7 [edi+2],[w2],[w6]
-%endmacro
-
-%macro PIXEL01_90 0
-    Interp9 [edi+2],[w2],[w6]
-%endmacro
-
-%macro PIXEL01_100 0
-    Interp10 [edi+2],[w2],[w6]
-%endmacro
-
-%macro PIXEL10_0 0
-    mov [edi+ebx],ax
-%endmacro
-
-%macro PIXEL10_10 0
-    Interp1 [edi+ebx],eax,[w7]
-%endmacro
-
-%macro PIXEL10_11 0
-    Interp1 [edi+ebx],eax,[w8]
-%endmacro
-
-%macro PIXEL10_12 0
-    Interp1 [edi+ebx],eax,[w4]
-%endmacro
-
-%macro PIXEL10_20 0
-    Interp2 [edi+ebx],eax,[w8],[w4]
-%endmacro
-
-%macro PIXEL10_21 0
-    Interp2 [edi+ebx],eax,[w7],[w4]
-%endmacro
-
-%macro PIXEL10_22 0
-    Interp2 [edi+ebx],eax,[w7],[w8]
-%endmacro
-
-%macro PIXEL10_60 0
-    Interp6 [edi+ebx],[w4],[w8]
-%endmacro
-
-%macro PIXEL10_61 0
-    Interp6 [edi+ebx],[w8],[w4]
-%endmacro
-
-%macro PIXEL10_70 0
-    Interp7 [edi+ebx],[w8],[w4]
-%endmacro
-
-%macro PIXEL10_90 0
-    Interp9 [edi+ebx],[w8],[w4]
-%endmacro
-
-%macro PIXEL10_100 0
-    Interp10 [edi+ebx],[w8],[w4]
-%endmacro
-
-%macro PIXEL11_0 0
-    mov [edi+ebx+2],ax
-%endmacro
-
-%macro PIXEL11_10 0
-    Interp1 [edi+ebx+2],eax,[w9]
-%endmacro
-
-%macro PIXEL11_11 0
-    Interp1 [edi+ebx+2],eax,[w6]
-%endmacro
-
-%macro PIXEL11_12 0
-    Interp1 [edi+ebx+2],eax,[w8]
-%endmacro
-
-%macro PIXEL11_20 0
-    Interp2 [edi+ebx+2],eax,[w6],[w8]
-%endmacro
-
-%macro PIXEL11_21 0
-    Interp2 [edi+ebx+2],eax,[w9],[w8]
-%endmacro
-
-%macro PIXEL11_22 0
-    Interp2 [edi+ebx+2],eax,[w9],[w6]
-%endmacro
-
-%macro PIXEL11_60 0
-    Interp6 [edi+ebx+2],[w8],[w6]
-%endmacro
-
-%macro PIXEL11_61 0
-    Interp6 [edi+ebx+2],[w6],[w8]
-%endmacro
-
-%macro PIXEL11_70 0
-    Interp7 [edi+ebx+2],[w6],[w8]
-%endmacro
-
-%macro PIXEL11_90 0
-    Interp9 [edi+ebx+2],[w6],[w8]
-%endmacro
-
-%macro PIXEL11_100 0
-    Interp10 [edi+ebx+2],[w6],[w8]
-%endmacro
-
-inbuffer     equ 8
-outbuffer    equ 12
-Xres         equ 16
-Yres         equ 20
-pitch        equ 24
-
-_hq2x_16:
-    push ebp
-    mov ebp,esp
-    pushad
-
-    mov     esi,[ebp+inbuffer]
-    mov     edi,[ebp+outbuffer]
-    mov     edx,[ebp+Yres]
-    mov     [linesleft],edx
-    mov     ebx,[ebp+Xres]
-    shl     ebx,1
-    mov     dword[prevline],0
-    mov     dword[nextline],ebx
-.loopy
-    mov     ecx,[ebp+Xres]
-    sub     ecx,2                 ; x={Xres-2, Xres-1} are special cases.
-    mov     dword[xcounter],ecx
-    ; x=0 - special case
-    mov     ebx,[prevline]
-    movq    mm5,[esi+ebx]
-    movq    mm6,[esi]
-    mov     ebx,[nextline]
-    movq    mm7,[esi+ebx]
-    movd    eax,mm5
-    movzx   edx,ax  
-    mov     [w1],edx
-    mov     [w2],edx
-    shr     eax,16
-    mov     [w3],eax
-    movd    eax,mm6
-    movzx   edx,ax  
-    mov     [w4],edx
-    mov     [w5],edx
-    shr     eax,16
-    mov     [w6],eax
-    movd    eax,mm7
-    movzx   edx,ax  
-    mov     [w7],edx
-    mov     [w8],edx
-    shr     eax,16
-    mov     [w9],eax
-    jmp     .flags
-.loopx
-    mov     ebx,[prevline]
-    movq    mm5,[esi+ebx-2]
-    movq    mm6,[esi-2]
-    mov     ebx,[nextline]
-    movq    mm7,[esi+ebx-2]
-    movd    eax,mm5
-    movzx   edx,ax  
-    mov     [w1],edx
-    shr     eax,16
-    mov     [w2],eax
-    psrlq   mm5,32
-    movd    eax,mm5
-    movzx   edx,ax  
-    mov     [w3],edx
-    movd    eax,mm6
-    movzx   edx,ax  
-    mov     [w4],edx
-    shr     eax,16
-    mov     [w5],eax
-    psrlq   mm6,32
-    movd    eax,mm6
-    movzx   edx,ax  
-    mov     [w6],edx
-    movd    eax,mm7
-    movzx   edx,ax  
-    mov     [w7],edx
-    shr     eax,16
-    mov     [w8],eax
-    psrlq   mm7,32
-    movd    eax,mm7
-    movzx   edx,ax  
-    mov     [w9],edx
-.flags
-    mov     ebx,_RGBtoYUV
-    mov     eax,[w5]
-    xor     ecx,ecx
-    movd    mm5,[ebx+eax*4]
-    mov     dword[cross],0
-
-    mov     edx,[w2]
-    cmp     eax,edx
-    je      .noflag2
-    or      dword[cross],1
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag2
-    or      ecx,2
-.noflag2
-    mov     edx,[w4]
-    cmp     eax,edx
-    je      .noflag4
-    or      dword[cross],2
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag4
-    or      ecx,8
-.noflag4
-    mov     edx,[w6]
-    cmp     eax,edx
-    je      .noflag6
-    or      dword[cross],4
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag6
-    or      ecx,16
-.noflag6
-    mov     edx,[w8]
-    cmp     eax,edx
-    je      .noflag8
-    or      dword[cross],8
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag8
-    or      ecx,64
-.noflag8
-    test    ecx,ecx
-    jnz     .testflag1
-    mov     ecx,[cross]
-    mov     ebx,[ebp+pitch]
-    jmp     [FuncTable2+ecx*4]
-.testflag1
-    mov     edx,[w1]
-    cmp     eax,edx
-    je      .noflag1
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag1
-    or      ecx,1
-.noflag1
-    mov     edx,[w3]
-    cmp     eax,edx
-    je      .noflag3
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag3
-    or      ecx,4
-.noflag3
-    mov     edx,[w7]
-    cmp     eax,edx
-    je      .noflag7
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag7
-    or      ecx,32
-.noflag7
-    mov     edx,[w9]
-    cmp     eax,edx
-    je      .noflag9
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag9
-    or      ecx,128
-.noflag9
-    mov  ebx,[ebp+pitch]
-    jmp  [FuncTable+ecx*4]
-
-..@flag0
-..@flag1
-..@flag4
-..@flag32
-..@flag128
-..@flag5
-..@flag132
-..@flag160
-..@flag33
-..@flag129
-..@flag36
-..@flag133
-..@flag164
-..@flag161
-..@flag37
-..@flag165
-    PIXEL00_20
-    PIXEL01_20
-    PIXEL10_20
-    PIXEL11_20
-    jmp .loopx_end
-..@flag2
-..@flag34
-..@flag130
-..@flag162
-    PIXEL00_22
-    PIXEL01_21
-    PIXEL10_20
-    PIXEL11_20
-    jmp .loopx_end
-..@flag16
-..@flag17
-..@flag48
-..@flag49
-    PIXEL00_20
-    PIXEL01_22
-    PIXEL10_20
-    PIXEL11_21
-    jmp .loopx_end
-..@flag64
-..@flag65
-..@flag68
-..@flag69
-    PIXEL00_20
-    PIXEL01_20
-    PIXEL10_21
-    PIXEL11_22
-    jmp .loopx_end
-..@flag8
-..@flag12
-..@flag136
-..@flag140
-    PIXEL00_21
-    PIXEL01_20
-    PIXEL10_22
-    PIXEL11_20
-    jmp .loopx_end
-..@flag3
-..@flag35
-..@flag131
-..@flag163
-    PIXEL00_11
-    PIXEL01_21
-    PIXEL10_20
-    PIXEL11_20
-    jmp .loopx_end
-..@flag6
-..@flag38
-..@flag134
-..@flag166
-    PIXEL00_22
-    PIXEL01_12
-    PIXEL10_20
-    PIXEL11_20
-    jmp .loopx_end
-..@flag20
-..@flag21
-..@flag52
-..@flag53
-    PIXEL00_20
-    PIXEL01_11
-    PIXEL10_20
-    PIXEL11_21
-    jmp .loopx_end
-..@flag144
-..@flag145
-..@flag176
-..@flag177
-    PIXEL00_20
-    PIXEL01_22
-    PIXEL10_20
-    PIXEL11_12
-    jmp .loopx_end
-..@flag192
-..@flag193
-..@flag196
-..@flag197
-    PIXEL00_20
-    PIXEL01_20
-    PIXEL10_21
-    PIXEL11_11
-    jmp .loopx_end
-..@flag96
-..@flag97
-..@flag100
-..@flag101
-    PIXEL00_20
-    PIXEL01_20
-    PIXEL10_12
-    PIXEL11_22
-    jmp .loopx_end
-..@flag40
-..@flag44
-..@flag168
-..@flag172
-    PIXEL00_21
-    PIXEL01_20
-    PIXEL10_11
-    PIXEL11_20
-    jmp .loopx_end
-..@flag9
-..@flag13
-..@flag137
-..@flag141
-    PIXEL00_12
-    PIXEL01_20
-    PIXEL10_22
-    PIXEL11_20
-    jmp .loopx_end
-..@flag18
-..@flag50
-    PIXEL00_22
-    DiffOrNot w2,w6,PIXEL01_10,PIXEL01_20
-    PIXEL10_20
-    PIXEL11_21
-    jmp .loopx_end
-..@flag80
-..@flag81
-    PIXEL00_20
-    PIXEL01_22
-    PIXEL10_21
-    DiffOrNot w6,w8,PIXEL11_10,PIXEL11_20
-    jmp .loopx_end
-..@flag72
-..@flag76
-    PIXEL00_21
-    PIXEL01_20
-    DiffOrNot w8,w4,PIXEL10_10,PIXEL10_20
-    PIXEL11_22
-    jmp .loopx_end
-..@flag10
-..@flag138
-    DiffOrNot w4,w2,PIXEL00_10,PIXEL00_20
-    PIXEL01_21
-    PIXEL10_22
-    PIXEL11_20
-    jmp .loopx_end
-..@flag66
-    PIXEL00_22
-    PIXEL01_21
-    PIXEL10_21
-    PIXEL11_22
-    jmp .loopx_end
-..@flag24
-    PIXEL00_21
-    PIXEL01_22
-    PIXEL10_22
-    PIXEL11_21
-    jmp .loopx_end
-..@flag7
-..@flag39
-..@flag135
-    PIXEL00_11
-    PIXEL01_12
-    PIXEL10_20
-    PIXEL11_20
-    jmp .loopx_end
-..@flag148
-..@flag149
-..@flag180
-    PIXEL00_20
-    PIXEL01_11
-    PIXEL10_20
-    PIXEL11_12
-    jmp .loopx_end
-..@flag224
-..@flag228
-..@flag225
-    PIXEL00_20
-    PIXEL01_20
-    PIXEL10_12
-    PIXEL11_11
-    jmp .loopx_end
-..@flag41
-..@flag169
-..@flag45
-    PIXEL00_12
-    PIXEL01_20
-    PIXEL10_11
-    PIXEL11_20
-    jmp .loopx_end
-..@flag22
-..@flag54
-    PIXEL00_22
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
-    PIXEL10_20
-    PIXEL11_21
-    jmp .loopx_end
-..@flag208
-..@flag209
-    PIXEL00_20
-    PIXEL01_22
-    PIXEL10_21
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
-    jmp .loopx_end
-..@flag104
-..@flag108
-    PIXEL00_21
-    PIXEL01_20
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
-    PIXEL11_22
-    jmp .loopx_end
-..@flag11
-..@flag139
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    PIXEL01_21
-    PIXEL10_22
-    PIXEL11_20
-    jmp .loopx_end
-..@flag19
-..@flag51
-    DiffOrNot w2,w6,PIXEL00_11,PIXEL01_10,PIXEL00_60,PIXEL01_90
-    PIXEL10_20
-    PIXEL11_21
-    jmp .loopx_end
-..@flag146
-..@flag178
-    PIXEL00_22
-    DiffOrNot w2,w6,PIXEL01_10,PIXEL11_12,PIXEL01_90,PIXEL11_61
-    PIXEL10_20
-    jmp .loopx_end
-..@flag84
-..@flag85
-    PIXEL00_20
-    DiffOrNot w6,w8,PIXEL01_11,PIXEL11_10,PIXEL01_60,PIXEL11_90
-    PIXEL10_21
-    jmp .loopx_end
-..@flag112
-..@flag113
-    PIXEL00_20
-    PIXEL01_22
-    DiffOrNot w6,w8,PIXEL10_12,PIXEL11_10,PIXEL10_61,PIXEL11_90
-    jmp .loopx_end
-..@flag200
-..@flag204
-    PIXEL00_21
-    PIXEL01_20
-    DiffOrNot w8,w4,PIXEL10_10,PIXEL11_11,PIXEL10_90,PIXEL11_60
-    jmp .loopx_end
-..@flag73
-..@flag77
-    DiffOrNot w8,w4,PIXEL00_12,PIXEL10_10,PIXEL00_61,PIXEL10_90
-    PIXEL01_20
-    PIXEL11_22
-    jmp .loopx_end
-..@flag42
-..@flag170
-    DiffOrNot w4,w2,PIXEL00_10,PIXEL10_11,PIXEL00_90,PIXEL10_60
-    PIXEL01_21
-    PIXEL11_20
-    jmp .loopx_end
-..@flag14
-..@flag142
-    DiffOrNot w4,w2,PIXEL00_10,PIXEL01_12,PIXEL00_90,PIXEL01_61
-    PIXEL10_22
-    PIXEL11_20
-    jmp .loopx_end
-..@flag67
-    PIXEL00_11
-    PIXEL01_21
-    PIXEL10_21
-    PIXEL11_22
-    jmp .loopx_end
-..@flag70
-    PIXEL00_22
-    PIXEL01_12
-    PIXEL10_21
-    PIXEL11_22
-    jmp .loopx_end
-..@flag28
-    PIXEL00_21
-    PIXEL01_11
-    PIXEL10_22
-    PIXEL11_21
-    jmp .loopx_end
-..@flag152
-    PIXEL00_21
-    PIXEL01_22
-    PIXEL10_22
-    PIXEL11_12
-    jmp .loopx_end
-..@flag194
-    PIXEL00_22
-    PIXEL01_21
-    PIXEL10_21
-    PIXEL11_11
-    jmp .loopx_end
-..@flag98
-    PIXEL00_22
-    PIXEL01_21
-    PIXEL10_12
-    PIXEL11_22
-    jmp .loopx_end
-..@flag56
-    PIXEL00_21
-    PIXEL01_22
-    PIXEL10_11
-    PIXEL11_21
-    jmp .loopx_end
-..@flag25
-    PIXEL00_12
-    PIXEL01_22
-    PIXEL10_22
-    PIXEL11_21
-    jmp .loopx_end
-..@flag26
-..@flag31
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
-    PIXEL10_22
-    PIXEL11_21
-    jmp .loopx_end
-..@flag82
-..@flag214
-    PIXEL00_22
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
-    PIXEL10_21
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
-    jmp .loopx_end
-..@flag88
-..@flag248
-    PIXEL00_21
-    PIXEL01_22
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
-    jmp .loopx_end
-..@flag74
-..@flag107
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    PIXEL01_21
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
-    PIXEL11_22
-    jmp .loopx_end
-..@flag27
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    PIXEL01_10
-    PIXEL10_22
-    PIXEL11_21
-    jmp .loopx_end
-..@flag86
-    PIXEL00_22
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
-    PIXEL10_21
-    PIXEL11_10
-    jmp .loopx_end
-..@flag216
-    PIXEL00_21
-    PIXEL01_22
-    PIXEL10_10
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
-    jmp .loopx_end
-..@flag106
-    PIXEL00_10
-    PIXEL01_21
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
-    PIXEL11_22
-    jmp .loopx_end
-..@flag30
-    PIXEL00_10
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
-    PIXEL10_22
-    PIXEL11_21
-    jmp .loopx_end
-..@flag210
-    PIXEL00_22
-    PIXEL01_10
-    PIXEL10_21
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
-    jmp .loopx_end
-..@flag120
-    PIXEL00_21
-    PIXEL01_22
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
-    PIXEL11_10
-    jmp .loopx_end
-..@flag75
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    PIXEL01_21
-    PIXEL10_10
-    PIXEL11_22
-    jmp .loopx_end
-..@flag29
-    PIXEL00_12
-    PIXEL01_11
-    PIXEL10_22
-    PIXEL11_21
-    jmp .loopx_end
-..@flag198
-    PIXEL00_22
-    PIXEL01_12
-    PIXEL10_21
-    PIXEL11_11
-    jmp .loopx_end
-..@flag184
-    PIXEL00_21
-    PIXEL01_22
-    PIXEL10_11
-    PIXEL11_12
-    jmp .loopx_end
-..@flag99
-    PIXEL00_11
-    PIXEL01_21
-    PIXEL10_12
-    PIXEL11_22
-    jmp .loopx_end
-..@flag57
-    PIXEL00_12
-    PIXEL01_22
-    PIXEL10_11
-    PIXEL11_21
-    jmp .loopx_end
-..@flag71
-    PIXEL00_11
-    PIXEL01_12
-    PIXEL10_21
-    PIXEL11_22
-    jmp .loopx_end
-..@flag156
-    PIXEL00_21
-    PIXEL01_11
-    PIXEL10_22
-    PIXEL11_12
-    jmp .loopx_end
-..@flag226
-    PIXEL00_22
-    PIXEL01_21
-    PIXEL10_12
-    PIXEL11_11
-    jmp .loopx_end
-..@flag60
-    PIXEL00_21
-    PIXEL01_11
-    PIXEL10_11
-    PIXEL11_21
-    jmp .loopx_end
-..@flag195
-    PIXEL00_11
-    PIXEL01_21
-    PIXEL10_21
-    PIXEL11_11
-    jmp .loopx_end
-..@flag102
-    PIXEL00_22
-    PIXEL01_12
-    PIXEL10_12
-    PIXEL11_22
-    jmp .loopx_end
-..@flag153
-    PIXEL00_12
-    PIXEL01_22
-    PIXEL10_22
-    PIXEL11_12
-    jmp .loopx_end
-..@flag58
-    DiffOrNot w4,w2,PIXEL00_10,PIXEL00_70
-    DiffOrNot w2,w6,PIXEL01_10,PIXEL01_70
-    PIXEL10_11
-    PIXEL11_21
-    jmp .loopx_end
-..@flag83
-    PIXEL00_11
-    DiffOrNot w2,w6,PIXEL01_10,PIXEL01_70
-    PIXEL10_21
-    DiffOrNot w6,w8,PIXEL11_10,PIXEL11_70
-    jmp .loopx_end
-..@flag92
-    PIXEL00_21
-    PIXEL01_11
-    DiffOrNot w8,w4,PIXEL10_10,PIXEL10_70
-    DiffOrNot w6,w8,PIXEL11_10,PIXEL11_70
-    jmp .loopx_end
-..@flag202
-    DiffOrNot w4,w2,PIXEL00_10,PIXEL00_70
-    PIXEL01_21
-    DiffOrNot w8,w4,PIXEL10_10,PIXEL10_70
-    PIXEL11_11
-    jmp .loopx_end
-..@flag78
-    DiffOrNot w4,w2,PIXEL00_10,PIXEL00_70
-    PIXEL01_12
-    DiffOrNot w8,w4,PIXEL10_10,PIXEL10_70
-    PIXEL11_22
-    jmp .loopx_end
-..@flag154
-    DiffOrNot w4,w2,PIXEL00_10,PIXEL00_70
-    DiffOrNot w2,w6,PIXEL01_10,PIXEL01_70
-    PIXEL10_22
-    PIXEL11_12
-    jmp .loopx_end
-..@flag114
-    PIXEL00_22
-    DiffOrNot w2,w6,PIXEL01_10,PIXEL01_70
-    PIXEL10_12
-    DiffOrNot w6,w8,PIXEL11_10,PIXEL11_70
-    jmp .loopx_end
-..@flag89
-    PIXEL00_12
-    PIXEL01_22
-    DiffOrNot w8,w4,PIXEL10_10,PIXEL10_70
-    DiffOrNot w6,w8,PIXEL11_10,PIXEL11_70
-    jmp .loopx_end
-..@flag90
-    DiffOrNot w4,w2,PIXEL00_10,PIXEL00_70
-    DiffOrNot w2,w6,PIXEL01_10,PIXEL01_70
-    DiffOrNot w8,w4,PIXEL10_10,PIXEL10_70
-    DiffOrNot w6,w8,PIXEL11_10,PIXEL11_70
-    jmp .loopx_end
-..@flag55
-..@flag23
-    DiffOrNot w2,w6,PIXEL00_11,PIXEL01_0,PIXEL00_60,PIXEL01_90
-    PIXEL10_20
-    PIXEL11_21
-    jmp .loopx_end
-..@flag182
-..@flag150
-    PIXEL00_22
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL11_12,PIXEL01_90,PIXEL11_61
-    PIXEL10_20
-    jmp .loopx_end
-..@flag213
-..@flag212
-    PIXEL00_20
-    DiffOrNot w6,w8,PIXEL01_11,PIXEL11_0,PIXEL01_60,PIXEL11_90
-    PIXEL10_21
-    jmp .loopx_end
-..@flag241
-..@flag240
-    PIXEL00_20
-    PIXEL01_22
-    DiffOrNot w6,w8,PIXEL10_12,PIXEL11_0,PIXEL10_61,PIXEL11_90
-    jmp .loopx_end
-..@flag236
-..@flag232
-    PIXEL00_21
-    PIXEL01_20
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL11_11,PIXEL10_90,PIXEL11_60
-    jmp .loopx_end
-..@flag109
-..@flag105
-    DiffOrNot w8,w4,PIXEL00_12,PIXEL10_0,PIXEL00_61,PIXEL10_90
-    PIXEL01_20
-    PIXEL11_22
-    jmp .loopx_end
-..@flag171
-..@flag43
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL10_11,PIXEL00_90,PIXEL10_60
-    PIXEL01_21
-    PIXEL11_20
-    jmp .loopx_end
-..@flag143
-..@flag15
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_12,PIXEL00_90,PIXEL01_61
-    PIXEL10_22
-    PIXEL11_20
-    jmp .loopx_end
-..@flag124
-    PIXEL00_21
-    PIXEL01_11
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
-    PIXEL11_10
-    jmp .loopx_end
-..@flag203
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    PIXEL01_21
-    PIXEL10_10
-    PIXEL11_11
-    jmp .loopx_end
-..@flag62
-    PIXEL00_10
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
-    PIXEL10_11
-    PIXEL11_21
-    jmp .loopx_end
-..@flag211
-    PIXEL00_11
-    PIXEL01_10
-    PIXEL10_21
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
-    jmp .loopx_end
-..@flag118
-    PIXEL00_22
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
-    PIXEL10_12
-    PIXEL11_10
-    jmp .loopx_end
-..@flag217
-    PIXEL00_12
-    PIXEL01_22
-    PIXEL10_10
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
-    jmp .loopx_end
-..@flag110
-    PIXEL00_10
-    PIXEL01_12
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
-    PIXEL11_22
-    jmp .loopx_end
-..@flag155
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    PIXEL01_10
-    PIXEL10_22
-    PIXEL11_12
-    jmp .loopx_end
-..@flag188
-    PIXEL00_21
-    PIXEL01_11
-    PIXEL10_11
-    PIXEL11_12
-    jmp .loopx_end
-..@flag185
-    PIXEL00_12
-    PIXEL01_22
-    PIXEL10_11
-    PIXEL11_12
-    jmp .loopx_end
-..@flag61
-    PIXEL00_12
-    PIXEL01_11
-    PIXEL10_11
-    PIXEL11_21
-    jmp .loopx_end
-..@flag157
-    PIXEL00_12
-    PIXEL01_11
-    PIXEL10_22
-    PIXEL11_12
-    jmp .loopx_end
-..@flag103
-    PIXEL00_11
-    PIXEL01_12
-    PIXEL10_12
-    PIXEL11_22
-    jmp .loopx_end
-..@flag227
-    PIXEL00_11
-    PIXEL01_21
-    PIXEL10_12
-    PIXEL11_11
-    jmp .loopx_end
-..@flag230
-    PIXEL00_22
-    PIXEL01_12
-    PIXEL10_12
-    PIXEL11_11
-    jmp .loopx_end
-..@flag199
-    PIXEL00_11
-    PIXEL01_12
-    PIXEL10_21
-    PIXEL11_11
-    jmp .loopx_end
-..@flag220
-    PIXEL00_21
-    PIXEL01_11
-    DiffOrNot w8,w4,PIXEL10_10,PIXEL10_70
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
-    jmp .loopx_end
-..@flag158
-    DiffOrNot w4,w2,PIXEL00_10,PIXEL00_70
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
-    PIXEL10_22
-    PIXEL11_12
-    jmp .loopx_end
-..@flag234
-    DiffOrNot w4,w2,PIXEL00_10,PIXEL00_70
-    PIXEL01_21
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
-    PIXEL11_11
-    jmp .loopx_end
-..@flag242
-    PIXEL00_22
-    DiffOrNot w2,w6,PIXEL01_10,PIXEL01_70
-    PIXEL10_12
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
-    jmp .loopx_end
-..@flag59
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    DiffOrNot w2,w6,PIXEL01_10,PIXEL01_70
-    PIXEL10_11
-    PIXEL11_21
-    jmp .loopx_end
-..@flag121
-    PIXEL00_12
-    PIXEL01_22
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
-    DiffOrNot w6,w8,PIXEL11_10,PIXEL11_70
-    jmp .loopx_end
-..@flag87
-    PIXEL00_11
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
-    PIXEL10_21
-    DiffOrNot w6,w8,PIXEL11_10,PIXEL11_70
-    jmp .loopx_end
-..@flag79
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    PIXEL01_12
-    DiffOrNot w8,w4,PIXEL10_10,PIXEL10_70
-    PIXEL11_22
-    jmp .loopx_end
-..@flag122
-    DiffOrNot w4,w2,PIXEL00_10,PIXEL00_70
-    DiffOrNot w2,w6,PIXEL01_10,PIXEL01_70
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
-    DiffOrNot w6,w8,PIXEL11_10,PIXEL11_70
-    jmp .loopx_end
-..@flag94
-    DiffOrNot w4,w2,PIXEL00_10,PIXEL00_70
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
-    DiffOrNot w8,w4,PIXEL10_10,PIXEL10_70
-    DiffOrNot w6,w8,PIXEL11_10,PIXEL11_70
-    jmp .loopx_end
-..@flag218
-    DiffOrNot w4,w2,PIXEL00_10,PIXEL00_70
-    DiffOrNot w2,w6,PIXEL01_10,PIXEL01_70
-    DiffOrNot w8,w4,PIXEL10_10,PIXEL10_70
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
-    jmp .loopx_end
-..@flag91
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    DiffOrNot w2,w6,PIXEL01_10,PIXEL01_70
-    DiffOrNot w8,w4,PIXEL10_10,PIXEL10_70
-    DiffOrNot w6,w8,PIXEL11_10,PIXEL11_70
-    jmp .loopx_end
-..@flag229
-    PIXEL00_20
-    PIXEL01_20
-    PIXEL10_12
-    PIXEL11_11
-    jmp .loopx_end
-..@flag167
-    PIXEL00_11
-    PIXEL01_12
-    PIXEL10_20
-    PIXEL11_20
-    jmp .loopx_end
-..@flag173
-    PIXEL00_12
-    PIXEL01_20
-    PIXEL10_11
-    PIXEL11_20
-    jmp .loopx_end
-..@flag181
-    PIXEL00_20
-    PIXEL01_11
-    PIXEL10_20
-    PIXEL11_12
-    jmp .loopx_end
-..@flag186
-    DiffOrNot w4,w2,PIXEL00_10,PIXEL00_70
-    DiffOrNot w2,w6,PIXEL01_10,PIXEL01_70
-    PIXEL10_11
-    PIXEL11_12
-    jmp .loopx_end
-..@flag115
-    PIXEL00_11
-    DiffOrNot w2,w6,PIXEL01_10,PIXEL01_70
-    PIXEL10_12
-    DiffOrNot w6,w8,PIXEL11_10,PIXEL11_70
-    jmp .loopx_end
-..@flag93
-    PIXEL00_12
-    PIXEL01_11
-    DiffOrNot w8,w4,PIXEL10_10,PIXEL10_70
-    DiffOrNot w6,w8,PIXEL11_10,PIXEL11_70
-    jmp .loopx_end
-..@flag206
-    DiffOrNot w4,w2,PIXEL00_10,PIXEL00_70
-    PIXEL01_12
-    DiffOrNot w8,w4,PIXEL10_10,PIXEL10_70
-    PIXEL11_11
-    jmp .loopx_end
-..@flag205
-..@flag201
-    PIXEL00_12
-    PIXEL01_20
-    DiffOrNot w8,w4,PIXEL10_10,PIXEL10_70
-    PIXEL11_11
-    jmp .loopx_end
-..@flag174
-..@flag46
-    DiffOrNot w4,w2,PIXEL00_10,PIXEL00_70
-    PIXEL01_12
-    PIXEL10_11
-    PIXEL11_20
-    jmp .loopx_end
-..@flag179
-..@flag147
-    PIXEL00_11
-    DiffOrNot w2,w6,PIXEL01_10,PIXEL01_70
-    PIXEL10_20
-    PIXEL11_12
-    jmp .loopx_end
-..@flag117
-..@flag116
-    PIXEL00_20
-    PIXEL01_11
-    PIXEL10_12
-    DiffOrNot w6,w8,PIXEL11_10,PIXEL11_70
-    jmp .loopx_end
-..@flag189
-    PIXEL00_12
-    PIXEL01_11
-    PIXEL10_11
-    PIXEL11_12
-    jmp .loopx_end
-..@flag231
-    PIXEL00_11
-    PIXEL01_12
-    PIXEL10_12
-    PIXEL11_11
-    jmp .loopx_end
-..@flag126
-    PIXEL00_10
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
-    PIXEL11_10
-    jmp .loopx_end
-..@flag219
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    PIXEL01_10
-    PIXEL10_10
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
-    jmp .loopx_end
-..@flag125
-    DiffOrNot w8,w4,PIXEL00_12,PIXEL10_0,PIXEL00_61,PIXEL10_90
-    PIXEL01_11
-    PIXEL11_10
-    jmp .loopx_end
-..@flag221
-    PIXEL00_12
-    DiffOrNot w6,w8,PIXEL01_11,PIXEL11_0,PIXEL01_60,PIXEL11_90
-    PIXEL10_10
-    jmp .loopx_end
-..@flag207
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_12,PIXEL00_90,PIXEL01_61
-    PIXEL10_10
-    PIXEL11_11
-    jmp .loopx_end
-..@flag238
-    PIXEL00_10
-    PIXEL01_12
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL11_11,PIXEL10_90,PIXEL11_60
-    jmp .loopx_end
-..@flag190
-    PIXEL00_10
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL11_12,PIXEL01_90,PIXEL11_61
-    PIXEL10_11
-    jmp .loopx_end
-..@flag187
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL10_11,PIXEL00_90,PIXEL10_60
-    PIXEL01_10
-    PIXEL11_12
-    jmp .loopx_end
-..@flag243
-    PIXEL00_11
-    PIXEL01_10
-    DiffOrNot w6,w8,PIXEL10_12,PIXEL11_0,PIXEL10_61,PIXEL11_90
-    jmp .loopx_end
-..@flag119
-    DiffOrNot w2,w6,PIXEL00_11,PIXEL01_0,PIXEL00_60,PIXEL01_90
-    PIXEL10_12
-    PIXEL11_10
-    jmp .loopx_end
-..@flag237
-..@flag233
-    PIXEL00_12
-    PIXEL01_20
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_100
-    PIXEL11_11
-    jmp .loopx_end
-..@flag175
-..@flag47
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_100
-    PIXEL01_12
-    PIXEL10_11
-    PIXEL11_20
-    jmp .loopx_end
-..@flag183
-..@flag151
-    PIXEL00_11
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_100
-    PIXEL10_20
-    PIXEL11_12
-    jmp .loopx_end
-..@flag245
-..@flag244
-    PIXEL00_20
-    PIXEL01_11
-    PIXEL10_12
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_100
-    jmp .loopx_end
-..@flag250
-    PIXEL00_10
-    PIXEL01_10
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
-    jmp .loopx_end
-..@flag123
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    PIXEL01_10
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
-    PIXEL11_10
-    jmp .loopx_end
-..@flag95
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
-    PIXEL10_10
-    PIXEL11_10
-    jmp .loopx_end
-..@flag222
-    PIXEL00_10
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
-    PIXEL10_10
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
-    jmp .loopx_end
-..@flag252
-    PIXEL00_21
-    PIXEL01_11
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_100
-    jmp .loopx_end
-..@flag249
-    PIXEL00_12
-    PIXEL01_22
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_100
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
-    jmp .loopx_end
-..@flag235
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    PIXEL01_21
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_100
-    PIXEL11_11
-    jmp .loopx_end
-..@flag111
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_100
-    PIXEL01_12
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
-    PIXEL11_22
-    jmp .loopx_end
-..@flag63
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_100
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
-    PIXEL10_11
-    PIXEL11_21
-    jmp .loopx_end
-..@flag159
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_100
-    PIXEL10_22
-    PIXEL11_12
-    jmp .loopx_end
-..@flag215
-    PIXEL00_11
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_100
-    PIXEL10_21
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
-    jmp .loopx_end
-..@flag246
-    PIXEL00_22
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
-    PIXEL10_12
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_100
-    jmp .loopx_end
-..@flag254
-    PIXEL00_10
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_100
-    jmp .loopx_end
-..@flag253
-    PIXEL00_12
-    PIXEL01_11
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_100
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_100
-    jmp .loopx_end
-..@flag251
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    PIXEL01_10
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_100
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
-    jmp .loopx_end
-..@flag239
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_100
-    PIXEL01_12
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_100
-    PIXEL11_11
-    jmp .loopx_end
-..@flag127
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_100
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
-    PIXEL11_10
-    jmp .loopx_end
-..@flag191
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_100
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_100
-    PIXEL10_11
-    PIXEL11_12
-    jmp .loopx_end
-..@flag223
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_100
-    PIXEL10_10
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
-    jmp .loopx_end
-..@flag247
-    PIXEL00_11
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_100
-    PIXEL10_12
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_100
-    jmp .loopx_end
-..@flag255
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_100
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_100
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_100
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_100
-    jmp .loopx_end
-
-
-..@cross0
-    mov     edx,eax
-    shl     eax,16
-    or      eax,edx
-    mov     [edi],eax
-    mov     [edi+ebx],eax
-    jmp     .loopx_end
-..@cross1
-    mov     edx,eax
-    shl     eax,16
-    or      eax,edx
-    mov     ecx,[w2]
-    and     edx,[zerolowbits]
-    and     ecx,[zerolowbits]
-    add     ecx,edx
-    shr     ecx,1
-    add     ecx,0x0821
-    and     ecx,[zerolowbits]
-    add     edx,ecx
-    shr     edx,1
-    mov     ecx,edx
-    shl     edx,16
-    or      edx,ecx
-    mov     [edi],edx
-    mov     [edi+ebx],eax
-    jmp     .loopx_end
-..@cross2
-    shl     eax,16
-    mov     ecx,[w4]
-    and     edx,[zerolowbits]
-    and     ecx,[zerolowbits]
-    add     ecx,edx
-    shr     ecx,1
-    add     ecx,0x0821
-    and     ecx,[zerolowbits]
-    add     edx,ecx
-    shr     edx,1
-    or      eax,edx
-    mov     [edi],eax
-    mov     [edi+ebx],eax
-    jmp     .loopx_end
-..@cross4
-    mov     ecx,[w6]
-    and     edx,[zerolowbits]
-    and     ecx,[zerolowbits]
-    add     ecx,edx
-    shr     ecx,1
-    add     ecx,0x0821
-    and     ecx,[zerolowbits]
-    add     edx,ecx
-    shr     edx,1
-    shl     edx,16
-    or      eax,edx
-    mov     [edi],eax
-    mov     [edi+ebx],eax
-    jmp     .loopx_end
-..@cross8
-    mov     edx,eax
-    shl     eax,16
-    or      eax,edx
-    mov     ecx,[w8]
-    and     edx,[zerolowbits]
-    and     ecx,[zerolowbits]
-    add     ecx,edx
-    shr     ecx,1
-    add     ecx,0x0821
-    and     ecx,[zerolowbits]
-    add     edx,ecx
-    shr     edx,1
-    mov     ecx,edx
-    shl     edx,16
-    or      edx,ecx
-    mov     [edi],eax
-    mov     [edi+ebx],edx
-    jmp     .loopx_end
-
-.loopx_end
-    add     esi,2
-    add     edi,4
-    dec     dword[xcounter]
-    jle     .xres_2
-    jmp     .loopx
-.xres_2
-    ; x=Xres-2 - special case
-    jl      .xres_1
-    mov     ebx,[prevline]
-    movq    mm5,[esi+ebx-4]
-    movq    mm6,[esi-4]
-    mov     ebx,[nextline]
-    movq    mm7,[esi+ebx-4]
-    psrlq   mm5,16
-    psrlq   mm6,16
-    psrlq   mm7,16
-    movd    eax,mm5
-    movzx   edx,ax
-    mov     [w1],edx
-    shr     eax,16
-    mov     [w2],eax
-    psrlq   mm5,32
-    movd    eax,mm5
-    mov     [w3],eax
-    movd    eax,mm6
-    movzx   edx,ax
-    mov     [w4],edx
-    shr     eax,16
-    mov     [w5],eax
-    psrlq   mm6,32
-    movd    eax,mm6
-    mov     [w6],eax
-    movd    eax,mm7
-    movzx   edx,ax
-    mov     [w7],edx
-    shr     eax,16
-    mov     [w8],eax
-    psrlq   mm7,32
-    movd    eax,mm7
-    mov     [w9],eax
-    jmp     .flags
-.xres_1
-    cmp     dword[xcounter],-1
-    jl      .nexty
-    ; x=Xres-1 - special case
-    mov     ebx,[prevline]
-    movq    mm5,[esi+ebx-6]
-    movq    mm6,[esi-6]
-    mov     ebx,[nextline]
-    movq    mm7,[esi+ebx-6]
-    psrlq   mm5,32
-    psrlq   mm6,32
-    psrlq   mm7,32
-    movd    eax,mm5
-    movzx   edx,ax  
-    mov     [w1],edx
-    shr     eax,16
-    mov     [w2],eax
-    mov     [w3],eax
-    movd    eax,mm6
-    movzx   edx,ax  
-    mov     [w4],edx
-    shr     eax,16
-    mov     [w5],eax
-    mov     [w6],eax
-    movd    eax,mm7
-    movzx   edx,ax  
-    mov     [w7],edx
-    shr     eax,16
-    mov     [w8],eax
-    mov     [w9],eax
-    jmp     .flags
-.nexty
-    add     edi,ebx
-    dec     dword[linesleft]
-    jz      .fin
-    mov     ebx,[ebp+Xres]
-    shl     ebx,1
-    cmp     dword[linesleft],1
-    je      .lastline
-    mov     dword[nextline],ebx
-    neg     ebx
-    mov     dword[prevline],ebx
-    jmp     .loopy
-.lastline
-    mov     dword[nextline],0
-    neg     ebx
-    mov     dword[prevline],ebx
-    jmp     .loopy
-.fin
-    emms
-    popad
-    mov esp,ebp
-    pop ebp
-    ret
-
-SECTION .data
-FuncTable
-    dd ..@flag0, ..@flag1, ..@flag2, ..@flag3, ..@flag4, ..@flag5, ..@flag6, ..@flag7
-    dd ..@flag8, ..@flag9, ..@flag10, ..@flag11, ..@flag12, ..@flag13, ..@flag14, ..@flag15
-    dd ..@flag16, ..@flag17, ..@flag18, ..@flag19, ..@flag20, ..@flag21, ..@flag22, ..@flag23
-    dd ..@flag24, ..@flag25, ..@flag26, ..@flag27, ..@flag28, ..@flag29, ..@flag30, ..@flag31
-    dd ..@flag32, ..@flag33, ..@flag34, ..@flag35, ..@flag36, ..@flag37, ..@flag38, ..@flag39
-    dd ..@flag40, ..@flag41, ..@flag42, ..@flag43, ..@flag44, ..@flag45, ..@flag46, ..@flag47
-    dd ..@flag48, ..@flag49, ..@flag50, ..@flag51, ..@flag52, ..@flag53, ..@flag54, ..@flag55
-    dd ..@flag56, ..@flag57, ..@flag58, ..@flag59, ..@flag60, ..@flag61, ..@flag62, ..@flag63
-    dd ..@flag64, ..@flag65, ..@flag66, ..@flag67, ..@flag68, ..@flag69, ..@flag70, ..@flag71
-    dd ..@flag72, ..@flag73, ..@flag74, ..@flag75, ..@flag76, ..@flag77, ..@flag78, ..@flag79
-    dd ..@flag80, ..@flag81, ..@flag82, ..@flag83, ..@flag84, ..@flag85, ..@flag86, ..@flag87
-    dd ..@flag88, ..@flag89, ..@flag90, ..@flag91, ..@flag92, ..@flag93, ..@flag94, ..@flag95
-    dd ..@flag96, ..@flag97, ..@flag98, ..@flag99, ..@flag100, ..@flag101, ..@flag102, ..@flag103
-    dd ..@flag104, ..@flag105, ..@flag106, ..@flag107, ..@flag108, ..@flag109, ..@flag110, ..@flag111
-    dd ..@flag112, ..@flag113, ..@flag114, ..@flag115, ..@flag116, ..@flag117, ..@flag118, ..@flag119
-    dd ..@flag120, ..@flag121, ..@flag122, ..@flag123, ..@flag124, ..@flag125, ..@flag126, ..@flag127
-    dd ..@flag128, ..@flag129, ..@flag130, ..@flag131, ..@flag132, ..@flag133, ..@flag134, ..@flag135
-    dd ..@flag136, ..@flag137, ..@flag138, ..@flag139, ..@flag140, ..@flag141, ..@flag142, ..@flag143
-    dd ..@flag144, ..@flag145, ..@flag146, ..@flag147, ..@flag148, ..@flag149, ..@flag150, ..@flag151
-    dd ..@flag152, ..@flag153, ..@flag154, ..@flag155, ..@flag156, ..@flag157, ..@flag158, ..@flag159
-    dd ..@flag160, ..@flag161, ..@flag162, ..@flag163, ..@flag164, ..@flag165, ..@flag166, ..@flag167
-    dd ..@flag168, ..@flag169, ..@flag170, ..@flag171, ..@flag172, ..@flag173, ..@flag174, ..@flag175
-    dd ..@flag176, ..@flag177, ..@flag178, ..@flag179, ..@flag180, ..@flag181, ..@flag182, ..@flag183
-    dd ..@flag184, ..@flag185, ..@flag186, ..@flag187, ..@flag188, ..@flag189, ..@flag190, ..@flag191
-    dd ..@flag192, ..@flag193, ..@flag194, ..@flag195, ..@flag196, ..@flag197, ..@flag198, ..@flag199
-    dd ..@flag200, ..@flag201, ..@flag202, ..@flag203, ..@flag204, ..@flag205, ..@flag206, ..@flag207
-    dd ..@flag208, ..@flag209, ..@flag210, ..@flag211, ..@flag212, ..@flag213, ..@flag214, ..@flag215
-    dd ..@flag216, ..@flag217, ..@flag218, ..@flag219, ..@flag220, ..@flag221, ..@flag222, ..@flag223
-    dd ..@flag224, ..@flag225, ..@flag226, ..@flag227, ..@flag228, ..@flag229, ..@flag230, ..@flag231
-    dd ..@flag232, ..@flag233, ..@flag234, ..@flag235, ..@flag236, ..@flag237, ..@flag238, ..@flag239
-    dd ..@flag240, ..@flag241, ..@flag242, ..@flag243, ..@flag244, ..@flag245, ..@flag246, ..@flag247
-    dd ..@flag248, ..@flag249, ..@flag250, ..@flag251, ..@flag252, ..@flag253, ..@flag254, ..@flag255
-
-FuncTable2
-    dd ..@cross0, ..@cross1, ..@cross2, ..@flag0,
-    dd ..@cross4, ..@flag0,  ..@flag0,  ..@flag0,
-    dd ..@cross8, ..@flag0,  ..@flag0,  ..@flag0,
-    dd ..@flag0,  ..@flag0,  ..@flag0,  ..@flag0
-
diff --git a/od-win32/hq2x32.asm b/od-win32/hq2x32.asm
deleted file mode 100644 (file)
index ad0acc6..0000000
+++ /dev/null
@@ -1,1930 +0,0 @@
-;hq2x filter
-;32bpp output
-;----------------------------------------------------------
-;Copyright (C) 2003 MaxSt ( maxst@hiend3d.com )
-;
-;This program is free software; you can redistribute it and/or
-;modify it under the terms of the GNU General Public License
-;as published by the Free Software Foundation; either
-;version 2 of the License, or (at your option) any later
-;version.
-;
-;This program is distributed in the hope that it will be useful,
-;but WITHOUT ANY WARRANTY; without even the implied warranty of
-;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;GNU General Public License for more details.
-;
-;You should have received a copy of the GNU General Public License
-;along with this program; if not, write to the Free Software
-;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-GLOBAL _hq2x_32
-
-EXTERN _LUT16to32
-EXTERN _RGBtoYUV
-
-SECTION .bss
-linesleft resd 1
-xcounter  resd 1
-cross     resd 1
-nextline  resd 1
-prevline  resd 1
-w1        resd 1
-w2        resd 1
-w3        resd 1
-w4        resd 1
-w5        resd 1
-w6        resd 1
-w7        resd 1
-w8        resd 1
-w9        resd 1
-c1        resd 1
-c2        resd 1
-c3        resd 1
-c4        resd 1
-c5        resd 1
-c6        resd 1
-c7        resd 1
-c8        resd 1
-c9        resd 1
-
-SECTION .data
-
-reg_blank    dd  0,0
-const3       dd  0x00030003,0x00000003
-const5       dd  0x00050005,0x00000005
-const6       dd  0x00060006,0x00000006
-const14      dd  0x000E000E,0x0000000E
-threshold    dd  0x00300706,0x00000000
-
-SECTION .text
-
-%macro TestDiff 2
-    xor     ecx,ecx
-    mov     edx,[%1]
-    cmp     edx,[%2]
-    je      %%fin
-    mov     ecx,_RGBtoYUV
-    movd    mm1,[ecx+edx*4]
-    movq    mm5,mm1
-    mov     edx,[%2]
-    movd    mm2,[ecx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    ecx,mm1
-%%fin:
-%endmacro
-
-%macro DiffOrNot 4
-   TestDiff %1,%2
-   test ecx,ecx
-   jz   %%same
-   %3
-   jmp %%fin
-%%same:
-   %4
-%%fin
-%endmacro
-
-%macro DiffOrNot 6
-   TestDiff %1,%2
-   test ecx,ecx
-   jz   %%same
-   %3
-   %4
-   jmp %%fin
-%%same:
-   %5
-   %6
-%%fin
-%endmacro
-
-%macro DiffOrNot 8
-   TestDiff %1,%2
-   test ecx,ecx
-   jz   %%same
-   %3
-   %4
-   %5
-   jmp %%fin
-%%same:
-   %6
-   %7
-   %8
-%%fin
-%endmacro
-
-%macro DiffOrNot 10
-   TestDiff %1,%2
-   test ecx,ecx
-   jz %%same
-   %3
-   %4
-   %5
-   %6
-   jmp %%fin
-%%same:
-   %7
-   %8
-   %9
-   %10
-%%fin
-%endmacro
-
-%macro Interp1 3
-    mov edx,%2
-    shl edx,2
-    add edx,%3
-    sub edx,%2
-    shr edx,2
-    mov %1,edx
-%endmacro
-
-%macro Interp2 4
-    mov edx,%2
-    shl edx,1
-    add edx,%3
-    add edx,%4
-    shr edx,2
-    mov %1,edx
-%endmacro
-
-%macro Interp5 3
-    mov edx,%2
-    add edx,%3
-    shr edx,1
-    mov %1,edx
-%endmacro
-
-%macro Interp6 3
-    movd       mm1, eax
-    movd       mm2, %2
-    movd       mm3, %3
-    punpcklbw  mm1, [reg_blank]
-    punpcklbw  mm2, [reg_blank]
-    punpcklbw  mm3, [reg_blank]
-    pmullw     mm1, [const5]
-    psllw      mm2, 1
-    paddw      mm1, mm3
-    paddw      mm1, mm2
-    psrlw      mm1, 3
-    packuswb   mm1, [reg_blank]
-    movd       %1, mm1
-%endmacro
-
-%macro Interp7 3
-    movd       mm1, eax
-    movd       mm2, %2
-    movd       mm3, %3
-    punpcklbw  mm1, [reg_blank]
-    punpcklbw  mm2, [reg_blank]
-    punpcklbw  mm3, [reg_blank]
-    pmullw     mm1, [const6]
-    paddw      mm2, mm3
-    paddw      mm1, mm2
-    psrlw      mm1, 3
-    packuswb   mm1, [reg_blank]
-    movd       %1, mm1
-%endmacro
-
-%macro Interp9 3
-    movd       mm1, eax
-    movd       mm2, %2
-    movd       mm3, %3
-    punpcklbw  mm1, [reg_blank]
-    punpcklbw  mm2, [reg_blank]
-    punpcklbw  mm3, [reg_blank]
-    psllw      mm1, 1
-    paddw      mm2, mm3
-    pmullw     mm2, [const3]
-    paddw      mm1, mm2
-    psrlw      mm1, 3
-    packuswb   mm1, [reg_blank]
-    movd       %1, mm1
-%endmacro
-
-%macro Interp10 3
-    movd       mm1, eax
-    movd       mm2, %2
-    movd       mm3, %3
-    punpcklbw  mm1, [reg_blank]
-    punpcklbw  mm2, [reg_blank]
-    punpcklbw  mm3, [reg_blank]
-    pmullw     mm1, [const14]
-    paddw      mm2, mm3
-    paddw      mm1, mm2
-    psrlw      mm1, 4
-    packuswb   mm1, [reg_blank]
-    movd       %1, mm1
-%endmacro
-
-%macro PIXEL00_0 0
-    mov [edi],eax
-%endmacro
-
-%macro PIXEL00_10 0
-    Interp1 [edi],eax,[c1]
-%endmacro
-
-%macro PIXEL00_11 0
-    Interp1 [edi],eax,[c4]
-%endmacro
-
-%macro PIXEL00_12 0
-    Interp1 [edi],eax,[c2]
-%endmacro
-
-%macro PIXEL00_20 0
-    Interp2 [edi],eax,[c4],[c2]
-%endmacro
-
-%macro PIXEL00_21 0
-    Interp2 [edi],eax,[c1],[c2]
-%endmacro
-
-%macro PIXEL00_22 0
-    Interp2 [edi],eax,[c1],[c4]
-%endmacro
-
-%macro PIXEL00_60 0
-    Interp6 [edi],[c2],[c4]
-%endmacro
-
-%macro PIXEL00_61 0
-    Interp6 [edi],[c4],[c2]
-%endmacro
-
-%macro PIXEL00_70 0
-    Interp7 [edi],[c4],[c2]
-%endmacro
-
-%macro PIXEL00_90 0
-    Interp9 [edi],[c4],[c2]
-%endmacro
-
-%macro PIXEL00_100 0
-    Interp10 [edi],[c4],[c2]
-%endmacro
-
-%macro PIXEL01_0 0
-    mov [edi+4],eax
-%endmacro
-
-%macro PIXEL01_10 0
-    Interp1 [edi+4],eax,[c3]
-%endmacro
-
-%macro PIXEL01_11 0
-    Interp1 [edi+4],eax,[c2]
-%endmacro
-
-%macro PIXEL01_12 0
-    Interp1 [edi+4],eax,[c6]
-%endmacro
-
-%macro PIXEL01_20 0
-    Interp2 [edi+4],eax,[c2],[c6]
-%endmacro
-
-%macro PIXEL01_21 0
-    Interp2 [edi+4],eax,[c3],[c6]
-%endmacro
-
-%macro PIXEL01_22 0
-    Interp2 [edi+4],eax,[c3],[c2]
-%endmacro
-
-%macro PIXEL01_60 0
-    Interp6 [edi+4],[c6],[c2]
-%endmacro
-
-%macro PIXEL01_61 0
-    Interp6 [edi+4],[c2],[c6]
-%endmacro
-
-%macro PIXEL01_70 0
-    Interp7 [edi+4],[c2],[c6]
-%endmacro
-
-%macro PIXEL01_90 0
-    Interp9 [edi+4],[c2],[c6]
-%endmacro
-
-%macro PIXEL01_100 0
-    Interp10 [edi+4],[c2],[c6]
-%endmacro
-
-%macro PIXEL10_0 0
-    mov [edi+ebx],eax
-%endmacro
-
-%macro PIXEL10_10 0
-    Interp1 [edi+ebx],eax,[c7]
-%endmacro
-
-%macro PIXEL10_11 0
-    Interp1 [edi+ebx],eax,[c8]
-%endmacro
-
-%macro PIXEL10_12 0
-    Interp1 [edi+ebx],eax,[c4]
-%endmacro
-
-%macro PIXEL10_20 0
-    Interp2 [edi+ebx],eax,[c8],[c4]
-%endmacro
-
-%macro PIXEL10_21 0
-    Interp2 [edi+ebx],eax,[c7],[c4]
-%endmacro
-
-%macro PIXEL10_22 0
-    Interp2 [edi+ebx],eax,[c7],[c8]
-%endmacro
-
-%macro PIXEL10_60 0
-    Interp6 [edi+ebx],[c4],[c8]
-%endmacro
-
-%macro PIXEL10_61 0
-    Interp6 [edi+ebx],[c8],[c4]
-%endmacro
-
-%macro PIXEL10_70 0
-    Interp7 [edi+ebx],[c8],[c4]
-%endmacro
-
-%macro PIXEL10_90 0
-    Interp9 [edi+ebx],[c8],[c4]
-%endmacro
-
-%macro PIXEL10_100 0
-    Interp10 [edi+ebx],[c8],[c4]
-%endmacro
-
-%macro PIXEL11_0 0
-    mov [edi+ebx+4],eax
-%endmacro
-
-%macro PIXEL11_10 0
-    Interp1 [edi+ebx+4],eax,[c9]
-%endmacro
-
-%macro PIXEL11_11 0
-    Interp1 [edi+ebx+4],eax,[c6]
-%endmacro
-
-%macro PIXEL11_12 0
-    Interp1 [edi+ebx+4],eax,[c8]
-%endmacro
-
-%macro PIXEL11_20 0
-    Interp2 [edi+ebx+4],eax,[c6],[c8]
-%endmacro
-
-%macro PIXEL11_21 0
-    Interp2 [edi+ebx+4],eax,[c9],[c8]
-%endmacro
-
-%macro PIXEL11_22 0
-    Interp2 [edi+ebx+4],eax,[c9],[c6]
-%endmacro
-
-%macro PIXEL11_60 0
-    Interp6 [edi+ebx+4],[c8],[c6]
-%endmacro
-
-%macro PIXEL11_61 0
-    Interp6 [edi+ebx+4],[c6],[c8]
-%endmacro
-
-%macro PIXEL11_70 0
-    Interp7 [edi+ebx+4],[c6],[c8]
-%endmacro
-
-%macro PIXEL11_90 0
-    Interp9 [edi+ebx+4],[c6],[c8]
-%endmacro
-
-%macro PIXEL11_100 0
-    Interp10 [edi+ebx+4],[c6],[c8]
-%endmacro
-
-inbuffer     equ 8
-outbuffer    equ 12
-Xres         equ 16
-Yres         equ 20
-pitch        equ 24
-
-_hq2x_32:
-    push ebp
-    mov ebp,esp
-    pushad
-
-    mov     esi,[ebp+inbuffer]
-    mov     edi,[ebp+outbuffer]
-    mov     edx,[ebp+Yres]
-    mov     [linesleft],edx
-    mov     ebx,[ebp+Xres]
-    shl     ebx,1
-    mov     dword[prevline],0
-    mov     dword[nextline],ebx
-.loopy
-    mov     ecx,[ebp+Xres]
-    sub     ecx,2                 ; x={Xres-2, Xres-1} are special cases.
-    mov     dword[xcounter],ecx
-    ; x=0 - special case
-    mov     ebx,[prevline]
-    movq    mm5,[esi+ebx]
-    movq    mm6,[esi]
-    mov     ebx,[nextline]
-    movq    mm7,[esi+ebx]
-    movd    eax,mm5
-    movzx   edx,ax  
-    mov     [w1],edx
-    mov     [w2],edx
-    shr     eax,16
-    mov     [w3],eax
-    movd    eax,mm6
-    movzx   edx,ax  
-    mov     [w4],edx
-    mov     [w5],edx
-    shr     eax,16
-    mov     [w6],eax
-    movd    eax,mm7
-    movzx   edx,ax  
-    mov     [w7],edx
-    mov     [w8],edx
-    shr     eax,16
-    mov     [w9],eax
-    jmp     .flags
-.loopx
-    mov     ebx,[prevline]
-    movq    mm5,[esi+ebx-2]
-    movq    mm6,[esi-2]
-    mov     ebx,[nextline]
-    movq    mm7,[esi+ebx-2]
-    movd    eax,mm5
-    movzx   edx,ax  
-    mov     [w1],edx
-    shr     eax,16
-    mov     [w2],eax
-    psrlq   mm5,32
-    movd    eax,mm5
-    movzx   edx,ax  
-    mov     [w3],edx
-    movd    eax,mm6
-    movzx   edx,ax  
-    mov     [w4],edx
-    shr     eax,16
-    mov     [w5],eax
-    psrlq   mm6,32
-    movd    eax,mm6
-    movzx   edx,ax  
-    mov     [w6],edx
-    movd    eax,mm7
-    movzx   edx,ax  
-    mov     [w7],edx
-    shr     eax,16
-    mov     [w8],eax
-    psrlq   mm7,32
-    movd    eax,mm7
-    movzx   edx,ax  
-    mov     [w9],edx
-.flags
-    mov     ebx,_RGBtoYUV
-    mov     eax,[w5]
-    xor     ecx,ecx
-    movd    mm5,[ebx+eax*4]
-    mov     dword[cross],0
-
-    mov     edx,[w2]
-    cmp     eax,edx
-    je      .noflag2
-    or      dword[cross],1
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag2
-    or      ecx,2
-.noflag2
-    mov     edx,[w4]
-    cmp     eax,edx
-    je      .noflag4
-    or      dword[cross],2
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag4
-    or      ecx,8
-.noflag4
-    mov     edx,[w6]
-    cmp     eax,edx
-    je      .noflag6
-    or      dword[cross],4
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag6
-    or      ecx,16
-.noflag6
-    mov     edx,[w8]
-    cmp     eax,edx
-    je      .noflag8
-    or      dword[cross],8
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag8
-    or      ecx,64
-.noflag8
-    test    ecx,ecx
-    jnz     .testflag1
-    mov     ecx,[cross]
-    mov     ebx,_LUT16to32
-    mov     eax,[ebx+eax*4]
-    jmp     [FuncTable2+ecx*4]
-.testflag1
-    mov     edx,[w1]
-    cmp     eax,edx
-    je      .noflag1
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag1
-    or      ecx,1
-.noflag1
-    mov     edx,[w3]
-    cmp     eax,edx
-    je      .noflag3
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag3
-    or      ecx,4
-.noflag3
-    mov     edx,[w7]
-    cmp     eax,edx
-    je      .noflag7
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag7
-    or      ecx,32
-.noflag7
-    mov     edx,[w9]
-    cmp     eax,edx
-    je      .noflag9
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag9
-    or      ecx,128
-.noflag9
-    mov  ebx,_LUT16to32
-    mov  eax,[ebx+eax*4]
-    mov  edx,[w2]
-    mov  edx,[ebx+edx*4]
-    mov  [c2],edx
-    mov  edx,[w4]
-    mov  edx,[ebx+edx*4]
-    mov  [c4],edx
-    mov  edx,[w6]
-    mov  edx,[ebx+edx*4]
-    mov  [c6],edx
-    mov  edx,[w8]
-    mov  edx,[ebx+edx*4]
-    mov  [c8],edx
-    test ecx,0x005A
-    jz  .switch
-    mov  edx,[w1]
-    mov  edx,[ebx+edx*4]
-    mov  [c1],edx
-    mov  edx,[w3]
-    mov  edx,[ebx+edx*4]
-    mov  [c3],edx
-    mov  edx,[w7]
-    mov  edx,[ebx+edx*4]
-    mov  [c7],edx
-    mov  edx,[w9]
-    mov  edx,[ebx+edx*4]
-    mov  [c9],edx
-.switch
-    mov  ebx,[ebp+pitch]
-    jmp  [FuncTable+ecx*4]
-
-..@flag0
-..@flag1
-..@flag4
-..@flag32
-..@flag128
-..@flag5
-..@flag132
-..@flag160
-..@flag33
-..@flag129
-..@flag36
-..@flag133
-..@flag164
-..@flag161
-..@flag37
-..@flag165
-;    PIXEL00_20
-;    PIXEL01_20
-;    PIXEL10_20
-;    PIXEL11_20
-
-;   the same, only optimized
-    shl eax,1
-    mov ecx,eax
-    add ecx,[c2]
-    mov edx,ecx
-    add edx,[c4]
-    shr edx,2
-    mov [edi],edx
-    add ecx,[c6]
-    shr ecx,2
-    mov [edi+4],ecx
-    mov ecx,eax
-    add ecx,[c8]
-    mov edx,ecx
-    add edx,[c4]
-    shr edx,2
-    mov [edi+ebx],edx
-    add ecx,[c6]
-    shr ecx,2
-    mov [edi+ebx+4],ecx
-    jmp .loopx_end
-..@flag2
-..@flag34
-..@flag130
-..@flag162
-    PIXEL00_22
-    PIXEL01_21
-    PIXEL10_20
-    PIXEL11_20
-    jmp .loopx_end
-..@flag16
-..@flag17
-..@flag48
-..@flag49
-    PIXEL00_20
-    PIXEL01_22
-    PIXEL10_20
-    PIXEL11_21
-    jmp .loopx_end
-..@flag64
-..@flag65
-..@flag68
-..@flag69
-    PIXEL00_20
-    PIXEL01_20
-    PIXEL10_21
-    PIXEL11_22
-    jmp .loopx_end
-..@flag8
-..@flag12
-..@flag136
-..@flag140
-    PIXEL00_21
-    PIXEL01_20
-    PIXEL10_22
-    PIXEL11_20
-    jmp .loopx_end
-..@flag3
-..@flag35
-..@flag131
-..@flag163
-    PIXEL00_11
-    PIXEL01_21
-    PIXEL10_20
-    PIXEL11_20
-    jmp .loopx_end
-..@flag6
-..@flag38
-..@flag134
-..@flag166
-    PIXEL00_22
-    PIXEL01_12
-    PIXEL10_20
-    PIXEL11_20
-    jmp .loopx_end
-..@flag20
-..@flag21
-..@flag52
-..@flag53
-    PIXEL00_20
-    PIXEL01_11
-    PIXEL10_20
-    PIXEL11_21
-    jmp .loopx_end
-..@flag144
-..@flag145
-..@flag176
-..@flag177
-    PIXEL00_20
-    PIXEL01_22
-    PIXEL10_20
-    PIXEL11_12
-    jmp .loopx_end
-..@flag192
-..@flag193
-..@flag196
-..@flag197
-    PIXEL00_20
-    PIXEL01_20
-    PIXEL10_21
-    PIXEL11_11
-    jmp .loopx_end
-..@flag96
-..@flag97
-..@flag100
-..@flag101
-    PIXEL00_20
-    PIXEL01_20
-    PIXEL10_12
-    PIXEL11_22
-    jmp .loopx_end
-..@flag40
-..@flag44
-..@flag168
-..@flag172
-    PIXEL00_21
-    PIXEL01_20
-    PIXEL10_11
-    PIXEL11_20
-    jmp .loopx_end
-..@flag9
-..@flag13
-..@flag137
-..@flag141
-    PIXEL00_12
-    PIXEL01_20
-    PIXEL10_22
-    PIXEL11_20
-    jmp .loopx_end
-..@flag18
-..@flag50
-    PIXEL00_22
-    DiffOrNot w2,w6,PIXEL01_10,PIXEL01_20
-    PIXEL10_20
-    PIXEL11_21
-    jmp .loopx_end
-..@flag80
-..@flag81
-    PIXEL00_20
-    PIXEL01_22
-    PIXEL10_21
-    DiffOrNot w6,w8,PIXEL11_10,PIXEL11_20
-    jmp .loopx_end
-..@flag72
-..@flag76
-    PIXEL00_21
-    PIXEL01_20
-    DiffOrNot w8,w4,PIXEL10_10,PIXEL10_20
-    PIXEL11_22
-    jmp .loopx_end
-..@flag10
-..@flag138
-    DiffOrNot w4,w2,PIXEL00_10,PIXEL00_20
-    PIXEL01_21
-    PIXEL10_22
-    PIXEL11_20
-    jmp .loopx_end
-..@flag66
-    PIXEL00_22
-    PIXEL01_21
-    PIXEL10_21
-    PIXEL11_22
-    jmp .loopx_end
-..@flag24
-    PIXEL00_21
-    PIXEL01_22
-    PIXEL10_22
-    PIXEL11_21
-    jmp .loopx_end
-..@flag7
-..@flag39
-..@flag135
-    PIXEL00_11
-    PIXEL01_12
-    PIXEL10_20
-    PIXEL11_20
-    jmp .loopx_end
-..@flag148
-..@flag149
-..@flag180
-    PIXEL00_20
-    PIXEL01_11
-    PIXEL10_20
-    PIXEL11_12
-    jmp .loopx_end
-..@flag224
-..@flag228
-..@flag225
-    PIXEL00_20
-    PIXEL01_20
-    PIXEL10_12
-    PIXEL11_11
-    jmp .loopx_end
-..@flag41
-..@flag169
-..@flag45
-    PIXEL00_12
-    PIXEL01_20
-    PIXEL10_11
-    PIXEL11_20
-    jmp .loopx_end
-..@flag22
-..@flag54
-    PIXEL00_22
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
-    PIXEL10_20
-    PIXEL11_21
-    jmp .loopx_end
-..@flag208
-..@flag209
-    PIXEL00_20
-    PIXEL01_22
-    PIXEL10_21
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
-    jmp .loopx_end
-..@flag104
-..@flag108
-    PIXEL00_21
-    PIXEL01_20
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
-    PIXEL11_22
-    jmp .loopx_end
-..@flag11
-..@flag139
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    PIXEL01_21
-    PIXEL10_22
-    PIXEL11_20
-    jmp .loopx_end
-..@flag19
-..@flag51
-    DiffOrNot w2,w6,PIXEL00_11,PIXEL01_10,PIXEL00_60,PIXEL01_90
-    PIXEL10_20
-    PIXEL11_21
-    jmp .loopx_end
-..@flag146
-..@flag178
-    PIXEL00_22
-    DiffOrNot w2,w6,PIXEL01_10,PIXEL11_12,PIXEL01_90,PIXEL11_61
-    PIXEL10_20
-    jmp .loopx_end
-..@flag84
-..@flag85
-    PIXEL00_20
-    DiffOrNot w6,w8,PIXEL01_11,PIXEL11_10,PIXEL01_60,PIXEL11_90
-    PIXEL10_21
-    jmp .loopx_end
-..@flag112
-..@flag113
-    PIXEL00_20
-    PIXEL01_22
-    DiffOrNot w6,w8,PIXEL10_12,PIXEL11_10,PIXEL10_61,PIXEL11_90
-    jmp .loopx_end
-..@flag200
-..@flag204
-    PIXEL00_21
-    PIXEL01_20
-    DiffOrNot w8,w4,PIXEL10_10,PIXEL11_11,PIXEL10_90,PIXEL11_60
-    jmp .loopx_end
-..@flag73
-..@flag77
-    DiffOrNot w8,w4,PIXEL00_12,PIXEL10_10,PIXEL00_61,PIXEL10_90
-    PIXEL01_20
-    PIXEL11_22
-    jmp .loopx_end
-..@flag42
-..@flag170
-    DiffOrNot w4,w2,PIXEL00_10,PIXEL10_11,PIXEL00_90,PIXEL10_60
-    PIXEL01_21
-    PIXEL11_20
-    jmp .loopx_end
-..@flag14
-..@flag142
-    DiffOrNot w4,w2,PIXEL00_10,PIXEL01_12,PIXEL00_90,PIXEL01_61
-    PIXEL10_22
-    PIXEL11_20
-    jmp .loopx_end
-..@flag67
-    PIXEL00_11
-    PIXEL01_21
-    PIXEL10_21
-    PIXEL11_22
-    jmp .loopx_end
-..@flag70
-    PIXEL00_22
-    PIXEL01_12
-    PIXEL10_21
-    PIXEL11_22
-    jmp .loopx_end
-..@flag28
-    PIXEL00_21
-    PIXEL01_11
-    PIXEL10_22
-    PIXEL11_21
-    jmp .loopx_end
-..@flag152
-    PIXEL00_21
-    PIXEL01_22
-    PIXEL10_22
-    PIXEL11_12
-    jmp .loopx_end
-..@flag194
-    PIXEL00_22
-    PIXEL01_21
-    PIXEL10_21
-    PIXEL11_11
-    jmp .loopx_end
-..@flag98
-    PIXEL00_22
-    PIXEL01_21
-    PIXEL10_12
-    PIXEL11_22
-    jmp .loopx_end
-..@flag56
-    PIXEL00_21
-    PIXEL01_22
-    PIXEL10_11
-    PIXEL11_21
-    jmp .loopx_end
-..@flag25
-    PIXEL00_12
-    PIXEL01_22
-    PIXEL10_22
-    PIXEL11_21
-    jmp .loopx_end
-..@flag26
-..@flag31
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
-    PIXEL10_22
-    PIXEL11_21
-    jmp .loopx_end
-..@flag82
-..@flag214
-    PIXEL00_22
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
-    PIXEL10_21
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
-    jmp .loopx_end
-..@flag88
-..@flag248
-    PIXEL00_21
-    PIXEL01_22
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
-    jmp .loopx_end
-..@flag74
-..@flag107
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    PIXEL01_21
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
-    PIXEL11_22
-    jmp .loopx_end
-..@flag27
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    PIXEL01_10
-    PIXEL10_22
-    PIXEL11_21
-    jmp .loopx_end
-..@flag86
-    PIXEL00_22
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
-    PIXEL10_21
-    PIXEL11_10
-    jmp .loopx_end
-..@flag216
-    PIXEL00_21
-    PIXEL01_22
-    PIXEL10_10
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
-    jmp .loopx_end
-..@flag106
-    PIXEL00_10
-    PIXEL01_21
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
-    PIXEL11_22
-    jmp .loopx_end
-..@flag30
-    PIXEL00_10
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
-    PIXEL10_22
-    PIXEL11_21
-    jmp .loopx_end
-..@flag210
-    PIXEL00_22
-    PIXEL01_10
-    PIXEL10_21
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
-    jmp .loopx_end
-..@flag120
-    PIXEL00_21
-    PIXEL01_22
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
-    PIXEL11_10
-    jmp .loopx_end
-..@flag75
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    PIXEL01_21
-    PIXEL10_10
-    PIXEL11_22
-    jmp .loopx_end
-..@flag29
-    PIXEL00_12
-    PIXEL01_11
-    PIXEL10_22
-    PIXEL11_21
-    jmp .loopx_end
-..@flag198
-    PIXEL00_22
-    PIXEL01_12
-    PIXEL10_21
-    PIXEL11_11
-    jmp .loopx_end
-..@flag184
-    PIXEL00_21
-    PIXEL01_22
-    PIXEL10_11
-    PIXEL11_12
-    jmp .loopx_end
-..@flag99
-    PIXEL00_11
-    PIXEL01_21
-    PIXEL10_12
-    PIXEL11_22
-    jmp .loopx_end
-..@flag57
-    PIXEL00_12
-    PIXEL01_22
-    PIXEL10_11
-    PIXEL11_21
-    jmp .loopx_end
-..@flag71
-    PIXEL00_11
-    PIXEL01_12
-    PIXEL10_21
-    PIXEL11_22
-    jmp .loopx_end
-..@flag156
-    PIXEL00_21
-    PIXEL01_11
-    PIXEL10_22
-    PIXEL11_12
-    jmp .loopx_end
-..@flag226
-    PIXEL00_22
-    PIXEL01_21
-    PIXEL10_12
-    PIXEL11_11
-    jmp .loopx_end
-..@flag60
-    PIXEL00_21
-    PIXEL01_11
-    PIXEL10_11
-    PIXEL11_21
-    jmp .loopx_end
-..@flag195
-    PIXEL00_11
-    PIXEL01_21
-    PIXEL10_21
-    PIXEL11_11
-    jmp .loopx_end
-..@flag102
-    PIXEL00_22
-    PIXEL01_12
-    PIXEL10_12
-    PIXEL11_22
-    jmp .loopx_end
-..@flag153
-    PIXEL00_12
-    PIXEL01_22
-    PIXEL10_22
-    PIXEL11_12
-    jmp .loopx_end
-..@flag58
-    DiffOrNot w4,w2,PIXEL00_10,PIXEL00_70
-    DiffOrNot w2,w6,PIXEL01_10,PIXEL01_70
-    PIXEL10_11
-    PIXEL11_21
-    jmp .loopx_end
-..@flag83
-    PIXEL00_11
-    DiffOrNot w2,w6,PIXEL01_10,PIXEL01_70
-    PIXEL10_21
-    DiffOrNot w6,w8,PIXEL11_10,PIXEL11_70
-    jmp .loopx_end
-..@flag92
-    PIXEL00_21
-    PIXEL01_11
-    DiffOrNot w8,w4,PIXEL10_10,PIXEL10_70
-    DiffOrNot w6,w8,PIXEL11_10,PIXEL11_70
-    jmp .loopx_end
-..@flag202
-    DiffOrNot w4,w2,PIXEL00_10,PIXEL00_70
-    PIXEL01_21
-    DiffOrNot w8,w4,PIXEL10_10,PIXEL10_70
-    PIXEL11_11
-    jmp .loopx_end
-..@flag78
-    DiffOrNot w4,w2,PIXEL00_10,PIXEL00_70
-    PIXEL01_12
-    DiffOrNot w8,w4,PIXEL10_10,PIXEL10_70
-    PIXEL11_22
-    jmp .loopx_end
-..@flag154
-    DiffOrNot w4,w2,PIXEL00_10,PIXEL00_70
-    DiffOrNot w2,w6,PIXEL01_10,PIXEL01_70
-    PIXEL10_22
-    PIXEL11_12
-    jmp .loopx_end
-..@flag114
-    PIXEL00_22
-    DiffOrNot w2,w6,PIXEL01_10,PIXEL01_70
-    PIXEL10_12
-    DiffOrNot w6,w8,PIXEL11_10,PIXEL11_70
-    jmp .loopx_end
-..@flag89
-    PIXEL00_12
-    PIXEL01_22
-    DiffOrNot w8,w4,PIXEL10_10,PIXEL10_70
-    DiffOrNot w6,w8,PIXEL11_10,PIXEL11_70
-    jmp .loopx_end
-..@flag90
-    DiffOrNot w4,w2,PIXEL00_10,PIXEL00_70
-    DiffOrNot w2,w6,PIXEL01_10,PIXEL01_70
-    DiffOrNot w8,w4,PIXEL10_10,PIXEL10_70
-    DiffOrNot w6,w8,PIXEL11_10,PIXEL11_70
-    jmp .loopx_end
-..@flag55
-..@flag23
-    DiffOrNot w2,w6,PIXEL00_11,PIXEL01_0,PIXEL00_60,PIXEL01_90
-    PIXEL10_20
-    PIXEL11_21
-    jmp .loopx_end
-..@flag182
-..@flag150
-    PIXEL00_22
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL11_12,PIXEL01_90,PIXEL11_61
-    PIXEL10_20
-    jmp .loopx_end
-..@flag213
-..@flag212
-    PIXEL00_20
-    DiffOrNot w6,w8,PIXEL01_11,PIXEL11_0,PIXEL01_60,PIXEL11_90
-    PIXEL10_21
-    jmp .loopx_end
-..@flag241
-..@flag240
-    PIXEL00_20
-    PIXEL01_22
-    DiffOrNot w6,w8,PIXEL10_12,PIXEL11_0,PIXEL10_61,PIXEL11_90
-    jmp .loopx_end
-..@flag236
-..@flag232
-    PIXEL00_21
-    PIXEL01_20
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL11_11,PIXEL10_90,PIXEL11_60
-    jmp .loopx_end
-..@flag109
-..@flag105
-    DiffOrNot w8,w4,PIXEL00_12,PIXEL10_0,PIXEL00_61,PIXEL10_90
-    PIXEL01_20
-    PIXEL11_22
-    jmp .loopx_end
-..@flag171
-..@flag43
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL10_11,PIXEL00_90,PIXEL10_60
-    PIXEL01_21
-    PIXEL11_20
-    jmp .loopx_end
-..@flag143
-..@flag15
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_12,PIXEL00_90,PIXEL01_61
-    PIXEL10_22
-    PIXEL11_20
-    jmp .loopx_end
-..@flag124
-    PIXEL00_21
-    PIXEL01_11
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
-    PIXEL11_10
-    jmp .loopx_end
-..@flag203
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    PIXEL01_21
-    PIXEL10_10
-    PIXEL11_11
-    jmp .loopx_end
-..@flag62
-    PIXEL00_10
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
-    PIXEL10_11
-    PIXEL11_21
-    jmp .loopx_end
-..@flag211
-    PIXEL00_11
-    PIXEL01_10
-    PIXEL10_21
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
-    jmp .loopx_end
-..@flag118
-    PIXEL00_22
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
-    PIXEL10_12
-    PIXEL11_10
-    jmp .loopx_end
-..@flag217
-    PIXEL00_12
-    PIXEL01_22
-    PIXEL10_10
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
-    jmp .loopx_end
-..@flag110
-    PIXEL00_10
-    PIXEL01_12
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
-    PIXEL11_22
-    jmp .loopx_end
-..@flag155
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    PIXEL01_10
-    PIXEL10_22
-    PIXEL11_12
-    jmp .loopx_end
-..@flag188
-    PIXEL00_21
-    PIXEL01_11
-    PIXEL10_11
-    PIXEL11_12
-    jmp .loopx_end
-..@flag185
-    PIXEL00_12
-    PIXEL01_22
-    PIXEL10_11
-    PIXEL11_12
-    jmp .loopx_end
-..@flag61
-    PIXEL00_12
-    PIXEL01_11
-    PIXEL10_11
-    PIXEL11_21
-    jmp .loopx_end
-..@flag157
-    PIXEL00_12
-    PIXEL01_11
-    PIXEL10_22
-    PIXEL11_12
-    jmp .loopx_end
-..@flag103
-    PIXEL00_11
-    PIXEL01_12
-    PIXEL10_12
-    PIXEL11_22
-    jmp .loopx_end
-..@flag227
-    PIXEL00_11
-    PIXEL01_21
-    PIXEL10_12
-    PIXEL11_11
-    jmp .loopx_end
-..@flag230
-    PIXEL00_22
-    PIXEL01_12
-    PIXEL10_12
-    PIXEL11_11
-    jmp .loopx_end
-..@flag199
-    PIXEL00_11
-    PIXEL01_12
-    PIXEL10_21
-    PIXEL11_11
-    jmp .loopx_end
-..@flag220
-    PIXEL00_21
-    PIXEL01_11
-    DiffOrNot w8,w4,PIXEL10_10,PIXEL10_70
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
-    jmp .loopx_end
-..@flag158
-    DiffOrNot w4,w2,PIXEL00_10,PIXEL00_70
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
-    PIXEL10_22
-    PIXEL11_12
-    jmp .loopx_end
-..@flag234
-    DiffOrNot w4,w2,PIXEL00_10,PIXEL00_70
-    PIXEL01_21
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
-    PIXEL11_11
-    jmp .loopx_end
-..@flag242
-    PIXEL00_22
-    DiffOrNot w2,w6,PIXEL01_10,PIXEL01_70
-    PIXEL10_12
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
-    jmp .loopx_end
-..@flag59
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    DiffOrNot w2,w6,PIXEL01_10,PIXEL01_70
-    PIXEL10_11
-    PIXEL11_21
-    jmp .loopx_end
-..@flag121
-    PIXEL00_12
-    PIXEL01_22
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
-    DiffOrNot w6,w8,PIXEL11_10,PIXEL11_70
-    jmp .loopx_end
-..@flag87
-    PIXEL00_11
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
-    PIXEL10_21
-    DiffOrNot w6,w8,PIXEL11_10,PIXEL11_70
-    jmp .loopx_end
-..@flag79
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    PIXEL01_12
-    DiffOrNot w8,w4,PIXEL10_10,PIXEL10_70
-    PIXEL11_22
-    jmp .loopx_end
-..@flag122
-    DiffOrNot w4,w2,PIXEL00_10,PIXEL00_70
-    DiffOrNot w2,w6,PIXEL01_10,PIXEL01_70
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
-    DiffOrNot w6,w8,PIXEL11_10,PIXEL11_70
-    jmp .loopx_end
-..@flag94
-    DiffOrNot w4,w2,PIXEL00_10,PIXEL00_70
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
-    DiffOrNot w8,w4,PIXEL10_10,PIXEL10_70
-    DiffOrNot w6,w8,PIXEL11_10,PIXEL11_70
-    jmp .loopx_end
-..@flag218
-    DiffOrNot w4,w2,PIXEL00_10,PIXEL00_70
-    DiffOrNot w2,w6,PIXEL01_10,PIXEL01_70
-    DiffOrNot w8,w4,PIXEL10_10,PIXEL10_70
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
-    jmp .loopx_end
-..@flag91
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    DiffOrNot w2,w6,PIXEL01_10,PIXEL01_70
-    DiffOrNot w8,w4,PIXEL10_10,PIXEL10_70
-    DiffOrNot w6,w8,PIXEL11_10,PIXEL11_70
-    jmp .loopx_end
-..@flag229
-    PIXEL00_20
-    PIXEL01_20
-    PIXEL10_12
-    PIXEL11_11
-    jmp .loopx_end
-..@flag167
-    PIXEL00_11
-    PIXEL01_12
-    PIXEL10_20
-    PIXEL11_20
-    jmp .loopx_end
-..@flag173
-    PIXEL00_12
-    PIXEL01_20
-    PIXEL10_11
-    PIXEL11_20
-    jmp .loopx_end
-..@flag181
-    PIXEL00_20
-    PIXEL01_11
-    PIXEL10_20
-    PIXEL11_12
-    jmp .loopx_end
-..@flag186
-    DiffOrNot w4,w2,PIXEL00_10,PIXEL00_70
-    DiffOrNot w2,w6,PIXEL01_10,PIXEL01_70
-    PIXEL10_11
-    PIXEL11_12
-    jmp .loopx_end
-..@flag115
-    PIXEL00_11
-    DiffOrNot w2,w6,PIXEL01_10,PIXEL01_70
-    PIXEL10_12
-    DiffOrNot w6,w8,PIXEL11_10,PIXEL11_70
-    jmp .loopx_end
-..@flag93
-    PIXEL00_12
-    PIXEL01_11
-    DiffOrNot w8,w4,PIXEL10_10,PIXEL10_70
-    DiffOrNot w6,w8,PIXEL11_10,PIXEL11_70
-    jmp .loopx_end
-..@flag206
-    DiffOrNot w4,w2,PIXEL00_10,PIXEL00_70
-    PIXEL01_12
-    DiffOrNot w8,w4,PIXEL10_10,PIXEL10_70
-    PIXEL11_11
-    jmp .loopx_end
-..@flag205
-..@flag201
-    PIXEL00_12
-    PIXEL01_20
-    DiffOrNot w8,w4,PIXEL10_10,PIXEL10_70
-    PIXEL11_11
-    jmp .loopx_end
-..@flag174
-..@flag46
-    DiffOrNot w4,w2,PIXEL00_10,PIXEL00_70
-    PIXEL01_12
-    PIXEL10_11
-    PIXEL11_20
-    jmp .loopx_end
-..@flag179
-..@flag147
-    PIXEL00_11
-    DiffOrNot w2,w6,PIXEL01_10,PIXEL01_70
-    PIXEL10_20
-    PIXEL11_12
-    jmp .loopx_end
-..@flag117
-..@flag116
-    PIXEL00_20
-    PIXEL01_11
-    PIXEL10_12
-    DiffOrNot w6,w8,PIXEL11_10,PIXEL11_70
-    jmp .loopx_end
-..@flag189
-    PIXEL00_12
-    PIXEL01_11
-    PIXEL10_11
-    PIXEL11_12
-    jmp .loopx_end
-..@flag231
-    PIXEL00_11
-    PIXEL01_12
-    PIXEL10_12
-    PIXEL11_11
-    jmp .loopx_end
-..@flag126
-    PIXEL00_10
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
-    PIXEL11_10
-    jmp .loopx_end
-..@flag219
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    PIXEL01_10
-    PIXEL10_10
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
-    jmp .loopx_end
-..@flag125
-    DiffOrNot w8,w4,PIXEL00_12,PIXEL10_0,PIXEL00_61,PIXEL10_90
-    PIXEL01_11
-    PIXEL11_10
-    jmp .loopx_end
-..@flag221
-    PIXEL00_12
-    DiffOrNot w6,w8,PIXEL01_11,PIXEL11_0,PIXEL01_60,PIXEL11_90
-    PIXEL10_10
-    jmp .loopx_end
-..@flag207
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_12,PIXEL00_90,PIXEL01_61
-    PIXEL10_10
-    PIXEL11_11
-    jmp .loopx_end
-..@flag238
-    PIXEL00_10
-    PIXEL01_12
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL11_11,PIXEL10_90,PIXEL11_60
-    jmp .loopx_end
-..@flag190
-    PIXEL00_10
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL11_12,PIXEL01_90,PIXEL11_61
-    PIXEL10_11
-    jmp .loopx_end
-..@flag187
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL10_11,PIXEL00_90,PIXEL10_60
-    PIXEL01_10
-    PIXEL11_12
-    jmp .loopx_end
-..@flag243
-    PIXEL00_11
-    PIXEL01_10
-    DiffOrNot w6,w8,PIXEL10_12,PIXEL11_0,PIXEL10_61,PIXEL11_90
-    jmp .loopx_end
-..@flag119
-    DiffOrNot w2,w6,PIXEL00_11,PIXEL01_0,PIXEL00_60,PIXEL01_90
-    PIXEL10_12
-    PIXEL11_10
-    jmp .loopx_end
-..@flag237
-..@flag233
-    PIXEL00_12
-    PIXEL01_20
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_100
-    PIXEL11_11
-    jmp .loopx_end
-..@flag175
-..@flag47
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_100
-    PIXEL01_12
-    PIXEL10_11
-    PIXEL11_20
-    jmp .loopx_end
-..@flag183
-..@flag151
-    PIXEL00_11
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_100
-    PIXEL10_20
-    PIXEL11_12
-    jmp .loopx_end
-..@flag245
-..@flag244
-    PIXEL00_20
-    PIXEL01_11
-    PIXEL10_12
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_100
-    jmp .loopx_end
-..@flag250
-    PIXEL00_10
-    PIXEL01_10
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
-    jmp .loopx_end
-..@flag123
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    PIXEL01_10
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
-    PIXEL11_10
-    jmp .loopx_end
-..@flag95
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
-    PIXEL10_10
-    PIXEL11_10
-    jmp .loopx_end
-..@flag222
-    PIXEL00_10
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
-    PIXEL10_10
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
-    jmp .loopx_end
-..@flag252
-    PIXEL00_21
-    PIXEL01_11
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_100
-    jmp .loopx_end
-..@flag249
-    PIXEL00_12
-    PIXEL01_22
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_100
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
-    jmp .loopx_end
-..@flag235
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    PIXEL01_21
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_100
-    PIXEL11_11
-    jmp .loopx_end
-..@flag111
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_100
-    PIXEL01_12
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
-    PIXEL11_22
-    jmp .loopx_end
-..@flag63
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_100
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
-    PIXEL10_11
-    PIXEL11_21
-    jmp .loopx_end
-..@flag159
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_100
-    PIXEL10_22
-    PIXEL11_12
-    jmp .loopx_end
-..@flag215
-    PIXEL00_11
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_100
-    PIXEL10_21
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
-    jmp .loopx_end
-..@flag246
-    PIXEL00_22
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
-    PIXEL10_12
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_100
-    jmp .loopx_end
-..@flag254
-    PIXEL00_10
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_100
-    jmp .loopx_end
-..@flag253
-    PIXEL00_12
-    PIXEL01_11
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_100
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_100
-    jmp .loopx_end
-..@flag251
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    PIXEL01_10
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_100
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
-    jmp .loopx_end
-..@flag239
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_100
-    PIXEL01_12
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_100
-    PIXEL11_11
-    jmp .loopx_end
-..@flag127
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_100
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_20
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_20
-    PIXEL11_10
-    jmp .loopx_end
-..@flag191
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_100
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_100
-    PIXEL10_11
-    PIXEL11_12
-    jmp .loopx_end
-..@flag223
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_100
-    PIXEL10_10
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_20
-    jmp .loopx_end
-..@flag247
-    PIXEL00_11
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_100
-    PIXEL10_12
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_100
-    jmp .loopx_end
-..@flag255
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_100
-    DiffOrNot w2,w6,PIXEL01_0,PIXEL01_100
-    DiffOrNot w8,w4,PIXEL10_0,PIXEL10_100
-    DiffOrNot w6,w8,PIXEL11_0,PIXEL11_100
-    jmp .loopx_end
-
-
-..@cross0
-    mov     ebx,[ebp+pitch]
-    mov     [edi],eax
-    mov     [edi+4],eax
-    mov     [edi+ebx],eax
-    mov     [edi+ebx+4],eax
-    jmp     .loopx_end
-..@cross1
-    mov     ecx,[w2] 
-    mov     edx,eax
-    shl     edx,2
-    add     edx,[ebx+ecx*4]
-    sub     edx,eax
-    shr     edx,2
-    mov     ebx,[ebp+pitch]
-    mov     [edi],edx
-    mov     [edi+4],edx
-    mov     [edi+ebx],eax
-    mov     [edi+ebx+4],eax
-    jmp     .loopx_end
-..@cross2
-    mov     ecx,[w4]
-    mov     edx,eax
-    shl     edx,2
-    add     edx,[ebx+ecx*4]
-    sub     edx,eax
-    shr     edx,2
-    mov     ebx,[ebp+pitch]
-    mov     [edi],edx
-    mov     [edi+4],eax
-    mov     [edi+ebx],edx
-    mov     [edi+ebx+4],eax
-    jmp     .loopx_end
-..@cross4
-    mov     ecx,[w6]
-    mov     edx,eax
-    shl     edx,2
-    add     edx,[ebx+ecx*4]
-    sub     edx,eax
-    shr     edx,2
-    mov     ebx,[ebp+pitch]
-    mov     [edi],eax
-    mov     [edi+4],edx
-    mov     [edi+ebx],eax
-    mov     [edi+ebx+4],edx
-    jmp     .loopx_end
-..@cross8
-    mov     ecx,[w8]
-    mov     edx,eax
-    shl     edx,2
-    add     edx,[ebx+ecx*4]
-    sub     edx,eax
-    shr     edx,2
-    mov     ebx,[ebp+pitch]
-    mov     [edi],eax
-    mov     [edi+4],eax
-    mov     [edi+ebx],edx
-    mov     [edi+ebx+4],edx
-    jmp     .loopx_end
-..@crossN
-    mov     edx,[w2]
-    mov     ecx,[ebx+edx*4]
-    mov     [c2],ecx
-    mov     edx,[w4]
-    mov     ecx,[ebx+edx*4]
-    mov     [c4],ecx
-    mov     edx,[w6]
-    mov     ecx,[ebx+edx*4]
-    mov     [c6],ecx
-    mov     edx,[w8]
-    mov     ecx,[ebx+edx*4]
-    mov     [c8],ecx
-    mov     ebx,[ebp+pitch]
-    jmp     ..@flag0
-
-.loopx_end
-    add     esi,2
-    add     edi,8
-    dec     dword[xcounter]
-    jle     .xres_2
-    jmp     .loopx
-.xres_2
-    ; x=Xres-2 - special case
-    jl      .xres_1
-    mov     ebx,[prevline]
-    movq    mm5,[esi+ebx-4]
-    movq    mm6,[esi-4]
-    mov     ebx,[nextline]
-    movq    mm7,[esi+ebx-4]
-    psrlq   mm5,16
-    psrlq   mm6,16
-    psrlq   mm7,16
-    movd    eax,mm5
-    movzx   edx,ax
-    mov     [w1],edx
-    shr     eax,16
-    mov     [w2],eax
-    psrlq   mm5,32
-    movd    eax,mm5
-    mov     [w3],eax
-    movd    eax,mm6
-    movzx   edx,ax
-    mov     [w4],edx
-    shr     eax,16
-    mov     [w5],eax
-    psrlq   mm6,32
-    movd    eax,mm6
-    mov     [w6],eax
-    movd    eax,mm7
-    movzx   edx,ax
-    mov     [w7],edx
-    shr     eax,16
-    mov     [w8],eax
-    psrlq   mm7,32
-    movd    eax,mm7
-    mov     [w9],eax
-    jmp     .flags
-.xres_1
-    cmp     dword[xcounter],-1
-    jl      .nexty
-    ; x=Xres-1 - special case
-    mov     ebx,[prevline]
-    movq    mm5,[esi+ebx-6]
-    movq    mm6,[esi-6]
-    mov     ebx,[nextline]
-    movq    mm7,[esi+ebx-6]
-    psrlq   mm5,32
-    psrlq   mm6,32
-    psrlq   mm7,32
-    movd    eax,mm5
-    movzx   edx,ax  
-    mov     [w1],edx
-    shr     eax,16
-    mov     [w2],eax
-    mov     [w3],eax
-    movd    eax,mm6
-    movzx   edx,ax  
-    mov     [w4],edx
-    shr     eax,16
-    mov     [w5],eax
-    mov     [w6],eax
-    movd    eax,mm7
-    movzx   edx,ax  
-    mov     [w7],edx
-    shr     eax,16
-    mov     [w8],eax
-    mov     [w9],eax
-    jmp     .flags
-.nexty
-    add     edi,ebx
-    dec     dword[linesleft]
-    jz      .fin
-    mov     ebx,[ebp+Xres]
-    shl     ebx,1
-    cmp     dword[linesleft],1
-    je      .lastline
-    mov     dword[nextline],ebx
-    neg     ebx
-    mov     dword[prevline],ebx
-    jmp     .loopy
-.lastline
-    mov     dword[nextline],0
-    neg     ebx
-    mov     dword[prevline],ebx
-    jmp     .loopy
-.fin
-    emms
-    popad
-    mov esp,ebp
-    pop ebp
-    ret
-
-SECTION .data
-FuncTable
-    dd ..@flag0, ..@flag1, ..@flag2, ..@flag3, ..@flag4, ..@flag5, ..@flag6, ..@flag7
-    dd ..@flag8, ..@flag9, ..@flag10, ..@flag11, ..@flag12, ..@flag13, ..@flag14, ..@flag15
-    dd ..@flag16, ..@flag17, ..@flag18, ..@flag19, ..@flag20, ..@flag21, ..@flag22, ..@flag23
-    dd ..@flag24, ..@flag25, ..@flag26, ..@flag27, ..@flag28, ..@flag29, ..@flag30, ..@flag31
-    dd ..@flag32, ..@flag33, ..@flag34, ..@flag35, ..@flag36, ..@flag37, ..@flag38, ..@flag39
-    dd ..@flag40, ..@flag41, ..@flag42, ..@flag43, ..@flag44, ..@flag45, ..@flag46, ..@flag47
-    dd ..@flag48, ..@flag49, ..@flag50, ..@flag51, ..@flag52, ..@flag53, ..@flag54, ..@flag55
-    dd ..@flag56, ..@flag57, ..@flag58, ..@flag59, ..@flag60, ..@flag61, ..@flag62, ..@flag63
-    dd ..@flag64, ..@flag65, ..@flag66, ..@flag67, ..@flag68, ..@flag69, ..@flag70, ..@flag71
-    dd ..@flag72, ..@flag73, ..@flag74, ..@flag75, ..@flag76, ..@flag77, ..@flag78, ..@flag79
-    dd ..@flag80, ..@flag81, ..@flag82, ..@flag83, ..@flag84, ..@flag85, ..@flag86, ..@flag87
-    dd ..@flag88, ..@flag89, ..@flag90, ..@flag91, ..@flag92, ..@flag93, ..@flag94, ..@flag95
-    dd ..@flag96, ..@flag97, ..@flag98, ..@flag99, ..@flag100, ..@flag101, ..@flag102, ..@flag103
-    dd ..@flag104, ..@flag105, ..@flag106, ..@flag107, ..@flag108, ..@flag109, ..@flag110, ..@flag111
-    dd ..@flag112, ..@flag113, ..@flag114, ..@flag115, ..@flag116, ..@flag117, ..@flag118, ..@flag119
-    dd ..@flag120, ..@flag121, ..@flag122, ..@flag123, ..@flag124, ..@flag125, ..@flag126, ..@flag127
-    dd ..@flag128, ..@flag129, ..@flag130, ..@flag131, ..@flag132, ..@flag133, ..@flag134, ..@flag135
-    dd ..@flag136, ..@flag137, ..@flag138, ..@flag139, ..@flag140, ..@flag141, ..@flag142, ..@flag143
-    dd ..@flag144, ..@flag145, ..@flag146, ..@flag147, ..@flag148, ..@flag149, ..@flag150, ..@flag151
-    dd ..@flag152, ..@flag153, ..@flag154, ..@flag155, ..@flag156, ..@flag157, ..@flag158, ..@flag159
-    dd ..@flag160, ..@flag161, ..@flag162, ..@flag163, ..@flag164, ..@flag165, ..@flag166, ..@flag167
-    dd ..@flag168, ..@flag169, ..@flag170, ..@flag171, ..@flag172, ..@flag173, ..@flag174, ..@flag175
-    dd ..@flag176, ..@flag177, ..@flag178, ..@flag179, ..@flag180, ..@flag181, ..@flag182, ..@flag183
-    dd ..@flag184, ..@flag185, ..@flag186, ..@flag187, ..@flag188, ..@flag189, ..@flag190, ..@flag191
-    dd ..@flag192, ..@flag193, ..@flag194, ..@flag195, ..@flag196, ..@flag197, ..@flag198, ..@flag199
-    dd ..@flag200, ..@flag201, ..@flag202, ..@flag203, ..@flag204, ..@flag205, ..@flag206, ..@flag207
-    dd ..@flag208, ..@flag209, ..@flag210, ..@flag211, ..@flag212, ..@flag213, ..@flag214, ..@flag215
-    dd ..@flag216, ..@flag217, ..@flag218, ..@flag219, ..@flag220, ..@flag221, ..@flag222, ..@flag223
-    dd ..@flag224, ..@flag225, ..@flag226, ..@flag227, ..@flag228, ..@flag229, ..@flag230, ..@flag231
-    dd ..@flag232, ..@flag233, ..@flag234, ..@flag235, ..@flag236, ..@flag237, ..@flag238, ..@flag239
-    dd ..@flag240, ..@flag241, ..@flag242, ..@flag243, ..@flag244, ..@flag245, ..@flag246, ..@flag247
-    dd ..@flag248, ..@flag249, ..@flag250, ..@flag251, ..@flag252, ..@flag253, ..@flag254, ..@flag255
-
-FuncTable2
-    dd ..@cross0, ..@cross1, ..@cross2, ..@crossN,
-    dd ..@cross4, ..@crossN, ..@crossN, ..@crossN,
-    dd ..@cross8, ..@crossN, ..@crossN, ..@crossN,
-    dd ..@crossN, ..@crossN, ..@crossN, ..@crossN
-
diff --git a/od-win32/hq3x16.asm b/od-win32/hq3x16.asm
deleted file mode 100644 (file)
index c76a3a1..0000000
+++ /dev/null
@@ -1,2520 +0,0 @@
-;hq3x filter
-;16bpp output
-;----------------------------------------------------------
-;Copyright (C) 2003 MaxSt ( maxst@hiend3d.com )
-;
-;This program is free software; you can redistribute it and/or
-;modify it under the terms of the GNU General Public License
-;as published by the Free Software Foundation; either
-;version 2 of the License, or (at your option) any later
-;version.
-;
-;This program is distributed in the hope that it will be useful,
-;but WITHOUT ANY WARRANTY; without even the implied warranty of
-;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;GNU General Public License for more details.
-;
-;You should have received a copy of the GNU General Public License
-;along with this program; if not, write to the Free Software
-;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-GLOBAL _hq3x_16
-
-EXTERN _LUT16to32
-EXTERN _RGBtoYUV
-
-SECTION .bss
-linesleft resd 1
-xcounter  resd 1
-cross     resd 1
-nextline  resd 1
-prevline  resd 1
-w1        resd 1
-w2        resd 1
-w3        resd 1
-w4        resd 1
-w5        resd 1
-w6        resd 1
-w7        resd 1
-w8        resd 1
-w9        resd 1
-
-SECTION .data
-
-reg_blank    dd  0,0
-const7       dd  0x00070007,0x00000007
-threshold    dd  0x00300706,0x00000000
-zerolowbits  dd  0xF7DEF7DE
-
-SECTION .text
-
-%macro TestDiff 2
-    xor     ecx,ecx
-    mov     edx,[%1]
-    cmp     edx,[%2]
-    je      %%fin
-    mov     ecx,_RGBtoYUV
-    movd    mm1,[ecx+edx*4]
-    movq    mm5,mm1
-    mov     edx,[%2]
-    movd    mm2,[ecx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    ecx,mm1
-%%fin:
-%endmacro
-
-%macro DiffOrNot 4
-   TestDiff %1,%2
-   test ecx,ecx
-   jz   %%same
-   %3
-   jmp %%fin
-%%same:
-   %4
-%%fin
-%endmacro
-
-%macro DiffOrNot 6
-   TestDiff %1,%2
-   test ecx,ecx
-   jz   %%same
-   %3
-   %4
-   jmp %%fin
-%%same:
-   %5
-   %6
-%%fin
-%endmacro
-
-%macro DiffOrNot 8
-   TestDiff %1,%2
-   test ecx,ecx
-   jz   %%same
-   %3
-   %4
-   %5
-   jmp %%fin
-%%same:
-   %6
-   %7
-   %8
-%%fin
-%endmacro
-
-%macro DiffOrNot 10
-   TestDiff %1,%2
-   test ecx,ecx
-   jz %%same
-   %3
-   %4
-   %5
-   %6
-   jmp %%fin
-%%same:
-   %7
-   %8
-   %9
-   %10
-%%fin
-%endmacro
-
-%macro Interp1 3
-    mov edx,%2
-    mov ecx,%3
-    cmp edx,ecx
-    je  %%fin
-    and edx,[zerolowbits]
-    and ecx,[zerolowbits]
-    add ecx,edx
-    shr ecx,1
-    add ecx,0x0821
-    and ecx,[zerolowbits]
-    add edx,ecx
-    shr edx,1
-%%fin
-    mov %1,dx
-%endmacro
-
-%macro Interp2 4
-    mov edx,%3
-    mov ecx,%4
-    cmp edx,ecx
-    je  %%fin1
-    and edx,[zerolowbits]
-    and ecx,[zerolowbits]
-    add ecx,edx
-    shr ecx,1
-    add ecx,0x0821
-%%fin1
-    mov edx,%2
-    cmp edx,ecx
-    je  %%fin2
-    and ecx,[zerolowbits]
-    and edx,[zerolowbits]
-    add edx,ecx
-    shr edx,1
-%%fin2
-    mov %1,dx
-%endmacro
-
-%macro Interp3 2
-    mov        ecx, _LUT16to32
-    movd       mm1, [ecx+eax*4]
-    mov        edx, %2
-    movd       mm2, [ecx+edx*4]
-    punpcklbw  mm1, [reg_blank]
-    punpcklbw  mm2, [reg_blank]
-    pmullw     mm1, [const7]
-    paddw      mm1, mm2
-    psrlw      mm1, 5
-    packuswb   mm1, [reg_blank]
-    movd       edx, mm1
-    shl        dl,  2
-    shr        edx, 1
-    shl        dx,  3
-    shr        edx, 5
-    mov        %1,  dx
-%endmacro
-
-%macro Interp4 3
-    mov        ecx, _LUT16to32
-    movd       mm1, [ecx+eax*4]
-    mov        edx, %2
-    movd       mm2, [ecx+edx*4]
-    mov        edx, %3
-    movd       mm3, [ecx+edx*4]
-    punpcklbw  mm1, [reg_blank]
-    punpcklbw  mm2, [reg_blank]
-    punpcklbw  mm3, [reg_blank]
-    psllw      mm1, 1
-    paddw      mm2, mm3
-    pmullw     mm2, [const7]
-    paddw      mm1, mm2
-    psrlw      mm1, 6
-    packuswb   mm1, [reg_blank]
-    movd       edx, mm1
-    shl        dl,  2
-    shr        edx, 1
-    shl        dx,  3
-    shr        edx, 5
-    mov        %1,  dx
-%endmacro
-
-%macro Interp5 3
-    mov edx,%2
-    mov ecx,%3
-    cmp edx,ecx
-    je  %%fin
-    and edx,[zerolowbits]
-    and ecx,[zerolowbits]
-    add edx,ecx
-    shr edx,1
-%%fin
-    mov %1,dx
-%endmacro
-
-%macro PIXEL00_1M 0
-    Interp1 [edi],eax,[w1]
-%endmacro
-
-%macro PIXEL00_1U 0
-    Interp1 [edi],eax,[w2]
-%endmacro
-
-%macro PIXEL00_1L 0
-    Interp1 [edi],eax,[w4]
-%endmacro
-
-%macro PIXEL00_2 0
-    Interp2 [edi],eax,[w4],[w2]
-%endmacro
-
-%macro PIXEL00_4 0
-    Interp4 [edi],[w4],[w2]
-%endmacro
-
-%macro PIXEL00_5 0
-    Interp5 [edi],[w4],[w2]
-%endmacro
-
-%macro PIXEL00_C 0
-    mov [edi],ax
-%endmacro
-
-%macro PIXEL01_1 0
-    Interp1 [edi+2],eax,[w2]
-%endmacro
-
-%macro PIXEL01_3 0
-    Interp3 [edi+2],[w2]
-%endmacro
-
-%macro PIXEL01_6 0
-    Interp1 [edi+2],[w2],eax
-%endmacro
-
-%macro PIXEL01_C 0
-    mov [edi+2],ax
-%endmacro
-
-%macro PIXEL02_1M 0
-    Interp1 [edi+4],eax,[w3]
-%endmacro
-
-%macro PIXEL02_1U 0
-    Interp1 [edi+4],eax,[w2]
-%endmacro
-
-%macro PIXEL02_1R 0
-    Interp1 [edi+4],eax,[w6]
-%endmacro
-
-%macro PIXEL02_2 0
-    Interp2 [edi+4],eax,[w2],[w6]
-%endmacro
-
-%macro PIXEL02_4 0
-    Interp4 [edi+4],[w2],[w6]
-%endmacro
-
-%macro PIXEL02_5 0
-    Interp5 [edi+4],[w2],[w6]
-%endmacro
-
-%macro PIXEL02_C 0
-    mov [edi+4],ax
-%endmacro
-
-%macro PIXEL10_1 0
-    Interp1 [edi+ebx],eax,[w4]
-%endmacro
-
-%macro PIXEL10_3 0
-    Interp3 [edi+ebx],[w4]
-%endmacro
-
-%macro PIXEL10_6 0
-    Interp1 [edi+ebx],[w4],eax
-%endmacro
-
-%macro PIXEL10_C 0
-    mov [edi+ebx],ax
-%endmacro
-
-%macro PIXEL11 0
-    mov [edi+ebx+2],ax
-%endmacro
-
-%macro PIXEL12_1 0
-    Interp1 [edi+ebx+4],eax,[w6]
-%endmacro
-
-%macro PIXEL12_3 0
-    Interp3 [edi+ebx+4],[w6]
-%endmacro             
-
-%macro PIXEL12_6 0
-    Interp1 [edi+ebx+4],[w6],eax
-%endmacro
-
-%macro PIXEL12_C 0
-    mov [edi+ebx+4],ax
-%endmacro
-
-%macro PIXEL20_1M 0
-    Interp1 [edi+ebx*2],eax,[w7]
-%endmacro
-
-%macro PIXEL20_1D 0
-    Interp1 [edi+ebx*2],eax,[w8]
-%endmacro
-
-%macro PIXEL20_1L 0
-    Interp1 [edi+ebx*2],eax,[w4]
-%endmacro
-
-%macro PIXEL20_2 0
-    Interp2 [edi+ebx*2],eax,[w8],[w4]
-%endmacro
-
-%macro PIXEL20_4 0
-    Interp4 [edi+ebx*2],[w8],[w4]
-%endmacro
-
-%macro PIXEL20_5 0
-    Interp5 [edi+ebx*2],[w8],[w4]
-%endmacro
-
-%macro PIXEL20_C 0
-    mov [edi+ebx*2],ax
-%endmacro
-
-%macro PIXEL21_1 0
-    Interp1 [edi+ebx*2+2],eax,[w8]
-%endmacro
-
-%macro PIXEL21_3 0
-    Interp3 [edi+ebx*2+2],[w8]
-%endmacro
-
-%macro PIXEL21_6 0
-    Interp1 [edi+ebx*2+2],[w8],eax
-%endmacro
-
-%macro PIXEL21_C 0
-    mov [edi+ebx*2+2],ax
-%endmacro
-
-%macro PIXEL22_1M 0
-    Interp1 [edi+ebx*2+4],eax,[w9]
-%endmacro
-
-%macro PIXEL22_1D 0
-    Interp1 [edi+ebx*2+4],eax,[w8]
-%endmacro
-
-%macro PIXEL22_1R 0
-    Interp1 [edi+ebx*2+4],eax,[w6]
-%endmacro
-
-%macro PIXEL22_2 0
-    Interp2 [edi+ebx*2+4],eax,[w6],[w8]
-%endmacro
-
-%macro PIXEL22_4 0
-    Interp4 [edi+ebx*2+4],[w6],[w8]
-%endmacro
-
-%macro PIXEL22_5 0
-    Interp5 [edi+ebx*2+4],[w6],[w8]
-%endmacro
-
-%macro PIXEL22_C 0
-    mov [edi+ebx*2+4],ax
-%endmacro
-
-inbuffer     equ 8
-outbuffer    equ 12
-Xres         equ 16
-Yres         equ 20
-pitch        equ 24
-
-_hq3x_16:
-    push ebp
-    mov ebp,esp
-    pushad
-
-    mov     esi,[ebp+inbuffer]
-    mov     edi,[ebp+outbuffer]
-    mov     edx,[ebp+Yres]
-    mov     [linesleft],edx
-    mov     ebx,[ebp+Xres]
-    shl     ebx,1
-    mov     dword[prevline],0
-    mov     dword[nextline],ebx
-.loopy
-    mov     ecx,[ebp+Xres]
-    sub     ecx,2                 ; x={Xres-2, Xres-1} are special cases.
-    mov     dword[xcounter],ecx
-    ; x=0 - special case
-    mov     ebx,[prevline]
-    movq    mm5,[esi+ebx]
-    movq    mm6,[esi]
-    mov     ebx,[nextline]
-    movq    mm7,[esi+ebx]
-    movd    eax,mm5
-    movzx   edx,ax  
-    mov     [w1],edx
-    mov     [w2],edx
-    shr     eax,16
-    mov     [w3],eax
-    movd    eax,mm6
-    movzx   edx,ax  
-    mov     [w4],edx
-    mov     [w5],edx
-    shr     eax,16
-    mov     [w6],eax
-    movd    eax,mm7
-    movzx   edx,ax  
-    mov     [w7],edx
-    mov     [w8],edx
-    shr     eax,16
-    mov     [w9],eax
-    jmp     .flags
-.loopx
-    mov     ebx,[prevline]
-    movq    mm5,[esi+ebx-2]
-    movq    mm6,[esi-2]
-    mov     ebx,[nextline]
-    movq    mm7,[esi+ebx-2]
-    movd    eax,mm5
-    movzx   edx,ax  
-    mov     [w1],edx
-    shr     eax,16
-    mov     [w2],eax
-    psrlq   mm5,32
-    movd    eax,mm5
-    movzx   edx,ax  
-    mov     [w3],edx
-    movd    eax,mm6
-    movzx   edx,ax  
-    mov     [w4],edx
-    shr     eax,16
-    mov     [w5],eax
-    psrlq   mm6,32
-    movd    eax,mm6
-    movzx   edx,ax  
-    mov     [w6],edx
-    movd    eax,mm7
-    movzx   edx,ax  
-    mov     [w7],edx
-    shr     eax,16
-    mov     [w8],eax
-    psrlq   mm7,32
-    movd    eax,mm7
-    movzx   edx,ax  
-    mov     [w9],edx
-.flags
-    mov     ebx,_RGBtoYUV
-    mov     eax,[w5]
-    xor     ecx,ecx
-    movd    mm5,[ebx+eax*4]
-    mov     dword[cross],0
-
-    mov     edx,[w2]
-    cmp     eax,edx
-    je      .noflag2
-    or      dword[cross],1
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag2
-    or      ecx,2
-.noflag2
-    mov     edx,[w4]
-    cmp     eax,edx
-    je      .noflag4
-    or      dword[cross],2
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag4
-    or      ecx,8
-.noflag4
-    mov     edx,[w6]
-    cmp     eax,edx
-    je      .noflag6
-    or      dword[cross],4
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag6
-    or      ecx,16
-.noflag6
-    mov     edx,[w8]
-    cmp     eax,edx
-    je      .noflag8
-    or      dword[cross],8
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag8
-    or      ecx,64
-.noflag8
-    test    ecx,ecx
-    jnz     .testflag1
-    mov     ecx,[cross]
-    mov     ebx,[ebp+pitch]
-    jmp     [FuncTable2+ecx*4]
-.testflag1
-    mov     edx,[w1]
-    cmp     eax,edx
-    je      .noflag1
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag1
-    or      ecx,1
-.noflag1
-    mov     edx,[w3]
-    cmp     eax,edx
-    je      .noflag3
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag3
-    or      ecx,4
-.noflag3
-    mov     edx,[w7]
-    cmp     eax,edx
-    je      .noflag7
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag7
-    or      ecx,32
-.noflag7
-    mov     edx,[w9]
-    cmp     eax,edx
-    je      .noflag9
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag9
-    or      ecx,128
-.noflag9
-    mov  ebx,[ebp+pitch]
-    jmp  [FuncTable+ecx*4]
-
-..@flag0
-..@flag1
-..@flag4
-..@flag32
-..@flag128
-..@flag5
-..@flag132
-..@flag160
-..@flag33
-..@flag129
-..@flag36
-..@flag133
-..@flag164
-..@flag161
-..@flag37
-..@flag165
-    PIXEL00_2
-    PIXEL01_1
-    PIXEL02_2
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_2
-    PIXEL21_1
-    PIXEL22_2
-    jmp .loopx_end
-..@flag2
-..@flag34
-..@flag130
-..@flag162
-    PIXEL00_1M
-    PIXEL01_C
-    PIXEL02_1M
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_2
-    PIXEL21_1
-    PIXEL22_2
-    jmp .loopx_end
-..@flag16
-..@flag17
-..@flag48
-..@flag49
-    PIXEL00_2
-    PIXEL01_1
-    PIXEL02_1M
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_2
-    PIXEL21_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag64
-..@flag65
-..@flag68
-..@flag69
-    PIXEL00_2
-    PIXEL01_1
-    PIXEL02_2
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1M
-    PIXEL21_C
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag8
-..@flag12
-..@flag136
-..@flag140
-    PIXEL00_1M
-    PIXEL01_1
-    PIXEL02_2
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1M
-    PIXEL21_1
-    PIXEL22_2
-    jmp .loopx_end
-..@flag3
-..@flag35
-..@flag131
-..@flag163
-    PIXEL00_1L
-    PIXEL01_C
-    PIXEL02_1M
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_2
-    PIXEL21_1
-    PIXEL22_2
-    jmp .loopx_end
-..@flag6
-..@flag38
-..@flag134
-..@flag166
-    PIXEL00_1M
-    PIXEL01_C
-    PIXEL02_1R
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_2
-    PIXEL21_1
-    PIXEL22_2
-    jmp .loopx_end
-..@flag20
-..@flag21
-..@flag52
-..@flag53
-    PIXEL00_2
-    PIXEL01_1
-    PIXEL02_1U
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_2
-    PIXEL21_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag144
-..@flag145
-..@flag176
-..@flag177
-    PIXEL00_2
-    PIXEL01_1
-    PIXEL02_1M
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_2
-    PIXEL21_1
-    PIXEL22_1D
-    jmp .loopx_end
-..@flag192
-..@flag193
-..@flag196
-..@flag197
-    PIXEL00_2
-    PIXEL01_1
-    PIXEL02_2
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1M
-    PIXEL21_C
-    PIXEL22_1R
-    jmp .loopx_end
-..@flag96
-..@flag97
-..@flag100
-..@flag101
-    PIXEL00_2
-    PIXEL01_1
-    PIXEL02_2
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1L
-    PIXEL21_C
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag40
-..@flag44
-..@flag168
-..@flag172
-    PIXEL00_1M
-    PIXEL01_1
-    PIXEL02_2
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1D
-    PIXEL21_1
-    PIXEL22_2
-    jmp .loopx_end
-..@flag9
-..@flag13
-..@flag137
-..@flag141
-    PIXEL00_1U
-    PIXEL01_1
-    PIXEL02_2
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1M
-    PIXEL21_1
-    PIXEL22_2
-    jmp .loopx_end
-..@flag18
-..@flag50
-    PIXEL00_1M
-    DiffOrNot w2,w6,PIXEL01_C,PIXEL02_1M,PIXEL12_C,PIXEL01_3,PIXEL02_4,PIXEL12_3
-    PIXEL10_1
-    PIXEL11
-    PIXEL20_2
-    PIXEL21_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag80
-..@flag81
-    PIXEL00_2
-    PIXEL01_1
-    PIXEL02_1M
-    PIXEL10_1
-    PIXEL11
-    PIXEL20_1M
-    DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_1M,PIXEL12_3,PIXEL21_3,PIXEL22_4
-    jmp .loopx_end
-..@flag72
-..@flag76
-    PIXEL00_1M
-    PIXEL01_1
-    PIXEL02_2
-    PIXEL11
-    PIXEL12_1
-    DiffOrNot w8,w4,PIXEL10_C,PIXEL20_1M,PIXEL21_C,PIXEL10_3,PIXEL20_4,PIXEL21_3
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag10
-..@flag138
-    DiffOrNot w4,w2,PIXEL00_1M,PIXEL01_C,PIXEL10_C,PIXEL00_4,PIXEL01_3,PIXEL10_3
-    PIXEL02_1M
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1M
-    PIXEL21_1
-    PIXEL22_2
-    jmp .loopx_end
-..@flag66
-    PIXEL00_1M
-    PIXEL01_C
-    PIXEL02_1M
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1M
-    PIXEL21_C
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag24
-    PIXEL00_1M
-    PIXEL01_1
-    PIXEL02_1M
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1M
-    PIXEL21_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag7
-..@flag39
-..@flag135
-    PIXEL00_1L
-    PIXEL01_C
-    PIXEL02_1R
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_2
-    PIXEL21_1
-    PIXEL22_2
-    jmp .loopx_end
-..@flag148
-..@flag149
-..@flag180
-    PIXEL00_2
-    PIXEL01_1
-    PIXEL02_1U
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_2
-    PIXEL21_1
-    PIXEL22_1D
-    jmp .loopx_end
-..@flag224
-..@flag228
-..@flag225
-    PIXEL00_2
-    PIXEL01_1
-    PIXEL02_2
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1L
-    PIXEL21_C
-    PIXEL22_1R
-    jmp .loopx_end
-..@flag41
-..@flag169
-..@flag45
-    PIXEL00_1U
-    PIXEL01_1
-    PIXEL02_2
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1D
-    PIXEL21_1
-    PIXEL22_2
-    jmp .loopx_end
-..@flag22
-..@flag54
-    PIXEL00_1M
-    DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL01_3,PIXEL02_4,PIXEL12_3
-    PIXEL10_1
-    PIXEL11
-    PIXEL20_2
-    PIXEL21_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag208
-..@flag209
-    PIXEL00_2
-    PIXEL01_1
-    PIXEL02_1M
-    PIXEL10_1
-    PIXEL11
-    PIXEL20_1M
-    DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL12_3,PIXEL21_3,PIXEL22_4
-    jmp .loopx_end
-..@flag104
-..@flag108
-    PIXEL00_1M
-    PIXEL01_1
-    PIXEL02_2
-    PIXEL11
-    PIXEL12_1
-    DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL10_3,PIXEL20_4,PIXEL21_3
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag11
-..@flag139
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL00_4,PIXEL01_3,PIXEL10_3
-    PIXEL02_1M
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1M
-    PIXEL21_1
-    PIXEL22_2
-    jmp .loopx_end
-..@flag19
-..@flag51
-    DiffOrNot w2,w6,PIXEL00_1L,PIXEL01_C,PIXEL02_1M,PIXEL12_C,PIXEL00_2,PIXEL01_6,PIXEL02_5,PIXEL12_1
-    PIXEL10_1
-    PIXEL11
-    PIXEL20_2
-    PIXEL21_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag146
-..@flag178
-    DiffOrNot w2,w6,PIXEL01_C,PIXEL02_1M,PIXEL12_C,PIXEL22_1D,PIXEL01_1,PIXEL02_5,PIXEL12_6,PIXEL22_2
-    PIXEL00_1M
-    PIXEL10_1
-    PIXEL11
-    PIXEL20_2
-    PIXEL21_1
-    jmp .loopx_end
-..@flag84
-..@flag85
-    DiffOrNot w6,w8,PIXEL02_1U,PIXEL12_C,PIXEL21_C,PIXEL22_1M,PIXEL02_2,PIXEL12_6,PIXEL21_1,PIXEL22_5
-    PIXEL00_2
-    PIXEL01_1
-    PIXEL10_1
-    PIXEL11
-    PIXEL20_1M
-    jmp .loopx_end
-..@flag112
-..@flag113
-    DiffOrNot w6,w8,PIXEL12_C,PIXEL20_1L,PIXEL21_C,PIXEL22_1M,PIXEL12_1,PIXEL20_2,PIXEL21_6,PIXEL22_5
-    PIXEL00_2
-    PIXEL01_1
-    PIXEL02_1M
-    PIXEL10_1
-    PIXEL11
-    jmp .loopx_end
-..@flag200
-..@flag204
-    DiffOrNot w8,w4,PIXEL10_C,PIXEL20_1M,PIXEL21_C,PIXEL22_1R,PIXEL10_1,PIXEL20_5,PIXEL21_6,PIXEL22_2
-    PIXEL00_1M
-    PIXEL01_1
-    PIXEL02_2
-    PIXEL11
-    PIXEL12_1
-    jmp .loopx_end
-..@flag73
-..@flag77
-    DiffOrNot w8,w4,PIXEL00_1U,PIXEL10_C,PIXEL20_1M,PIXEL21_C,PIXEL00_2,PIXEL10_6,PIXEL20_5,PIXEL21_1
-    PIXEL01_1
-    PIXEL02_2
-    PIXEL11
-    PIXEL12_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag42
-..@flag170
-    DiffOrNot w4,w2,PIXEL00_1M,PIXEL01_C,PIXEL10_C,PIXEL20_1D,PIXEL00_5,PIXEL01_1,PIXEL10_6,PIXEL20_2
-    PIXEL02_1M
-    PIXEL11
-    PIXEL12_1
-    PIXEL21_1
-    PIXEL22_2
-    jmp .loopx_end
-..@flag14
-..@flag142
-    DiffOrNot w4,w2,PIXEL00_1M,PIXEL01_C,PIXEL02_1R,PIXEL10_C,PIXEL00_5,PIXEL01_6,PIXEL02_2,PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1M
-    PIXEL21_1
-    PIXEL22_2
-    jmp .loopx_end
-..@flag67
-    PIXEL00_1L
-    PIXEL01_C
-    PIXEL02_1M
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1M
-    PIXEL21_C
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag70
-    PIXEL00_1M
-    PIXEL01_C
-    PIXEL02_1R
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1M
-    PIXEL21_C
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag28
-    PIXEL00_1M
-    PIXEL01_1
-    PIXEL02_1U
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1M
-    PIXEL21_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag152
-    PIXEL00_1M
-    PIXEL01_1
-    PIXEL02_1M
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1M
-    PIXEL21_1
-    PIXEL22_1D
-    jmp .loopx_end
-..@flag194
-    PIXEL00_1M
-    PIXEL01_C
-    PIXEL02_1M
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1M
-    PIXEL21_C
-    PIXEL22_1R
-    jmp .loopx_end
-..@flag98
-    PIXEL00_1M
-    PIXEL01_C
-    PIXEL02_1M
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1L
-    PIXEL21_C
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag56
-    PIXEL00_1M
-    PIXEL01_1
-    PIXEL02_1M
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1D
-    PIXEL21_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag25
-    PIXEL00_1U
-    PIXEL01_1
-    PIXEL02_1M
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1M
-    PIXEL21_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag26
-..@flag31
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL10_C,PIXEL00_4,PIXEL10_3
-    PIXEL01_C
-    DiffOrNot w2,w6,PIXEL02_C,PIXEL12_C,PIXEL02_4,PIXEL12_3
-    PIXEL11
-    PIXEL20_1M
-    PIXEL21_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag82
-..@flag214
-    PIXEL00_1M
-    DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL01_3,PIXEL02_4
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1M
-    DiffOrNot w6,w8,PIXEL21_C,PIXEL22_C,PIXEL21_3,PIXEL22_4
-    jmp .loopx_end
-..@flag88
-..@flag248
-    PIXEL00_1M
-    PIXEL01_1
-    PIXEL02_1M
-    PIXEL11
-    DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL10_3,PIXEL20_4
-    PIXEL21_C
-    DiffOrNot w6,w8,PIXEL12_C,PIXEL22_C,PIXEL12_3,PIXEL22_4
-    jmp .loopx_end
-..@flag74
-..@flag107
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL00_4,PIXEL01_3
-    PIXEL02_1M
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_1
-    DiffOrNot w8,w4,PIXEL20_C,PIXEL21_C,PIXEL20_4,PIXEL21_3
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag27
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL00_4,PIXEL01_3,PIXEL10_3
-    PIXEL02_1M
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1M
-    PIXEL21_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag86
-    PIXEL00_1M
-    DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL01_3,PIXEL02_4,PIXEL12_3
-    PIXEL10_1
-    PIXEL11
-    PIXEL20_1M
-    PIXEL21_C
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag216
-    PIXEL00_1M
-    PIXEL01_1
-    PIXEL02_1M
-    PIXEL10_C
-    PIXEL11
-    PIXEL20_1M
-    DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL12_3,PIXEL21_3,PIXEL22_4
-    jmp .loopx_end
-..@flag106
-    PIXEL00_1M
-    PIXEL01_C
-    PIXEL02_1M
-    PIXEL11
-    PIXEL12_1
-    DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL10_3,PIXEL20_4,PIXEL21_3
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag30
-    PIXEL00_1M
-    DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL01_3,PIXEL02_4,PIXEL12_3
-    PIXEL10_C
-    PIXEL11
-    PIXEL20_1M
-    PIXEL21_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag210
-    PIXEL00_1M
-    PIXEL01_C
-    PIXEL02_1M
-    PIXEL10_1
-    PIXEL11
-    PIXEL20_1M
-    DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL12_3,PIXEL21_3,PIXEL22_4
-    jmp .loopx_end
-..@flag120
-    PIXEL00_1M
-    PIXEL01_1
-    PIXEL02_1M
-    PIXEL11
-    PIXEL12_C
-    DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL10_3,PIXEL20_4,PIXEL21_3
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag75
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL00_4,PIXEL01_3,PIXEL10_3
-    PIXEL02_1M
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1M
-    PIXEL21_C
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag29
-    PIXEL00_1U
-    PIXEL01_1
-    PIXEL02_1U
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1M
-    PIXEL21_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag198
-    PIXEL00_1M
-    PIXEL01_C
-    PIXEL02_1R
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1M
-    PIXEL21_C
-    PIXEL22_1R
-    jmp .loopx_end
-..@flag184
-    PIXEL00_1M
-    PIXEL01_1
-    PIXEL02_1M
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1D
-    PIXEL21_1
-    PIXEL22_1D
-    jmp .loopx_end
-..@flag99
-    PIXEL00_1L
-    PIXEL01_C
-    PIXEL02_1M
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1L
-    PIXEL21_C
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag57
-    PIXEL00_1U
-    PIXEL01_1
-    PIXEL02_1M
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1D
-    PIXEL21_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag71
-    PIXEL00_1L
-    PIXEL01_C
-    PIXEL02_1R
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1M
-    PIXEL21_C
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag156
-    PIXEL00_1M
-    PIXEL01_1
-    PIXEL02_1U
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1M
-    PIXEL21_1
-    PIXEL22_1D
-    jmp .loopx_end
-..@flag226
-    PIXEL00_1M
-    PIXEL01_C
-    PIXEL02_1M
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1L
-    PIXEL21_C
-    PIXEL22_1R
-    jmp .loopx_end
-..@flag60
-    PIXEL00_1M
-    PIXEL01_1
-    PIXEL02_1U
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1D
-    PIXEL21_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag195
-    PIXEL00_1L
-    PIXEL01_C
-    PIXEL02_1M
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1M
-    PIXEL21_C
-    PIXEL22_1R
-    jmp .loopx_end
-..@flag102
-    PIXEL00_1M
-    PIXEL01_C
-    PIXEL02_1R
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1L
-    PIXEL21_C
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag153
-    PIXEL00_1U
-    PIXEL01_1
-    PIXEL02_1M
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1M
-    PIXEL21_1
-    PIXEL22_1D
-    jmp .loopx_end
-..@flag58
-    DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
-    PIXEL01_C
-    DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1D
-    PIXEL21_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag83
-    PIXEL00_1L
-    PIXEL01_C
-    DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1M
-    PIXEL21_C
-    DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
-    jmp .loopx_end
-..@flag92
-    PIXEL00_1M
-    PIXEL01_1
-    PIXEL02_1U
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
-    PIXEL21_C
-    DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
-    jmp .loopx_end
-..@flag202
-    DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
-    PIXEL01_C
-    PIXEL02_1M
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_1
-    DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
-    PIXEL21_C
-    PIXEL22_1R
-    jmp .loopx_end
-..@flag78
-    DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
-    PIXEL01_C
-    PIXEL02_1R
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_1
-    DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
-    PIXEL21_C
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag154
-    DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
-    PIXEL01_C
-    DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1M
-    PIXEL21_1
-    PIXEL22_1D
-    jmp .loopx_end
-..@flag114
-    PIXEL00_1M
-    PIXEL01_C
-    DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1L
-    PIXEL21_C
-    DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
-    jmp .loopx_end
-..@flag89
-    PIXEL00_1U
-    PIXEL01_1
-    PIXEL02_1M
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
-    PIXEL21_C
-    DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
-    jmp .loopx_end
-..@flag90
-    DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
-    PIXEL01_C
-    DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
-    PIXEL21_C
-    DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
-    jmp .loopx_end
-..@flag55
-..@flag23
-    DiffOrNot w2,w6,PIXEL00_1L,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL00_2,PIXEL01_6,PIXEL02_5,PIXEL12_1
-    PIXEL10_1
-    PIXEL11
-    PIXEL20_2
-    PIXEL21_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag182
-..@flag150
-    DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL22_1D,PIXEL01_1,PIXEL02_5,PIXEL12_6,PIXEL22_2
-    PIXEL00_1M
-    PIXEL10_1
-    PIXEL11
-    PIXEL20_2
-    PIXEL21_1
-    jmp .loopx_end
-..@flag213
-..@flag212
-    DiffOrNot w6,w8,PIXEL02_1U,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL02_2,PIXEL12_6,PIXEL21_1,PIXEL22_5
-    PIXEL00_2
-    PIXEL01_1
-    PIXEL10_1
-    PIXEL11
-    PIXEL20_1M
-    jmp .loopx_end
-..@flag241
-..@flag240
-    DiffOrNot w6,w8,PIXEL12_C,PIXEL20_1L,PIXEL21_C,PIXEL22_C,PIXEL12_1,PIXEL20_2,PIXEL21_6,PIXEL22_5
-    PIXEL00_2
-    PIXEL01_1
-    PIXEL02_1M
-    PIXEL10_1
-    PIXEL11
-    jmp .loopx_end
-..@flag236
-..@flag232
-    DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL22_1R,PIXEL10_1,PIXEL20_5,PIXEL21_6,PIXEL22_2
-    PIXEL00_1M
-    PIXEL01_1
-    PIXEL02_2
-    PIXEL11
-    PIXEL12_1
-    jmp .loopx_end
-..@flag109
-..@flag105
-    DiffOrNot w8,w4,PIXEL00_1U,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL00_2,PIXEL10_6,PIXEL20_5,PIXEL21_1
-    PIXEL01_1
-    PIXEL02_2
-    PIXEL11
-    PIXEL12_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag171
-..@flag43
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL20_1D,PIXEL00_5,PIXEL01_1,PIXEL10_6,PIXEL20_2
-    PIXEL02_1M
-    PIXEL11
-    PIXEL12_1
-    PIXEL21_1
-    PIXEL22_2
-    jmp .loopx_end
-..@flag143
-..@flag15
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL02_1R,PIXEL10_C,PIXEL00_5,PIXEL01_6,PIXEL02_2,PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1M
-    PIXEL21_1
-    PIXEL22_2
-    jmp .loopx_end
-..@flag124
-    PIXEL00_1M
-    PIXEL01_1
-    PIXEL02_1U
-    PIXEL11
-    PIXEL12_C
-    DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL10_3,PIXEL20_4,PIXEL21_3
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag203
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL00_4,PIXEL01_3,PIXEL10_3
-    PIXEL02_1M
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1M
-    PIXEL21_C
-    PIXEL22_1R
-    jmp .loopx_end
-..@flag62
-    PIXEL00_1M
-    DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL01_3,PIXEL02_4,PIXEL12_3
-    PIXEL10_C
-    PIXEL11
-    PIXEL20_1D
-    PIXEL21_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag211
-    PIXEL00_1L
-    PIXEL01_C
-    PIXEL02_1M
-    PIXEL10_1
-    PIXEL11
-    PIXEL20_1M
-    DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL12_3,PIXEL21_3,PIXEL22_4
-    jmp .loopx_end
-..@flag118
-    PIXEL00_1M
-    DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL01_3,PIXEL02_4,PIXEL12_3
-    PIXEL10_1
-    PIXEL11
-    PIXEL20_1L
-    PIXEL21_C
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag217
-    PIXEL00_1U
-    PIXEL01_1
-    PIXEL02_1M
-    PIXEL10_C
-    PIXEL11
-    PIXEL20_1M
-    DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL12_3,PIXEL21_3,PIXEL22_4
-    jmp .loopx_end
-..@flag110
-    PIXEL00_1M
-    PIXEL01_C
-    PIXEL02_1R
-    PIXEL11
-    PIXEL12_1
-    DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL10_3,PIXEL20_4,PIXEL21_3
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag155
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL00_4,PIXEL01_3,PIXEL10_3
-    PIXEL02_1M
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1M
-    PIXEL21_1
-    PIXEL22_1D
-    jmp .loopx_end
-..@flag188
-    PIXEL00_1M
-    PIXEL01_1
-    PIXEL02_1U
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1D
-    PIXEL21_1
-    PIXEL22_1D
-    jmp .loopx_end
-..@flag185
-    PIXEL00_1U
-    PIXEL01_1
-    PIXEL02_1M
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1D
-    PIXEL21_1
-    PIXEL22_1D
-    jmp .loopx_end
-..@flag61
-    PIXEL00_1U
-    PIXEL01_1
-    PIXEL02_1U
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1D
-    PIXEL21_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag157
-    PIXEL00_1U
-    PIXEL01_1
-    PIXEL02_1U
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1M
-    PIXEL21_1
-    PIXEL22_1D
-    jmp .loopx_end
-..@flag103
-    PIXEL00_1L
-    PIXEL01_C
-    PIXEL02_1R
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1L
-    PIXEL21_C
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag227
-    PIXEL00_1L
-    PIXEL01_C
-    PIXEL02_1M
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1L
-    PIXEL21_C
-    PIXEL22_1R
-    jmp .loopx_end
-..@flag230
-    PIXEL00_1M
-    PIXEL01_C
-    PIXEL02_1R
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1L
-    PIXEL21_C
-    PIXEL22_1R
-    jmp .loopx_end
-..@flag199
-    PIXEL00_1L
-    PIXEL01_C
-    PIXEL02_1R
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1M
-    PIXEL21_C
-    PIXEL22_1R
-    jmp .loopx_end
-..@flag220
-    PIXEL00_1M
-    PIXEL01_1
-    PIXEL02_1U
-    PIXEL10_C
-    PIXEL11
-    DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
-    DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL12_3,PIXEL21_3,PIXEL22_4
-    jmp .loopx_end
-..@flag158
-    DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
-    DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL01_3,PIXEL02_4,PIXEL12_3
-    PIXEL10_C
-    PIXEL11
-    PIXEL20_1M
-    PIXEL21_1
-    PIXEL22_1D
-    jmp .loopx_end
-..@flag234
-    DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
-    PIXEL01_C
-    PIXEL02_1M
-    PIXEL11
-    PIXEL12_1
-    DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL10_3,PIXEL20_4,PIXEL21_3
-    PIXEL22_1R
-    jmp .loopx_end
-..@flag242
-    PIXEL00_1M
-    PIXEL01_C
-    DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
-    PIXEL10_1
-    PIXEL11
-    PIXEL20_1L
-    DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL12_3,PIXEL21_3,PIXEL22_4
-    jmp .loopx_end
-..@flag59
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL00_4,PIXEL01_3,PIXEL10_3
-    DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1D
-    PIXEL21_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag121
-    PIXEL00_1U
-    PIXEL01_1
-    PIXEL02_1M
-    PIXEL11
-    PIXEL12_C
-    DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL10_3,PIXEL20_4,PIXEL21_3
-    DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
-    jmp .loopx_end
-..@flag87
-    PIXEL00_1L
-    DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL01_3,PIXEL02_4,PIXEL12_3
-    PIXEL10_1
-    PIXEL11
-    PIXEL20_1M
-    PIXEL21_C
-    DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
-    jmp .loopx_end
-..@flag79
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL00_4,PIXEL01_3,PIXEL10_3
-    PIXEL02_1R
-    PIXEL11
-    PIXEL12_1
-    DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
-    PIXEL21_C
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag122
-    DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
-    PIXEL01_C
-    DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
-    PIXEL11
-    PIXEL12_C
-    DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL10_3,PIXEL20_4,PIXEL21_3
-    DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
-    jmp .loopx_end
-..@flag94
-    DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
-    DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL01_3,PIXEL02_4,PIXEL12_3
-    PIXEL10_C
-    PIXEL11
-    DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
-    PIXEL21_C
-    DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
-    jmp .loopx_end
-..@flag218
-    DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
-    PIXEL01_C
-    DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
-    PIXEL10_C
-    PIXEL11
-    DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
-    DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL12_3,PIXEL21_3,PIXEL22_4
-    jmp .loopx_end
-..@flag91
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL00_4,PIXEL01_3,PIXEL10_3
-    DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
-    PIXEL11
-    PIXEL12_C
-    DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
-    PIXEL21_C
-    DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
-    jmp .loopx_end
-..@flag229
-    PIXEL00_2
-    PIXEL01_1
-    PIXEL02_2
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1L
-    PIXEL21_C
-    PIXEL22_1R
-    jmp .loopx_end
-..@flag167
-    PIXEL00_1L
-    PIXEL01_C
-    PIXEL02_1R
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_2
-    PIXEL21_1
-    PIXEL22_2
-    jmp .loopx_end
-..@flag173
-    PIXEL00_1U
-    PIXEL01_1
-    PIXEL02_2
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1D
-    PIXEL21_1
-    PIXEL22_2
-    jmp .loopx_end
-..@flag181
-    PIXEL00_2
-    PIXEL01_1
-    PIXEL02_1U
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_2
-    PIXEL21_1
-    PIXEL22_1D
-    jmp .loopx_end
-..@flag186
-    DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
-    PIXEL01_C
-    DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1D
-    PIXEL21_1
-    PIXEL22_1D
-    jmp .loopx_end
-..@flag115
-    PIXEL00_1L
-    PIXEL01_C
-    DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1L
-    PIXEL21_C
-    DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
-    jmp .loopx_end
-..@flag93
-    PIXEL00_1U
-    PIXEL01_1
-    PIXEL02_1U
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
-    PIXEL21_C
-    DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
-    jmp .loopx_end
-..@flag206
-    DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
-    PIXEL01_C
-    PIXEL02_1R
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_1
-    DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
-    PIXEL21_C
-    PIXEL22_1R
-    jmp .loopx_end
-..@flag205
-..@flag201
-    PIXEL00_1U
-    PIXEL01_1
-    PIXEL02_2
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_1
-    DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
-    PIXEL21_C
-    PIXEL22_1R
-    jmp .loopx_end
-..@flag174
-..@flag46
-    DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
-    PIXEL01_C
-    PIXEL02_1R
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1D
-    PIXEL21_1
-    PIXEL22_2
-    jmp .loopx_end
-..@flag179
-..@flag147
-    PIXEL00_1L
-    PIXEL01_C
-    DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_2
-    PIXEL21_1
-    PIXEL22_1D
-    jmp .loopx_end
-..@flag117
-..@flag116
-    PIXEL00_2
-    PIXEL01_1
-    PIXEL02_1U
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1L
-    PIXEL21_C
-    DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
-    jmp .loopx_end
-..@flag189
-    PIXEL00_1U
-    PIXEL01_1
-    PIXEL02_1U
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1D
-    PIXEL21_1
-    PIXEL22_1D
-    jmp .loopx_end
-..@flag231
-    PIXEL00_1L
-    PIXEL01_C
-    PIXEL02_1R
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1L
-    PIXEL21_C
-    PIXEL22_1R
-    jmp .loopx_end
-..@flag126
-    PIXEL00_1M
-    DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL01_3,PIXEL02_4,PIXEL12_3
-    PIXEL11
-    DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL10_3,PIXEL20_4,PIXEL21_3
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag219
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL00_4,PIXEL01_3,PIXEL10_3
-    PIXEL02_1M
-    PIXEL11
-    PIXEL20_1M
-    DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL12_3,PIXEL21_3,PIXEL22_4
-    jmp .loopx_end
-..@flag125
-    DiffOrNot w8,w4,PIXEL00_1U,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL00_2,PIXEL10_6,PIXEL20_5,PIXEL21_1
-    PIXEL01_1
-    PIXEL02_1U
-    PIXEL11
-    PIXEL12_C
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag221
-    DiffOrNot w6,w8,PIXEL02_1U,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL02_2,PIXEL12_6,PIXEL21_1,PIXEL22_5
-    PIXEL00_1U
-    PIXEL01_1
-    PIXEL10_C
-    PIXEL11
-    PIXEL20_1M
-    jmp .loopx_end
-..@flag207
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL02_1R,PIXEL10_C,PIXEL00_5,PIXEL01_6,PIXEL02_2,PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1M
-    PIXEL21_C
-    PIXEL22_1R
-    jmp .loopx_end
-..@flag238
-    DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL22_1R,PIXEL10_1,PIXEL20_5,PIXEL21_6,PIXEL22_2
-    PIXEL00_1M
-    PIXEL01_C
-    PIXEL02_1R
-    PIXEL11
-    PIXEL12_1
-    jmp .loopx_end
-..@flag190
-    DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL22_1D,PIXEL01_1,PIXEL02_5,PIXEL12_6,PIXEL22_2
-    PIXEL00_1M
-    PIXEL10_C
-    PIXEL11
-    PIXEL20_1D
-    PIXEL21_1
-    jmp .loopx_end
-..@flag187
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL20_1D,PIXEL00_5,PIXEL01_1,PIXEL10_6,PIXEL20_2
-    PIXEL02_1M
-    PIXEL11
-    PIXEL12_C
-    PIXEL21_1
-    PIXEL22_1D
-    jmp .loopx_end
-..@flag243
-    DiffOrNot w6,w8,PIXEL12_C,PIXEL20_1L,PIXEL21_C,PIXEL22_C,PIXEL12_1,PIXEL20_2,PIXEL21_6,PIXEL22_5
-    PIXEL00_1L
-    PIXEL01_C
-    PIXEL02_1M
-    PIXEL10_1
-    PIXEL11
-    jmp .loopx_end
-..@flag119
-    DiffOrNot w2,w6,PIXEL00_1L,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL00_2,PIXEL01_6,PIXEL02_5,PIXEL12_1
-    PIXEL10_1
-    PIXEL11
-    PIXEL20_1L
-    PIXEL21_C
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag237
-..@flag233
-    PIXEL00_1U
-    PIXEL01_1
-    PIXEL02_2
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_1
-    DiffOrNot w8,w4,PIXEL20_C,PIXEL20_2
-    PIXEL21_C
-    PIXEL22_1R
-    jmp .loopx_end
-..@flag175
-..@flag47
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL00_2
-    PIXEL01_C
-    PIXEL02_1R
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1D
-    PIXEL21_1
-    PIXEL22_2
-    jmp .loopx_end
-..@flag183
-..@flag151
-    PIXEL00_1L
-    PIXEL01_C
-    DiffOrNot w2,w6,PIXEL02_C,PIXEL02_2
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_2
-    PIXEL21_1
-    PIXEL22_1D
-    jmp .loopx_end
-..@flag245
-..@flag244
-    PIXEL00_2
-    PIXEL01_1
-    PIXEL02_1U
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1L
-    PIXEL21_C
-    DiffOrNot w6,w8,PIXEL22_C,PIXEL22_2
-    jmp .loopx_end
-..@flag250
-    PIXEL00_1M
-    PIXEL01_C
-    PIXEL02_1M
-    PIXEL11
-    DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL10_3,PIXEL20_4
-    PIXEL21_C
-    DiffOrNot w6,w8,PIXEL12_C,PIXEL22_C,PIXEL12_3,PIXEL22_4
-    jmp .loopx_end
-..@flag123
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL00_4,PIXEL01_3
-    PIXEL02_1M
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    DiffOrNot w8,w4,PIXEL20_C,PIXEL21_C,PIXEL20_4,PIXEL21_3
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag95
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL10_C,PIXEL00_4,PIXEL10_3
-    PIXEL01_C
-    DiffOrNot w2,w6,PIXEL02_C,PIXEL12_C,PIXEL02_4,PIXEL12_3
-    PIXEL11
-    PIXEL20_1M
-    PIXEL21_C
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag222
-    PIXEL00_1M
-    DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL01_3,PIXEL02_4
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1M
-    DiffOrNot w6,w8,PIXEL21_C,PIXEL22_C,PIXEL21_3,PIXEL22_4
-    jmp .loopx_end
-..@flag252
-    PIXEL00_1M
-    PIXEL01_1
-    PIXEL02_1U
-    PIXEL11
-    PIXEL12_C
-    DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL10_3,PIXEL20_4
-    PIXEL21_C
-    DiffOrNot w6,w8,PIXEL22_C,PIXEL22_2
-    jmp .loopx_end
-..@flag249
-    PIXEL00_1U
-    PIXEL01_1
-    PIXEL02_1M
-    PIXEL10_C
-    PIXEL11
-    DiffOrNot w8,w4,PIXEL20_C,PIXEL20_2
-    PIXEL21_C
-    DiffOrNot w6,w8,PIXEL12_C,PIXEL22_C,PIXEL12_3,PIXEL22_4
-    jmp .loopx_end
-..@flag235
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL00_4,PIXEL01_3
-    PIXEL02_1M
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_1
-    DiffOrNot w8,w4,PIXEL20_C,PIXEL20_2
-    PIXEL21_C
-    PIXEL22_1R
-    jmp .loopx_end
-..@flag111
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL00_2
-    PIXEL01_C
-    PIXEL02_1R
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_1
-    DiffOrNot w8,w4,PIXEL20_C,PIXEL21_C,PIXEL20_4,PIXEL21_3
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag63
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL00_2
-    PIXEL01_C
-    DiffOrNot w2,w6,PIXEL02_C,PIXEL12_C,PIXEL02_4,PIXEL12_3
-    PIXEL10_C
-    PIXEL11
-    PIXEL20_1D
-    PIXEL21_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag159
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL10_C,PIXEL00_4,PIXEL10_3
-    PIXEL01_C
-    DiffOrNot w2,w6,PIXEL02_C,PIXEL02_2
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1M
-    PIXEL21_1
-    PIXEL22_1D
-    jmp .loopx_end
-..@flag215
-    PIXEL00_1L
-    PIXEL01_C
-    DiffOrNot w2,w6,PIXEL02_C,PIXEL02_2
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1M
-    DiffOrNot w6,w8,PIXEL21_C,PIXEL22_C,PIXEL21_3,PIXEL22_4
-    jmp .loopx_end
-..@flag246
-    PIXEL00_1M
-    DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL01_3,PIXEL02_4
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1L
-    PIXEL21_C
-    DiffOrNot w6,w8,PIXEL22_C,PIXEL22_2
-    jmp .loopx_end
-..@flag254
-    PIXEL00_1M
-    DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL01_3,PIXEL02_4
-    PIXEL11
-    DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL10_3,PIXEL20_4
-    DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL12_3,PIXEL21_3,PIXEL22_2
-    jmp .loopx_end
-..@flag253
-    PIXEL00_1U
-    PIXEL01_1
-    PIXEL02_1U
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    DiffOrNot w8,w4,PIXEL20_C,PIXEL20_2
-    PIXEL21_C
-    DiffOrNot w6,w8,PIXEL22_C,PIXEL22_2
-    jmp .loopx_end
-..@flag251
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL00_4,PIXEL01_3
-    PIXEL02_1M
-    PIXEL11
-    DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL10_3,PIXEL20_2,PIXEL21_3
-    DiffOrNot w6,w8,PIXEL12_C,PIXEL22_C,PIXEL12_3,PIXEL22_4
-    jmp .loopx_end
-..@flag239
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL00_2
-    PIXEL01_C
-    PIXEL02_1R
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_1
-    DiffOrNot w8,w4,PIXEL20_C,PIXEL20_2
-    PIXEL21_C
-    PIXEL22_1R
-    jmp .loopx_end
-..@flag127
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL00_2,PIXEL01_3,PIXEL10_3
-    DiffOrNot w2,w6,PIXEL02_C,PIXEL12_C,PIXEL02_4,PIXEL12_3
-    PIXEL11
-    DiffOrNot w8,w4,PIXEL20_C,PIXEL21_C,PIXEL20_4,PIXEL21_3
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag191
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL00_2
-    PIXEL01_C
-    DiffOrNot w2,w6,PIXEL02_C,PIXEL02_2
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1D
-    PIXEL21_1
-    PIXEL22_1D
-    jmp .loopx_end
-..@flag223
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL10_C,PIXEL00_4,PIXEL10_3
-    DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL01_3,PIXEL02_2,PIXEL12_3
-    PIXEL11
-    PIXEL20_1M
-    DiffOrNot w6,w8,PIXEL21_C,PIXEL22_C,PIXEL21_3,PIXEL22_4
-    jmp .loopx_end
-..@flag247
-    PIXEL00_1L
-    PIXEL01_C
-    DiffOrNot w2,w6,PIXEL02_C,PIXEL02_2
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1L
-    PIXEL21_C
-    DiffOrNot w6,w8,PIXEL22_C,PIXEL22_2
-    jmp .loopx_end
-..@flag255
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL00_2
-    PIXEL01_C
-    DiffOrNot w2,w6,PIXEL02_C,PIXEL02_2
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    DiffOrNot w8,w4,PIXEL20_C,PIXEL20_2
-    PIXEL21_C
-    DiffOrNot w6,w8,PIXEL22_C,PIXEL22_2
-    jmp .loopx_end
-
-..@cross0
-    mov edx,eax
-    shl eax,16
-    or  eax,edx
-    mov [edi],eax
-    mov [edi+4],ax
-    mov [edi+ebx],eax
-    mov [edi+ebx+4],ax
-    mov [edi+ebx*2],eax
-    mov [edi+ebx*2+4],ax
-    jmp .loopx_end
-..@cross1
-    mov edx,eax
-    shl eax,16
-    or  eax,edx
-    mov ecx,[w2]
-    and edx,[zerolowbits]
-    and ecx,[zerolowbits]
-    add ecx,edx
-    shr ecx,1
-    add ecx,0x0821
-    and ecx,[zerolowbits]
-    add edx,ecx
-    shr edx,1
-    mov [edi],dx
-    mov [edi+2],dx
-    mov [edi+4],dx
-    mov [edi+ebx],eax
-    mov [edi+ebx+4],ax
-    mov [edi+ebx*2],eax
-    mov [edi+ebx*2+4],ax
-    jmp .loopx_end
-..@cross2
-    mov edx,eax
-    shl eax,16
-    or  eax,edx
-    mov ecx,[w4]
-    and edx,[zerolowbits]
-    and ecx,[zerolowbits]
-    add ecx,edx
-    shr ecx,1
-    add ecx,0x0821
-    and ecx,[zerolowbits]
-    add edx,ecx
-    shr edx,1
-    mov [edi],dx
-    mov [edi+2],eax
-    mov [edi+ebx],dx
-    mov [edi+ebx+2],eax
-    mov [edi+ebx*2],dx
-    mov [edi+ebx*2+2],eax
-    jmp .loopx_end
-..@cross4
-    mov edx,eax
-    shl eax,16
-    or  eax,edx
-    mov ecx,[w6]
-    and edx,[zerolowbits]
-    and ecx,[zerolowbits]
-    add ecx,edx
-    shr ecx,1
-    add ecx,0x0821
-    and ecx,[zerolowbits]
-    add edx,ecx
-    shr edx,1
-    mov [edi],eax
-    mov [edi+4],dx
-    mov [edi+ebx],eax
-    mov [edi+ebx+4],dx
-    mov [edi+ebx*2],eax
-    mov [edi+ebx*2+4],dx
-    jmp .loopx_end
-..@cross8
-    mov edx,eax
-    shl eax,16
-    or  eax,edx
-    mov ecx,[w8]
-    and edx,[zerolowbits]
-    and ecx,[zerolowbits]
-    add ecx,edx
-    shr ecx,1
-    add ecx,0x0821
-    and ecx,[zerolowbits]
-    add edx,ecx
-    shr edx,1
-    mov [edi],eax
-    mov [edi+4],ax
-    mov [edi+ebx],eax
-    mov [edi+ebx+4],ax
-    mov [edi+ebx*2],dx
-    mov [edi+ebx*2+2],dx
-    mov [edi+ebx*2+4],dx
-    jmp     .loopx_end
-
-.loopx_end
-    add     esi,2
-    add     edi,6
-    dec     dword[xcounter]
-    jle     .xres_2
-    jmp     .loopx
-.xres_2
-    ; x=Xres-2 - special case
-    jl      .xres_1
-    mov     ebx,[prevline]
-    movq    mm5,[esi+ebx-4]
-    movq    mm6,[esi-4]
-    mov     ebx,[nextline]
-    movq    mm7,[esi+ebx-4]
-    psrlq   mm5,16
-    psrlq   mm6,16
-    psrlq   mm7,16
-    movd    eax,mm5
-    movzx   edx,ax
-    mov     [w1],edx
-    shr     eax,16
-    mov     [w2],eax
-    psrlq   mm5,32
-    movd    eax,mm5
-    mov     [w3],eax
-    movd    eax,mm6
-    movzx   edx,ax
-    mov     [w4],edx
-    shr     eax,16
-    mov     [w5],eax
-    psrlq   mm6,32
-    movd    eax,mm6
-    mov     [w6],eax
-    movd    eax,mm7
-    movzx   edx,ax
-    mov     [w7],edx
-    shr     eax,16
-    mov     [w8],eax
-    psrlq   mm7,32
-    movd    eax,mm7
-    mov     [w9],eax
-    jmp     .flags
-.xres_1
-    cmp     dword[xcounter],-1
-    jl      .nexty
-    ; x=Xres-1 - special case
-    mov     ebx,[prevline]
-    movq    mm5,[esi+ebx-6]
-    movq    mm6,[esi-6]
-    mov     ebx,[nextline]
-    movq    mm7,[esi+ebx-6]
-    psrlq   mm5,32
-    psrlq   mm6,32
-    psrlq   mm7,32
-    movd    eax,mm5
-    movzx   edx,ax  
-    mov     [w1],edx
-    shr     eax,16
-    mov     [w2],eax
-    mov     [w3],eax
-    movd    eax,mm6
-    movzx   edx,ax  
-    mov     [w4],edx
-    shr     eax,16
-    mov     [w5],eax
-    mov     [w6],eax
-    movd    eax,mm7
-    movzx   edx,ax  
-    mov     [w7],edx
-    shr     eax,16
-    mov     [w8],eax
-    mov     [w9],eax
-    jmp     .flags
-.nexty
-    add     edi,ebx
-    add     edi,ebx
-    dec     dword[linesleft]
-    jz      .fin
-    mov     ebx,[ebp+Xres]
-    shl     ebx,1
-    cmp     dword[linesleft],1
-    je      .lastline
-    mov     dword[nextline],ebx
-    neg     ebx
-    mov     dword[prevline],ebx
-    jmp     .loopy
-.lastline
-    mov     dword[nextline],0
-    neg     ebx
-    mov     dword[prevline],ebx
-    jmp     .loopy
-.fin
-    emms
-    popad
-    mov esp,ebp
-    pop ebp
-    ret
-
-SECTION .data
-FuncTable
-    dd ..@flag0, ..@flag1, ..@flag2, ..@flag3, ..@flag4, ..@flag5, ..@flag6, ..@flag7
-    dd ..@flag8, ..@flag9, ..@flag10, ..@flag11, ..@flag12, ..@flag13, ..@flag14, ..@flag15
-    dd ..@flag16, ..@flag17, ..@flag18, ..@flag19, ..@flag20, ..@flag21, ..@flag22, ..@flag23
-    dd ..@flag24, ..@flag25, ..@flag26, ..@flag27, ..@flag28, ..@flag29, ..@flag30, ..@flag31
-    dd ..@flag32, ..@flag33, ..@flag34, ..@flag35, ..@flag36, ..@flag37, ..@flag38, ..@flag39
-    dd ..@flag40, ..@flag41, ..@flag42, ..@flag43, ..@flag44, ..@flag45, ..@flag46, ..@flag47
-    dd ..@flag48, ..@flag49, ..@flag50, ..@flag51, ..@flag52, ..@flag53, ..@flag54, ..@flag55
-    dd ..@flag56, ..@flag57, ..@flag58, ..@flag59, ..@flag60, ..@flag61, ..@flag62, ..@flag63
-    dd ..@flag64, ..@flag65, ..@flag66, ..@flag67, ..@flag68, ..@flag69, ..@flag70, ..@flag71
-    dd ..@flag72, ..@flag73, ..@flag74, ..@flag75, ..@flag76, ..@flag77, ..@flag78, ..@flag79
-    dd ..@flag80, ..@flag81, ..@flag82, ..@flag83, ..@flag84, ..@flag85, ..@flag86, ..@flag87
-    dd ..@flag88, ..@flag89, ..@flag90, ..@flag91, ..@flag92, ..@flag93, ..@flag94, ..@flag95
-    dd ..@flag96, ..@flag97, ..@flag98, ..@flag99, ..@flag100, ..@flag101, ..@flag102, ..@flag103
-    dd ..@flag104, ..@flag105, ..@flag106, ..@flag107, ..@flag108, ..@flag109, ..@flag110, ..@flag111
-    dd ..@flag112, ..@flag113, ..@flag114, ..@flag115, ..@flag116, ..@flag117, ..@flag118, ..@flag119
-    dd ..@flag120, ..@flag121, ..@flag122, ..@flag123, ..@flag124, ..@flag125, ..@flag126, ..@flag127
-    dd ..@flag128, ..@flag129, ..@flag130, ..@flag131, ..@flag132, ..@flag133, ..@flag134, ..@flag135
-    dd ..@flag136, ..@flag137, ..@flag138, ..@flag139, ..@flag140, ..@flag141, ..@flag142, ..@flag143
-    dd ..@flag144, ..@flag145, ..@flag146, ..@flag147, ..@flag148, ..@flag149, ..@flag150, ..@flag151
-    dd ..@flag152, ..@flag153, ..@flag154, ..@flag155, ..@flag156, ..@flag157, ..@flag158, ..@flag159
-    dd ..@flag160, ..@flag161, ..@flag162, ..@flag163, ..@flag164, ..@flag165, ..@flag166, ..@flag167
-    dd ..@flag168, ..@flag169, ..@flag170, ..@flag171, ..@flag172, ..@flag173, ..@flag174, ..@flag175
-    dd ..@flag176, ..@flag177, ..@flag178, ..@flag179, ..@flag180, ..@flag181, ..@flag182, ..@flag183
-    dd ..@flag184, ..@flag185, ..@flag186, ..@flag187, ..@flag188, ..@flag189, ..@flag190, ..@flag191
-    dd ..@flag192, ..@flag193, ..@flag194, ..@flag195, ..@flag196, ..@flag197, ..@flag198, ..@flag199
-    dd ..@flag200, ..@flag201, ..@flag202, ..@flag203, ..@flag204, ..@flag205, ..@flag206, ..@flag207
-    dd ..@flag208, ..@flag209, ..@flag210, ..@flag211, ..@flag212, ..@flag213, ..@flag214, ..@flag215
-    dd ..@flag216, ..@flag217, ..@flag218, ..@flag219, ..@flag220, ..@flag221, ..@flag222, ..@flag223
-    dd ..@flag224, ..@flag225, ..@flag226, ..@flag227, ..@flag228, ..@flag229, ..@flag230, ..@flag231
-    dd ..@flag232, ..@flag233, ..@flag234, ..@flag235, ..@flag236, ..@flag237, ..@flag238, ..@flag239
-    dd ..@flag240, ..@flag241, ..@flag242, ..@flag243, ..@flag244, ..@flag245, ..@flag246, ..@flag247
-    dd ..@flag248, ..@flag249, ..@flag250, ..@flag251, ..@flag252, ..@flag253, ..@flag254, ..@flag255
-
-FuncTable2
-    dd ..@cross0, ..@cross1, ..@cross2, ..@flag0,
-    dd ..@cross4, ..@flag0,  ..@flag0,  ..@flag0,
-    dd ..@cross8, ..@flag0,  ..@flag0,  ..@flag0,
-    dd ..@flag0,  ..@flag0,  ..@flag0,  ..@flag0
-
diff --git a/od-win32/hq3x32.asm b/od-win32/hq3x32.asm
deleted file mode 100644 (file)
index 16923b6..0000000
+++ /dev/null
@@ -1,2563 +0,0 @@
-;hq3x filter
-;32bpp output
-;----------------------------------------------------------
-;Copyright (C) 2003 MaxSt ( maxst@hiend3d.com )
-;
-;This program is free software; you can redistribute it and/or
-;modify it under the terms of the GNU General Public License
-;as published by the Free Software Foundation; either
-;version 2 of the License, or (at your option) any later
-;version.
-;
-;This program is distributed in the hope that it will be useful,
-;but WITHOUT ANY WARRANTY; without even the implied warranty of
-;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;GNU General Public License for more details.
-;
-;You should have received a copy of the GNU General Public License
-;along with this program; if not, write to the Free Software
-;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-GLOBAL _hq3x_32
-
-EXTERN _LUT16to32
-EXTERN _RGBtoYUV
-
-SECTION .bss
-linesleft resd 1
-xcounter  resd 1
-cross     resd 1
-nextline  resd 1
-prevline  resd 1
-w1        resd 1
-w2        resd 1
-w3        resd 1
-w4        resd 1
-w5        resd 1
-w6        resd 1
-w7        resd 1
-w8        resd 1
-w9        resd 1
-c1        resd 1
-c2        resd 1
-c3        resd 1
-c4        resd 1
-c5        resd 1
-c6        resd 1
-c7        resd 1
-c8        resd 1
-c9        resd 1
-
-SECTION .data
-
-reg_blank    dd  0,0
-const7       dd  0x00070007,0x00000007
-threshold    dd  0x00300706,0x00000000
-
-SECTION .text
-
-%macro TestDiff 2
-    xor     ecx,ecx
-    mov     edx,[%1]
-    cmp     edx,[%2]
-    je      %%fin
-    mov     ecx,_RGBtoYUV
-    movd    mm1,[ecx+edx*4]
-    movq    mm5,mm1
-    mov     edx,[%2]
-    movd    mm2,[ecx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    ecx,mm1
-%%fin:
-%endmacro
-
-%macro DiffOrNot 4
-   TestDiff %1,%2
-   test ecx,ecx
-   jz   %%same
-   %3
-   jmp %%fin
-%%same:
-   %4
-%%fin
-%endmacro
-
-%macro DiffOrNot 6
-   TestDiff %1,%2
-   test ecx,ecx
-   jz   %%same
-   %3
-   %4
-   jmp %%fin
-%%same:
-   %5
-   %6
-%%fin
-%endmacro
-
-%macro DiffOrNot 8
-   TestDiff %1,%2
-   test ecx,ecx
-   jz   %%same
-   %3
-   %4
-   %5
-   jmp %%fin
-%%same:
-   %6
-   %7
-   %8
-%%fin
-%endmacro
-
-%macro DiffOrNot 10
-   TestDiff %1,%2
-   test ecx,ecx
-   jz %%same
-   %3
-   %4
-   %5
-   %6
-   jmp %%fin
-%%same:
-   %7
-   %8
-   %9
-   %10
-%%fin
-%endmacro
-
-%macro Interp1 3
-    mov edx,%2
-    shl edx,2
-    add edx,%3
-    sub edx,%2
-    shr edx,2
-    mov %1,edx
-%endmacro
-
-%macro Interp2 4
-    mov edx,%2
-    shl edx,1
-    add edx,%3
-    add edx,%4
-    shr edx,2
-    mov %1,edx
-%endmacro
-
-%macro Interp3 2
-    movd       mm1, eax
-    movd       mm2, %2
-    punpcklbw  mm1, [reg_blank]
-    punpcklbw  mm2, [reg_blank]
-    pmullw     mm1, [const7]
-    paddw      mm1, mm2
-    psrlw      mm1, 3
-    packuswb   mm1, [reg_blank]
-    movd       %1, mm1
-%endmacro
-
-%macro Interp4 3
-    movd       mm1, eax
-    movd       mm2, %2
-    movd       mm3, %3
-    punpcklbw  mm1, [reg_blank]
-    punpcklbw  mm2, [reg_blank]
-    punpcklbw  mm3, [reg_blank]
-    psllw      mm1, 1
-    paddw      mm2, mm3
-    pmullw     mm2, [const7]
-    paddw      mm1, mm2
-    psrlw      mm1, 4
-    packuswb   mm1, [reg_blank]
-    movd       %1, mm1
-%endmacro
-
-%macro Interp5 3
-    mov edx,%2
-    add edx,%3
-    shr edx,1
-    mov %1,edx
-%endmacro
-
-%macro PIXEL00_1M 0
-    Interp1 [edi],eax,[c1]
-%endmacro
-
-%macro PIXEL00_1U 0
-    Interp1 [edi],eax,[c2]
-%endmacro
-
-%macro PIXEL00_1L 0
-    Interp1 [edi],eax,[c4]
-%endmacro
-
-%macro PIXEL00_2 0
-    Interp2 [edi],eax,[c4],[c2]
-%endmacro
-
-%macro PIXEL00_4 0
-    Interp4 [edi],[c4],[c2]
-%endmacro
-
-%macro PIXEL00_5 0
-    Interp5 [edi],[c4],[c2]
-%endmacro
-
-%macro PIXEL00_C 0
-    mov [edi],eax
-%endmacro
-
-%macro PIXEL01_1 0
-    Interp1 [edi+4],eax,[c2]
-%endmacro
-
-%macro PIXEL01_3 0
-    Interp3 [edi+4],[c2]
-%endmacro
-
-%macro PIXEL01_6 0
-    Interp1 [edi+4],[c2],eax
-%endmacro
-
-%macro PIXEL01_C 0
-    mov [edi+4],eax
-%endmacro
-
-%macro PIXEL02_1M 0
-    Interp1 [edi+8],eax,[c3]
-%endmacro
-
-%macro PIXEL02_1U 0
-    Interp1 [edi+8],eax,[c2]
-%endmacro
-
-%macro PIXEL02_1R 0
-    Interp1 [edi+8],eax,[c6]
-%endmacro
-
-%macro PIXEL02_2 0
-    Interp2 [edi+8],eax,[c2],[c6]
-%endmacro
-
-%macro PIXEL02_4 0
-    Interp4 [edi+8],[c2],[c6]
-%endmacro
-
-%macro PIXEL02_5 0
-    Interp5 [edi+8],[c2],[c6]
-%endmacro
-
-%macro PIXEL02_C 0
-    mov [edi+8],eax
-%endmacro
-
-%macro PIXEL10_1 0
-    Interp1 [edi+ebx],eax,[c4]
-%endmacro
-
-%macro PIXEL10_3 0
-    Interp3 [edi+ebx],[c4]
-%endmacro
-
-%macro PIXEL10_6 0
-    Interp1 [edi+ebx],[c4],eax
-%endmacro
-
-%macro PIXEL10_C 0
-    mov [edi+ebx],eax
-%endmacro
-
-%macro PIXEL11 0
-    mov [edi+ebx+4],eax
-%endmacro
-
-%macro PIXEL12_1 0
-    Interp1 [edi+ebx+8],eax,[c6]
-%endmacro
-
-%macro PIXEL12_3 0
-    Interp3 [edi+ebx+8],[c6]
-%endmacro
-
-%macro PIXEL12_6 0
-    Interp1 [edi+ebx+8],[c6],eax
-%endmacro
-
-%macro PIXEL12_C 0
-    mov [edi+ebx+8],eax
-%endmacro
-
-%macro PIXEL20_1M 0
-    Interp1 [edi+ebx*2],eax,[c7]
-%endmacro
-
-%macro PIXEL20_1D 0
-    Interp1 [edi+ebx*2],eax,[c8]
-%endmacro
-
-%macro PIXEL20_1L 0
-    Interp1 [edi+ebx*2],eax,[c4]
-%endmacro
-
-%macro PIXEL20_2 0
-    Interp2 [edi+ebx*2],eax,[c8],[c4]
-%endmacro
-
-%macro PIXEL20_4 0
-    Interp4 [edi+ebx*2],[c8],[c4]
-%endmacro
-
-%macro PIXEL20_5 0
-    Interp5 [edi+ebx*2],[c8],[c4]
-%endmacro
-
-%macro PIXEL20_C 0
-    mov [edi+ebx*2],eax
-%endmacro
-
-%macro PIXEL21_1 0
-    Interp1 [edi+ebx*2+4],eax,[c8]
-%endmacro
-
-%macro PIXEL21_3 0
-    Interp3 [edi+ebx*2+4],[c8]
-%endmacro
-
-%macro PIXEL21_6 0
-    Interp1 [edi+ebx*2+4],[c8],eax
-%endmacro
-
-%macro PIXEL21_C 0
-    mov [edi+ebx*2+4],eax
-%endmacro
-
-%macro PIXEL22_1M 0
-    Interp1 [edi+ebx*2+8],eax,[c9]
-%endmacro
-
-%macro PIXEL22_1D 0
-    Interp1 [edi+ebx*2+8],eax,[c8]
-%endmacro
-
-%macro PIXEL22_1R 0
-    Interp1 [edi+ebx*2+8],eax,[c6]
-%endmacro
-
-%macro PIXEL22_2 0
-    Interp2 [edi+ebx*2+8],eax,[c6],[c8]
-%endmacro
-
-%macro PIXEL22_4 0
-    Interp4 [edi+ebx*2+8],[c6],[c8]
-%endmacro
-
-%macro PIXEL22_5 0
-    Interp5 [edi+ebx*2+8],[c6],[c8]
-%endmacro
-
-%macro PIXEL22_C 0
-    mov [edi+ebx*2+8],eax
-%endmacro
-
-inbuffer     equ 8
-outbuffer    equ 12
-Xres         equ 16
-Yres         equ 20
-pitch        equ 24
-
-_hq3x_32:
-    push ebp
-    mov ebp,esp
-    pushad
-
-    mov     esi,[ebp+inbuffer]
-    mov     edi,[ebp+outbuffer]
-    mov     edx,[ebp+Yres]
-    mov     [linesleft],edx
-    mov     ebx,[ebp+Xres]
-    shl     ebx,1
-    mov     dword[prevline],0
-    mov     dword[nextline],ebx
-.loopy
-    mov     ecx,[ebp+Xres]
-    sub     ecx,2                 ; x={Xres-2, Xres-1} are special cases.
-    mov     dword[xcounter],ecx
-    ; x=0 - special case
-    mov     ebx,[prevline]
-    movq    mm5,[esi+ebx]
-    movq    mm6,[esi]
-    mov     ebx,[nextline]
-    movq    mm7,[esi+ebx]
-    movd    eax,mm5
-    movzx   edx,ax  
-    mov     [w1],edx
-    mov     [w2],edx
-    shr     eax,16
-    mov     [w3],eax
-    movd    eax,mm6
-    movzx   edx,ax  
-    mov     [w4],edx
-    mov     [w5],edx
-    shr     eax,16
-    mov     [w6],eax
-    movd    eax,mm7
-    movzx   edx,ax  
-    mov     [w7],edx
-    mov     [w8],edx
-    shr     eax,16
-    mov     [w9],eax
-    jmp     .flags
-.loopx
-    mov     ebx,[prevline]
-    movq    mm5,[esi+ebx-2]
-    movq    mm6,[esi-2]
-    mov     ebx,[nextline]
-    movq    mm7,[esi+ebx-2]
-    movd    eax,mm5
-    movzx   edx,ax  
-    mov     [w1],edx
-    shr     eax,16
-    mov     [w2],eax
-    psrlq   mm5,32
-    movd    eax,mm5
-    movzx   edx,ax  
-    mov     [w3],edx
-    movd    eax,mm6
-    movzx   edx,ax  
-    mov     [w4],edx
-    shr     eax,16
-    mov     [w5],eax
-    psrlq   mm6,32
-    movd    eax,mm6
-    movzx   edx,ax  
-    mov     [w6],edx
-    movd    eax,mm7
-    movzx   edx,ax  
-    mov     [w7],edx
-    shr     eax,16
-    mov     [w8],eax
-    psrlq   mm7,32
-    movd    eax,mm7
-    movzx   edx,ax  
-    mov     [w9],edx
-.flags
-    mov     ebx,_RGBtoYUV
-    mov     eax,[w5]
-    xor     ecx,ecx
-    movd    mm5,[ebx+eax*4]
-    mov     dword[cross],0
-
-    mov     edx,[w2]
-    cmp     eax,edx
-    je      .noflag2
-    or      dword[cross],1
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag2
-    or      ecx,2
-.noflag2
-    mov     edx,[w4]
-    cmp     eax,edx
-    je      .noflag4
-    or      dword[cross],2
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag4
-    or      ecx,8
-.noflag4
-    mov     edx,[w6]
-    cmp     eax,edx
-    je      .noflag6
-    or      dword[cross],4
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag6
-    or      ecx,16
-.noflag6
-    mov     edx,[w8]
-    cmp     eax,edx
-    je      .noflag8
-    or      dword[cross],8
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag8
-    or      ecx,64
-.noflag8
-    test    ecx,ecx
-    jnz     .testflag1
-    mov     ecx,[cross]
-    mov     ebx,_LUT16to32
-    mov     eax,[ebx+eax*4]
-    jmp     [FuncTable2+ecx*4]
-.testflag1
-    mov     edx,[w1]
-    cmp     eax,edx
-    je      .noflag1
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag1
-    or      ecx,1
-.noflag1
-    mov     edx,[w3]
-    cmp     eax,edx
-    je      .noflag3
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag3
-    or      ecx,4
-.noflag3
-    mov     edx,[w7]
-    cmp     eax,edx
-    je      .noflag7
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag7
-    or      ecx,32
-.noflag7
-    mov     edx,[w9]
-    cmp     eax,edx
-    je      .noflag9
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag9
-    or      ecx,128
-.noflag9
-    mov  ebx,_LUT16to32
-    mov  eax,[ebx+eax*4]
-    mov  edx,[w2]
-    mov  edx,[ebx+edx*4]
-    mov  [c2],edx
-    mov  edx,[w4]
-    mov  edx,[ebx+edx*4]
-    mov  [c4],edx
-    mov  edx,[w6]
-    mov  edx,[ebx+edx*4]
-    mov  [c6],edx
-    mov  edx,[w8]
-    mov  edx,[ebx+edx*4]
-    mov  [c8],edx
-    test ecx,0x005A
-    jz  .switch
-    mov  edx,[w1]
-    mov  edx,[ebx+edx*4]
-    mov  [c1],edx
-    mov  edx,[w3]
-    mov  edx,[ebx+edx*4]
-    mov  [c3],edx
-    mov  edx,[w7]
-    mov  edx,[ebx+edx*4]
-    mov  [c7],edx
-    mov  edx,[w9]
-    mov  edx,[ebx+edx*4]
-    mov  [c9],edx
-.switch
-    mov  ebx,[ebp+pitch]
-    jmp  [FuncTable+ecx*4]
-
-..@flag0
-..@flag1
-..@flag4
-..@flag32
-..@flag128
-..@flag5
-..@flag132
-..@flag160
-..@flag33
-..@flag129
-..@flag36
-..@flag133
-..@flag164
-..@flag161
-..@flag37
-..@flag165
-;    PIXEL00_2
-;    PIXEL01_1
-;    PIXEL02_2
-;    PIXEL10_1
-;    PIXEL11
-;    PIXEL12_1
-;    PIXEL20_2
-;    PIXEL21_1
-;    PIXEL22_2
-
-;   the same, only optimized
-    mov ecx,eax
-    shl ecx,1
-    add ecx,[c2]
-    mov edx,ecx
-    add edx,[c4]
-    shr edx,2
-    mov [edi],edx
-    mov edx,ecx
-    add edx,eax
-    shr edx,2
-    mov [edi+4],edx
-    add ecx,[c6]
-    shr ecx,2
-    mov [edi+8],ecx
-    mov ecx,eax
-    shl ecx,2
-    sub ecx,eax
-    mov edx,ecx
-    add edx,[c4]
-    shr edx,2
-    mov [edi+ebx],edx
-    mov [edi+ebx+4],eax
-    add ecx,[c6]
-    shr ecx,2
-    mov [edi+ebx+8],ecx
-    mov ecx,eax
-    shl ecx,1
-    add ecx,[c8]
-    mov edx,ecx
-    add edx,[c4]
-    shr edx,2
-    mov [edi+ebx*2],edx
-    mov edx,ecx
-    add edx,eax
-    shr edx,2
-    mov [edi+ebx*2+4],edx
-    add ecx,[c6]
-    shr ecx,2
-    mov [edi+ebx*2+8],ecx
-    jmp .loopx_end
-..@flag2
-..@flag34
-..@flag130
-..@flag162
-    PIXEL00_1M
-    PIXEL01_C
-    PIXEL02_1M
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_2
-    PIXEL21_1
-    PIXEL22_2
-    jmp .loopx_end
-..@flag16
-..@flag17
-..@flag48
-..@flag49
-    PIXEL00_2
-    PIXEL01_1
-    PIXEL02_1M
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_2
-    PIXEL21_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag64
-..@flag65
-..@flag68
-..@flag69
-    PIXEL00_2
-    PIXEL01_1
-    PIXEL02_2
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1M
-    PIXEL21_C
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag8
-..@flag12
-..@flag136
-..@flag140
-    PIXEL00_1M
-    PIXEL01_1
-    PIXEL02_2
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1M
-    PIXEL21_1
-    PIXEL22_2
-    jmp .loopx_end
-..@flag3
-..@flag35
-..@flag131
-..@flag163
-    PIXEL00_1L
-    PIXEL01_C
-    PIXEL02_1M
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_2
-    PIXEL21_1
-    PIXEL22_2
-    jmp .loopx_end
-..@flag6
-..@flag38
-..@flag134
-..@flag166
-    PIXEL00_1M
-    PIXEL01_C
-    PIXEL02_1R
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_2
-    PIXEL21_1
-    PIXEL22_2
-    jmp .loopx_end
-..@flag20
-..@flag21
-..@flag52
-..@flag53
-    PIXEL00_2
-    PIXEL01_1
-    PIXEL02_1U
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_2
-    PIXEL21_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag144
-..@flag145
-..@flag176
-..@flag177
-    PIXEL00_2
-    PIXEL01_1
-    PIXEL02_1M
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_2
-    PIXEL21_1
-    PIXEL22_1D
-    jmp .loopx_end
-..@flag192
-..@flag193
-..@flag196
-..@flag197
-    PIXEL00_2
-    PIXEL01_1
-    PIXEL02_2
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1M
-    PIXEL21_C
-    PIXEL22_1R
-    jmp .loopx_end
-..@flag96
-..@flag97
-..@flag100
-..@flag101
-    PIXEL00_2
-    PIXEL01_1
-    PIXEL02_2
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1L
-    PIXEL21_C
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag40
-..@flag44
-..@flag168
-..@flag172
-    PIXEL00_1M
-    PIXEL01_1
-    PIXEL02_2
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1D
-    PIXEL21_1
-    PIXEL22_2
-    jmp .loopx_end
-..@flag9
-..@flag13
-..@flag137
-..@flag141
-    PIXEL00_1U
-    PIXEL01_1
-    PIXEL02_2
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1M
-    PIXEL21_1
-    PIXEL22_2
-    jmp .loopx_end
-..@flag18
-..@flag50
-    PIXEL00_1M
-    DiffOrNot w2,w6,PIXEL01_C,PIXEL02_1M,PIXEL12_C,PIXEL01_3,PIXEL02_4,PIXEL12_3
-    PIXEL10_1
-    PIXEL11
-    PIXEL20_2
-    PIXEL21_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag80
-..@flag81
-    PIXEL00_2
-    PIXEL01_1
-    PIXEL02_1M
-    PIXEL10_1
-    PIXEL11
-    PIXEL20_1M
-    DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_1M,PIXEL12_3,PIXEL21_3,PIXEL22_4
-    jmp .loopx_end
-..@flag72
-..@flag76
-    PIXEL00_1M
-    PIXEL01_1
-    PIXEL02_2
-    PIXEL11
-    PIXEL12_1
-    DiffOrNot w8,w4,PIXEL10_C,PIXEL20_1M,PIXEL21_C,PIXEL10_3,PIXEL20_4,PIXEL21_3
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag10
-..@flag138
-    DiffOrNot w4,w2,PIXEL00_1M,PIXEL01_C,PIXEL10_C,PIXEL00_4,PIXEL01_3,PIXEL10_3
-    PIXEL02_1M
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1M
-    PIXEL21_1
-    PIXEL22_2
-    jmp .loopx_end
-..@flag66
-    PIXEL00_1M
-    PIXEL01_C
-    PIXEL02_1M
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1M
-    PIXEL21_C
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag24
-    PIXEL00_1M
-    PIXEL01_1
-    PIXEL02_1M
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1M
-    PIXEL21_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag7
-..@flag39
-..@flag135
-    PIXEL00_1L
-    PIXEL01_C
-    PIXEL02_1R
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_2
-    PIXEL21_1
-    PIXEL22_2
-    jmp .loopx_end
-..@flag148
-..@flag149
-..@flag180
-    PIXEL00_2
-    PIXEL01_1
-    PIXEL02_1U
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_2
-    PIXEL21_1
-    PIXEL22_1D
-    jmp .loopx_end
-..@flag224
-..@flag228
-..@flag225
-    PIXEL00_2
-    PIXEL01_1
-    PIXEL02_2
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1L
-    PIXEL21_C
-    PIXEL22_1R
-    jmp .loopx_end
-..@flag41
-..@flag169
-..@flag45
-    PIXEL00_1U
-    PIXEL01_1
-    PIXEL02_2
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1D
-    PIXEL21_1
-    PIXEL22_2
-    jmp .loopx_end
-..@flag22
-..@flag54
-    PIXEL00_1M
-    DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL01_3,PIXEL02_4,PIXEL12_3
-    PIXEL10_1
-    PIXEL11
-    PIXEL20_2
-    PIXEL21_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag208
-..@flag209
-    PIXEL00_2
-    PIXEL01_1
-    PIXEL02_1M
-    PIXEL10_1
-    PIXEL11
-    PIXEL20_1M
-    DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL12_3,PIXEL21_3,PIXEL22_4
-    jmp .loopx_end
-..@flag104
-..@flag108
-    PIXEL00_1M
-    PIXEL01_1
-    PIXEL02_2
-    PIXEL11
-    PIXEL12_1
-    DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL10_3,PIXEL20_4,PIXEL21_3
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag11
-..@flag139
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL00_4,PIXEL01_3,PIXEL10_3
-    PIXEL02_1M
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1M
-    PIXEL21_1
-    PIXEL22_2
-    jmp .loopx_end
-..@flag19
-..@flag51
-    DiffOrNot w2,w6,PIXEL00_1L,PIXEL01_C,PIXEL02_1M,PIXEL12_C,PIXEL00_2,PIXEL01_6,PIXEL02_5,PIXEL12_1
-    PIXEL10_1
-    PIXEL11
-    PIXEL20_2
-    PIXEL21_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag146
-..@flag178
-    DiffOrNot w2,w6,PIXEL01_C,PIXEL02_1M,PIXEL12_C,PIXEL22_1D,PIXEL01_1,PIXEL02_5,PIXEL12_6,PIXEL22_2
-    PIXEL00_1M
-    PIXEL10_1
-    PIXEL11
-    PIXEL20_2
-    PIXEL21_1
-    jmp .loopx_end
-..@flag84
-..@flag85
-    DiffOrNot w6,w8,PIXEL02_1U,PIXEL12_C,PIXEL21_C,PIXEL22_1M,PIXEL02_2,PIXEL12_6,PIXEL21_1,PIXEL22_5
-    PIXEL00_2
-    PIXEL01_1
-    PIXEL10_1
-    PIXEL11
-    PIXEL20_1M
-    jmp .loopx_end
-..@flag112
-..@flag113
-    DiffOrNot w6,w8,PIXEL12_C,PIXEL20_1L,PIXEL21_C,PIXEL22_1M,PIXEL12_1,PIXEL20_2,PIXEL21_6,PIXEL22_5
-    PIXEL00_2
-    PIXEL01_1
-    PIXEL02_1M
-    PIXEL10_1
-    PIXEL11
-    jmp .loopx_end
-..@flag200
-..@flag204
-    DiffOrNot w8,w4,PIXEL10_C,PIXEL20_1M,PIXEL21_C,PIXEL22_1R,PIXEL10_1,PIXEL20_5,PIXEL21_6,PIXEL22_2
-    PIXEL00_1M
-    PIXEL01_1
-    PIXEL02_2
-    PIXEL11
-    PIXEL12_1
-    jmp .loopx_end
-..@flag73
-..@flag77
-    DiffOrNot w8,w4,PIXEL00_1U,PIXEL10_C,PIXEL20_1M,PIXEL21_C,PIXEL00_2,PIXEL10_6,PIXEL20_5,PIXEL21_1
-    PIXEL01_1
-    PIXEL02_2
-    PIXEL11
-    PIXEL12_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag42
-..@flag170
-    DiffOrNot w4,w2,PIXEL00_1M,PIXEL01_C,PIXEL10_C,PIXEL20_1D,PIXEL00_5,PIXEL01_1,PIXEL10_6,PIXEL20_2
-    PIXEL02_1M
-    PIXEL11
-    PIXEL12_1
-    PIXEL21_1
-    PIXEL22_2
-    jmp .loopx_end
-..@flag14
-..@flag142
-    DiffOrNot w4,w2,PIXEL00_1M,PIXEL01_C,PIXEL02_1R,PIXEL10_C,PIXEL00_5,PIXEL01_6,PIXEL02_2,PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1M
-    PIXEL21_1
-    PIXEL22_2
-    jmp .loopx_end
-..@flag67
-    PIXEL00_1L
-    PIXEL01_C
-    PIXEL02_1M
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1M
-    PIXEL21_C
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag70
-    PIXEL00_1M
-    PIXEL01_C
-    PIXEL02_1R
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1M
-    PIXEL21_C
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag28
-    PIXEL00_1M
-    PIXEL01_1
-    PIXEL02_1U
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1M
-    PIXEL21_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag152
-    PIXEL00_1M
-    PIXEL01_1
-    PIXEL02_1M
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1M
-    PIXEL21_1
-    PIXEL22_1D
-    jmp .loopx_end
-..@flag194
-    PIXEL00_1M
-    PIXEL01_C
-    PIXEL02_1M
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1M
-    PIXEL21_C
-    PIXEL22_1R
-    jmp .loopx_end
-..@flag98
-    PIXEL00_1M
-    PIXEL01_C
-    PIXEL02_1M
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1L
-    PIXEL21_C
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag56
-    PIXEL00_1M
-    PIXEL01_1
-    PIXEL02_1M
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1D
-    PIXEL21_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag25
-    PIXEL00_1U
-    PIXEL01_1
-    PIXEL02_1M
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1M
-    PIXEL21_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag26
-..@flag31
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL10_C,PIXEL00_4,PIXEL10_3
-    PIXEL01_C
-    DiffOrNot w2,w6,PIXEL02_C,PIXEL12_C,PIXEL02_4,PIXEL12_3
-    PIXEL11
-    PIXEL20_1M
-    PIXEL21_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag82
-..@flag214
-    PIXEL00_1M
-    DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL01_3,PIXEL02_4
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1M
-    DiffOrNot w6,w8,PIXEL21_C,PIXEL22_C,PIXEL21_3,PIXEL22_4
-    jmp .loopx_end
-..@flag88
-..@flag248
-    PIXEL00_1M
-    PIXEL01_1
-    PIXEL02_1M
-    PIXEL11
-    DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL10_3,PIXEL20_4
-    PIXEL21_C
-    DiffOrNot w6,w8,PIXEL12_C,PIXEL22_C,PIXEL12_3,PIXEL22_4
-    jmp .loopx_end
-..@flag74
-..@flag107
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL00_4,PIXEL01_3
-    PIXEL02_1M
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_1
-    DiffOrNot w8,w4,PIXEL20_C,PIXEL21_C,PIXEL20_4,PIXEL21_3
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag27
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL00_4,PIXEL01_3,PIXEL10_3
-    PIXEL02_1M
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1M
-    PIXEL21_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag86
-    PIXEL00_1M
-    DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL01_3,PIXEL02_4,PIXEL12_3
-    PIXEL10_1
-    PIXEL11
-    PIXEL20_1M
-    PIXEL21_C
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag216
-    PIXEL00_1M
-    PIXEL01_1
-    PIXEL02_1M
-    PIXEL10_C
-    PIXEL11
-    PIXEL20_1M
-    DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL12_3,PIXEL21_3,PIXEL22_4
-    jmp .loopx_end
-..@flag106
-    PIXEL00_1M
-    PIXEL01_C
-    PIXEL02_1M
-    PIXEL11
-    PIXEL12_1
-    DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL10_3,PIXEL20_4,PIXEL21_3
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag30
-    PIXEL00_1M
-    DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL01_3,PIXEL02_4,PIXEL12_3
-    PIXEL10_C
-    PIXEL11
-    PIXEL20_1M
-    PIXEL21_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag210
-    PIXEL00_1M
-    PIXEL01_C
-    PIXEL02_1M
-    PIXEL10_1
-    PIXEL11
-    PIXEL20_1M
-    DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL12_3,PIXEL21_3,PIXEL22_4
-    jmp .loopx_end
-..@flag120
-    PIXEL00_1M
-    PIXEL01_1
-    PIXEL02_1M
-    PIXEL11
-    PIXEL12_C
-    DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL10_3,PIXEL20_4,PIXEL21_3
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag75
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL00_4,PIXEL01_3,PIXEL10_3
-    PIXEL02_1M
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1M
-    PIXEL21_C
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag29
-    PIXEL00_1U
-    PIXEL01_1
-    PIXEL02_1U
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1M
-    PIXEL21_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag198
-    PIXEL00_1M
-    PIXEL01_C
-    PIXEL02_1R
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1M
-    PIXEL21_C
-    PIXEL22_1R
-    jmp .loopx_end
-..@flag184
-    PIXEL00_1M
-    PIXEL01_1
-    PIXEL02_1M
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1D
-    PIXEL21_1
-    PIXEL22_1D
-    jmp .loopx_end
-..@flag99
-    PIXEL00_1L
-    PIXEL01_C
-    PIXEL02_1M
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1L
-    PIXEL21_C
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag57
-    PIXEL00_1U
-    PIXEL01_1
-    PIXEL02_1M
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1D
-    PIXEL21_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag71
-    PIXEL00_1L
-    PIXEL01_C
-    PIXEL02_1R
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1M
-    PIXEL21_C
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag156
-    PIXEL00_1M
-    PIXEL01_1
-    PIXEL02_1U
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1M
-    PIXEL21_1
-    PIXEL22_1D
-    jmp .loopx_end
-..@flag226
-    PIXEL00_1M
-    PIXEL01_C
-    PIXEL02_1M
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1L
-    PIXEL21_C
-    PIXEL22_1R
-    jmp .loopx_end
-..@flag60
-    PIXEL00_1M
-    PIXEL01_1
-    PIXEL02_1U
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1D
-    PIXEL21_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag195
-    PIXEL00_1L
-    PIXEL01_C
-    PIXEL02_1M
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1M
-    PIXEL21_C
-    PIXEL22_1R
-    jmp .loopx_end
-..@flag102
-    PIXEL00_1M
-    PIXEL01_C
-    PIXEL02_1R
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1L
-    PIXEL21_C
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag153
-    PIXEL00_1U
-    PIXEL01_1
-    PIXEL02_1M
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1M
-    PIXEL21_1
-    PIXEL22_1D
-    jmp .loopx_end
-..@flag58
-    DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
-    PIXEL01_C
-    DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1D
-    PIXEL21_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag83
-    PIXEL00_1L
-    PIXEL01_C
-    DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1M
-    PIXEL21_C
-    DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
-    jmp .loopx_end
-..@flag92
-    PIXEL00_1M
-    PIXEL01_1
-    PIXEL02_1U
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
-    PIXEL21_C
-    DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
-    jmp .loopx_end
-..@flag202
-    DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
-    PIXEL01_C
-    PIXEL02_1M
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_1
-    DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
-    PIXEL21_C
-    PIXEL22_1R
-    jmp .loopx_end
-..@flag78
-    DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
-    PIXEL01_C
-    PIXEL02_1R
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_1
-    DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
-    PIXEL21_C
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag154
-    DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
-    PIXEL01_C
-    DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1M
-    PIXEL21_1
-    PIXEL22_1D
-    jmp .loopx_end
-..@flag114
-    PIXEL00_1M
-    PIXEL01_C
-    DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1L
-    PIXEL21_C
-    DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
-    jmp .loopx_end
-..@flag89
-    PIXEL00_1U
-    PIXEL01_1
-    PIXEL02_1M
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
-    PIXEL21_C
-    DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
-    jmp .loopx_end
-..@flag90
-    DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
-    PIXEL01_C
-    DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
-    PIXEL21_C
-    DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
-    jmp .loopx_end
-..@flag55
-..@flag23
-    DiffOrNot w2,w6,PIXEL00_1L,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL00_2,PIXEL01_6,PIXEL02_5,PIXEL12_1
-    PIXEL10_1
-    PIXEL11
-    PIXEL20_2
-    PIXEL21_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag182
-..@flag150
-    DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL22_1D,PIXEL01_1,PIXEL02_5,PIXEL12_6,PIXEL22_2
-    PIXEL00_1M
-    PIXEL10_1
-    PIXEL11
-    PIXEL20_2
-    PIXEL21_1
-    jmp .loopx_end
-..@flag213
-..@flag212
-    DiffOrNot w6,w8,PIXEL02_1U,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL02_2,PIXEL12_6,PIXEL21_1,PIXEL22_5
-    PIXEL00_2
-    PIXEL01_1
-    PIXEL10_1
-    PIXEL11
-    PIXEL20_1M
-    jmp .loopx_end
-..@flag241
-..@flag240
-    DiffOrNot w6,w8,PIXEL12_C,PIXEL20_1L,PIXEL21_C,PIXEL22_C,PIXEL12_1,PIXEL20_2,PIXEL21_6,PIXEL22_5
-    PIXEL00_2
-    PIXEL01_1
-    PIXEL02_1M
-    PIXEL10_1
-    PIXEL11
-    jmp .loopx_end
-..@flag236
-..@flag232
-    DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL22_1R,PIXEL10_1,PIXEL20_5,PIXEL21_6,PIXEL22_2
-    PIXEL00_1M
-    PIXEL01_1
-    PIXEL02_2
-    PIXEL11
-    PIXEL12_1
-    jmp .loopx_end
-..@flag109
-..@flag105
-    DiffOrNot w8,w4,PIXEL00_1U,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL00_2,PIXEL10_6,PIXEL20_5,PIXEL21_1
-    PIXEL01_1
-    PIXEL02_2
-    PIXEL11
-    PIXEL12_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag171
-..@flag43
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL20_1D,PIXEL00_5,PIXEL01_1,PIXEL10_6,PIXEL20_2
-    PIXEL02_1M
-    PIXEL11
-    PIXEL12_1
-    PIXEL21_1
-    PIXEL22_2
-    jmp .loopx_end
-..@flag143
-..@flag15
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL02_1R,PIXEL10_C,PIXEL00_5,PIXEL01_6,PIXEL02_2,PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1M
-    PIXEL21_1
-    PIXEL22_2
-    jmp .loopx_end
-..@flag124
-    PIXEL00_1M
-    PIXEL01_1
-    PIXEL02_1U
-    PIXEL11
-    PIXEL12_C
-    DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL10_3,PIXEL20_4,PIXEL21_3
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag203
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL00_4,PIXEL01_3,PIXEL10_3
-    PIXEL02_1M
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1M
-    PIXEL21_C
-    PIXEL22_1R
-    jmp .loopx_end
-..@flag62
-    PIXEL00_1M
-    DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL01_3,PIXEL02_4,PIXEL12_3
-    PIXEL10_C
-    PIXEL11
-    PIXEL20_1D
-    PIXEL21_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag211
-    PIXEL00_1L
-    PIXEL01_C
-    PIXEL02_1M
-    PIXEL10_1
-    PIXEL11
-    PIXEL20_1M
-    DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL12_3,PIXEL21_3,PIXEL22_4
-    jmp .loopx_end
-..@flag118
-    PIXEL00_1M
-    DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL01_3,PIXEL02_4,PIXEL12_3
-    PIXEL10_1
-    PIXEL11
-    PIXEL20_1L
-    PIXEL21_C
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag217
-    PIXEL00_1U
-    PIXEL01_1
-    PIXEL02_1M
-    PIXEL10_C
-    PIXEL11
-    PIXEL20_1M
-    DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL12_3,PIXEL21_3,PIXEL22_4
-    jmp .loopx_end
-..@flag110
-    PIXEL00_1M
-    PIXEL01_C
-    PIXEL02_1R
-    PIXEL11
-    PIXEL12_1
-    DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL10_3,PIXEL20_4,PIXEL21_3
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag155
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL00_4,PIXEL01_3,PIXEL10_3
-    PIXEL02_1M
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1M
-    PIXEL21_1
-    PIXEL22_1D
-    jmp .loopx_end
-..@flag188
-    PIXEL00_1M
-    PIXEL01_1
-    PIXEL02_1U
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1D
-    PIXEL21_1
-    PIXEL22_1D
-    jmp .loopx_end
-..@flag185
-    PIXEL00_1U
-    PIXEL01_1
-    PIXEL02_1M
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1D
-    PIXEL21_1
-    PIXEL22_1D
-    jmp .loopx_end
-..@flag61
-    PIXEL00_1U
-    PIXEL01_1
-    PIXEL02_1U
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1D
-    PIXEL21_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag157
-    PIXEL00_1U
-    PIXEL01_1
-    PIXEL02_1U
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1M
-    PIXEL21_1
-    PIXEL22_1D
-    jmp .loopx_end
-..@flag103
-    PIXEL00_1L
-    PIXEL01_C
-    PIXEL02_1R
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1L
-    PIXEL21_C
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag227
-    PIXEL00_1L
-    PIXEL01_C
-    PIXEL02_1M
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1L
-    PIXEL21_C
-    PIXEL22_1R
-    jmp .loopx_end
-..@flag230
-    PIXEL00_1M
-    PIXEL01_C
-    PIXEL02_1R
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1L
-    PIXEL21_C
-    PIXEL22_1R
-    jmp .loopx_end
-..@flag199
-    PIXEL00_1L
-    PIXEL01_C
-    PIXEL02_1R
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1M
-    PIXEL21_C
-    PIXEL22_1R
-    jmp .loopx_end
-..@flag220
-    PIXEL00_1M
-    PIXEL01_1
-    PIXEL02_1U
-    PIXEL10_C
-    PIXEL11
-    DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
-    DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL12_3,PIXEL21_3,PIXEL22_4
-    jmp .loopx_end
-..@flag158
-    DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
-    DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL01_3,PIXEL02_4,PIXEL12_3
-    PIXEL10_C
-    PIXEL11
-    PIXEL20_1M
-    PIXEL21_1
-    PIXEL22_1D
-    jmp .loopx_end
-..@flag234
-    DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
-    PIXEL01_C
-    PIXEL02_1M
-    PIXEL11
-    PIXEL12_1
-    DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL10_3,PIXEL20_4,PIXEL21_3
-    PIXEL22_1R
-    jmp .loopx_end
-..@flag242
-    PIXEL00_1M
-    PIXEL01_C
-    DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
-    PIXEL10_1
-    PIXEL11
-    PIXEL20_1L
-    DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL12_3,PIXEL21_3,PIXEL22_4
-    jmp .loopx_end
-..@flag59
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL00_4,PIXEL01_3,PIXEL10_3
-    DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1D
-    PIXEL21_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag121
-    PIXEL00_1U
-    PIXEL01_1
-    PIXEL02_1M
-    PIXEL11
-    PIXEL12_C
-    DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL10_3,PIXEL20_4,PIXEL21_3
-    DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
-    jmp .loopx_end
-..@flag87
-    PIXEL00_1L
-    DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL01_3,PIXEL02_4,PIXEL12_3
-    PIXEL10_1
-    PIXEL11
-    PIXEL20_1M
-    PIXEL21_C
-    DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
-    jmp .loopx_end
-..@flag79
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL00_4,PIXEL01_3,PIXEL10_3
-    PIXEL02_1R
-    PIXEL11
-    PIXEL12_1
-    DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
-    PIXEL21_C
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag122
-    DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
-    PIXEL01_C
-    DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
-    PIXEL11
-    PIXEL12_C
-    DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL10_3,PIXEL20_4,PIXEL21_3
-    DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
-    jmp .loopx_end
-..@flag94
-    DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
-    DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL01_3,PIXEL02_4,PIXEL12_3
-    PIXEL10_C
-    PIXEL11
-    DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
-    PIXEL21_C
-    DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
-    jmp .loopx_end
-..@flag218
-    DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
-    PIXEL01_C
-    DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
-    PIXEL10_C
-    PIXEL11
-    DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
-    DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL12_3,PIXEL21_3,PIXEL22_4
-    jmp .loopx_end
-..@flag91
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL00_4,PIXEL01_3,PIXEL10_3
-    DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
-    PIXEL11
-    PIXEL12_C
-    DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
-    PIXEL21_C
-    DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
-    jmp .loopx_end
-..@flag229
-    PIXEL00_2
-    PIXEL01_1
-    PIXEL02_2
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1L
-    PIXEL21_C
-    PIXEL22_1R
-    jmp .loopx_end
-..@flag167
-    PIXEL00_1L
-    PIXEL01_C
-    PIXEL02_1R
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_2
-    PIXEL21_1
-    PIXEL22_2
-    jmp .loopx_end
-..@flag173
-    PIXEL00_1U
-    PIXEL01_1
-    PIXEL02_2
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1D
-    PIXEL21_1
-    PIXEL22_2
-    jmp .loopx_end
-..@flag181
-    PIXEL00_2
-    PIXEL01_1
-    PIXEL02_1U
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_2
-    PIXEL21_1
-    PIXEL22_1D
-    jmp .loopx_end
-..@flag186
-    DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
-    PIXEL01_C
-    DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1D
-    PIXEL21_1
-    PIXEL22_1D
-    jmp .loopx_end
-..@flag115
-    PIXEL00_1L
-    PIXEL01_C
-    DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1L
-    PIXEL21_C
-    DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
-    jmp .loopx_end
-..@flag93
-    PIXEL00_1U
-    PIXEL01_1
-    PIXEL02_1U
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
-    PIXEL21_C
-    DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
-    jmp .loopx_end
-..@flag206
-    DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
-    PIXEL01_C
-    PIXEL02_1R
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_1
-    DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
-    PIXEL21_C
-    PIXEL22_1R
-    jmp .loopx_end
-..@flag205
-..@flag201
-    PIXEL00_1U
-    PIXEL01_1
-    PIXEL02_2
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_1
-    DiffOrNot w8,w4,PIXEL20_1M,PIXEL20_2
-    PIXEL21_C
-    PIXEL22_1R
-    jmp .loopx_end
-..@flag174
-..@flag46
-    DiffOrNot w4,w2,PIXEL00_1M,PIXEL00_2
-    PIXEL01_C
-    PIXEL02_1R
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1D
-    PIXEL21_1
-    PIXEL22_2
-    jmp .loopx_end
-..@flag179
-..@flag147
-    PIXEL00_1L
-    PIXEL01_C
-    DiffOrNot w2,w6,PIXEL02_1M,PIXEL02_2
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_2
-    PIXEL21_1
-    PIXEL22_1D
-    jmp .loopx_end
-..@flag117
-..@flag116
-    PIXEL00_2
-    PIXEL01_1
-    PIXEL02_1U
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1L
-    PIXEL21_C
-    DiffOrNot w6,w8,PIXEL22_1M,PIXEL22_2
-    jmp .loopx_end
-..@flag189
-    PIXEL00_1U
-    PIXEL01_1
-    PIXEL02_1U
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1D
-    PIXEL21_1
-    PIXEL22_1D
-    jmp .loopx_end
-..@flag231
-    PIXEL00_1L
-    PIXEL01_C
-    PIXEL02_1R
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1L
-    PIXEL21_C
-    PIXEL22_1R
-    jmp .loopx_end
-..@flag126
-    PIXEL00_1M
-    DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL01_3,PIXEL02_4,PIXEL12_3
-    PIXEL11
-    DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL10_3,PIXEL20_4,PIXEL21_3
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag219
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL00_4,PIXEL01_3,PIXEL10_3
-    PIXEL02_1M
-    PIXEL11
-    PIXEL20_1M
-    DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL12_3,PIXEL21_3,PIXEL22_4
-    jmp .loopx_end
-..@flag125
-    DiffOrNot w8,w4,PIXEL00_1U,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL00_2,PIXEL10_6,PIXEL20_5,PIXEL21_1
-    PIXEL01_1
-    PIXEL02_1U
-    PIXEL11
-    PIXEL12_C
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag221
-    DiffOrNot w6,w8,PIXEL02_1U,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL02_2,PIXEL12_6,PIXEL21_1,PIXEL22_5
-    PIXEL00_1U
-    PIXEL01_1
-    PIXEL10_C
-    PIXEL11
-    PIXEL20_1M
-    jmp .loopx_end
-..@flag207
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL02_1R,PIXEL10_C,PIXEL00_5,PIXEL01_6,PIXEL02_2,PIXEL10_1
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1M
-    PIXEL21_C
-    PIXEL22_1R
-    jmp .loopx_end
-..@flag238
-    DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL22_1R,PIXEL10_1,PIXEL20_5,PIXEL21_6,PIXEL22_2
-    PIXEL00_1M
-    PIXEL01_C
-    PIXEL02_1R
-    PIXEL11
-    PIXEL12_1
-    jmp .loopx_end
-..@flag190
-    DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL22_1D,PIXEL01_1,PIXEL02_5,PIXEL12_6,PIXEL22_2
-    PIXEL00_1M
-    PIXEL10_C
-    PIXEL11
-    PIXEL20_1D
-    PIXEL21_1
-    jmp .loopx_end
-..@flag187
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL20_1D,PIXEL00_5,PIXEL01_1,PIXEL10_6,PIXEL20_2
-    PIXEL02_1M
-    PIXEL11
-    PIXEL12_C
-    PIXEL21_1
-    PIXEL22_1D
-    jmp .loopx_end
-..@flag243
-    DiffOrNot w6,w8,PIXEL12_C,PIXEL20_1L,PIXEL21_C,PIXEL22_C,PIXEL12_1,PIXEL20_2,PIXEL21_6,PIXEL22_5
-    PIXEL00_1L
-    PIXEL01_C
-    PIXEL02_1M
-    PIXEL10_1
-    PIXEL11
-    jmp .loopx_end
-..@flag119
-    DiffOrNot w2,w6,PIXEL00_1L,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL00_2,PIXEL01_6,PIXEL02_5,PIXEL12_1
-    PIXEL10_1
-    PIXEL11
-    PIXEL20_1L
-    PIXEL21_C
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag237
-..@flag233
-    PIXEL00_1U
-    PIXEL01_1
-    PIXEL02_2
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_1
-    DiffOrNot w8,w4,PIXEL20_C,PIXEL20_2
-    PIXEL21_C
-    PIXEL22_1R
-    jmp .loopx_end
-..@flag175
-..@flag47
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL00_2
-    PIXEL01_C
-    PIXEL02_1R
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_1
-    PIXEL20_1D
-    PIXEL21_1
-    PIXEL22_2
-    jmp .loopx_end
-..@flag183
-..@flag151
-    PIXEL00_1L
-    PIXEL01_C
-    DiffOrNot w2,w6,PIXEL02_C,PIXEL02_2
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_2
-    PIXEL21_1
-    PIXEL22_1D
-    jmp .loopx_end
-..@flag245
-..@flag244
-    PIXEL00_2
-    PIXEL01_1
-    PIXEL02_1U
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1L
-    PIXEL21_C
-    DiffOrNot w6,w8,PIXEL22_C,PIXEL22_2
-    jmp .loopx_end
-..@flag250
-    PIXEL00_1M
-    PIXEL01_C
-    PIXEL02_1M
-    PIXEL11
-    DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL10_3,PIXEL20_4
-    PIXEL21_C
-    DiffOrNot w6,w8,PIXEL12_C,PIXEL22_C,PIXEL12_3,PIXEL22_4
-    jmp .loopx_end
-..@flag123
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL00_4,PIXEL01_3
-    PIXEL02_1M
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    DiffOrNot w8,w4,PIXEL20_C,PIXEL21_C,PIXEL20_4,PIXEL21_3
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag95
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL10_C,PIXEL00_4,PIXEL10_3
-    PIXEL01_C
-    DiffOrNot w2,w6,PIXEL02_C,PIXEL12_C,PIXEL02_4,PIXEL12_3
-    PIXEL11
-    PIXEL20_1M
-    PIXEL21_C
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag222
-    PIXEL00_1M
-    DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL01_3,PIXEL02_4
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1M
-    DiffOrNot w6,w8,PIXEL21_C,PIXEL22_C,PIXEL21_3,PIXEL22_4
-    jmp .loopx_end
-..@flag252
-    PIXEL00_1M
-    PIXEL01_1
-    PIXEL02_1U
-    PIXEL11
-    PIXEL12_C
-    DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL10_3,PIXEL20_4
-    PIXEL21_C
-    DiffOrNot w6,w8,PIXEL22_C,PIXEL22_2
-    jmp .loopx_end
-..@flag249
-    PIXEL00_1U
-    PIXEL01_1
-    PIXEL02_1M
-    PIXEL10_C
-    PIXEL11
-    DiffOrNot w8,w4,PIXEL20_C,PIXEL20_2
-    PIXEL21_C
-    DiffOrNot w6,w8,PIXEL12_C,PIXEL22_C,PIXEL12_3,PIXEL22_4
-    jmp .loopx_end
-..@flag235
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL00_4,PIXEL01_3
-    PIXEL02_1M
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_1
-    DiffOrNot w8,w4,PIXEL20_C,PIXEL20_2
-    PIXEL21_C
-    PIXEL22_1R
-    jmp .loopx_end
-..@flag111
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL00_2
-    PIXEL01_C
-    PIXEL02_1R
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_1
-    DiffOrNot w8,w4,PIXEL20_C,PIXEL21_C,PIXEL20_4,PIXEL21_3
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag63
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL00_2
-    PIXEL01_C
-    DiffOrNot w2,w6,PIXEL02_C,PIXEL12_C,PIXEL02_4,PIXEL12_3
-    PIXEL10_C
-    PIXEL11
-    PIXEL20_1D
-    PIXEL21_1
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag159
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL10_C,PIXEL00_4,PIXEL10_3
-    PIXEL01_C
-    DiffOrNot w2,w6,PIXEL02_C,PIXEL02_2
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1M
-    PIXEL21_1
-    PIXEL22_1D
-    jmp .loopx_end
-..@flag215
-    PIXEL00_1L
-    PIXEL01_C
-    DiffOrNot w2,w6,PIXEL02_C,PIXEL02_2
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1M
-    DiffOrNot w6,w8,PIXEL21_C,PIXEL22_C,PIXEL21_3,PIXEL22_4
-    jmp .loopx_end
-..@flag246
-    PIXEL00_1M
-    DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL01_3,PIXEL02_4
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1L
-    PIXEL21_C
-    DiffOrNot w6,w8,PIXEL22_C,PIXEL22_2
-    jmp .loopx_end
-..@flag254
-    PIXEL00_1M
-    DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL01_3,PIXEL02_4
-    PIXEL11
-    DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL10_3,PIXEL20_4
-    DiffOrNot w6,w8,PIXEL12_C,PIXEL21_C,PIXEL22_C,PIXEL12_3,PIXEL21_3,PIXEL22_2
-    jmp .loopx_end
-..@flag253
-    PIXEL00_1U
-    PIXEL01_1
-    PIXEL02_1U
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    DiffOrNot w8,w4,PIXEL20_C,PIXEL20_2
-    PIXEL21_C
-    DiffOrNot w6,w8,PIXEL22_C,PIXEL22_2
-    jmp .loopx_end
-..@flag251
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL00_4,PIXEL01_3
-    PIXEL02_1M
-    PIXEL11
-    DiffOrNot w8,w4,PIXEL10_C,PIXEL20_C,PIXEL21_C,PIXEL10_3,PIXEL20_2,PIXEL21_3
-    DiffOrNot w6,w8,PIXEL12_C,PIXEL22_C,PIXEL12_3,PIXEL22_4
-    jmp .loopx_end
-..@flag239
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL00_2
-    PIXEL01_C
-    PIXEL02_1R
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_1
-    DiffOrNot w8,w4,PIXEL20_C,PIXEL20_2
-    PIXEL21_C
-    PIXEL22_1R
-    jmp .loopx_end
-..@flag127
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL01_C,PIXEL10_C,PIXEL00_2,PIXEL01_3,PIXEL10_3
-    DiffOrNot w2,w6,PIXEL02_C,PIXEL12_C,PIXEL02_4,PIXEL12_3
-    PIXEL11
-    DiffOrNot w8,w4,PIXEL20_C,PIXEL21_C,PIXEL20_4,PIXEL21_3
-    PIXEL22_1M
-    jmp .loopx_end
-..@flag191
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL00_2
-    PIXEL01_C
-    DiffOrNot w2,w6,PIXEL02_C,PIXEL02_2
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1D
-    PIXEL21_1
-    PIXEL22_1D
-    jmp .loopx_end
-..@flag223
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL10_C,PIXEL00_4,PIXEL10_3
-    DiffOrNot w2,w6,PIXEL01_C,PIXEL02_C,PIXEL12_C,PIXEL01_3,PIXEL02_2,PIXEL12_3
-    PIXEL11
-    PIXEL20_1M
-    DiffOrNot w6,w8,PIXEL21_C,PIXEL22_C,PIXEL21_3,PIXEL22_4
-    jmp .loopx_end
-..@flag247
-    PIXEL00_1L
-    PIXEL01_C
-    DiffOrNot w2,w6,PIXEL02_C,PIXEL02_2
-    PIXEL10_1
-    PIXEL11
-    PIXEL12_C
-    PIXEL20_1L
-    PIXEL21_C
-    DiffOrNot w6,w8,PIXEL22_C,PIXEL22_2
-    jmp .loopx_end
-..@flag255
-    DiffOrNot w4,w2,PIXEL00_C,PIXEL00_2
-    PIXEL01_C
-    DiffOrNot w2,w6,PIXEL02_C,PIXEL02_2
-    PIXEL10_C
-    PIXEL11
-    PIXEL12_C
-    DiffOrNot w8,w4,PIXEL20_C,PIXEL20_2
-    PIXEL21_C
-    DiffOrNot w6,w8,PIXEL22_C,PIXEL22_2
-    jmp .loopx_end
-
-..@cross0
-    mov     ebx,[ebp+pitch]
-    mov     [edi],eax
-    mov     [edi+4],eax
-    mov     [edi+8],eax
-    mov     [edi+ebx],eax
-    mov     [edi+ebx+4],eax
-    mov     [edi+ebx+8],eax
-    mov     [edi+ebx*2],eax
-    mov     [edi+ebx*2+4],eax
-    mov     [edi+ebx*2+8],eax
-    jmp     .loopx_end
-..@cross1
-    mov     ecx,[w2] 
-    mov     edx,eax
-    shl     edx,2
-    add     edx,[ebx+ecx*4]
-    sub     edx,eax
-    shr     edx,2
-    mov     ebx,[ebp+pitch]
-    mov     [edi],edx
-    mov     [edi+4],edx
-    mov     [edi+8],edx
-    mov     [edi+ebx],eax
-    mov     [edi+ebx+4],eax
-    mov     [edi+ebx+8],eax
-    mov     [edi+ebx*2],eax
-    mov     [edi+ebx*2+4],eax
-    mov     [edi+ebx*2+8],eax
-    jmp     .loopx_end
-..@cross2
-    mov     ecx,[w4]
-    mov     edx,eax
-    shl     edx,2
-    add     edx,[ebx+ecx*4]
-    sub     edx,eax
-    shr     edx,2
-    mov     ebx,[ebp+pitch]
-    mov     [edi],edx
-    mov     [edi+4],eax
-    mov     [edi+8],eax
-    mov     [edi+ebx],edx
-    mov     [edi+ebx+4],eax
-    mov     [edi+ebx+8],eax
-    mov     [edi+ebx*2],edx
-    mov     [edi+ebx*2+4],eax
-    mov     [edi+ebx*2+8],eax
-    jmp     .loopx_end
-..@cross4
-    mov     ecx,[w6]
-    mov     edx,eax
-    shl     edx,2
-    add     edx,[ebx+ecx*4]
-    sub     edx,eax
-    shr     edx,2
-    mov     ebx,[ebp+pitch]
-    mov     [edi],eax
-    mov     [edi+4],eax
-    mov     [edi+8],edx
-    mov     [edi+ebx],eax
-    mov     [edi+ebx+4],eax
-    mov     [edi+ebx+8],edx
-    mov     [edi+ebx*2],eax
-    mov     [edi+ebx*2+4],eax
-    mov     [edi+ebx*2+8],edx
-    jmp     .loopx_end
-..@cross8
-    mov     ecx,[w8]
-    mov     edx,eax
-    shl     edx,2
-    add     edx,[ebx+ecx*4]
-    sub     edx,eax
-    shr     edx,2
-    mov     ebx,[ebp+pitch]
-    mov     [edi],eax
-    mov     [edi+4],eax
-    mov     [edi+8],eax
-    mov     [edi+ebx],eax
-    mov     [edi+ebx+4],eax
-    mov     [edi+ebx+8],eax
-    mov     [edi+ebx*2],edx
-    mov     [edi+ebx*2+4],edx
-    mov     [edi+ebx*2+8],edx
-    jmp     .loopx_end
-..@crossN
-    mov     edx,[w2]
-    mov     ecx,[ebx+edx*4]
-    mov     [c2],ecx
-    mov     edx,[w4]
-    mov     ecx,[ebx+edx*4]
-    mov     [c4],ecx
-    mov     edx,[w6]
-    mov     ecx,[ebx+edx*4]
-    mov     [c6],ecx
-    mov     edx,[w8]
-    mov     ecx,[ebx+edx*4]
-    mov     [c8],ecx
-    mov     ebx,[ebp+pitch]
-    jmp     ..@flag0
-
-.loopx_end
-    add     esi,2
-    add     edi,12
-    dec     dword[xcounter]
-    jle     .xres_2
-    jmp     .loopx
-.xres_2
-    ; x=Xres-2 - special case
-    jl      .xres_1
-    mov     ebx,[prevline]
-    movq    mm5,[esi+ebx-4]
-    movq    mm6,[esi-4]
-    mov     ebx,[nextline]
-    movq    mm7,[esi+ebx-4]
-    psrlq   mm5,16
-    psrlq   mm6,16
-    psrlq   mm7,16
-    movd    eax,mm5
-    movzx   edx,ax
-    mov     [w1],edx
-    shr     eax,16
-    mov     [w2],eax
-    psrlq   mm5,32
-    movd    eax,mm5
-    mov     [w3],eax
-    movd    eax,mm6
-    movzx   edx,ax
-    mov     [w4],edx
-    shr     eax,16
-    mov     [w5],eax
-    psrlq   mm6,32
-    movd    eax,mm6
-    mov     [w6],eax
-    movd    eax,mm7
-    movzx   edx,ax
-    mov     [w7],edx
-    shr     eax,16
-    mov     [w8],eax
-    psrlq   mm7,32
-    movd    eax,mm7
-    mov     [w9],eax
-    jmp     .flags
-.xres_1
-    cmp     dword[xcounter],-1
-    jl      .nexty
-    ; x=Xres-1 - special case
-    mov     ebx,[prevline]
-    movq    mm5,[esi+ebx-6]
-    movq    mm6,[esi-6]
-    mov     ebx,[nextline]
-    movq    mm7,[esi+ebx-6]
-    psrlq   mm5,32
-    psrlq   mm6,32
-    psrlq   mm7,32
-    movd    eax,mm5
-    movzx   edx,ax  
-    mov     [w1],edx
-    shr     eax,16
-    mov     [w2],eax
-    mov     [w3],eax
-    movd    eax,mm6
-    movzx   edx,ax  
-    mov     [w4],edx
-    shr     eax,16
-    mov     [w5],eax
-    mov     [w6],eax
-    movd    eax,mm7
-    movzx   edx,ax  
-    mov     [w7],edx
-    shr     eax,16
-    mov     [w8],eax
-    mov     [w9],eax
-    jmp     .flags
-.nexty
-    add     edi,ebx
-    add     edi,ebx
-    dec     dword[linesleft]
-    jz      .fin
-    mov     ebx,[ebp+Xres]
-    shl     ebx,1
-    cmp     dword[linesleft],1
-    je      .lastline
-    mov     dword[nextline],ebx
-    neg     ebx
-    mov     dword[prevline],ebx
-    jmp     .loopy
-.lastline
-    mov     dword[nextline],0
-    neg     ebx
-    mov     dword[prevline],ebx
-    jmp     .loopy
-.fin
-    emms
-    popad
-    mov esp,ebp
-    pop ebp
-    ret
-
-SECTION .data
-FuncTable
-    dd ..@flag0, ..@flag1, ..@flag2, ..@flag3, ..@flag4, ..@flag5, ..@flag6, ..@flag7
-    dd ..@flag8, ..@flag9, ..@flag10, ..@flag11, ..@flag12, ..@flag13, ..@flag14, ..@flag15
-    dd ..@flag16, ..@flag17, ..@flag18, ..@flag19, ..@flag20, ..@flag21, ..@flag22, ..@flag23
-    dd ..@flag24, ..@flag25, ..@flag26, ..@flag27, ..@flag28, ..@flag29, ..@flag30, ..@flag31
-    dd ..@flag32, ..@flag33, ..@flag34, ..@flag35, ..@flag36, ..@flag37, ..@flag38, ..@flag39
-    dd ..@flag40, ..@flag41, ..@flag42, ..@flag43, ..@flag44, ..@flag45, ..@flag46, ..@flag47
-    dd ..@flag48, ..@flag49, ..@flag50, ..@flag51, ..@flag52, ..@flag53, ..@flag54, ..@flag55
-    dd ..@flag56, ..@flag57, ..@flag58, ..@flag59, ..@flag60, ..@flag61, ..@flag62, ..@flag63
-    dd ..@flag64, ..@flag65, ..@flag66, ..@flag67, ..@flag68, ..@flag69, ..@flag70, ..@flag71
-    dd ..@flag72, ..@flag73, ..@flag74, ..@flag75, ..@flag76, ..@flag77, ..@flag78, ..@flag79
-    dd ..@flag80, ..@flag81, ..@flag82, ..@flag83, ..@flag84, ..@flag85, ..@flag86, ..@flag87
-    dd ..@flag88, ..@flag89, ..@flag90, ..@flag91, ..@flag92, ..@flag93, ..@flag94, ..@flag95
-    dd ..@flag96, ..@flag97, ..@flag98, ..@flag99, ..@flag100, ..@flag101, ..@flag102, ..@flag103
-    dd ..@flag104, ..@flag105, ..@flag106, ..@flag107, ..@flag108, ..@flag109, ..@flag110, ..@flag111
-    dd ..@flag112, ..@flag113, ..@flag114, ..@flag115, ..@flag116, ..@flag117, ..@flag118, ..@flag119
-    dd ..@flag120, ..@flag121, ..@flag122, ..@flag123, ..@flag124, ..@flag125, ..@flag126, ..@flag127
-    dd ..@flag128, ..@flag129, ..@flag130, ..@flag131, ..@flag132, ..@flag133, ..@flag134, ..@flag135
-    dd ..@flag136, ..@flag137, ..@flag138, ..@flag139, ..@flag140, ..@flag141, ..@flag142, ..@flag143
-    dd ..@flag144, ..@flag145, ..@flag146, ..@flag147, ..@flag148, ..@flag149, ..@flag150, ..@flag151
-    dd ..@flag152, ..@flag153, ..@flag154, ..@flag155, ..@flag156, ..@flag157, ..@flag158, ..@flag159
-    dd ..@flag160, ..@flag161, ..@flag162, ..@flag163, ..@flag164, ..@flag165, ..@flag166, ..@flag167
-    dd ..@flag168, ..@flag169, ..@flag170, ..@flag171, ..@flag172, ..@flag173, ..@flag174, ..@flag175
-    dd ..@flag176, ..@flag177, ..@flag178, ..@flag179, ..@flag180, ..@flag181, ..@flag182, ..@flag183
-    dd ..@flag184, ..@flag185, ..@flag186, ..@flag187, ..@flag188, ..@flag189, ..@flag190, ..@flag191
-    dd ..@flag192, ..@flag193, ..@flag194, ..@flag195, ..@flag196, ..@flag197, ..@flag198, ..@flag199
-    dd ..@flag200, ..@flag201, ..@flag202, ..@flag203, ..@flag204, ..@flag205, ..@flag206, ..@flag207
-    dd ..@flag208, ..@flag209, ..@flag210, ..@flag211, ..@flag212, ..@flag213, ..@flag214, ..@flag215
-    dd ..@flag216, ..@flag217, ..@flag218, ..@flag219, ..@flag220, ..@flag221, ..@flag222, ..@flag223
-    dd ..@flag224, ..@flag225, ..@flag226, ..@flag227, ..@flag228, ..@flag229, ..@flag230, ..@flag231
-    dd ..@flag232, ..@flag233, ..@flag234, ..@flag235, ..@flag236, ..@flag237, ..@flag238, ..@flag239
-    dd ..@flag240, ..@flag241, ..@flag242, ..@flag243, ..@flag244, ..@flag245, ..@flag246, ..@flag247
-    dd ..@flag248, ..@flag249, ..@flag250, ..@flag251, ..@flag252, ..@flag253, ..@flag254, ..@flag255
-
-FuncTable2
-    dd ..@cross0, ..@cross1, ..@cross2, ..@crossN,
-    dd ..@cross4, ..@crossN, ..@crossN, ..@crossN,
-    dd ..@cross8, ..@crossN, ..@crossN, ..@crossN,
-    dd ..@crossN, ..@crossN, ..@crossN, ..@crossN
-
diff --git a/od-win32/hq4x16.asm b/od-win32/hq4x16.asm
deleted file mode 100644 (file)
index cef36aa..0000000
+++ /dev/null
@@ -1,3952 +0,0 @@
-;hq4x filter
-;16bpp output
-;----------------------------------------------------------
-;Copyright (C) 2003 MaxSt ( maxst@hiend3d.com )
-;
-;This program is free software; you can redistribute it and/or
-;modify it under the terms of the GNU General Public License
-;as published by the Free Software Foundation; either
-;version 2 of the License, or (at your option) any later
-;version.
-;
-;This program is distributed in the hope that it will be useful,
-;but WITHOUT ANY WARRANTY; without even the implied warranty of
-;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;GNU General Public License for more details.
-;
-;You should have received a copy of the GNU General Public License
-;along with this program; if not, write to the Free Software
-;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-GLOBAL _hq4x_16
-
-EXTERN _LUT16to32
-EXTERN _RGBtoYUV
-
-SECTION .bss
-linesleft resd 1
-xcounter  resd 1
-cross     resd 1
-nextline  resd 1
-prevline  resd 1
-w1        resd 1
-w2        resd 1
-w3        resd 1
-w4        resd 1
-w5        resd 1
-w6        resd 1
-w7        resd 1
-w8        resd 1
-w9        resd 1
-
-SECTION .data
-
-reg_blank    dd  0,0
-const3       dd  0x00030003,0x00000003
-const5       dd  0x00050005,0x00000005
-const6       dd  0x00060006,0x00000006
-const7       dd  0x00070007,0x00000007
-threshold    dd  0x00300706,0x00000000
-zerolowbits  dd  0xF7DEF7DE
-
-SECTION .text
-
-%macro AUXADDRESS 0
-    mov     ecx, edi
-    add     ecx, ebx
-    add     ecx, ebx
-%endmacro
-
-%macro TestDiff 2
-    mov     edx,[%1]
-    sub     edx,[%2]
-    jz      %%fin
-    mov     edx,[%1]
-    shl     edx,2
-    add     edx,_RGBtoYUV
-    movd    mm1,[edx]
-    movq    mm5,mm1
-    mov     edx,[%2]
-    shl     edx,2
-    add     edx,_RGBtoYUV
-    movd    mm2,[edx]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-%%fin:
-%endmacro
-
-%macro DiffOrNot 4
-   TestDiff %1,%2
-   test edx,edx
-   jz   %%same
-   %3
-   jmp %%fin
-%%same:
-   %4
-%%fin
-%endmacro
-
-%macro DiffOrNot 8
-   TestDiff %1,%2
-   test edx,edx
-   jz   %%same
-   %3
-   %4
-   %5
-   jmp %%fin
-%%same:
-   %6
-   %7
-   %8
-%%fin
-%endmacro
-
-%macro DiffOrNot 10
-   TestDiff %1,%2
-   test edx,edx
-   jz %%same
-   %3
-   %4
-   %5
-   %6
-   jmp %%fin
-%%same:
-   %7
-   %8
-   %9
-   %10
-%%fin
-%endmacro
-
-%macro DiffOrNot 14
-   TestDiff %1,%2
-   test edx,edx
-   jz %%same
-   %3
-   %4
-   %5
-   %6
-   %7
-   %8
-   jmp %%fin
-%%same:
-   %9
-   %10
-   %11
-   %12
-   %13
-   %14
-%%fin
-%endmacro
-
-%macro Interp1 3
-    mov edx,%2
-    mov eax,%3
-    cmp edx,eax
-    je  %%fin
-    and edx,[zerolowbits]
-    and eax,[zerolowbits]
-    add eax,edx
-    shr eax,1
-    add eax,0x0821
-    and eax,[zerolowbits]
-    add edx,eax
-    shr edx,1
-%%fin
-    mov %1,dx
-%endmacro
-
-%macro Interp2 4
-    mov edx,%3
-    mov eax,%4
-    cmp edx,eax
-    je  %%fin1
-    and edx,[zerolowbits]
-    and eax,[zerolowbits]
-    add eax,edx
-    shr eax,1
-    add eax,0x0821
-%%fin1
-    mov edx,%2
-    cmp edx,eax
-    je  %%fin2
-    and eax,[zerolowbits]
-    and edx,[zerolowbits]
-    add edx,eax
-    shr edx,1
-%%fin2
-    mov %1,dx
-%endmacro
-
-%macro Interp3 3
-    mov        eax, _LUT16to32
-    mov        edx, %2
-    movd       mm1, [eax+edx*4]
-    mov        edx, %3
-    movd       mm2, [eax+edx*4]
-    punpcklbw  mm1, [reg_blank]
-    punpcklbw  mm2, [reg_blank]
-    pmullw     mm1, [const7]
-    paddw      mm1, mm2
-    psrlw      mm1, 5
-    packuswb   mm1, [reg_blank]
-    movd       edx, mm1
-    shl        dl,  2
-    shr        edx, 1
-    shl        dx,  3
-    shr        edx, 5
-    mov        %1,  dx
-%endmacro
-
-%macro Interp5 3
-    mov edx,%2
-    mov eax,%3
-    cmp edx,eax
-    je  %%fin
-    and edx,[zerolowbits]
-    and eax,[zerolowbits]
-    add edx,eax
-    shr edx,1
-%%fin
-    mov %1,dx
-%endmacro
-
-%macro Interp6 4
-    mov        eax, _LUT16to32
-    mov        edx, %2
-    movd       mm1, [eax+edx*4]
-    mov        edx, %3
-    movd       mm2, [eax+edx*4]
-    mov        edx, %4
-    movd       mm3, [eax+edx*4]
-    punpcklbw  mm1, [reg_blank]
-    punpcklbw  mm2, [reg_blank]
-    punpcklbw  mm3, [reg_blank]
-    pmullw     mm1, [const5]
-    psllw      mm2, 1
-    paddw      mm1, mm3
-    paddw      mm1, mm2
-    psrlw      mm1, 5
-    packuswb   mm1, [reg_blank]
-    movd       edx, mm1
-    shl        dl,  2
-    shr        edx, 1
-    shl        dx,  3
-    shr        edx, 5
-    mov        %1,  dx
-%endmacro
-
-%macro Interp7 4
-    mov        eax, _LUT16to32
-    mov        edx, %2
-    movd       mm1, [eax+edx*4]
-    mov        edx, %3
-    movd       mm2, [eax+edx*4]
-    mov        edx, %4
-    movd       mm3, [eax+edx*4]
-    punpcklbw  mm1, [reg_blank]
-    punpcklbw  mm2, [reg_blank]
-    punpcklbw  mm3, [reg_blank]
-    pmullw     mm1, [const6]
-    paddw      mm2, mm3
-    paddw      mm1, mm2
-    psrlw      mm1, 5
-    packuswb   mm1, [reg_blank]
-    movd       edx, mm1
-    shl        dl,  2
-    shr        edx, 1
-    shl        dx,  3
-    shr        edx, 5
-    mov        %1,  dx
-%endmacro
-
-%macro Interp8 3
-    mov        eax, _LUT16to32
-    mov        edx, %2
-    movd       mm1, [eax+edx*4]
-    mov        edx, %3
-    movd       mm2, [eax+edx*4]
-    punpcklbw  mm1, [reg_blank]
-    punpcklbw  mm2, [reg_blank]
-    pmullw     mm1, [const5]
-    pmullw     mm2, [const3]
-    paddw      mm1, mm2
-    psrlw      mm1, 5
-    packuswb   mm1, [reg_blank]
-    movd       edx, mm1
-    shl        dl,  2
-    shr        edx, 1
-    shl        dx,  3
-    shr        edx, 5
-    mov        %1,  dx
-%endmacro
-
-%macro PIXEL00_0 0
-    mov eax,[w5]
-    mov [edi],ax
-%endmacro
-
-%macro PIXEL00_11 0
-    Interp1 [edi],[w5],[w4]
-%endmacro
-
-%macro PIXEL00_12 0
-    Interp1 [edi],[w5],[w2]
-%endmacro
-
-%macro PIXEL00_20 0
-    Interp2 [edi],[w5],[w2],[w4]
-%endmacro
-
-%macro PIXEL00_50 0
-    Interp5 [edi],[w2],[w4]
-%endmacro
-
-%macro PIXEL00_80 0
-    Interp8 [edi],[w5],[w1]
-%endmacro
-
-%macro PIXEL00_81 0
-    Interp8 [edi],[w5],[w4]
-%endmacro
-
-%macro PIXEL00_82 0
-    Interp8 [edi],[w5],[w2]
-%endmacro
-
-%macro PIXEL01_0 0
-    mov eax,[w5]
-    mov [edi+2],ax
-%endmacro
-
-%macro PIXEL01_10 0
-    Interp1 [edi+2],[w5],[w1]
-%endmacro
-
-%macro PIXEL01_12 0
-    Interp1 [edi+2],[w5],[w2]
-%endmacro
-
-%macro PIXEL01_14 0
-    Interp1 [edi+2],[w2],[w5]
-%endmacro
-
-%macro PIXEL01_21 0
-    Interp2 [edi+2],[w2],[w5],[w4]
-%endmacro
-
-%macro PIXEL01_31 0
-    Interp3 [edi+2],[w5],[w4]
-%endmacro
-
-%macro PIXEL01_50 0
-    Interp5 [edi+2],[w2],[w5]
-%endmacro
-
-%macro PIXEL01_60 0
-    Interp6 [edi+2],[w5],[w2],[w4]
-%endmacro
-
-%macro PIXEL01_61 0
-    Interp6 [edi+2],[w5],[w2],[w1]
-%endmacro
-
-%macro PIXEL01_82 0
-    Interp8 [edi+2],[w5],[w2]
-%endmacro
-
-%macro PIXEL01_83 0
-    Interp8 [edi+2],[w2],[w4]
-%endmacro
-
-%macro PIXEL02_0 0
-    mov eax,[w5]
-    mov [edi+4],ax
-%endmacro
-
-%macro PIXEL02_10 0
-    Interp1 [edi+4],[w5],[w3]
-%endmacro
-
-%macro PIXEL02_11 0
-    Interp1 [edi+4],[w5],[w2]
-%endmacro
-
-%macro PIXEL02_13 0
-    Interp1 [edi+4],[w2],[w5]
-%endmacro
-
-%macro PIXEL02_21 0
-    Interp2 [edi+4],[w2],[w5],[w6]
-%endmacro
-
-%macro PIXEL02_32 0
-    Interp3 [edi+4],[w5],[w6]
-%endmacro
-
-%macro PIXEL02_50 0
-    Interp5 [edi+4],[w2],[w5]
-%endmacro
-
-%macro PIXEL02_60 0
-    Interp6 [edi+4],[w5],[w2],[w6]
-%endmacro
-
-%macro PIXEL02_61 0
-    Interp6 [edi+4],[w5],[w2],[w3]
-%endmacro
-
-%macro PIXEL02_81 0
-    Interp8 [edi+4],[w5],[w2]
-%endmacro
-
-%macro PIXEL02_83 0
-    Interp8 [edi+4],[w2],[w6]
-%endmacro
-
-%macro PIXEL03_0 0
-    mov eax,[w5]
-    mov [edi+6],ax
-%endmacro
-
-%macro PIXEL03_11 0
-    Interp1 [edi+6],[w5],[w2]
-%endmacro
-
-%macro PIXEL03_12 0
-    Interp1 [edi+6],[w5],[w6]
-%endmacro
-
-%macro PIXEL03_20 0
-    Interp2 [edi+6],[w5],[w2],[w6]
-%endmacro
-
-%macro PIXEL03_50 0
-    Interp5 [edi+6],[w2],[w6]
-%endmacro
-
-%macro PIXEL03_80 0
-    Interp8 [edi+6],[w5],[w3]
-%endmacro
-
-%macro PIXEL03_81 0
-    Interp8 [edi+6],[w5],[w2]
-%endmacro
-
-%macro PIXEL03_82 0
-    Interp8 [edi+6],[w5],[w6]
-%endmacro
-
-%macro PIXEL10_0 0
-    mov eax,[w5]
-    mov [edi+ebx],ax
-%endmacro
-
-%macro PIXEL10_10 0
-    Interp1 [edi+ebx],[w5],[w1]
-%endmacro
-
-%macro PIXEL10_11 0
-    Interp1 [edi+ebx],[w5],[w4]
-%endmacro
-
-%macro PIXEL10_13 0
-    Interp1 [edi+ebx],[w4],[w5]
-%endmacro
-
-%macro PIXEL10_21 0
-    Interp2 [edi+ebx],[w4],[w5],[w2]
-%endmacro
-
-%macro PIXEL10_32 0
-    Interp3 [edi+ebx],[w5],[w2]
-%endmacro
-
-%macro PIXEL10_50 0
-    Interp5 [edi+ebx],[w4],[w5]
-%endmacro
-
-%macro PIXEL10_60 0
-    Interp6 [edi+ebx],[w5],[w4],[w2]
-%endmacro
-
-%macro PIXEL10_61 0
-    Interp6 [edi+ebx],[w5],[w4],[w1]
-%endmacro
-
-%macro PIXEL10_81 0
-    Interp8 [edi+ebx],[w5],[w4]
-%endmacro
-
-%macro PIXEL10_83 0
-    Interp8 [edi+ebx],[w4],[w2]
-%endmacro
-
-%macro PIXEL11_0 0
-    mov eax,[w5]
-    mov [edi+ebx+2],ax
-%endmacro
-
-%macro PIXEL11_30 0
-    Interp3 [edi+ebx+2],[w5],[w1]
-%endmacro
-
-%macro PIXEL11_31 0
-    Interp3 [edi+ebx+2],[w5],[w4]
-%endmacro
-
-%macro PIXEL11_32 0
-    Interp3 [edi+ebx+2],[w5],[w2]
-%endmacro
-
-%macro PIXEL11_70 0
-    Interp7 [edi+ebx+2],[w5],[w4],[w2]
-%endmacro
-
-%macro PIXEL12_0 0
-    mov eax,[w5]
-    mov [edi+ebx+4],ax
-%endmacro
-
-%macro PIXEL12_30 0
-    Interp3 [edi+ebx+4],[w5],[w3]
-%endmacro
-
-%macro PIXEL12_31 0
-    Interp3 [edi+ebx+4],[w5],[w2]
-%endmacro
-
-%macro PIXEL12_32 0
-    Interp3 [edi+ebx+4],[w5],[w6]
-%endmacro
-
-%macro PIXEL12_70 0
-    Interp7 [edi+ebx+4],[w5],[w6],[w2]
-%endmacro
-
-%macro PIXEL13_0 0
-    mov eax,[w5]
-    mov [edi+ebx+6],ax
-%endmacro
-
-%macro PIXEL13_10 0
-    Interp1 [edi+ebx+6],[w5],[w3]
-%endmacro
-
-%macro PIXEL13_12 0
-    Interp1 [edi+ebx+6],[w5],[w6]
-%endmacro
-
-%macro PIXEL13_14 0
-    Interp1 [edi+ebx+6],[w6],[w5]
-%endmacro
-
-%macro PIXEL13_21 0
-    Interp2 [edi+ebx+6],[w6],[w5],[w2]
-%endmacro
-
-%macro PIXEL13_31 0
-    Interp3 [edi+ebx+6],[w5],[w2]
-%endmacro
-
-%macro PIXEL13_50 0
-    Interp5 [edi+ebx+6],[w6],[w5]
-%endmacro
-
-%macro PIXEL13_60 0
-    Interp6 [edi+ebx+6],[w5],[w6],[w2]
-%endmacro
-
-%macro PIXEL13_61 0
-    Interp6 [edi+ebx+6],[w5],[w6],[w3]
-%endmacro
-
-%macro PIXEL13_82 0
-    Interp8 [edi+ebx+6],[w5],[w6]
-%endmacro
-
-%macro PIXEL13_83 0
-    Interp8 [edi+ebx+6],[w6],[w2]
-%endmacro
-
-%macro PIXEL20_0 0
-    mov eax,[w5]
-    mov [ecx],ax
-%endmacro
-
-%macro PIXEL20_10 0
-    Interp1 [ecx],[w5],[w7]
-%endmacro
-
-%macro PIXEL20_12 0
-    Interp1 [ecx],[w5],[w4]
-%endmacro
-
-%macro PIXEL20_14 0
-    Interp1 [ecx],[w4],[w5]
-%endmacro
-
-%macro PIXEL20_21 0
-    Interp2 [ecx],[w4],[w5],[w8]
-%endmacro
-
-%macro PIXEL20_31 0
-    Interp3 [ecx],[w5],[w8]
-%endmacro
-
-%macro PIXEL20_50 0
-    Interp5 [ecx],[w4],[w5]
-%endmacro
-
-%macro PIXEL20_60 0
-    Interp6 [ecx],[w5],[w4],[w8]
-%endmacro
-
-%macro PIXEL20_61 0
-    Interp6 [ecx],[w5],[w4],[w7]
-%endmacro
-
-%macro PIXEL20_82 0
-    Interp8 [ecx],[w5],[w4]
-%endmacro
-
-%macro PIXEL20_83 0
-    Interp8 [ecx],[w4],[w8]
-%endmacro
-
-%macro PIXEL21_0 0
-    mov eax,[w5]
-    mov [ecx+2],ax
-%endmacro
-
-%macro PIXEL21_30 0
-    Interp3 [ecx+2],[w5],[w7]
-%endmacro
-
-%macro PIXEL21_31 0
-    Interp3 [ecx+2],[w5],[w8]
-%endmacro
-
-%macro PIXEL21_32 0
-    Interp3 [ecx+2],[w5],[w4]
-%endmacro
-
-%macro PIXEL21_70 0
-    Interp7 [ecx+2],[w5],[w4],[w8]
-%endmacro
-
-%macro PIXEL22_0 0
-    mov eax,[w5]
-    mov [ecx+4],ax
-%endmacro
-
-%macro PIXEL22_30 0
-    Interp3 [ecx+4],[w5],[w9]
-%endmacro
-
-%macro PIXEL22_31 0
-    Interp3 [ecx+4],[w5],[w6]
-%endmacro
-
-%macro PIXEL22_32 0
-    Interp3 [ecx+4],[w5],[w8]
-%endmacro
-
-%macro PIXEL22_70 0
-    Interp7 [ecx+4],[w5],[w6],[w8]
-%endmacro
-
-%macro PIXEL23_0 0
-    mov eax,[w5]
-    mov [ecx+6],ax
-%endmacro
-
-%macro PIXEL23_10 0
-    Interp1 [ecx+6],[w5],[w9]
-%endmacro
-
-%macro PIXEL23_11 0
-    Interp1 [ecx+6],[w5],[w6]
-%endmacro
-
-%macro PIXEL23_13 0
-    Interp1 [ecx+6],[w6],[w5]
-%endmacro
-
-%macro PIXEL23_21 0
-    Interp2 [ecx+6],[w6],[w5],[w8]
-%endmacro
-
-%macro PIXEL23_32 0
-    Interp3 [ecx+6],[w5],[w8]
-%endmacro
-
-%macro PIXEL23_50 0
-    Interp5 [ecx+6],[w6],[w5]
-%endmacro
-
-%macro PIXEL23_60 0
-    Interp6 [ecx+6],[w5],[w6],[w8]
-%endmacro
-
-%macro PIXEL23_61 0
-    Interp6 [ecx+6],[w5],[w6],[w9]
-%endmacro
-
-%macro PIXEL23_81 0
-    Interp8 [ecx+6],[w5],[w6]
-%endmacro
-
-%macro PIXEL23_83 0
-    Interp8 [ecx+6],[w6],[w8]
-%endmacro
-
-%macro PIXEL30_0 0
-    mov eax,[w5]
-    mov [ecx+ebx],ax
-%endmacro
-
-%macro PIXEL30_11 0
-    Interp1 [ecx+ebx],[w5],[w8]
-%endmacro
-
-%macro PIXEL30_12 0
-    Interp1 [ecx+ebx],[w5],[w4]
-%endmacro
-
-%macro PIXEL30_20 0
-    Interp2 [ecx+ebx],[w5],[w8],[w4]
-%endmacro
-
-%macro PIXEL30_50 0
-    Interp5 [ecx+ebx],[w8],[w4]
-%endmacro
-
-%macro PIXEL30_80 0
-    Interp8 [ecx+ebx],[w5],[w7]
-%endmacro
-
-%macro PIXEL30_81 0
-    Interp8 [ecx+ebx],[w5],[w8]
-%endmacro
-
-%macro PIXEL30_82 0
-    Interp8 [ecx+ebx],[w5],[w4]
-%endmacro
-
-%macro PIXEL31_0 0
-    mov eax,[w5]
-    mov [ecx+ebx+2],ax
-%endmacro
-
-%macro PIXEL31_10 0
-    Interp1 [ecx+ebx+2],[w5],[w7]
-%endmacro
-
-%macro PIXEL31_11 0
-    Interp1 [ecx+ebx+2],[w5],[w8]
-%endmacro
-
-%macro PIXEL31_13 0
-    Interp1 [ecx+ebx+2],[w8],[w5]
-%endmacro
-
-%macro PIXEL31_21 0
-    Interp2 [ecx+ebx+2],[w8],[w5],[w4]
-%endmacro
-
-%macro PIXEL31_32 0
-    Interp3 [ecx+ebx+2],[w5],[w4]
-%endmacro
-
-%macro PIXEL31_50 0
-    Interp5 [ecx+ebx+2],[w8],[w5]
-%endmacro
-
-%macro PIXEL31_60 0
-    Interp6 [ecx+ebx+2],[w5],[w8],[w4]
-%endmacro
-
-%macro PIXEL31_61 0
-    Interp6 [ecx+ebx+2],[w5],[w8],[w7]
-%endmacro
-
-%macro PIXEL31_81 0
-    Interp8 [ecx+ebx+2],[w5],[w8]
-%endmacro
-
-%macro PIXEL31_83 0
-    Interp8 [ecx+ebx+2],[w8],[w4]
-%endmacro
-
-%macro PIXEL32_0 0
-    mov eax,[w5]
-    mov [ecx+ebx+4],ax
-%endmacro
-
-%macro PIXEL32_10 0
-    Interp1 [ecx+ebx+4],[w5],[w9]
-%endmacro
-
-%macro PIXEL32_12 0
-    Interp1 [ecx+ebx+4],[w5],[w8]
-%endmacro
-
-%macro PIXEL32_14 0
-    Interp1 [ecx+ebx+4],[w8],[w5]
-%endmacro
-
-%macro PIXEL32_21 0
-    Interp2 [ecx+ebx+4],[w8],[w5],[w6]
-%endmacro
-
-%macro PIXEL32_31 0
-    Interp3 [ecx+ebx+4],[w5],[w6]
-%endmacro
-
-%macro PIXEL32_50 0
-    Interp5 [ecx+ebx+4],[w8],[w5]
-%endmacro
-
-%macro PIXEL32_60 0
-    Interp6 [ecx+ebx+4],[w5],[w8],[w6]
-%endmacro
-
-%macro PIXEL32_61 0
-    Interp6 [ecx+ebx+4],[w5],[w8],[w9]
-%endmacro
-
-%macro PIXEL32_82 0
-    Interp8 [ecx+ebx+4],[w5],[w8]
-%endmacro
-
-%macro PIXEL32_83 0
-    Interp8 [ecx+ebx+4],[w8],[w6]
-%endmacro
-
-%macro PIXEL33_0 0
-    mov eax,[w5]
-    mov [ecx+ebx+6],ax
-%endmacro
-
-%macro PIXEL33_11 0
-    Interp1 [ecx+ebx+6],[w5],[w6]
-%endmacro
-
-%macro PIXEL33_12 0
-    Interp1 [ecx+ebx+6],[w5],[w8]
-%endmacro
-
-%macro PIXEL33_20 0
-    Interp2 [ecx+ebx+6],[w5],[w8],[w6]
-%endmacro
-
-%macro PIXEL33_50 0
-    Interp5 [ecx+ebx+6],[w8],[w6]
-%endmacro
-
-%macro PIXEL33_80 0
-    Interp8 [ecx+ebx+6],[w5],[w9]
-%endmacro
-
-%macro PIXEL33_81 0
-    Interp8 [ecx+ebx+6],[w5],[w6]
-%endmacro
-
-%macro PIXEL33_82 0
-    Interp8 [ecx+ebx+6],[w5],[w8]
-%endmacro
-
-inbuffer     equ 8
-outbuffer    equ 12
-Xres         equ 16
-Yres         equ 20
-pitch        equ 24
-
-_hq4x_16:
-    push ebp
-    mov ebp,esp
-    pushad
-
-    mov     esi,[ebp+inbuffer]
-    mov     edi,[ebp+outbuffer]
-    mov     edx,[ebp+Yres]
-    mov     [linesleft],edx
-    mov     ebx,[ebp+Xres]
-    shl     ebx,1
-    mov     dword[prevline],0
-    mov     dword[nextline],ebx
-.loopy
-    mov     ecx,[ebp+Xres]
-    sub     ecx,2                 ; x={Xres-2, Xres-1} are special cases.
-    mov     dword[xcounter],ecx
-    ; x=0 - special case
-    mov     ebx,[prevline]
-    movq    mm5,[esi+ebx]
-    movq    mm6,[esi]
-    mov     ebx,[nextline]
-    movq    mm7,[esi+ebx]
-    movd    eax,mm5
-    movzx   edx,ax  
-    mov     [w1],edx
-    mov     [w2],edx
-    shr     eax,16
-    mov     [w3],eax
-    movd    eax,mm6
-    movzx   edx,ax  
-    mov     [w4],edx
-    mov     [w5],edx
-    shr     eax,16
-    mov     [w6],eax
-    movd    eax,mm7
-    movzx   edx,ax  
-    mov     [w7],edx
-    mov     [w8],edx
-    shr     eax,16
-    mov     [w9],eax
-    jmp     .flags
-.loopx
-    mov     ebx,[prevline]
-    movq    mm5,[esi+ebx-2]
-    movq    mm6,[esi-2]
-    mov     ebx,[nextline]
-    movq    mm7,[esi+ebx-2]
-    movd    eax,mm5
-    movzx   edx,ax  
-    mov     [w1],edx
-    shr     eax,16
-    mov     [w2],eax
-    psrlq   mm5,32
-    movd    eax,mm5
-    movzx   edx,ax  
-    mov     [w3],edx
-    movd    eax,mm6
-    movzx   edx,ax  
-    mov     [w4],edx
-    shr     eax,16
-    mov     [w5],eax
-    psrlq   mm6,32
-    movd    eax,mm6
-    movzx   edx,ax  
-    mov     [w6],edx
-    movd    eax,mm7
-    movzx   edx,ax  
-    mov     [w7],edx
-    shr     eax,16
-    mov     [w8],eax
-    psrlq   mm7,32
-    movd    eax,mm7
-    movzx   edx,ax  
-    mov     [w9],edx
-.flags
-    mov     ebx,_RGBtoYUV
-    mov     eax,[w5]
-    xor     ecx,ecx
-    movd    mm5,[ebx+eax*4]
-    mov     dword[cross],0
-
-    mov     edx,[w2]
-    cmp     eax,edx
-    je      .noflag2
-    or      dword[cross],1
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag2
-    or      ecx,2
-.noflag2
-    mov     edx,[w4]
-    cmp     eax,edx
-    je      .noflag4
-    or      dword[cross],2
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag4
-    or      ecx,8
-.noflag4
-    mov     edx,[w6]
-    cmp     eax,edx
-    je      .noflag6
-    or      dword[cross],4
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag6
-    or      ecx,16
-.noflag6
-    mov     edx,[w8]
-    cmp     eax,edx
-    je      .noflag8
-    or      dword[cross],8
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag8
-    or      ecx,64
-.noflag8
-    cmp     dword[cross],0
-    jnz     .testflag1
-    mov     ebx,[ebp+pitch]
-    mov     edx,eax
-    shl     eax,16
-    or      eax,edx
-    AUXADDRESS
-    mov     [edi],eax
-    mov     [edi+4],eax
-    mov     [edi+ebx],eax
-    mov     [edi+ebx+4],eax
-    mov     [ecx],eax
-    mov     [ecx+4],eax
-    mov     [ecx+ebx],eax
-    mov     [ecx+ebx+4],eax
-    jmp     .loopx_end
-.testflag1
-    mov     edx,[w1]
-    cmp     eax,edx
-    je      .noflag1
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag1
-    or      ecx,1
-.noflag1
-    mov     edx,[w3]
-    cmp     eax,edx
-    je      .noflag3
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag3
-    or      ecx,4
-.noflag3
-    mov     edx,[w7]
-    cmp     eax,edx
-    je      .noflag7
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag7
-    or      ecx,32
-.noflag7
-    mov     edx,[w9]
-    cmp     eax,edx
-    je      .noflag9
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag9
-    or      ecx,128
-.noflag9
-    mov  ebx,[ebp+pitch]
-    jmp  [FuncTable+ecx*4]
-
-..@flag0
-..@flag1
-..@flag4
-..@flag32
-..@flag128
-..@flag5
-..@flag132
-..@flag160
-..@flag33
-..@flag129
-..@flag36
-..@flag133
-..@flag164
-..@flag161
-..@flag37
-..@flag165
-    AUXADDRESS
-    PIXEL00_20
-    PIXEL01_60
-    PIXEL02_60
-    PIXEL03_20
-    PIXEL10_60
-    PIXEL11_70
-    PIXEL12_70
-    PIXEL13_60
-    PIXEL20_60
-    PIXEL21_70
-    PIXEL22_70
-    PIXEL23_60
-    PIXEL30_20
-    PIXEL31_60
-    PIXEL32_60
-    PIXEL33_20
-    jmp .loopx_end
-..@flag2
-..@flag34
-..@flag130
-..@flag162
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL10_61
-    PIXEL11_30
-    PIXEL12_30
-    PIXEL13_61
-    PIXEL20_60
-    PIXEL21_70
-    PIXEL22_70
-    PIXEL23_60
-    PIXEL30_20
-    PIXEL31_60
-    PIXEL32_60
-    PIXEL33_20
-    jmp .loopx_end
-..@flag16
-..@flag17
-..@flag48
-..@flag49
-    AUXADDRESS
-    PIXEL00_20
-    PIXEL01_60
-    PIXEL02_61
-    PIXEL03_80
-    PIXEL10_60
-    PIXEL11_70
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_60
-    PIXEL21_70
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_20
-    PIXEL31_60
-    PIXEL32_61
-    PIXEL33_80
-    jmp .loopx_end
-..@flag64
-..@flag65
-..@flag68
-..@flag69
-    AUXADDRESS
-    PIXEL00_20
-    PIXEL01_60
-    PIXEL02_60
-    PIXEL03_20
-    PIXEL10_60
-    PIXEL11_70
-    PIXEL12_70
-    PIXEL13_60
-    PIXEL20_61
-    PIXEL21_30
-    PIXEL22_30
-    PIXEL23_61
-    PIXEL30_80
-    PIXEL31_10
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag8
-..@flag12
-..@flag136
-..@flag140
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_61
-    PIXEL02_60
-    PIXEL03_20
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_70
-    PIXEL13_60
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_70
-    PIXEL23_60
-    PIXEL30_80
-    PIXEL31_61
-    PIXEL32_60
-    PIXEL33_20
-    jmp .loopx_end
-..@flag3
-..@flag35
-..@flag131
-..@flag163
-    AUXADDRESS
-    PIXEL00_81
-    PIXEL01_31
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL12_30
-    PIXEL13_61
-    PIXEL20_60
-    PIXEL21_70
-    PIXEL22_70
-    PIXEL23_60
-    PIXEL30_20
-    PIXEL31_60
-    PIXEL32_60
-    PIXEL33_20
-    jmp .loopx_end
-..@flag6
-..@flag38
-..@flag134
-..@flag166
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    PIXEL02_32
-    PIXEL03_82
-    PIXEL10_61
-    PIXEL11_30
-    PIXEL12_32
-    PIXEL13_82
-    PIXEL20_60
-    PIXEL21_70
-    PIXEL22_70
-    PIXEL23_60
-    PIXEL30_20
-    PIXEL31_60
-    PIXEL32_60
-    PIXEL33_20
-    jmp .loopx_end
-..@flag20
-..@flag21
-..@flag52
-..@flag53
-    AUXADDRESS
-    PIXEL00_20
-    PIXEL01_60
-    PIXEL02_81
-    PIXEL03_81
-    PIXEL10_60
-    PIXEL11_70
-    PIXEL12_31
-    PIXEL13_31
-    PIXEL20_60
-    PIXEL21_70
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_20
-    PIXEL31_60
-    PIXEL32_61
-    PIXEL33_80
-    jmp .loopx_end
-..@flag144
-..@flag145
-..@flag176
-..@flag177
-    AUXADDRESS
-    PIXEL00_20
-    PIXEL01_60
-    PIXEL02_61
-    PIXEL03_80
-    PIXEL10_60
-    PIXEL11_70
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_60
-    PIXEL21_70
-    PIXEL22_32
-    PIXEL23_32
-    PIXEL30_20
-    PIXEL31_60
-    PIXEL32_82
-    PIXEL33_82
-    jmp .loopx_end
-..@flag192
-..@flag193
-..@flag196
-..@flag197
-    AUXADDRESS
-    PIXEL00_20
-    PIXEL01_60
-    PIXEL02_60
-    PIXEL03_20
-    PIXEL10_60
-    PIXEL11_70
-    PIXEL12_70
-    PIXEL13_60
-    PIXEL20_61
-    PIXEL21_30
-    PIXEL22_31
-    PIXEL23_81
-    PIXEL30_80
-    PIXEL31_10
-    PIXEL32_31
-    PIXEL33_81
-    jmp .loopx_end
-..@flag96
-..@flag97
-..@flag100
-..@flag101
-    AUXADDRESS
-    PIXEL00_20
-    PIXEL01_60
-    PIXEL02_60
-    PIXEL03_20
-    PIXEL10_60
-    PIXEL11_70
-    PIXEL12_70
-    PIXEL13_60
-    PIXEL20_82
-    PIXEL21_32
-    PIXEL22_30
-    PIXEL23_61
-    PIXEL30_82
-    PIXEL31_32
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag40
-..@flag44
-..@flag168
-..@flag172
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_61
-    PIXEL02_60
-    PIXEL03_20
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_70
-    PIXEL13_60
-    PIXEL20_31
-    PIXEL21_31
-    PIXEL22_70
-    PIXEL23_60
-    PIXEL30_81
-    PIXEL31_81
-    PIXEL32_60
-    PIXEL33_20
-    jmp .loopx_end
-..@flag9
-..@flag13
-..@flag137
-..@flag141
-    AUXADDRESS
-    PIXEL00_82
-    PIXEL01_82
-    PIXEL02_60
-    PIXEL03_20
-    PIXEL10_32
-    PIXEL11_32
-    PIXEL12_70
-    PIXEL13_60
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_70
-    PIXEL23_60
-    PIXEL30_80
-    PIXEL31_61
-    PIXEL32_60
-    PIXEL33_20
-    jmp .loopx_end
-..@flag18
-..@flag50
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL02_50,PIXEL03_50,PIXEL12_0,PIXEL13_50
-    PIXEL10_61
-    PIXEL11_30
-    PIXEL20_60
-    PIXEL21_70
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_20
-    PIXEL31_60
-    PIXEL32_61
-    PIXEL33_80
-    jmp .loopx_end
-..@flag80
-..@flag81
-    AUXADDRESS
-    PIXEL00_20
-    PIXEL01_60
-    PIXEL02_61
-    PIXEL03_80
-    PIXEL10_60
-    PIXEL11_70
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_61
-    PIXEL21_30
-    DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL22_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
-    PIXEL30_80
-    PIXEL31_10
-    jmp .loopx_end
-..@flag72
-..@flag76
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_61
-    PIXEL02_60
-    PIXEL03_20
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_70
-    PIXEL13_60
-    DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL20_50,PIXEL21_0,PIXEL30_50,PIXEL31_50
-    PIXEL22_30
-    PIXEL23_61
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag10
-..@flag138
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL00_50,PIXEL01_50,PIXEL10_50,PIXEL11_0
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL12_30
-    PIXEL13_61
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_70
-    PIXEL23_60
-    PIXEL30_80
-    PIXEL31_61
-    PIXEL32_60
-    PIXEL33_20
-    jmp .loopx_end
-..@flag66
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL10_61
-    PIXEL11_30
-    PIXEL12_30
-    PIXEL13_61
-    PIXEL20_61
-    PIXEL21_30
-    PIXEL22_30
-    PIXEL23_61
-    PIXEL30_80
-    PIXEL31_10
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag24
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_61
-    PIXEL02_61
-    PIXEL03_80
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_80
-    PIXEL31_61
-    PIXEL32_61
-    PIXEL33_80
-    jmp .loopx_end
-..@flag7
-..@flag39
-..@flag135
-    AUXADDRESS
-    PIXEL00_81
-    PIXEL01_31
-    PIXEL02_32
-    PIXEL03_82
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL12_32
-    PIXEL13_82
-    PIXEL20_60
-    PIXEL21_70
-    PIXEL22_70
-    PIXEL23_60
-    PIXEL30_20
-    PIXEL31_60
-    PIXEL32_60
-    PIXEL33_20
-    jmp .loopx_end
-..@flag148
-..@flag149
-..@flag180
-    AUXADDRESS
-    PIXEL00_20
-    PIXEL01_60
-    PIXEL02_81
-    PIXEL03_81
-    PIXEL10_60
-    PIXEL11_70
-    PIXEL12_31
-    PIXEL13_31
-    PIXEL20_60
-    PIXEL21_70
-    PIXEL22_32
-    PIXEL23_32
-    PIXEL30_20
-    PIXEL31_60
-    PIXEL32_82
-    PIXEL33_82
-    jmp .loopx_end
-..@flag224
-..@flag228
-..@flag225
-    AUXADDRESS
-    PIXEL00_20
-    PIXEL01_60
-    PIXEL02_60
-    PIXEL03_20
-    PIXEL10_60
-    PIXEL11_70
-    PIXEL12_70
-    PIXEL13_60
-    PIXEL20_82
-    PIXEL21_32
-    PIXEL22_31
-    PIXEL23_81
-    PIXEL30_82
-    PIXEL31_32
-    PIXEL32_31
-    PIXEL33_81
-    jmp .loopx_end
-..@flag41
-..@flag169
-..@flag45
-    AUXADDRESS
-    PIXEL00_82
-    PIXEL01_82
-    PIXEL02_60
-    PIXEL03_20
-    PIXEL10_32
-    PIXEL11_32
-    PIXEL12_70
-    PIXEL13_60
-    PIXEL20_31
-    PIXEL21_31
-    PIXEL22_70
-    PIXEL23_60
-    PIXEL30_81
-    PIXEL31_81
-    PIXEL32_60
-    PIXEL33_20
-    jmp .loopx_end
-..@flag22
-..@flag54
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
-    PIXEL10_61
-    PIXEL11_30
-    PIXEL12_0
-    PIXEL20_60
-    PIXEL21_70
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_20
-    PIXEL31_60
-    PIXEL32_61
-    PIXEL33_80
-    jmp .loopx_end
-..@flag208
-..@flag209
-    AUXADDRESS
-    PIXEL00_20
-    PIXEL01_60
-    PIXEL02_61
-    PIXEL03_80
-    PIXEL10_60
-    PIXEL11_70
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_61
-    PIXEL21_30
-    PIXEL22_0
-    DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
-    PIXEL30_80
-    PIXEL31_10
-    jmp .loopx_end
-..@flag104
-..@flag108
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_61
-    PIXEL02_60
-    PIXEL03_20
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_70
-    PIXEL13_60
-    DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
-    PIXEL21_0
-    PIXEL22_30
-    PIXEL23_61
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag11
-..@flag139
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL11_0
-    PIXEL12_30
-    PIXEL13_61
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_70
-    PIXEL23_60
-    PIXEL30_80
-    PIXEL31_61
-    PIXEL32_60
-    PIXEL33_20
-    jmp .loopx_end
-..@flag19
-..@flag51
-    AUXADDRESS
-    DiffOrNot w2,w6,PIXEL00_81,PIXEL01_31,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL00_12,PIXEL01_14,PIXEL02_83,PIXEL03_50,PIXEL12_70,PIXEL13_21
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL20_60
-    PIXEL21_70
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_20
-    PIXEL31_60
-    PIXEL32_61
-    PIXEL33_80
-    jmp .loopx_end
-..@flag146
-..@flag178
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL23_32,PIXEL33_82,PIXEL02_21,PIXEL03_50,PIXEL12_70,PIXEL13_83,PIXEL23_13,PIXEL33_11
-    PIXEL10_61
-    PIXEL11_30
-    PIXEL20_60
-    PIXEL21_70
-    PIXEL22_32
-    PIXEL30_20
-    PIXEL31_60
-    PIXEL32_82
-    jmp .loopx_end
-..@flag84
-..@flag85
-    AUXADDRESS
-    PIXEL00_20
-    PIXEL01_60
-    PIXEL02_81
-    DiffOrNot w6,w8,PIXEL03_81,PIXEL13_31,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL03_12,PIXEL13_14,PIXEL22_70,PIXEL23_83,PIXEL32_21,PIXEL33_50
-    PIXEL10_60
-    PIXEL11_70
-    PIXEL12_31
-    PIXEL20_61
-    PIXEL21_30
-    PIXEL30_80
-    PIXEL31_10
-    jmp .loopx_end
-..@flag112
-..@flag113
-    AUXADDRESS
-    PIXEL00_20
-    PIXEL01_60
-    PIXEL02_61
-    PIXEL03_80
-    PIXEL10_60
-    PIXEL11_70
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_82
-    PIXEL21_32
-    DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL30_82,PIXEL31_32,PIXEL32_10,PIXEL33_80,PIXEL22_70,PIXEL23_21,PIXEL30_11,PIXEL31_13,PIXEL32_83,PIXEL33_50
-    jmp .loopx_end
-..@flag200
-..@flag204
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_61
-    PIXEL02_60
-    PIXEL03_20
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_70
-    PIXEL13_60
-    DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL32_31,PIXEL33_81,PIXEL20_21,PIXEL21_70,PIXEL30_50,PIXEL31_83,PIXEL32_14,PIXEL33_12
-    PIXEL22_31
-    PIXEL23_81
-    jmp .loopx_end
-..@flag73
-..@flag77
-    AUXADDRESS
-    DiffOrNot w8,w4,PIXEL00_82,PIXEL10_32,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL00_11,PIXEL10_13,PIXEL20_83,PIXEL21_70,PIXEL30_50,PIXEL31_21
-    PIXEL01_82
-    PIXEL02_60
-    PIXEL03_20
-    PIXEL11_32
-    PIXEL12_70
-    PIXEL13_60
-    PIXEL22_30
-    PIXEL23_61
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag42
-..@flag170
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL20_31,PIXEL30_81,PIXEL00_50,PIXEL01_21,PIXEL10_83,PIXEL11_70,PIXEL20_14,PIXEL30_12
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL12_30
-    PIXEL13_61
-    PIXEL21_31
-    PIXEL22_70
-    PIXEL23_60
-    PIXEL31_81
-    PIXEL32_60
-    PIXEL33_20
-    jmp .loopx_end
-..@flag14
-..@flag142
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL02_32,PIXEL03_82,PIXEL10_10,PIXEL11_30,PIXEL00_50,PIXEL01_83,PIXEL02_13,PIXEL03_11,PIXEL10_21,PIXEL11_70
-    PIXEL12_32
-    PIXEL13_82
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_70
-    PIXEL23_60
-    PIXEL30_80
-    PIXEL31_61
-    PIXEL32_60
-    PIXEL33_20
-    jmp .loopx_end
-..@flag67
-    AUXADDRESS
-    PIXEL00_81
-    PIXEL01_31
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL12_30
-    PIXEL13_61
-    PIXEL20_61
-    PIXEL21_30
-    PIXEL22_30
-    PIXEL23_61
-    PIXEL30_80
-    PIXEL31_10
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag70
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    PIXEL02_32
-    PIXEL03_82
-    PIXEL10_61
-    PIXEL11_30
-    PIXEL12_32
-    PIXEL13_82
-    PIXEL20_61
-    PIXEL21_30
-    PIXEL22_30
-    PIXEL23_61
-    PIXEL30_80
-    PIXEL31_10
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag28
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_61
-    PIXEL02_81
-    PIXEL03_81
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_31
-    PIXEL13_31
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_80
-    PIXEL31_61
-    PIXEL32_61
-    PIXEL33_80
-    jmp .loopx_end
-..@flag152
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_61
-    PIXEL02_61
-    PIXEL03_80
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_32
-    PIXEL23_32
-    PIXEL30_80
-    PIXEL31_61
-    PIXEL32_82
-    PIXEL33_82
-    jmp .loopx_end
-..@flag194
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL10_61
-    PIXEL11_30
-    PIXEL12_30
-    PIXEL13_61
-    PIXEL20_61
-    PIXEL21_30
-    PIXEL22_31
-    PIXEL23_81
-    PIXEL30_80
-    PIXEL31_10
-    PIXEL32_31
-    PIXEL33_81
-    jmp .loopx_end
-..@flag98
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL10_61
-    PIXEL11_30
-    PIXEL12_30
-    PIXEL13_61
-    PIXEL20_82
-    PIXEL21_32
-    PIXEL22_30
-    PIXEL23_61
-    PIXEL30_82
-    PIXEL31_32
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag56
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_61
-    PIXEL02_61
-    PIXEL03_80
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_31
-    PIXEL21_31
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_81
-    PIXEL31_81
-    PIXEL32_61
-    PIXEL33_80
-    jmp .loopx_end
-..@flag25
-    AUXADDRESS
-    PIXEL00_82
-    PIXEL01_82
-    PIXEL02_61
-    PIXEL03_80
-    PIXEL10_32
-    PIXEL11_32
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_80
-    PIXEL31_61
-    PIXEL32_61
-    PIXEL33_80
-    jmp .loopx_end
-..@flag26
-..@flag31
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
-    DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
-    PIXEL11_0
-    PIXEL12_0
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_80
-    PIXEL31_61
-    PIXEL32_61
-    PIXEL33_80
-    jmp .loopx_end
-..@flag82
-..@flag214
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
-    PIXEL10_61
-    PIXEL11_30
-    PIXEL12_0
-    PIXEL20_61
-    PIXEL21_30
-    PIXEL22_0
-    DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
-    PIXEL30_80
-    PIXEL31_10
-    jmp .loopx_end
-..@flag88
-..@flag248
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_61
-    PIXEL02_61
-    PIXEL03_80
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_30
-    PIXEL13_10
-    DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
-    PIXEL21_0
-    PIXEL22_0
-    DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
-    jmp .loopx_end
-..@flag74
-..@flag107
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL11_0
-    PIXEL12_30
-    PIXEL13_61
-    DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
-    PIXEL21_0
-    PIXEL22_30
-    PIXEL23_61
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag27
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL11_0
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_80
-    PIXEL31_61
-    PIXEL32_61
-    PIXEL33_80
-    jmp .loopx_end
-..@flag86
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
-    PIXEL10_61
-    PIXEL11_30
-    PIXEL12_0
-    PIXEL20_61
-    PIXEL21_30
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_80
-    PIXEL31_10
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag216
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_61
-    PIXEL02_61
-    PIXEL03_80
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_0
-    DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
-    PIXEL30_80
-    PIXEL31_10
-    jmp .loopx_end
-..@flag106
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_30
-    PIXEL13_61
-    DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
-    PIXEL21_0
-    PIXEL22_30
-    PIXEL23_61
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag30
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_0
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_80
-    PIXEL31_61
-    PIXEL32_61
-    PIXEL33_80
-    jmp .loopx_end
-..@flag210
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL10_61
-    PIXEL11_30
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_61
-    PIXEL21_30
-    PIXEL22_0
-    DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
-    PIXEL30_80
-    PIXEL31_10
-    jmp .loopx_end
-..@flag120
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_61
-    PIXEL02_61
-    PIXEL03_80
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_30
-    PIXEL13_10
-    DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
-    PIXEL21_0
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag75
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL11_0
-    PIXEL12_30
-    PIXEL13_61
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_30
-    PIXEL23_61
-    PIXEL30_80
-    PIXEL31_10
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag29
-    AUXADDRESS
-    PIXEL00_82
-    PIXEL01_82
-    PIXEL02_81
-    PIXEL03_81
-    PIXEL10_32
-    PIXEL11_32
-    PIXEL12_31
-    PIXEL13_31
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_80
-    PIXEL31_61
-    PIXEL32_61
-    PIXEL33_80
-    jmp .loopx_end
-..@flag198
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    PIXEL02_32
-    PIXEL03_82
-    PIXEL10_61
-    PIXEL11_30
-    PIXEL12_32
-    PIXEL13_82
-    PIXEL20_61
-    PIXEL21_30
-    PIXEL22_31
-    PIXEL23_81
-    PIXEL30_80
-    PIXEL31_10
-    PIXEL32_31
-    PIXEL33_81
-    jmp .loopx_end
-..@flag184
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_61
-    PIXEL02_61
-    PIXEL03_80
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_31
-    PIXEL21_31
-    PIXEL22_32
-    PIXEL23_32
-    PIXEL30_81
-    PIXEL31_81
-    PIXEL32_82
-    PIXEL33_82
-    jmp .loopx_end
-..@flag99
-    AUXADDRESS
-    PIXEL00_81
-    PIXEL01_31
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL12_30
-    PIXEL13_61
-    PIXEL20_82
-    PIXEL21_32
-    PIXEL22_30
-    PIXEL23_61
-    PIXEL30_82
-    PIXEL31_32
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag57
-    AUXADDRESS
-    PIXEL00_82
-    PIXEL01_82
-    PIXEL02_61
-    PIXEL03_80
-    PIXEL10_32
-    PIXEL11_32
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_31
-    PIXEL21_31
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_81
-    PIXEL31_81
-    PIXEL32_61
-    PIXEL33_80
-    jmp .loopx_end
-..@flag71
-    AUXADDRESS
-    PIXEL00_81
-    PIXEL01_31
-    PIXEL02_32
-    PIXEL03_82
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL12_32
-    PIXEL13_82
-    PIXEL20_61
-    PIXEL21_30
-    PIXEL22_30
-    PIXEL23_61
-    PIXEL30_80
-    PIXEL31_10
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag156
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_61
-    PIXEL02_81
-    PIXEL03_81
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_31
-    PIXEL13_31
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_32
-    PIXEL23_32
-    PIXEL30_80
-    PIXEL31_61
-    PIXEL32_82
-    PIXEL33_82
-    jmp .loopx_end
-..@flag226
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL10_61
-    PIXEL11_30
-    PIXEL12_30
-    PIXEL13_61
-    PIXEL20_82
-    PIXEL21_32
-    PIXEL22_31
-    PIXEL23_81
-    PIXEL30_82
-    PIXEL31_32
-    PIXEL32_31
-    PIXEL33_81
-    jmp .loopx_end
-..@flag60
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_61
-    PIXEL02_81
-    PIXEL03_81
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_31
-    PIXEL13_31
-    PIXEL20_31
-    PIXEL21_31
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_81
-    PIXEL31_81
-    PIXEL32_61
-    PIXEL33_80
-    jmp .loopx_end
-..@flag195
-    AUXADDRESS
-    PIXEL00_81
-    PIXEL01_31
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL12_30
-    PIXEL13_61
-    PIXEL20_61
-    PIXEL21_30
-    PIXEL22_31
-    PIXEL23_81
-    PIXEL30_80
-    PIXEL31_10
-    PIXEL32_31
-    PIXEL33_81
-    jmp .loopx_end
-..@flag102
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    PIXEL02_32
-    PIXEL03_82
-    PIXEL10_61
-    PIXEL11_30
-    PIXEL12_32
-    PIXEL13_82
-    PIXEL20_82
-    PIXEL21_32
-    PIXEL22_30
-    PIXEL23_61
-    PIXEL30_82
-    PIXEL31_32
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag153
-    AUXADDRESS
-    PIXEL00_82
-    PIXEL01_82
-    PIXEL02_61
-    PIXEL03_80
-    PIXEL10_32
-    PIXEL11_32
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_32
-    PIXEL23_32
-    PIXEL30_80
-    PIXEL31_61
-    PIXEL32_82
-    PIXEL33_82
-    jmp .loopx_end
-..@flag58
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL00_20,PIXEL01_12,PIXEL10_11,PIXEL11_0
-    DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL02_11,PIXEL03_20,PIXEL12_0,PIXEL13_12
-    PIXEL20_31
-    PIXEL21_31
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_81
-    PIXEL31_81
-    PIXEL32_61
-    PIXEL33_80
-    jmp .loopx_end
-..@flag83
-    AUXADDRESS
-    PIXEL00_81
-    PIXEL01_31
-    DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL02_11,PIXEL03_20,PIXEL12_0,PIXEL13_12
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL20_61
-    PIXEL21_30
-    DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL22_0,PIXEL23_11,PIXEL32_12,PIXEL33_20
-    PIXEL30_80
-    PIXEL31_10
-    jmp .loopx_end
-..@flag92
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_61
-    PIXEL02_81
-    PIXEL03_81
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_31
-    PIXEL13_31
-    DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL20_12,PIXEL21_0,PIXEL30_20,PIXEL31_11
-    DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL22_0,PIXEL23_11,PIXEL32_12,PIXEL33_20
-    jmp .loopx_end
-..@flag202
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL00_20,PIXEL01_12,PIXEL10_11,PIXEL11_0
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL12_30
-    PIXEL13_61
-    DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL20_12,PIXEL21_0,PIXEL30_20,PIXEL31_11
-    PIXEL22_31
-    PIXEL23_81
-    PIXEL32_31
-    PIXEL33_81
-    jmp .loopx_end
-..@flag78
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL00_20,PIXEL01_12,PIXEL10_11,PIXEL11_0
-    PIXEL02_32
-    PIXEL03_82
-    PIXEL12_32
-    PIXEL13_82
-    DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL20_12,PIXEL21_0,PIXEL30_20,PIXEL31_11
-    PIXEL22_30
-    PIXEL23_61
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag154
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL00_20,PIXEL01_12,PIXEL10_11,PIXEL11_0
-    DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL02_11,PIXEL03_20,PIXEL12_0,PIXEL13_12
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_32
-    PIXEL23_32
-    PIXEL30_80
-    PIXEL31_61
-    PIXEL32_82
-    PIXEL33_82
-    jmp .loopx_end
-..@flag114
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL02_11,PIXEL03_20,PIXEL12_0,PIXEL13_12
-    PIXEL10_61
-    PIXEL11_30
-    PIXEL20_82
-    PIXEL21_32
-    DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL22_0,PIXEL23_11,PIXEL32_12,PIXEL33_20
-    PIXEL30_82
-    PIXEL31_32
-    jmp .loopx_end
-..@flag89
-    AUXADDRESS
-    PIXEL00_82
-    PIXEL01_82
-    PIXEL02_61
-    PIXEL03_80
-    PIXEL10_32
-    PIXEL11_32
-    PIXEL12_30
-    PIXEL13_10
-    DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL20_12,PIXEL21_0,PIXEL30_20,PIXEL31_11
-    DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL22_0,PIXEL23_11,PIXEL32_12,PIXEL33_20
-    jmp .loopx_end
-..@flag90
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL00_20,PIXEL01_12,PIXEL10_11,PIXEL11_0
-    DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL02_11,PIXEL03_20,PIXEL12_0,PIXEL13_12
-    DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL20_12,PIXEL21_0,PIXEL30_20,PIXEL31_11
-    DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL22_0,PIXEL23_11,PIXEL32_12,PIXEL33_20
-    jmp .loopx_end
-..@flag55
-..@flag23
-    AUXADDRESS
-    DiffOrNot w2,w6,PIXEL00_81,PIXEL01_31,PIXEL02_0,PIXEL03_0,PIXEL12_0,PIXEL13_0,PIXEL00_12,PIXEL01_14,PIXEL02_83,PIXEL03_50,PIXEL12_70,PIXEL13_21
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL20_60
-    PIXEL21_70
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_20
-    PIXEL31_60
-    PIXEL32_61
-    PIXEL33_80
-    jmp .loopx_end
-..@flag182
-..@flag150
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL12_0,PIXEL13_0,PIXEL23_32,PIXEL33_82,PIXEL02_21,PIXEL03_50,PIXEL12_70,PIXEL13_83,PIXEL23_13,PIXEL33_11
-    PIXEL10_61
-    PIXEL11_30
-    PIXEL20_60
-    PIXEL21_70
-    PIXEL22_32
-    PIXEL30_20
-    PIXEL31_60
-    PIXEL32_82
-    jmp .loopx_end
-..@flag213
-..@flag212
-    AUXADDRESS
-    PIXEL00_20
-    PIXEL01_60
-    PIXEL02_81
-    DiffOrNot w6,w8,PIXEL03_81,PIXEL13_31,PIXEL22_0,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL03_12,PIXEL13_14,PIXEL22_70,PIXEL23_83,PIXEL32_21,PIXEL33_50
-    PIXEL10_60
-    PIXEL11_70
-    PIXEL12_31
-    PIXEL20_61
-    PIXEL21_30
-    PIXEL30_80
-    PIXEL31_10
-    jmp .loopx_end
-..@flag241
-..@flag240
-    AUXADDRESS
-    PIXEL00_20
-    PIXEL01_60
-    PIXEL02_61
-    PIXEL03_80
-    PIXEL10_60
-    PIXEL11_70
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_82
-    PIXEL21_32
-    DiffOrNot w6,w8,PIXEL22_0,PIXEL23_0,PIXEL30_82,PIXEL31_32,PIXEL32_0,PIXEL33_0,PIXEL22_70,PIXEL23_21,PIXEL30_11,PIXEL31_13,PIXEL32_83,PIXEL33_50
-    jmp .loopx_end
-..@flag236
-..@flag232
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_61
-    PIXEL02_60
-    PIXEL03_20
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_70
-    PIXEL13_60
-    DiffOrNot w8,w4,PIXEL20_0,PIXEL21_0,PIXEL30_0,PIXEL31_0,PIXEL32_31,PIXEL33_81,PIXEL20_21,PIXEL21_70,PIXEL30_50,PIXEL31_83,PIXEL32_14,PIXEL33_12
-    PIXEL22_31
-    PIXEL23_81
-    jmp .loopx_end
-..@flag109
-..@flag105
-    AUXADDRESS
-    DiffOrNot w8,w4,PIXEL00_82,PIXEL10_32,PIXEL20_0,PIXEL21_0,PIXEL30_0,PIXEL31_0,PIXEL00_11,PIXEL10_13,PIXEL20_83,PIXEL21_70,PIXEL30_50,PIXEL31_21
-    PIXEL01_82
-    PIXEL02_60
-    PIXEL03_20
-    PIXEL11_32
-    PIXEL12_70
-    PIXEL13_60
-    PIXEL22_30
-    PIXEL23_61
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag171
-..@flag43
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL11_0,PIXEL20_31,PIXEL30_81,PIXEL00_50,PIXEL01_21,PIXEL10_83,PIXEL11_70,PIXEL20_14,PIXEL30_12
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL12_30
-    PIXEL13_61
-    PIXEL21_31
-    PIXEL22_70
-    PIXEL23_60
-    PIXEL31_81
-    PIXEL32_60
-    PIXEL33_20
-    jmp .loopx_end
-..@flag143
-..@flag15
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL02_32,PIXEL03_82,PIXEL10_0,PIXEL11_0,PIXEL00_50,PIXEL01_83,PIXEL02_13,PIXEL03_11,PIXEL10_21,PIXEL11_70
-    PIXEL12_32
-    PIXEL13_82
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_70
-    PIXEL23_60
-    PIXEL30_80
-    PIXEL31_61
-    PIXEL32_60
-    PIXEL33_20
-    jmp .loopx_end
-..@flag124
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_61
-    PIXEL02_81
-    PIXEL03_81
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_31
-    PIXEL13_31
-    DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
-    PIXEL21_0
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag203
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL11_0
-    PIXEL12_30
-    PIXEL13_61
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_31
-    PIXEL23_81
-    PIXEL30_80
-    PIXEL31_10
-    PIXEL32_31
-    PIXEL33_81
-    jmp .loopx_end
-..@flag62
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_0
-    PIXEL20_31
-    PIXEL21_31
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_81
-    PIXEL31_81
-    PIXEL32_61
-    PIXEL33_80
-    jmp .loopx_end
-..@flag211
-    AUXADDRESS
-    PIXEL00_81
-    PIXEL01_31
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_61
-    PIXEL21_30
-    PIXEL22_0
-    DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
-    PIXEL30_80
-    PIXEL31_10
-    jmp .loopx_end
-..@flag118
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
-    PIXEL10_61
-    PIXEL11_30
-    PIXEL12_0
-    PIXEL20_82
-    PIXEL21_32
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_82
-    PIXEL31_32
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag217
-    AUXADDRESS
-    PIXEL00_82
-    PIXEL01_82
-    PIXEL02_61
-    PIXEL03_80
-    PIXEL10_32
-    PIXEL11_32
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_0
-    DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
-    PIXEL30_80
-    PIXEL31_10
-    jmp .loopx_end
-..@flag110
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    PIXEL02_32
-    PIXEL03_82
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_32
-    PIXEL13_82
-    DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
-    PIXEL21_0
-    PIXEL22_30
-    PIXEL23_61
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag155
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL11_0
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_32
-    PIXEL23_32
-    PIXEL30_80
-    PIXEL31_61
-    PIXEL32_82
-    PIXEL33_82
-    jmp .loopx_end
-..@flag188
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_61
-    PIXEL02_81
-    PIXEL03_81
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_31
-    PIXEL13_31
-    PIXEL20_31
-    PIXEL21_31
-    PIXEL22_32
-    PIXEL23_32
-    PIXEL30_81
-    PIXEL31_81
-    PIXEL32_82
-    PIXEL33_82
-    jmp .loopx_end
-..@flag185
-    AUXADDRESS
-    PIXEL00_82
-    PIXEL01_82
-    PIXEL02_61
-    PIXEL03_80
-    PIXEL10_32
-    PIXEL11_32
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_31
-    PIXEL21_31
-    PIXEL22_32
-    PIXEL23_32
-    PIXEL30_81
-    PIXEL31_81
-    PIXEL32_82
-    PIXEL33_82
-    jmp .loopx_end
-..@flag61
-    AUXADDRESS
-    PIXEL00_82
-    PIXEL01_82
-    PIXEL02_81
-    PIXEL03_81
-    PIXEL10_32
-    PIXEL11_32
-    PIXEL12_31
-    PIXEL13_31
-    PIXEL20_31
-    PIXEL21_31
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_81
-    PIXEL31_81
-    PIXEL32_61
-    PIXEL33_80
-    jmp .loopx_end
-..@flag157
-    AUXADDRESS
-    PIXEL00_82
-    PIXEL01_82
-    PIXEL02_81
-    PIXEL03_81
-    PIXEL10_32
-    PIXEL11_32
-    PIXEL12_31
-    PIXEL13_31
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_32
-    PIXEL23_32
-    PIXEL30_80
-    PIXEL31_61
-    PIXEL32_82
-    PIXEL33_82
-    jmp .loopx_end
-..@flag103
-    AUXADDRESS
-    PIXEL00_81
-    PIXEL01_31
-    PIXEL02_32
-    PIXEL03_82
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL12_32
-    PIXEL13_82
-    PIXEL20_82
-    PIXEL21_32
-    PIXEL22_30
-    PIXEL23_61
-    PIXEL30_82
-    PIXEL31_32
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag227
-    AUXADDRESS
-    PIXEL00_81
-    PIXEL01_31
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL12_30
-    PIXEL13_61
-    PIXEL20_82
-    PIXEL21_32
-    PIXEL22_31
-    PIXEL23_81
-    PIXEL30_82
-    PIXEL31_32
-    PIXEL32_31
-    PIXEL33_81
-    jmp .loopx_end
-..@flag230
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    PIXEL02_32
-    PIXEL03_82
-    PIXEL10_61
-    PIXEL11_30
-    PIXEL12_32
-    PIXEL13_82
-    PIXEL20_82
-    PIXEL21_32
-    PIXEL22_31
-    PIXEL23_81
-    PIXEL30_82
-    PIXEL31_32
-    PIXEL32_31
-    PIXEL33_81
-    jmp .loopx_end
-..@flag199
-    AUXADDRESS
-    PIXEL00_81
-    PIXEL01_31
-    PIXEL02_32
-    PIXEL03_82
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL12_32
-    PIXEL13_82
-    PIXEL20_61
-    PIXEL21_30
-    PIXEL22_31
-    PIXEL23_81
-    PIXEL30_80
-    PIXEL31_10
-    PIXEL32_31
-    PIXEL33_81
-    jmp .loopx_end
-..@flag220
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_61
-    PIXEL02_81
-    PIXEL03_81
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_31
-    PIXEL13_31
-    DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL20_12,PIXEL21_0,PIXEL30_20,PIXEL31_11
-    PIXEL22_0
-    DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
-    jmp .loopx_end
-..@flag158
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL00_20,PIXEL01_12,PIXEL10_11,PIXEL11_0
-    DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
-    PIXEL12_0
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_32
-    PIXEL23_32
-    PIXEL30_80
-    PIXEL31_61
-    PIXEL32_82
-    PIXEL33_82
-    jmp .loopx_end
-..@flag234
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL00_20,PIXEL01_12,PIXEL10_11,PIXEL11_0
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL12_30
-    PIXEL13_61
-    DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
-    PIXEL21_0
-    PIXEL22_31
-    PIXEL23_81
-    PIXEL32_31
-    PIXEL33_81
-    jmp .loopx_end
-..@flag242
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL02_11,PIXEL03_20,PIXEL12_0,PIXEL13_12
-    PIXEL10_61
-    PIXEL11_30
-    PIXEL20_82
-    PIXEL21_32
-    PIXEL22_0
-    DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
-    PIXEL30_82
-    PIXEL31_32
-    jmp .loopx_end
-..@flag59
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
-    DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL02_11,PIXEL03_20,PIXEL12_0,PIXEL13_12
-    PIXEL11_0
-    PIXEL20_31
-    PIXEL21_31
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_81
-    PIXEL31_81
-    PIXEL32_61
-    PIXEL33_80
-    jmp .loopx_end
-..@flag121
-    AUXADDRESS
-    PIXEL00_82
-    PIXEL01_82
-    PIXEL02_61
-    PIXEL03_80
-    PIXEL10_32
-    PIXEL11_32
-    PIXEL12_30
-    PIXEL13_10
-    DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
-    PIXEL21_0
-    DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL22_0,PIXEL23_11,PIXEL32_12,PIXEL33_20
-    jmp .loopx_end
-..@flag87
-    AUXADDRESS
-    PIXEL00_81
-    PIXEL01_31
-    DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL12_0
-    PIXEL20_61
-    PIXEL21_30
-    DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL22_0,PIXEL23_11,PIXEL32_12,PIXEL33_20
-    PIXEL30_80
-    PIXEL31_10
-    jmp .loopx_end
-..@flag79
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
-    PIXEL02_32
-    PIXEL03_82
-    PIXEL11_0
-    PIXEL12_32
-    PIXEL13_82
-    DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL20_12,PIXEL21_0,PIXEL30_20,PIXEL31_11
-    PIXEL22_30
-    PIXEL23_61
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag122
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL00_20,PIXEL01_12,PIXEL10_11,PIXEL11_0
-    DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL02_11,PIXEL03_20,PIXEL12_0,PIXEL13_12
-    DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
-    PIXEL21_0
-    DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL22_0,PIXEL23_11,PIXEL32_12,PIXEL33_20
-    jmp .loopx_end
-..@flag94
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL00_20,PIXEL01_12,PIXEL10_11,PIXEL11_0
-    DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
-    PIXEL12_0
-    DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL20_12,PIXEL21_0,PIXEL30_20,PIXEL31_11
-    DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL22_0,PIXEL23_11,PIXEL32_12,PIXEL33_20
-    jmp .loopx_end
-..@flag218
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL00_20,PIXEL01_12,PIXEL10_11,PIXEL11_0
-    DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL02_11,PIXEL03_20,PIXEL12_0,PIXEL13_12
-    DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL20_12,PIXEL21_0,PIXEL30_20,PIXEL31_11
-    PIXEL22_0
-    DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
-    jmp .loopx_end
-..@flag91
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
-    DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL02_11,PIXEL03_20,PIXEL12_0,PIXEL13_12
-    PIXEL11_0
-    DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL20_12,PIXEL21_0,PIXEL30_20,PIXEL31_11
-    DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL22_0,PIXEL23_11,PIXEL32_12,PIXEL33_20
-    jmp .loopx_end
-..@flag229
-    AUXADDRESS
-    PIXEL00_20
-    PIXEL01_60
-    PIXEL02_60
-    PIXEL03_20
-    PIXEL10_60
-    PIXEL11_70
-    PIXEL12_70
-    PIXEL13_60
-    PIXEL20_82
-    PIXEL21_32
-    PIXEL22_31
-    PIXEL23_81
-    PIXEL30_82
-    PIXEL31_32
-    PIXEL32_31
-    PIXEL33_81
-    jmp .loopx_end
-..@flag167
-    AUXADDRESS
-    PIXEL00_81
-    PIXEL01_31
-    PIXEL02_32
-    PIXEL03_82
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL12_32
-    PIXEL13_82
-    PIXEL20_60
-    PIXEL21_70
-    PIXEL22_70
-    PIXEL23_60
-    PIXEL30_20
-    PIXEL31_60
-    PIXEL32_60
-    PIXEL33_20
-    jmp .loopx_end
-..@flag173
-    AUXADDRESS
-    PIXEL00_82
-    PIXEL01_82
-    PIXEL02_60
-    PIXEL03_20
-    PIXEL10_32
-    PIXEL11_32
-    PIXEL12_70
-    PIXEL13_60
-    PIXEL20_31
-    PIXEL21_31
-    PIXEL22_70
-    PIXEL23_60
-    PIXEL30_81
-    PIXEL31_81
-    PIXEL32_60
-    PIXEL33_20
-    jmp .loopx_end
-..@flag181
-    AUXADDRESS
-    PIXEL00_20
-    PIXEL01_60
-    PIXEL02_81
-    PIXEL03_81
-    PIXEL10_60
-    PIXEL11_70
-    PIXEL12_31
-    PIXEL13_31
-    PIXEL20_60
-    PIXEL21_70
-    PIXEL22_32
-    PIXEL23_32
-    PIXEL30_20
-    PIXEL31_60
-    PIXEL32_82
-    PIXEL33_82
-    jmp .loopx_end
-..@flag186
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL00_20,PIXEL01_12,PIXEL10_11,PIXEL11_0
-    DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL02_11,PIXEL03_20,PIXEL12_0,PIXEL13_12
-    PIXEL20_31
-    PIXEL21_31
-    PIXEL22_32
-    PIXEL23_32
-    PIXEL30_81
-    PIXEL31_81
-    PIXEL32_82
-    PIXEL33_82
-    jmp .loopx_end
-..@flag115
-    AUXADDRESS
-    PIXEL00_81
-    PIXEL01_31
-    DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL02_11,PIXEL03_20,PIXEL12_0,PIXEL13_12
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL20_82
-    PIXEL21_32
-    DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL22_0,PIXEL23_11,PIXEL32_12,PIXEL33_20
-    PIXEL30_82
-    PIXEL31_32
-    jmp .loopx_end
-..@flag93
-    AUXADDRESS
-    PIXEL00_82
-    PIXEL01_82
-    PIXEL02_81
-    PIXEL03_81
-    PIXEL10_32
-    PIXEL11_32
-    PIXEL12_31
-    PIXEL13_31
-    DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL20_12,PIXEL21_0,PIXEL30_20,PIXEL31_11
-    DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL22_0,PIXEL23_11,PIXEL32_12,PIXEL33_20
-    jmp .loopx_end
-..@flag206
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL00_20,PIXEL01_12,PIXEL10_11,PIXEL11_0
-    PIXEL02_32
-    PIXEL03_82
-    PIXEL12_32
-    PIXEL13_82
-    DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL20_12,PIXEL21_0,PIXEL30_20,PIXEL31_11
-    PIXEL22_31
-    PIXEL23_81
-    PIXEL32_31
-    PIXEL33_81
-    jmp .loopx_end
-..@flag205
-..@flag201
-    AUXADDRESS
-    PIXEL00_82
-    PIXEL01_82
-    PIXEL02_60
-    PIXEL03_20
-    PIXEL10_32
-    PIXEL11_32
-    PIXEL12_70
-    PIXEL13_60
-    DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL20_12,PIXEL21_0,PIXEL30_20,PIXEL31_11
-    PIXEL22_31
-    PIXEL23_81
-    PIXEL32_31
-    PIXEL33_81
-    jmp .loopx_end
-..@flag174
-..@flag46
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL00_20,PIXEL01_12,PIXEL10_11,PIXEL11_0
-    PIXEL02_32
-    PIXEL03_82
-    PIXEL12_32
-    PIXEL13_82
-    PIXEL20_31
-    PIXEL21_31
-    PIXEL22_70
-    PIXEL23_60
-    PIXEL30_81
-    PIXEL31_81
-    PIXEL32_60
-    PIXEL33_20
-    jmp .loopx_end
-..@flag179
-..@flag147
-    AUXADDRESS
-    PIXEL00_81
-    PIXEL01_31
-    DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL02_11,PIXEL03_20,PIXEL12_0,PIXEL13_12
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL20_60
-    PIXEL21_70
-    PIXEL22_32
-    PIXEL23_32
-    PIXEL30_20
-    PIXEL31_60
-    PIXEL32_82
-    PIXEL33_82
-    jmp .loopx_end
-..@flag117
-..@flag116
-    AUXADDRESS
-    PIXEL00_20
-    PIXEL01_60
-    PIXEL02_81
-    PIXEL03_81
-    PIXEL10_60
-    PIXEL11_70
-    PIXEL12_31
-    PIXEL13_31
-    PIXEL20_82
-    PIXEL21_32
-    DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL22_0,PIXEL23_11,PIXEL32_12,PIXEL33_20
-    PIXEL30_82
-    PIXEL31_32
-    jmp .loopx_end
-..@flag189
-    AUXADDRESS
-    PIXEL00_82
-    PIXEL01_82
-    PIXEL02_81
-    PIXEL03_81
-    PIXEL10_32
-    PIXEL11_32
-    PIXEL12_31
-    PIXEL13_31
-    PIXEL20_31
-    PIXEL21_31
-    PIXEL22_32
-    PIXEL23_32
-    PIXEL30_81
-    PIXEL31_81
-    PIXEL32_82
-    PIXEL33_82
-    jmp .loopx_end
-..@flag231
-    AUXADDRESS
-    PIXEL00_81
-    PIXEL01_31
-    PIXEL02_32
-    PIXEL03_82
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL12_32
-    PIXEL13_82
-    PIXEL20_82
-    PIXEL21_32
-    PIXEL22_31
-    PIXEL23_81
-    PIXEL30_82
-    PIXEL31_32
-    PIXEL32_31
-    PIXEL33_81
-    jmp .loopx_end
-..@flag126
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_0
-    DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
-    PIXEL21_0
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag219
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL11_0
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_0
-    DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
-    PIXEL30_80
-    PIXEL31_10
-    jmp .loopx_end
-..@flag125
-    AUXADDRESS
-    DiffOrNot w8,w4,PIXEL00_82,PIXEL10_32,PIXEL20_0,PIXEL21_0,PIXEL30_0,PIXEL31_0,PIXEL00_11,PIXEL10_13,PIXEL20_83,PIXEL21_70,PIXEL30_50,PIXEL31_21
-    PIXEL01_82
-    PIXEL02_81
-    PIXEL03_81
-    PIXEL11_32
-    PIXEL12_31
-    PIXEL13_31
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag221
-    AUXADDRESS
-    PIXEL00_82
-    PIXEL01_82
-    PIXEL02_81
-    DiffOrNot w6,w8,PIXEL03_81,PIXEL13_31,PIXEL22_0,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL03_12,PIXEL13_14,PIXEL22_70,PIXEL23_83,PIXEL32_21,PIXEL33_50
-    PIXEL10_32
-    PIXEL11_32
-    PIXEL12_31
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL30_80
-    PIXEL31_10
-    jmp .loopx_end
-..@flag207
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL02_32,PIXEL03_82,PIXEL10_0,PIXEL11_0,PIXEL00_50,PIXEL01_83,PIXEL02_13,PIXEL03_11,PIXEL10_21,PIXEL11_70
-    PIXEL12_32
-    PIXEL13_82
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_31
-    PIXEL23_81
-    PIXEL30_80
-    PIXEL31_10
-    PIXEL32_31
-    PIXEL33_81
-    jmp .loopx_end
-..@flag238
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    PIXEL02_32
-    PIXEL03_82
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_32
-    PIXEL13_82
-    DiffOrNot w8,w4,PIXEL20_0,PIXEL21_0,PIXEL30_0,PIXEL31_0,PIXEL32_31,PIXEL33_81,PIXEL20_21,PIXEL21_70,PIXEL30_50,PIXEL31_83,PIXEL32_14,PIXEL33_12
-    PIXEL22_31
-    PIXEL23_81
-    jmp .loopx_end
-..@flag190
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL12_0,PIXEL13_0,PIXEL23_32,PIXEL33_82,PIXEL02_21,PIXEL03_50,PIXEL12_70,PIXEL13_83,PIXEL23_13,PIXEL33_11
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL20_31
-    PIXEL21_31
-    PIXEL22_32
-    PIXEL30_81
-    PIXEL31_81
-    PIXEL32_82
-    jmp .loopx_end
-..@flag187
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL11_0,PIXEL20_31,PIXEL30_81,PIXEL00_50,PIXEL01_21,PIXEL10_83,PIXEL11_70,PIXEL20_14,PIXEL30_12
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL21_31
-    PIXEL22_32
-    PIXEL23_32
-    PIXEL31_81
-    PIXEL32_82
-    PIXEL33_82
-    jmp .loopx_end
-..@flag243
-    AUXADDRESS
-    PIXEL00_81
-    PIXEL01_31
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_82
-    PIXEL21_32
-    DiffOrNot w6,w8,PIXEL22_0,PIXEL23_0,PIXEL30_82,PIXEL31_32,PIXEL32_0,PIXEL33_0,PIXEL22_70,PIXEL23_21,PIXEL30_11,PIXEL31_13,PIXEL32_83,PIXEL33_50
-    jmp .loopx_end
-..@flag119
-    AUXADDRESS
-    DiffOrNot w2,w6,PIXEL00_81,PIXEL01_31,PIXEL02_0,PIXEL03_0,PIXEL12_0,PIXEL13_0,PIXEL00_12,PIXEL01_14,PIXEL02_83,PIXEL03_50,PIXEL12_70,PIXEL13_21
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL20_82
-    PIXEL21_32
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_82
-    PIXEL31_32
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag237
-..@flag233
-    AUXADDRESS
-    PIXEL00_82
-    PIXEL01_82
-    PIXEL02_60
-    PIXEL03_20
-    PIXEL10_32
-    PIXEL11_32
-    PIXEL12_70
-    PIXEL13_60
-    PIXEL20_0
-    PIXEL21_0
-    PIXEL22_31
-    PIXEL23_81
-    DiffOrNot w8,w4,PIXEL30_0,PIXEL30_20
-    PIXEL31_0
-    PIXEL32_31
-    PIXEL33_81
-    jmp .loopx_end
-..@flag175
-..@flag47
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    PIXEL01_0
-    PIXEL02_32
-    PIXEL03_82
-    PIXEL10_0
-    PIXEL11_0
-    PIXEL12_32
-    PIXEL13_82
-    PIXEL20_31
-    PIXEL21_31
-    PIXEL22_70
-    PIXEL23_60
-    PIXEL30_81
-    PIXEL31_81
-    PIXEL32_60
-    PIXEL33_20
-    jmp .loopx_end
-..@flag183
-..@flag151
-    AUXADDRESS
-    PIXEL00_81
-    PIXEL01_31
-    PIXEL02_0
-    DiffOrNot w2,w6,PIXEL03_0,PIXEL03_20
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL12_0
-    PIXEL13_0
-    PIXEL20_60
-    PIXEL21_70
-    PIXEL22_32
-    PIXEL23_32
-    PIXEL30_20
-    PIXEL31_60
-    PIXEL32_82
-    PIXEL33_82
-    jmp .loopx_end
-..@flag245
-..@flag244
-    AUXADDRESS
-    PIXEL00_20
-    PIXEL01_60
-    PIXEL02_81
-    PIXEL03_81
-    PIXEL10_60
-    PIXEL11_70
-    PIXEL12_31
-    PIXEL13_31
-    PIXEL20_82
-    PIXEL21_32
-    PIXEL22_0
-    PIXEL23_0
-    PIXEL30_82
-    PIXEL31_32
-    PIXEL32_0
-    DiffOrNot w6,w8,PIXEL33_0,PIXEL33_20
-    jmp .loopx_end
-..@flag250
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_30
-    PIXEL13_10
-    DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
-    PIXEL21_0
-    PIXEL22_0
-    DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
-    jmp .loopx_end
-..@flag123
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL11_0
-    PIXEL12_30
-    PIXEL13_10
-    DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
-    PIXEL21_0
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag95
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
-    DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
-    PIXEL11_0
-    PIXEL12_0
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_80
-    PIXEL31_10
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag222
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_0
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_0
-    DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
-    PIXEL30_80
-    PIXEL31_10
-    jmp .loopx_end
-..@flag252
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_61
-    PIXEL02_81
-    PIXEL03_81
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_31
-    PIXEL13_31
-    DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
-    PIXEL21_0
-    PIXEL22_0
-    PIXEL23_0
-    PIXEL32_0
-    DiffOrNot w6,w8,PIXEL33_0,PIXEL33_20
-    jmp .loopx_end
-..@flag249
-    AUXADDRESS
-    PIXEL00_82
-    PIXEL01_82
-    PIXEL02_61
-    PIXEL03_80
-    PIXEL10_32
-    PIXEL11_32
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_0
-    PIXEL21_0
-    PIXEL22_0
-    DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
-    DiffOrNot w8,w4,PIXEL30_0,PIXEL30_20
-    PIXEL31_0
-    jmp .loopx_end
-..@flag235
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL11_0
-    PIXEL12_30
-    PIXEL13_61
-    PIXEL20_0
-    PIXEL21_0
-    PIXEL22_31
-    PIXEL23_81
-    DiffOrNot w8,w4,PIXEL30_0,PIXEL30_20
-    PIXEL31_0
-    PIXEL32_31
-    PIXEL33_81
-    jmp .loopx_end
-..@flag111
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    PIXEL01_0
-    PIXEL02_32
-    PIXEL03_82
-    PIXEL10_0
-    PIXEL11_0
-    PIXEL12_32
-    PIXEL13_82
-    DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
-    PIXEL21_0
-    PIXEL22_30
-    PIXEL23_61
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag63
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    PIXEL01_0
-    DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
-    PIXEL10_0
-    PIXEL11_0
-    PIXEL12_0
-    PIXEL20_31
-    PIXEL21_31
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_81
-    PIXEL31_81
-    PIXEL32_61
-    PIXEL33_80
-    jmp .loopx_end
-..@flag159
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
-    PIXEL02_0
-    DiffOrNot w2,w6,PIXEL03_0,PIXEL03_20
-    PIXEL11_0
-    PIXEL12_0
-    PIXEL13_0
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_32
-    PIXEL23_32
-    PIXEL30_80
-    PIXEL31_61
-    PIXEL32_82
-    PIXEL33_82
-    jmp .loopx_end
-..@flag215
-    AUXADDRESS
-    PIXEL00_81
-    PIXEL01_31
-    PIXEL02_0
-    DiffOrNot w2,w6,PIXEL03_0,PIXEL03_20
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL12_0
-    PIXEL13_0
-    PIXEL20_61
-    PIXEL21_30
-    PIXEL22_0
-    DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
-    PIXEL30_80
-    PIXEL31_10
-    jmp .loopx_end
-..@flag246
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
-    PIXEL10_61
-    PIXEL11_30
-    PIXEL12_0
-    PIXEL20_82
-    PIXEL21_32
-    PIXEL22_0
-    PIXEL23_0
-    PIXEL30_82
-    PIXEL31_32
-    PIXEL32_0
-    DiffOrNot w6,w8,PIXEL33_0,PIXEL33_20
-    jmp .loopx_end
-..@flag254
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_0
-    DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
-    PIXEL21_0
-    PIXEL22_0
-    PIXEL23_0
-    PIXEL32_0
-    DiffOrNot w6,w8,PIXEL33_0,PIXEL33_20
-    jmp .loopx_end
-..@flag253
-    AUXADDRESS
-    PIXEL00_82
-    PIXEL01_82
-    PIXEL02_81
-    PIXEL03_81
-    PIXEL10_32
-    PIXEL11_32
-    PIXEL12_31
-    PIXEL13_31
-    PIXEL20_0
-    PIXEL21_0
-    PIXEL22_0
-    PIXEL23_0
-    DiffOrNot w8,w4,PIXEL30_0,PIXEL30_20
-    PIXEL31_0
-    PIXEL32_0
-    DiffOrNot w6,w8,PIXEL33_0,PIXEL33_20
-    jmp .loopx_end
-..@flag251
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL11_0
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_0
-    PIXEL21_0
-    PIXEL22_0
-    DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
-    DiffOrNot w8,w4,PIXEL30_0,PIXEL30_20
-    PIXEL31_0
-    jmp .loopx_end
-..@flag239
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    PIXEL01_0
-    PIXEL02_32
-    PIXEL03_82
-    PIXEL10_0
-    PIXEL11_0
-    PIXEL12_32
-    PIXEL13_82
-    PIXEL20_0
-    PIXEL21_0
-    PIXEL22_31
-    PIXEL23_81
-    DiffOrNot w8,w4,PIXEL30_0,PIXEL30_20
-    PIXEL31_0
-    PIXEL32_31
-    PIXEL33_81
-    jmp .loopx_end
-..@flag127
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    PIXEL01_0
-    DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
-    PIXEL10_0
-    PIXEL11_0
-    PIXEL12_0
-    DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
-    PIXEL21_0
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag191
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    PIXEL01_0
-    PIXEL02_0
-    DiffOrNot w2,w6,PIXEL03_0,PIXEL03_20
-    PIXEL10_0
-    PIXEL11_0
-    PIXEL12_0
-    PIXEL13_0
-    PIXEL20_31
-    PIXEL21_31
-    PIXEL22_32
-    PIXEL23_32
-    PIXEL30_81
-    PIXEL31_81
-    PIXEL32_82
-    PIXEL33_82
-    jmp .loopx_end
-..@flag223
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
-    PIXEL02_0
-    DiffOrNot w2,w6,PIXEL03_0,PIXEL03_20
-    PIXEL11_0
-    PIXEL12_0
-    PIXEL13_0
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_0
-    DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
-    PIXEL30_80
-    PIXEL31_10
-    jmp .loopx_end
-..@flag247
-    AUXADDRESS
-    PIXEL00_81
-    PIXEL01_31
-    PIXEL02_0
-    DiffOrNot w2,w6,PIXEL03_0,PIXEL03_20
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL12_0
-    PIXEL13_0
-    PIXEL20_82
-    PIXEL21_32
-    PIXEL22_0
-    PIXEL23_0
-    PIXEL30_82
-    PIXEL31_32
-    PIXEL32_0
-    DiffOrNot w6,w8,PIXEL33_0,PIXEL33_20
-    jmp .loopx_end
-..@flag255
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    PIXEL01_0
-    PIXEL02_0
-    DiffOrNot w2,w6,PIXEL03_0,PIXEL03_20
-    PIXEL10_0
-    PIXEL11_0
-    PIXEL12_0
-    PIXEL13_0
-    PIXEL20_0
-    PIXEL21_0
-    PIXEL22_0
-    PIXEL23_0
-    DiffOrNot w8,w4,PIXEL30_0,PIXEL30_20
-    PIXEL31_0
-    PIXEL32_0
-    DiffOrNot w6,w8,PIXEL33_0,PIXEL33_20
-    jmp .loopx_end
-
-.loopx_end
-    add     esi,2
-    add     edi,8
-    dec     dword[xcounter]
-    jle     .xres_2
-    jmp     .loopx
-.xres_2
-    ; x=Xres-2 - special case
-    jl      .xres_1
-    mov     ebx,[prevline]
-    movq    mm5,[esi+ebx-4]
-    movq    mm6,[esi-4]
-    mov     ebx,[nextline]
-    movq    mm7,[esi+ebx-4]
-    psrlq   mm5,16
-    psrlq   mm6,16
-    psrlq   mm7,16
-    movd    eax,mm5
-    movzx   edx,ax
-    mov     [w1],edx
-    shr     eax,16
-    mov     [w2],eax
-    psrlq   mm5,32
-    movd    eax,mm5
-    mov     [w3],eax
-    movd    eax,mm6
-    movzx   edx,ax
-    mov     [w4],edx
-    shr     eax,16
-    mov     [w5],eax
-    psrlq   mm6,32
-    movd    eax,mm6
-    mov     [w6],eax
-    movd    eax,mm7
-    movzx   edx,ax
-    mov     [w7],edx
-    shr     eax,16
-    mov     [w8],eax
-    psrlq   mm7,32
-    movd    eax,mm7
-    mov     [w9],eax
-    jmp     .flags
-.xres_1
-    cmp     dword[xcounter],-1
-    jl      .nexty
-    ; x=Xres-1 - special case
-    mov     ebx,[prevline]
-    movq    mm5,[esi+ebx-6]
-    movq    mm6,[esi-6]
-    mov     ebx,[nextline]
-    movq    mm7,[esi+ebx-6]
-    psrlq   mm5,32
-    psrlq   mm6,32
-    psrlq   mm7,32
-    movd    eax,mm5
-    movzx   edx,ax  
-    mov     [w1],edx
-    shr     eax,16
-    mov     [w2],eax
-    mov     [w3],eax
-    movd    eax,mm6
-    movzx   edx,ax  
-    mov     [w4],edx
-    shr     eax,16
-    mov     [w5],eax
-    mov     [w6],eax
-    movd    eax,mm7
-    movzx   edx,ax  
-    mov     [w7],edx
-    shr     eax,16
-    mov     [w8],eax
-    mov     [w9],eax
-    jmp     .flags
-.nexty
-    add     edi,ebx
-    add     edi,ebx
-    add     edi,ebx
-    dec     dword[linesleft]
-    jz      .fin
-    mov     ebx,[ebp+Xres]
-    shl     ebx,1
-    cmp     dword[linesleft],1
-    je      .lastline
-    mov     dword[nextline],ebx
-    neg     ebx
-    mov     dword[prevline],ebx
-    jmp     .loopy
-.lastline
-    mov     dword[nextline],0
-    neg     ebx
-    mov     dword[prevline],ebx
-    jmp     .loopy
-.fin
-    emms
-    popad
-    mov esp,ebp
-    pop ebp
-    ret
-
-SECTION .data
-FuncTable
-    dd ..@flag0, ..@flag1, ..@flag2, ..@flag3, ..@flag4, ..@flag5, ..@flag6, ..@flag7
-    dd ..@flag8, ..@flag9, ..@flag10, ..@flag11, ..@flag12, ..@flag13, ..@flag14, ..@flag15
-    dd ..@flag16, ..@flag17, ..@flag18, ..@flag19, ..@flag20, ..@flag21, ..@flag22, ..@flag23
-    dd ..@flag24, ..@flag25, ..@flag26, ..@flag27, ..@flag28, ..@flag29, ..@flag30, ..@flag31
-    dd ..@flag32, ..@flag33, ..@flag34, ..@flag35, ..@flag36, ..@flag37, ..@flag38, ..@flag39
-    dd ..@flag40, ..@flag41, ..@flag42, ..@flag43, ..@flag44, ..@flag45, ..@flag46, ..@flag47
-    dd ..@flag48, ..@flag49, ..@flag50, ..@flag51, ..@flag52, ..@flag53, ..@flag54, ..@flag55
-    dd ..@flag56, ..@flag57, ..@flag58, ..@flag59, ..@flag60, ..@flag61, ..@flag62, ..@flag63
-    dd ..@flag64, ..@flag65, ..@flag66, ..@flag67, ..@flag68, ..@flag69, ..@flag70, ..@flag71
-    dd ..@flag72, ..@flag73, ..@flag74, ..@flag75, ..@flag76, ..@flag77, ..@flag78, ..@flag79
-    dd ..@flag80, ..@flag81, ..@flag82, ..@flag83, ..@flag84, ..@flag85, ..@flag86, ..@flag87
-    dd ..@flag88, ..@flag89, ..@flag90, ..@flag91, ..@flag92, ..@flag93, ..@flag94, ..@flag95
-    dd ..@flag96, ..@flag97, ..@flag98, ..@flag99, ..@flag100, ..@flag101, ..@flag102, ..@flag103
-    dd ..@flag104, ..@flag105, ..@flag106, ..@flag107, ..@flag108, ..@flag109, ..@flag110, ..@flag111
-    dd ..@flag112, ..@flag113, ..@flag114, ..@flag115, ..@flag116, ..@flag117, ..@flag118, ..@flag119
-    dd ..@flag120, ..@flag121, ..@flag122, ..@flag123, ..@flag124, ..@flag125, ..@flag126, ..@flag127
-    dd ..@flag128, ..@flag129, ..@flag130, ..@flag131, ..@flag132, ..@flag133, ..@flag134, ..@flag135
-    dd ..@flag136, ..@flag137, ..@flag138, ..@flag139, ..@flag140, ..@flag141, ..@flag142, ..@flag143
-    dd ..@flag144, ..@flag145, ..@flag146, ..@flag147, ..@flag148, ..@flag149, ..@flag150, ..@flag151
-    dd ..@flag152, ..@flag153, ..@flag154, ..@flag155, ..@flag156, ..@flag157, ..@flag158, ..@flag159
-    dd ..@flag160, ..@flag161, ..@flag162, ..@flag163, ..@flag164, ..@flag165, ..@flag166, ..@flag167
-    dd ..@flag168, ..@flag169, ..@flag170, ..@flag171, ..@flag172, ..@flag173, ..@flag174, ..@flag175
-    dd ..@flag176, ..@flag177, ..@flag178, ..@flag179, ..@flag180, ..@flag181, ..@flag182, ..@flag183
-    dd ..@flag184, ..@flag185, ..@flag186, ..@flag187, ..@flag188, ..@flag189, ..@flag190, ..@flag191
-    dd ..@flag192, ..@flag193, ..@flag194, ..@flag195, ..@flag196, ..@flag197, ..@flag198, ..@flag199
-    dd ..@flag200, ..@flag201, ..@flag202, ..@flag203, ..@flag204, ..@flag205, ..@flag206, ..@flag207
-    dd ..@flag208, ..@flag209, ..@flag210, ..@flag211, ..@flag212, ..@flag213, ..@flag214, ..@flag215
-    dd ..@flag216, ..@flag217, ..@flag218, ..@flag219, ..@flag220, ..@flag221, ..@flag222, ..@flag223
-    dd ..@flag224, ..@flag225, ..@flag226, ..@flag227, ..@flag228, ..@flag229, ..@flag230, ..@flag231
-    dd ..@flag232, ..@flag233, ..@flag234, ..@flag235, ..@flag236, ..@flag237, ..@flag238, ..@flag239
-    dd ..@flag240, ..@flag241, ..@flag242, ..@flag243, ..@flag244, ..@flag245, ..@flag246, ..@flag247
-    dd ..@flag248, ..@flag249, ..@flag250, ..@flag251, ..@flag252, ..@flag253, ..@flag254, ..@flag255
-
-
diff --git a/od-win32/hq4x32.asm b/od-win32/hq4x32.asm
deleted file mode 100644 (file)
index 0efc188..0000000
+++ /dev/null
@@ -1,3919 +0,0 @@
-;hq4x filter
-;32bpp output
-;----------------------------------------------------------
-;Copyright (C) 2003 MaxSt ( maxst@hiend3d.com )
-;
-;This program is free software; you can redistribute it and/or
-;modify it under the terms of the GNU General Public License
-;as published by the Free Software Foundation; either
-;version 2 of the License, or (at your option) any later
-;version.
-;
-;This program is distributed in the hope that it will be useful,
-;but WITHOUT ANY WARRANTY; without even the implied warranty of
-;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;GNU General Public License for more details.
-;
-;You should have received a copy of the GNU General Public License
-;along with this program; if not, write to the Free Software
-;Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-
-GLOBAL _hq4x_32
-
-EXTERN _LUT16to32
-EXTERN _RGBtoYUV
-
-SECTION .bss
-linesleft resd 1
-xcounter  resd 1
-cross     resd 1
-nextline  resd 1
-prevline  resd 1
-w1        resd 1
-w2        resd 1
-w3        resd 1
-w4        resd 1
-w5        resd 1
-w6        resd 1
-w7        resd 1
-w8        resd 1
-w9        resd 1
-c1        resd 1
-c2        resd 1
-c3        resd 1
-c4        resd 1
-c5        resd 1
-c6        resd 1
-c7        resd 1
-c8        resd 1
-c9        resd 1
-
-SECTION .data
-
-reg_blank    dd  0,0
-const3       dd  0x00030003,0x00000003
-const5       dd  0x00050005,0x00000005
-const6       dd  0x00060006,0x00000006
-const7       dd  0x00070007,0x00000007
-threshold    dd  0x00300706,0x00000000
-
-SECTION .text
-
-%macro AUXADDRESS 0
-    mov     ecx, edi
-    add     ecx, ebx
-    add     ecx, ebx
-%endmacro
-
-%macro TestDiff 2
-    mov     edx,[%1]
-    sub     edx,[%2]
-    jz      %%fin
-    mov     edx,[%1]
-    shl     edx,2
-    add     edx,_RGBtoYUV
-    movd    mm1,[edx]
-    movq    mm5,mm1
-    mov     edx,[%2]
-    shl     edx,2
-    add     edx,_RGBtoYUV
-    movd    mm2,[edx]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-%%fin:
-%endmacro
-
-%macro DiffOrNot 4
-   TestDiff %1,%2
-   test edx,edx
-   jz   %%same
-   %3
-   jmp %%fin
-%%same:
-   %4
-%%fin
-%endmacro
-
-%macro DiffOrNot 8
-   TestDiff %1,%2
-   test edx,edx
-   jz   %%same
-   %3
-   %4
-   %5
-   jmp %%fin
-%%same:
-   %6
-   %7
-   %8
-%%fin
-%endmacro
-
-%macro DiffOrNot 10
-   TestDiff %1,%2
-   test edx,edx
-   jz %%same
-   %3
-   %4
-   %5
-   %6
-   jmp %%fin
-%%same:
-   %7
-   %8
-   %9
-   %10
-%%fin
-%endmacro
-
-%macro DiffOrNot 14
-   TestDiff %1,%2
-   test edx,edx
-   jz %%same
-   %3
-   %4
-   %5
-   %6
-   %7
-   %8
-   jmp %%fin
-%%same:
-   %9
-   %10
-   %11
-   %12
-   %13
-   %14
-%%fin
-%endmacro
-
-%macro Interp1 3
-    mov edx,%2
-    shl edx,2
-    add edx,%3
-    sub edx,%2
-    shr edx,2
-    mov %1,edx
-%endmacro
-
-%macro Interp2 4
-    mov edx,%2
-    shl edx,1
-    add edx,%3
-    add edx,%4
-    shr edx,2
-    mov %1,edx
-%endmacro
-
-%macro Interp3 2
-    movd       mm1, eax
-    movd       mm2, %2
-    punpcklbw  mm1, [reg_blank]
-    punpcklbw  mm2, [reg_blank]
-    pmullw     mm1, [const7]
-    paddw      mm1, mm2
-    psrlw      mm1, 3
-    packuswb   mm1, [reg_blank]
-    movd       %1, mm1
-%endmacro
-
-%macro Interp5 3
-    mov edx,%2
-    add edx,%3
-    shr edx,1
-    mov %1,edx
-%endmacro
-
-%macro Interp6 3
-    movd       mm1, eax
-    movd       mm2, %2
-    movd       mm3, %3
-    punpcklbw  mm1, [reg_blank]
-    punpcklbw  mm2, [reg_blank]
-    punpcklbw  mm3, [reg_blank]
-    pmullw     mm1, [const5]
-    psllw      mm2, 1
-    paddw      mm1, mm3
-    paddw      mm1, mm2
-    psrlw      mm1, 3
-    packuswb   mm1, [reg_blank]
-    movd       %1, mm1
-%endmacro
-
-%macro Interp7 3
-    movd       mm1, eax
-    movd       mm2, %2
-    movd       mm3, %3
-    punpcklbw  mm1, [reg_blank]
-    punpcklbw  mm2, [reg_blank]
-    punpcklbw  mm3, [reg_blank]
-    pmullw     mm1, [const6]
-    paddw      mm2, mm3
-    paddw      mm1, mm2
-    psrlw      mm1, 3
-    packuswb   mm1, [reg_blank]
-    movd       %1, mm1
-%endmacro
-
-%macro Interp8 3
-    movd       mm1, %2
-    movd       mm2, %3
-    punpcklbw  mm1, [reg_blank]
-    punpcklbw  mm2, [reg_blank]
-    pmullw     mm1, [const5]
-    pmullw     mm2, [const3]
-    paddw      mm1, mm2
-    psrlw      mm1, 3
-    packuswb   mm1, [reg_blank]
-    movd       %1, mm1
-%endmacro
-
-%macro PIXEL00_0 0
-    mov [edi],eax
-%endmacro
-
-%macro PIXEL00_11 0
-    Interp1 [edi],eax,[c4]
-%endmacro
-
-%macro PIXEL00_12 0
-    Interp1 [edi],eax,[c2]
-%endmacro
-
-%macro PIXEL00_20 0
-    Interp2 [edi],eax,[c2],[c4]
-%endmacro
-
-%macro PIXEL00_50 0
-    Interp5 [edi],[c2],[c4]
-%endmacro
-
-%macro PIXEL00_80 0
-    Interp8 [edi],eax,[c1]
-%endmacro
-
-%macro PIXEL00_81 0
-    Interp8 [edi],eax,[c4]
-%endmacro
-
-%macro PIXEL00_82 0
-    Interp8 [edi],eax,[c2]
-%endmacro
-
-%macro PIXEL01_0 0
-    mov [edi+4],eax
-%endmacro
-
-%macro PIXEL01_10 0
-    Interp1 [edi+4],eax,[c1]
-%endmacro
-
-%macro PIXEL01_12 0
-    Interp1 [edi+4],eax,[c2]
-%endmacro
-
-%macro PIXEL01_14 0
-    Interp1 [edi+4],[c2],eax
-%endmacro
-
-%macro PIXEL01_21 0
-    Interp2 [edi+4],[c2],eax,[c4]
-%endmacro
-
-%macro PIXEL01_31 0
-    Interp3 [edi+4],[c4]
-%endmacro
-
-%macro PIXEL01_50 0
-    Interp5 [edi+4],[c2],eax
-%endmacro
-
-%macro PIXEL01_60 0
-    Interp6 [edi+4],[c2],[c4]
-%endmacro
-
-%macro PIXEL01_61 0
-    Interp6 [edi+4],[c2],[c1]
-%endmacro
-
-%macro PIXEL01_82 0
-    Interp8 [edi+4],eax,[c2]
-%endmacro
-
-%macro PIXEL01_83 0
-    Interp8 [edi+4],[c2],[c4]
-%endmacro
-
-%macro PIXEL02_0 0
-    mov [edi+8],eax
-%endmacro
-
-%macro PIXEL02_10 0
-    Interp1 [edi+8],eax,[c3]
-%endmacro
-
-%macro PIXEL02_11 0
-    Interp1 [edi+8],eax,[c2]
-%endmacro
-
-%macro PIXEL02_13 0
-    Interp1 [edi+8],[c2],eax
-%endmacro
-
-%macro PIXEL02_21 0
-    Interp2 [edi+8],[c2],eax,[c6]
-%endmacro
-
-%macro PIXEL02_32 0
-    Interp3 [edi+8],[c6]
-%endmacro
-
-%macro PIXEL02_50 0
-    Interp5 [edi+8],[c2],eax
-%endmacro
-
-%macro PIXEL02_60 0
-    Interp6 [edi+8],[c2],[c6]
-%endmacro
-
-%macro PIXEL02_61 0
-    Interp6 [edi+8],[c2],[c3]
-%endmacro
-
-%macro PIXEL02_81 0
-    Interp8 [edi+8],eax,[c2]
-%endmacro
-
-%macro PIXEL02_83 0
-    Interp8 [edi+8],[c2],[c6]
-%endmacro
-
-%macro PIXEL03_0 0
-    mov [edi+12],eax
-%endmacro
-
-%macro PIXEL03_11 0
-    Interp1 [edi+12],eax,[c2]
-%endmacro
-
-%macro PIXEL03_12 0
-    Interp1 [edi+12],eax,[c6]
-%endmacro
-
-%macro PIXEL03_20 0
-    Interp2 [edi+12],eax,[c2],[c6]
-%endmacro
-
-%macro PIXEL03_50 0
-    Interp5 [edi+12],[c2],[c6]
-%endmacro
-
-%macro PIXEL03_80 0
-    Interp8 [edi+12],eax,[c3]
-%endmacro
-
-%macro PIXEL03_81 0
-    Interp8 [edi+12],eax,[c2]
-%endmacro
-
-%macro PIXEL03_82 0
-    Interp8 [edi+12],eax,[c6]
-%endmacro
-
-%macro PIXEL10_0 0
-    mov [edi+ebx],eax
-%endmacro
-
-%macro PIXEL10_10 0
-    Interp1 [edi+ebx],eax,[c1]
-%endmacro
-
-%macro PIXEL10_11 0
-    Interp1 [edi+ebx],eax,[c4]
-%endmacro
-
-%macro PIXEL10_13 0
-    Interp1 [edi+ebx],[c4],eax
-%endmacro
-
-%macro PIXEL10_21 0
-    Interp2 [edi+ebx],[c4],eax,[c2]
-%endmacro
-
-%macro PIXEL10_32 0
-    Interp3 [edi+ebx],[c2]
-%endmacro
-
-%macro PIXEL10_50 0
-    Interp5 [edi+ebx],[c4],eax
-%endmacro
-
-%macro PIXEL10_60 0
-    Interp6 [edi+ebx],[c4],[c2]
-%endmacro
-
-%macro PIXEL10_61 0
-    Interp6 [edi+ebx],[c4],[c1]
-%endmacro
-
-%macro PIXEL10_81 0
-    Interp8 [edi+ebx],eax,[c4]
-%endmacro
-
-%macro PIXEL10_83 0
-    Interp8 [edi+ebx],[c4],[c2]
-%endmacro
-
-%macro PIXEL11_0 0
-    mov [edi+ebx+4],eax
-%endmacro
-
-%macro PIXEL11_30 0
-    Interp3 [edi+ebx+4],[c1]
-%endmacro
-
-%macro PIXEL11_31 0
-    Interp3 [edi+ebx+4],[c4]
-%endmacro
-
-%macro PIXEL11_32 0
-    Interp3 [edi+ebx+4],[c2]
-%endmacro
-
-%macro PIXEL11_70 0
-    Interp7 [edi+ebx+4],[c4],[c2]
-%endmacro
-
-%macro PIXEL12_0 0
-    mov [edi+ebx+8],eax
-%endmacro
-
-%macro PIXEL12_30 0
-    Interp3 [edi+ebx+8],[c3]
-%endmacro
-
-%macro PIXEL12_31 0
-    Interp3 [edi+ebx+8],[c2]
-%endmacro
-
-%macro PIXEL12_32 0
-    Interp3 [edi+ebx+8],[c6]
-%endmacro
-
-%macro PIXEL12_70 0
-    Interp7 [edi+ebx+8],[c6],[c2]
-%endmacro
-
-%macro PIXEL13_0 0
-    mov [edi+ebx+12],eax
-%endmacro
-
-%macro PIXEL13_10 0
-    Interp1 [edi+ebx+12],eax,[c3]
-%endmacro
-
-%macro PIXEL13_12 0
-    Interp1 [edi+ebx+12],eax,[c6]
-%endmacro
-
-%macro PIXEL13_14 0
-    Interp1 [edi+ebx+12],[c6],eax
-%endmacro
-
-%macro PIXEL13_21 0
-    Interp2 [edi+ebx+12],[c6],eax,[c2]
-%endmacro
-
-%macro PIXEL13_31 0
-    Interp3 [edi+ebx+12],[c2]
-%endmacro
-
-%macro PIXEL13_50 0
-    Interp5 [edi+ebx+12],[c6],eax
-%endmacro
-
-%macro PIXEL13_60 0
-    Interp6 [edi+ebx+12],[c6],[c2]
-%endmacro
-
-%macro PIXEL13_61 0
-    Interp6 [edi+ebx+12],[c6],[c3]
-%endmacro
-
-%macro PIXEL13_82 0
-    Interp8 [edi+ebx+12],eax,[c6]
-%endmacro
-
-%macro PIXEL13_83 0
-    Interp8 [edi+ebx+12],[c6],[c2]
-%endmacro
-
-%macro PIXEL20_0 0
-    mov [ecx],eax
-%endmacro
-
-%macro PIXEL20_10 0
-    Interp1 [ecx],eax,[c7]
-%endmacro
-
-%macro PIXEL20_12 0
-    Interp1 [ecx],eax,[c4]
-%endmacro
-
-%macro PIXEL20_14 0
-    Interp1 [ecx],[c4],eax
-%endmacro
-
-%macro PIXEL20_21 0
-    Interp2 [ecx],[c4],eax,[c8]
-%endmacro
-
-%macro PIXEL20_31 0
-    Interp3 [ecx],[c8]
-%endmacro
-
-%macro PIXEL20_50 0
-    Interp5 [ecx],[c4],eax
-%endmacro
-
-%macro PIXEL20_60 0
-    Interp6 [ecx],[c4],[c8]
-%endmacro
-
-%macro PIXEL20_61 0
-    Interp6 [ecx],[c4],[c7]
-%endmacro
-
-%macro PIXEL20_82 0
-    Interp8 [ecx],eax,[c4]
-%endmacro
-
-%macro PIXEL20_83 0
-    Interp8 [ecx],[c4],[c8]
-%endmacro
-
-%macro PIXEL21_0 0
-    mov [ecx+4],eax
-%endmacro
-
-%macro PIXEL21_30 0
-    Interp3 [ecx+4],[c7]
-%endmacro
-
-%macro PIXEL21_31 0
-    Interp3 [ecx+4],[c8]
-%endmacro
-
-%macro PIXEL21_32 0
-    Interp3 [ecx+4],[c4]
-%endmacro
-
-%macro PIXEL21_70 0
-    Interp7 [ecx+4],[c4],[c8]
-%endmacro
-
-%macro PIXEL22_0 0
-    mov [ecx+8],eax
-%endmacro
-
-%macro PIXEL22_30 0
-    Interp3 [ecx+8],[c9]
-%endmacro
-
-%macro PIXEL22_31 0
-    Interp3 [ecx+8],[c6]
-%endmacro
-
-%macro PIXEL22_32 0
-    Interp3 [ecx+8],[c8]
-%endmacro
-
-%macro PIXEL22_70 0
-    Interp7 [ecx+8],[c6],[c8]
-%endmacro
-
-%macro PIXEL23_0 0
-    mov [ecx+12],eax
-%endmacro
-
-%macro PIXEL23_10 0
-    Interp1 [ecx+12],eax,[c9]
-%endmacro
-
-%macro PIXEL23_11 0
-    Interp1 [ecx+12],eax,[c6]
-%endmacro
-
-%macro PIXEL23_13 0
-    Interp1 [ecx+12],[c6],eax
-%endmacro
-
-%macro PIXEL23_21 0
-    Interp2 [ecx+12],[c6],eax,[c8]
-%endmacro
-
-%macro PIXEL23_32 0
-    Interp3 [ecx+12],[c8]
-%endmacro
-
-%macro PIXEL23_50 0
-    Interp5 [ecx+12],[c6],eax
-%endmacro
-
-%macro PIXEL23_60 0
-    Interp6 [ecx+12],[c6],[c8]
-%endmacro
-
-%macro PIXEL23_61 0
-    Interp6 [ecx+12],[c6],[c9]
-%endmacro
-
-%macro PIXEL23_81 0
-    Interp8 [ecx+12],eax,[c6]
-%endmacro
-
-%macro PIXEL23_83 0
-    Interp8 [ecx+12],[c6],[c8]
-%endmacro
-
-%macro PIXEL30_0 0
-    mov [ecx+ebx],eax
-%endmacro
-
-%macro PIXEL30_11 0
-    Interp1 [ecx+ebx],eax,[c8]
-%endmacro
-
-%macro PIXEL30_12 0
-    Interp1 [ecx+ebx],eax,[c4]
-%endmacro
-
-%macro PIXEL30_20 0
-    Interp2 [ecx+ebx],eax,[c8],[c4]
-%endmacro
-
-%macro PIXEL30_50 0
-    Interp5 [ecx+ebx],[c8],[c4]
-%endmacro
-
-%macro PIXEL30_80 0
-    Interp8 [ecx+ebx],eax,[c7]
-%endmacro
-
-%macro PIXEL30_81 0
-    Interp8 [ecx+ebx],eax,[c8]
-%endmacro
-
-%macro PIXEL30_82 0
-    Interp8 [ecx+ebx],eax,[c4]
-%endmacro
-
-%macro PIXEL31_0 0
-    mov [ecx+ebx+4],eax
-%endmacro
-
-%macro PIXEL31_10 0
-    Interp1 [ecx+ebx+4],eax,[c7]
-%endmacro
-
-%macro PIXEL31_11 0
-    Interp1 [ecx+ebx+4],eax,[c8]
-%endmacro
-
-%macro PIXEL31_13 0
-    Interp1 [ecx+ebx+4],[c8],eax
-%endmacro
-
-%macro PIXEL31_21 0
-    Interp2 [ecx+ebx+4],[c8],eax,[c4]
-%endmacro
-
-%macro PIXEL31_32 0
-    Interp3 [ecx+ebx+4],[c4]
-%endmacro
-
-%macro PIXEL31_50 0
-    Interp5 [ecx+ebx+4],[c8],eax
-%endmacro
-
-%macro PIXEL31_60 0
-    Interp6 [ecx+ebx+4],[c8],[c4]
-%endmacro
-
-%macro PIXEL31_61 0
-    Interp6 [ecx+ebx+4],[c8],[c7]
-%endmacro
-
-%macro PIXEL31_81 0
-    Interp8 [ecx+ebx+4],eax,[c8]
-%endmacro
-
-%macro PIXEL31_83 0
-    Interp8 [ecx+ebx+4],[c8],[c4]
-%endmacro
-
-%macro PIXEL32_0 0
-    mov [ecx+ebx+8],eax
-%endmacro
-
-%macro PIXEL32_10 0
-    Interp1 [ecx+ebx+8],eax,[c9]
-%endmacro
-
-%macro PIXEL32_12 0
-    Interp1 [ecx+ebx+8],eax,[c8]
-%endmacro
-
-%macro PIXEL32_14 0
-    Interp1 [ecx+ebx+8],[c8],eax
-%endmacro
-
-%macro PIXEL32_21 0
-    Interp2 [ecx+ebx+8],[c8],eax,[c6]
-%endmacro
-
-%macro PIXEL32_31 0
-    Interp3 [ecx+ebx+8],[c6]
-%endmacro
-
-%macro PIXEL32_50 0
-    Interp5 [ecx+ebx+8],[c8],eax
-%endmacro
-
-%macro PIXEL32_60 0
-    Interp6 [ecx+ebx+8],[c8],[c6]
-%endmacro
-
-%macro PIXEL32_61 0
-    Interp6 [ecx+ebx+8],[c8],[c9]
-%endmacro
-
-%macro PIXEL32_82 0
-    Interp8 [ecx+ebx+8],eax,[c8]
-%endmacro
-
-%macro PIXEL32_83 0
-    Interp8 [ecx+ebx+8],[c8],[c6]
-%endmacro
-
-%macro PIXEL33_0 0
-    mov [ecx+ebx+12],eax
-%endmacro
-
-%macro PIXEL33_11 0
-    Interp1 [ecx+ebx+12],eax,[c6]
-%endmacro
-
-%macro PIXEL33_12 0
-    Interp1 [ecx+ebx+12],eax,[c8]
-%endmacro
-
-%macro PIXEL33_20 0
-    Interp2 [ecx+ebx+12],eax,[c8],[c6]
-%endmacro
-
-%macro PIXEL33_50 0
-    Interp5 [ecx+ebx+12],[c8],[c6]
-%endmacro
-
-%macro PIXEL33_80 0
-    Interp8 [ecx+ebx+12],eax,[c9]
-%endmacro
-
-%macro PIXEL33_81 0
-    Interp8 [ecx+ebx+12],eax,[c6]
-%endmacro
-
-%macro PIXEL33_82 0
-    Interp8 [ecx+ebx+12],eax,[c8]
-%endmacro
-
-inbuffer     equ 8
-outbuffer    equ 12
-Xres         equ 16
-Yres         equ 20
-pitch        equ 24
-
-_hq4x_32:
-    push ebp
-    mov ebp,esp
-    pushad
-
-    mov     esi,[ebp+inbuffer]
-    mov     edi,[ebp+outbuffer]
-    mov     edx,[ebp+Yres]
-    mov     [linesleft],edx
-    mov     ebx,[ebp+Xres]
-    shl     ebx,1
-    mov     dword[prevline],0
-    mov     dword[nextline],ebx
-.loopy
-    mov     ecx,[ebp+Xres]
-    sub     ecx,2                 ; x={Xres-2, Xres-1} are special cases.
-    mov     dword[xcounter],ecx
-    ; x=0 - special case
-    mov     ebx,[prevline]
-    movq    mm5,[esi+ebx]
-    movq    mm6,[esi]
-    mov     ebx,[nextline]
-    movq    mm7,[esi+ebx]
-    movd    eax,mm5
-    movzx   edx,ax  
-    mov     [w1],edx
-    mov     [w2],edx
-    shr     eax,16
-    mov     [w3],eax
-    movd    eax,mm6
-    movzx   edx,ax  
-    mov     [w4],edx
-    mov     [w5],edx
-    shr     eax,16
-    mov     [w6],eax
-    movd    eax,mm7
-    movzx   edx,ax  
-    mov     [w7],edx
-    mov     [w8],edx
-    shr     eax,16
-    mov     [w9],eax
-    jmp     .flags
-.loopx
-    mov     ebx,[prevline]
-    movq    mm5,[esi+ebx-2]
-    movq    mm6,[esi-2]
-    mov     ebx,[nextline]
-    movq    mm7,[esi+ebx-2]
-    movd    eax,mm5
-    movzx   edx,ax  
-    mov     [w1],edx
-    shr     eax,16
-    mov     [w2],eax
-    psrlq   mm5,32
-    movd    eax,mm5
-    movzx   edx,ax  
-    mov     [w3],edx
-    movd    eax,mm6
-    movzx   edx,ax  
-    mov     [w4],edx
-    shr     eax,16
-    mov     [w5],eax
-    psrlq   mm6,32
-    movd    eax,mm6
-    movzx   edx,ax  
-    mov     [w6],edx
-    movd    eax,mm7
-    movzx   edx,ax  
-    mov     [w7],edx
-    shr     eax,16
-    mov     [w8],eax
-    psrlq   mm7,32
-    movd    eax,mm7
-    movzx   edx,ax  
-    mov     [w9],edx
-.flags
-    mov     ebx,_RGBtoYUV
-    mov     eax,[w5]
-    xor     ecx,ecx
-    movd    mm5,[ebx+eax*4]
-    mov     dword[cross],0
-
-    mov     edx,[w2]
-    cmp     eax,edx
-    je      .noflag2
-    or      dword[cross],1
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag2
-    or      ecx,2
-.noflag2
-    mov     edx,[w4]
-    cmp     eax,edx
-    je      .noflag4
-    or      dword[cross],2
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag4
-    or      ecx,8
-.noflag4
-    mov     edx,[w6]
-    cmp     eax,edx
-    je      .noflag6
-    or      dword[cross],4
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag6
-    or      ecx,16
-.noflag6
-    mov     edx,[w8]
-    cmp     eax,edx
-    je      .noflag8
-    or      dword[cross],8
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag8
-    or      ecx,64
-.noflag8
-    cmp     dword[cross],0
-    jnz     .testflag1
-    mov     ebx,_LUT16to32
-    mov     eax,[ebx+eax*4]
-    mov     ebx,[ebp+pitch]
-    AUXADDRESS
-    mov     [edi],eax
-    mov     [edi+4],eax
-    mov     [edi+8],eax
-    mov     [edi+12],eax
-    mov     [edi+ebx],eax
-    mov     [edi+ebx+4],eax
-    mov     [edi+ebx+8],eax
-    mov     [edi+ebx+12],eax
-    mov     [ecx],eax
-    mov     [ecx+4],eax
-    mov     [ecx+8],eax
-    mov     [ecx+12],eax
-    mov     [ecx+ebx],eax
-    mov     [ecx+ebx+4],eax
-    mov     [ecx+ebx+8],eax
-    mov     [ecx+ebx+12],eax
-    jmp     .loopx_end
-.testflag1
-    mov     edx,[w1]
-    cmp     eax,edx
-    je      .noflag1
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag1
-    or      ecx,1
-.noflag1
-    mov     edx,[w3]
-    cmp     eax,edx
-    je      .noflag3
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag3
-    or      ecx,4
-.noflag3
-    mov     edx,[w7]
-    cmp     eax,edx
-    je      .noflag7
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag7
-    or      ecx,32
-.noflag7
-    mov     edx,[w9]
-    cmp     eax,edx
-    je      .noflag9
-    movq    mm1,mm5
-    movd    mm2,[ebx+edx*4]
-    psubusb mm1,mm2
-    psubusb mm2,mm5
-    por     mm1,mm2
-    psubusb mm1,[threshold]
-    movd    edx,mm1
-    test    edx,edx
-    jz      .noflag9
-    or      ecx,128
-.noflag9
-    mov  ebx,_LUT16to32
-    mov  eax,[ebx+eax*4]
-    mov  edx,[w2]
-    mov  edx,[ebx+edx*4]
-    mov  [c2],edx
-    mov  edx,[w4]
-    mov  edx,[ebx+edx*4]
-    mov  [c4],edx
-    mov  edx,[w6]
-    mov  edx,[ebx+edx*4]
-    mov  [c6],edx
-    mov  edx,[w8]
-    mov  edx,[ebx+edx*4]
-    mov  [c8],edx
-    test ecx,0x005A
-    jz  .switch
-    mov  edx,[w1]
-    mov  edx,[ebx+edx*4]
-    mov  [c1],edx
-    mov  edx,[w3]
-    mov  edx,[ebx+edx*4]
-    mov  [c3],edx
-    mov  edx,[w7]
-    mov  edx,[ebx+edx*4]
-    mov  [c7],edx
-    mov  edx,[w9]
-    mov  edx,[ebx+edx*4]
-    mov  [c9],edx
-.switch
-    mov  ebx,[ebp+pitch]
-    jmp  [FuncTable+ecx*4]
-
-..@flag0
-..@flag1
-..@flag4
-..@flag32
-..@flag128
-..@flag5
-..@flag132
-..@flag160
-..@flag33
-..@flag129
-..@flag36
-..@flag133
-..@flag164
-..@flag161
-..@flag37
-..@flag165
-    AUXADDRESS
-    PIXEL00_20
-    PIXEL01_60
-    PIXEL02_60
-    PIXEL03_20
-    PIXEL10_60
-    PIXEL11_70
-    PIXEL12_70
-    PIXEL13_60
-    PIXEL20_60
-    PIXEL21_70
-    PIXEL22_70
-    PIXEL23_60
-    PIXEL30_20
-    PIXEL31_60
-    PIXEL32_60
-    PIXEL33_20
-    jmp .loopx_end
-..@flag2
-..@flag34
-..@flag130
-..@flag162
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL10_61
-    PIXEL11_30
-    PIXEL12_30
-    PIXEL13_61
-    PIXEL20_60
-    PIXEL21_70
-    PIXEL22_70
-    PIXEL23_60
-    PIXEL30_20
-    PIXEL31_60
-    PIXEL32_60
-    PIXEL33_20
-    jmp .loopx_end
-..@flag16
-..@flag17
-..@flag48
-..@flag49
-    AUXADDRESS
-    PIXEL00_20
-    PIXEL01_60
-    PIXEL02_61
-    PIXEL03_80
-    PIXEL10_60
-    PIXEL11_70
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_60
-    PIXEL21_70
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_20
-    PIXEL31_60
-    PIXEL32_61
-    PIXEL33_80
-    jmp .loopx_end
-..@flag64
-..@flag65
-..@flag68
-..@flag69
-    AUXADDRESS
-    PIXEL00_20
-    PIXEL01_60
-    PIXEL02_60
-    PIXEL03_20
-    PIXEL10_60
-    PIXEL11_70
-    PIXEL12_70
-    PIXEL13_60
-    PIXEL20_61
-    PIXEL21_30
-    PIXEL22_30
-    PIXEL23_61
-    PIXEL30_80
-    PIXEL31_10
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag8
-..@flag12
-..@flag136
-..@flag140
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_61
-    PIXEL02_60
-    PIXEL03_20
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_70
-    PIXEL13_60
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_70
-    PIXEL23_60
-    PIXEL30_80
-    PIXEL31_61
-    PIXEL32_60
-    PIXEL33_20
-    jmp .loopx_end
-..@flag3
-..@flag35
-..@flag131
-..@flag163
-    AUXADDRESS
-    PIXEL00_81
-    PIXEL01_31
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL12_30
-    PIXEL13_61
-    PIXEL20_60
-    PIXEL21_70
-    PIXEL22_70
-    PIXEL23_60
-    PIXEL30_20
-    PIXEL31_60
-    PIXEL32_60
-    PIXEL33_20
-    jmp .loopx_end
-..@flag6
-..@flag38
-..@flag134
-..@flag166
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    PIXEL02_32
-    PIXEL03_82
-    PIXEL10_61
-    PIXEL11_30
-    PIXEL12_32
-    PIXEL13_82
-    PIXEL20_60
-    PIXEL21_70
-    PIXEL22_70
-    PIXEL23_60
-    PIXEL30_20
-    PIXEL31_60
-    PIXEL32_60
-    PIXEL33_20
-    jmp .loopx_end
-..@flag20
-..@flag21
-..@flag52
-..@flag53
-    AUXADDRESS
-    PIXEL00_20
-    PIXEL01_60
-    PIXEL02_81
-    PIXEL03_81
-    PIXEL10_60
-    PIXEL11_70
-    PIXEL12_31
-    PIXEL13_31
-    PIXEL20_60
-    PIXEL21_70
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_20
-    PIXEL31_60
-    PIXEL32_61
-    PIXEL33_80
-    jmp .loopx_end
-..@flag144
-..@flag145
-..@flag176
-..@flag177
-    AUXADDRESS
-    PIXEL00_20
-    PIXEL01_60
-    PIXEL02_61
-    PIXEL03_80
-    PIXEL10_60
-    PIXEL11_70
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_60
-    PIXEL21_70
-    PIXEL22_32
-    PIXEL23_32
-    PIXEL30_20
-    PIXEL31_60
-    PIXEL32_82
-    PIXEL33_82
-    jmp .loopx_end
-..@flag192
-..@flag193
-..@flag196
-..@flag197
-    AUXADDRESS
-    PIXEL00_20
-    PIXEL01_60
-    PIXEL02_60
-    PIXEL03_20
-    PIXEL10_60
-    PIXEL11_70
-    PIXEL12_70
-    PIXEL13_60
-    PIXEL20_61
-    PIXEL21_30
-    PIXEL22_31
-    PIXEL23_81
-    PIXEL30_80
-    PIXEL31_10
-    PIXEL32_31
-    PIXEL33_81
-    jmp .loopx_end
-..@flag96
-..@flag97
-..@flag100
-..@flag101
-    AUXADDRESS
-    PIXEL00_20
-    PIXEL01_60
-    PIXEL02_60
-    PIXEL03_20
-    PIXEL10_60
-    PIXEL11_70
-    PIXEL12_70
-    PIXEL13_60
-    PIXEL20_82
-    PIXEL21_32
-    PIXEL22_30
-    PIXEL23_61
-    PIXEL30_82
-    PIXEL31_32
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag40
-..@flag44
-..@flag168
-..@flag172
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_61
-    PIXEL02_60
-    PIXEL03_20
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_70
-    PIXEL13_60
-    PIXEL20_31
-    PIXEL21_31
-    PIXEL22_70
-    PIXEL23_60
-    PIXEL30_81
-    PIXEL31_81
-    PIXEL32_60
-    PIXEL33_20
-    jmp .loopx_end
-..@flag9
-..@flag13
-..@flag137
-..@flag141
-    AUXADDRESS
-    PIXEL00_82
-    PIXEL01_82
-    PIXEL02_60
-    PIXEL03_20
-    PIXEL10_32
-    PIXEL11_32
-    PIXEL12_70
-    PIXEL13_60
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_70
-    PIXEL23_60
-    PIXEL30_80
-    PIXEL31_61
-    PIXEL32_60
-    PIXEL33_20
-    jmp .loopx_end
-..@flag18
-..@flag50
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL02_50,PIXEL03_50,PIXEL12_0,PIXEL13_50
-    PIXEL10_61
-    PIXEL11_30
-    PIXEL20_60
-    PIXEL21_70
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_20
-    PIXEL31_60
-    PIXEL32_61
-    PIXEL33_80
-    jmp .loopx_end
-..@flag80
-..@flag81
-    AUXADDRESS
-    PIXEL00_20
-    PIXEL01_60
-    PIXEL02_61
-    PIXEL03_80
-    PIXEL10_60
-    PIXEL11_70
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_61
-    PIXEL21_30
-    DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL22_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
-    PIXEL30_80
-    PIXEL31_10
-    jmp .loopx_end
-..@flag72
-..@flag76
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_61
-    PIXEL02_60
-    PIXEL03_20
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_70
-    PIXEL13_60
-    DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL20_50,PIXEL21_0,PIXEL30_50,PIXEL31_50
-    PIXEL22_30
-    PIXEL23_61
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag10
-..@flag138
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL00_50,PIXEL01_50,PIXEL10_50,PIXEL11_0
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL12_30
-    PIXEL13_61
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_70
-    PIXEL23_60
-    PIXEL30_80
-    PIXEL31_61
-    PIXEL32_60
-    PIXEL33_20
-    jmp .loopx_end
-..@flag66
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL10_61
-    PIXEL11_30
-    PIXEL12_30
-    PIXEL13_61
-    PIXEL20_61
-    PIXEL21_30
-    PIXEL22_30
-    PIXEL23_61
-    PIXEL30_80
-    PIXEL31_10
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag24
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_61
-    PIXEL02_61
-    PIXEL03_80
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_80
-    PIXEL31_61
-    PIXEL32_61
-    PIXEL33_80
-    jmp .loopx_end
-..@flag7
-..@flag39
-..@flag135
-    AUXADDRESS
-    PIXEL00_81
-    PIXEL01_31
-    PIXEL02_32
-    PIXEL03_82
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL12_32
-    PIXEL13_82
-    PIXEL20_60
-    PIXEL21_70
-    PIXEL22_70
-    PIXEL23_60
-    PIXEL30_20
-    PIXEL31_60
-    PIXEL32_60
-    PIXEL33_20
-    jmp .loopx_end
-..@flag148
-..@flag149
-..@flag180
-    AUXADDRESS
-    PIXEL00_20
-    PIXEL01_60
-    PIXEL02_81
-    PIXEL03_81
-    PIXEL10_60
-    PIXEL11_70
-    PIXEL12_31
-    PIXEL13_31
-    PIXEL20_60
-    PIXEL21_70
-    PIXEL22_32
-    PIXEL23_32
-    PIXEL30_20
-    PIXEL31_60
-    PIXEL32_82
-    PIXEL33_82
-    jmp .loopx_end
-..@flag224
-..@flag228
-..@flag225
-    AUXADDRESS
-    PIXEL00_20
-    PIXEL01_60
-    PIXEL02_60
-    PIXEL03_20
-    PIXEL10_60
-    PIXEL11_70
-    PIXEL12_70
-    PIXEL13_60
-    PIXEL20_82
-    PIXEL21_32
-    PIXEL22_31
-    PIXEL23_81
-    PIXEL30_82
-    PIXEL31_32
-    PIXEL32_31
-    PIXEL33_81
-    jmp .loopx_end
-..@flag41
-..@flag169
-..@flag45
-    AUXADDRESS
-    PIXEL00_82
-    PIXEL01_82
-    PIXEL02_60
-    PIXEL03_20
-    PIXEL10_32
-    PIXEL11_32
-    PIXEL12_70
-    PIXEL13_60
-    PIXEL20_31
-    PIXEL21_31
-    PIXEL22_70
-    PIXEL23_60
-    PIXEL30_81
-    PIXEL31_81
-    PIXEL32_60
-    PIXEL33_20
-    jmp .loopx_end
-..@flag22
-..@flag54
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
-    PIXEL10_61
-    PIXEL11_30
-    PIXEL12_0
-    PIXEL20_60
-    PIXEL21_70
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_20
-    PIXEL31_60
-    PIXEL32_61
-    PIXEL33_80
-    jmp .loopx_end
-..@flag208
-..@flag209
-    AUXADDRESS
-    PIXEL00_20
-    PIXEL01_60
-    PIXEL02_61
-    PIXEL03_80
-    PIXEL10_60
-    PIXEL11_70
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_61
-    PIXEL21_30
-    PIXEL22_0
-    DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
-    PIXEL30_80
-    PIXEL31_10
-    jmp .loopx_end
-..@flag104
-..@flag108
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_61
-    PIXEL02_60
-    PIXEL03_20
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_70
-    PIXEL13_60
-    DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
-    PIXEL21_0
-    PIXEL22_30
-    PIXEL23_61
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag11
-..@flag139
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL11_0
-    PIXEL12_30
-    PIXEL13_61
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_70
-    PIXEL23_60
-    PIXEL30_80
-    PIXEL31_61
-    PIXEL32_60
-    PIXEL33_20
-    jmp .loopx_end
-..@flag19
-..@flag51
-    AUXADDRESS
-    DiffOrNot w2,w6,PIXEL00_81,PIXEL01_31,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL00_12,PIXEL01_14,PIXEL02_83,PIXEL03_50,PIXEL12_70,PIXEL13_21
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL20_60
-    PIXEL21_70
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_20
-    PIXEL31_60
-    PIXEL32_61
-    PIXEL33_80
-    jmp .loopx_end
-..@flag146
-..@flag178
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL23_32,PIXEL33_82,PIXEL02_21,PIXEL03_50,PIXEL12_70,PIXEL13_83,PIXEL23_13,PIXEL33_11
-    PIXEL10_61
-    PIXEL11_30
-    PIXEL20_60
-    PIXEL21_70
-    PIXEL22_32
-    PIXEL30_20
-    PIXEL31_60
-    PIXEL32_82
-    jmp .loopx_end
-..@flag84
-..@flag85
-    AUXADDRESS
-    PIXEL00_20
-    PIXEL01_60
-    PIXEL02_81
-    DiffOrNot w6,w8,PIXEL03_81,PIXEL13_31,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL03_12,PIXEL13_14,PIXEL22_70,PIXEL23_83,PIXEL32_21,PIXEL33_50
-    PIXEL10_60
-    PIXEL11_70
-    PIXEL12_31
-    PIXEL20_61
-    PIXEL21_30
-    PIXEL30_80
-    PIXEL31_10
-    jmp .loopx_end
-..@flag112
-..@flag113
-    AUXADDRESS
-    PIXEL00_20
-    PIXEL01_60
-    PIXEL02_61
-    PIXEL03_80
-    PIXEL10_60
-    PIXEL11_70
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_82
-    PIXEL21_32
-    DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL30_82,PIXEL31_32,PIXEL32_10,PIXEL33_80,PIXEL22_70,PIXEL23_21,PIXEL30_11,PIXEL31_13,PIXEL32_83,PIXEL33_50
-    jmp .loopx_end
-..@flag200
-..@flag204
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_61
-    PIXEL02_60
-    PIXEL03_20
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_70
-    PIXEL13_60
-    DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL32_31,PIXEL33_81,PIXEL20_21,PIXEL21_70,PIXEL30_50,PIXEL31_83,PIXEL32_14,PIXEL33_12
-    PIXEL22_31
-    PIXEL23_81
-    jmp .loopx_end
-..@flag73
-..@flag77
-    AUXADDRESS
-    DiffOrNot w8,w4,PIXEL00_82,PIXEL10_32,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL00_11,PIXEL10_13,PIXEL20_83,PIXEL21_70,PIXEL30_50,PIXEL31_21
-    PIXEL01_82
-    PIXEL02_60
-    PIXEL03_20
-    PIXEL11_32
-    PIXEL12_70
-    PIXEL13_60
-    PIXEL22_30
-    PIXEL23_61
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag42
-..@flag170
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL20_31,PIXEL30_81,PIXEL00_50,PIXEL01_21,PIXEL10_83,PIXEL11_70,PIXEL20_14,PIXEL30_12
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL12_30
-    PIXEL13_61
-    PIXEL21_31
-    PIXEL22_70
-    PIXEL23_60
-    PIXEL31_81
-    PIXEL32_60
-    PIXEL33_20
-    jmp .loopx_end
-..@flag14
-..@flag142
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL02_32,PIXEL03_82,PIXEL10_10,PIXEL11_30,PIXEL00_50,PIXEL01_83,PIXEL02_13,PIXEL03_11,PIXEL10_21,PIXEL11_70
-    PIXEL12_32
-    PIXEL13_82
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_70
-    PIXEL23_60
-    PIXEL30_80
-    PIXEL31_61
-    PIXEL32_60
-    PIXEL33_20
-    jmp .loopx_end
-..@flag67
-    AUXADDRESS
-    PIXEL00_81
-    PIXEL01_31
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL12_30
-    PIXEL13_61
-    PIXEL20_61
-    PIXEL21_30
-    PIXEL22_30
-    PIXEL23_61
-    PIXEL30_80
-    PIXEL31_10
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag70
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    PIXEL02_32
-    PIXEL03_82
-    PIXEL10_61
-    PIXEL11_30
-    PIXEL12_32
-    PIXEL13_82
-    PIXEL20_61
-    PIXEL21_30
-    PIXEL22_30
-    PIXEL23_61
-    PIXEL30_80
-    PIXEL31_10
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag28
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_61
-    PIXEL02_81
-    PIXEL03_81
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_31
-    PIXEL13_31
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_80
-    PIXEL31_61
-    PIXEL32_61
-    PIXEL33_80
-    jmp .loopx_end
-..@flag152
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_61
-    PIXEL02_61
-    PIXEL03_80
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_32
-    PIXEL23_32
-    PIXEL30_80
-    PIXEL31_61
-    PIXEL32_82
-    PIXEL33_82
-    jmp .loopx_end
-..@flag194
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL10_61
-    PIXEL11_30
-    PIXEL12_30
-    PIXEL13_61
-    PIXEL20_61
-    PIXEL21_30
-    PIXEL22_31
-    PIXEL23_81
-    PIXEL30_80
-    PIXEL31_10
-    PIXEL32_31
-    PIXEL33_81
-    jmp .loopx_end
-..@flag98
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL10_61
-    PIXEL11_30
-    PIXEL12_30
-    PIXEL13_61
-    PIXEL20_82
-    PIXEL21_32
-    PIXEL22_30
-    PIXEL23_61
-    PIXEL30_82
-    PIXEL31_32
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag56
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_61
-    PIXEL02_61
-    PIXEL03_80
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_31
-    PIXEL21_31
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_81
-    PIXEL31_81
-    PIXEL32_61
-    PIXEL33_80
-    jmp .loopx_end
-..@flag25
-    AUXADDRESS
-    PIXEL00_82
-    PIXEL01_82
-    PIXEL02_61
-    PIXEL03_80
-    PIXEL10_32
-    PIXEL11_32
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_80
-    PIXEL31_61
-    PIXEL32_61
-    PIXEL33_80
-    jmp .loopx_end
-..@flag26
-..@flag31
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
-    DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
-    PIXEL11_0
-    PIXEL12_0
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_80
-    PIXEL31_61
-    PIXEL32_61
-    PIXEL33_80
-    jmp .loopx_end
-..@flag82
-..@flag214
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
-    PIXEL10_61
-    PIXEL11_30
-    PIXEL12_0
-    PIXEL20_61
-    PIXEL21_30
-    PIXEL22_0
-    DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
-    PIXEL30_80
-    PIXEL31_10
-    jmp .loopx_end
-..@flag88
-..@flag248
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_61
-    PIXEL02_61
-    PIXEL03_80
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_30
-    PIXEL13_10
-    DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
-    PIXEL21_0
-    PIXEL22_0
-    DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
-    jmp .loopx_end
-..@flag74
-..@flag107
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL11_0
-    PIXEL12_30
-    PIXEL13_61
-    DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
-    PIXEL21_0
-    PIXEL22_30
-    PIXEL23_61
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag27
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL11_0
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_80
-    PIXEL31_61
-    PIXEL32_61
-    PIXEL33_80
-    jmp .loopx_end
-..@flag86
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
-    PIXEL10_61
-    PIXEL11_30
-    PIXEL12_0
-    PIXEL20_61
-    PIXEL21_30
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_80
-    PIXEL31_10
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag216
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_61
-    PIXEL02_61
-    PIXEL03_80
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_0
-    DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
-    PIXEL30_80
-    PIXEL31_10
-    jmp .loopx_end
-..@flag106
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_30
-    PIXEL13_61
-    DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
-    PIXEL21_0
-    PIXEL22_30
-    PIXEL23_61
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag30
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_0
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_80
-    PIXEL31_61
-    PIXEL32_61
-    PIXEL33_80
-    jmp .loopx_end
-..@flag210
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL10_61
-    PIXEL11_30
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_61
-    PIXEL21_30
-    PIXEL22_0
-    DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
-    PIXEL30_80
-    PIXEL31_10
-    jmp .loopx_end
-..@flag120
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_61
-    PIXEL02_61
-    PIXEL03_80
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_30
-    PIXEL13_10
-    DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
-    PIXEL21_0
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag75
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL11_0
-    PIXEL12_30
-    PIXEL13_61
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_30
-    PIXEL23_61
-    PIXEL30_80
-    PIXEL31_10
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag29
-    AUXADDRESS
-    PIXEL00_82
-    PIXEL01_82
-    PIXEL02_81
-    PIXEL03_81
-    PIXEL10_32
-    PIXEL11_32
-    PIXEL12_31
-    PIXEL13_31
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_80
-    PIXEL31_61
-    PIXEL32_61
-    PIXEL33_80
-    jmp .loopx_end
-..@flag198
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    PIXEL02_32
-    PIXEL03_82
-    PIXEL10_61
-    PIXEL11_30
-    PIXEL12_32
-    PIXEL13_82
-    PIXEL20_61
-    PIXEL21_30
-    PIXEL22_31
-    PIXEL23_81
-    PIXEL30_80
-    PIXEL31_10
-    PIXEL32_31
-    PIXEL33_81
-    jmp .loopx_end
-..@flag184
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_61
-    PIXEL02_61
-    PIXEL03_80
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_31
-    PIXEL21_31
-    PIXEL22_32
-    PIXEL23_32
-    PIXEL30_81
-    PIXEL31_81
-    PIXEL32_82
-    PIXEL33_82
-    jmp .loopx_end
-..@flag99
-    AUXADDRESS
-    PIXEL00_81
-    PIXEL01_31
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL12_30
-    PIXEL13_61
-    PIXEL20_82
-    PIXEL21_32
-    PIXEL22_30
-    PIXEL23_61
-    PIXEL30_82
-    PIXEL31_32
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag57
-    AUXADDRESS
-    PIXEL00_82
-    PIXEL01_82
-    PIXEL02_61
-    PIXEL03_80
-    PIXEL10_32
-    PIXEL11_32
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_31
-    PIXEL21_31
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_81
-    PIXEL31_81
-    PIXEL32_61
-    PIXEL33_80
-    jmp .loopx_end
-..@flag71
-    AUXADDRESS
-    PIXEL00_81
-    PIXEL01_31
-    PIXEL02_32
-    PIXEL03_82
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL12_32
-    PIXEL13_82
-    PIXEL20_61
-    PIXEL21_30
-    PIXEL22_30
-    PIXEL23_61
-    PIXEL30_80
-    PIXEL31_10
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag156
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_61
-    PIXEL02_81
-    PIXEL03_81
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_31
-    PIXEL13_31
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_32
-    PIXEL23_32
-    PIXEL30_80
-    PIXEL31_61
-    PIXEL32_82
-    PIXEL33_82
-    jmp .loopx_end
-..@flag226
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL10_61
-    PIXEL11_30
-    PIXEL12_30
-    PIXEL13_61
-    PIXEL20_82
-    PIXEL21_32
-    PIXEL22_31
-    PIXEL23_81
-    PIXEL30_82
-    PIXEL31_32
-    PIXEL32_31
-    PIXEL33_81
-    jmp .loopx_end
-..@flag60
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_61
-    PIXEL02_81
-    PIXEL03_81
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_31
-    PIXEL13_31
-    PIXEL20_31
-    PIXEL21_31
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_81
-    PIXEL31_81
-    PIXEL32_61
-    PIXEL33_80
-    jmp .loopx_end
-..@flag195
-    AUXADDRESS
-    PIXEL00_81
-    PIXEL01_31
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL12_30
-    PIXEL13_61
-    PIXEL20_61
-    PIXEL21_30
-    PIXEL22_31
-    PIXEL23_81
-    PIXEL30_80
-    PIXEL31_10
-    PIXEL32_31
-    PIXEL33_81
-    jmp .loopx_end
-..@flag102
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    PIXEL02_32
-    PIXEL03_82
-    PIXEL10_61
-    PIXEL11_30
-    PIXEL12_32
-    PIXEL13_82
-    PIXEL20_82
-    PIXEL21_32
-    PIXEL22_30
-    PIXEL23_61
-    PIXEL30_82
-    PIXEL31_32
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag153
-    AUXADDRESS
-    PIXEL00_82
-    PIXEL01_82
-    PIXEL02_61
-    PIXEL03_80
-    PIXEL10_32
-    PIXEL11_32
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_32
-    PIXEL23_32
-    PIXEL30_80
-    PIXEL31_61
-    PIXEL32_82
-    PIXEL33_82
-    jmp .loopx_end
-..@flag58
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL00_20,PIXEL01_12,PIXEL10_11,PIXEL11_0
-    DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL02_11,PIXEL03_20,PIXEL12_0,PIXEL13_12
-    PIXEL20_31
-    PIXEL21_31
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_81
-    PIXEL31_81
-    PIXEL32_61
-    PIXEL33_80
-    jmp .loopx_end
-..@flag83
-    AUXADDRESS
-    PIXEL00_81
-    PIXEL01_31
-    DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL02_11,PIXEL03_20,PIXEL12_0,PIXEL13_12
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL20_61
-    PIXEL21_30
-    DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL22_0,PIXEL23_11,PIXEL32_12,PIXEL33_20
-    PIXEL30_80
-    PIXEL31_10
-    jmp .loopx_end
-..@flag92
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_61
-    PIXEL02_81
-    PIXEL03_81
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_31
-    PIXEL13_31
-    DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL20_12,PIXEL21_0,PIXEL30_20,PIXEL31_11
-    DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL22_0,PIXEL23_11,PIXEL32_12,PIXEL33_20
-    jmp .loopx_end
-..@flag202
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL00_20,PIXEL01_12,PIXEL10_11,PIXEL11_0
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL12_30
-    PIXEL13_61
-    DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL20_12,PIXEL21_0,PIXEL30_20,PIXEL31_11
-    PIXEL22_31
-    PIXEL23_81
-    PIXEL32_31
-    PIXEL33_81
-    jmp .loopx_end
-..@flag78
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL00_20,PIXEL01_12,PIXEL10_11,PIXEL11_0
-    PIXEL02_32
-    PIXEL03_82
-    PIXEL12_32
-    PIXEL13_82
-    DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL20_12,PIXEL21_0,PIXEL30_20,PIXEL31_11
-    PIXEL22_30
-    PIXEL23_61
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag154
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL00_20,PIXEL01_12,PIXEL10_11,PIXEL11_0
-    DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL02_11,PIXEL03_20,PIXEL12_0,PIXEL13_12
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_32
-    PIXEL23_32
-    PIXEL30_80
-    PIXEL31_61
-    PIXEL32_82
-    PIXEL33_82
-    jmp .loopx_end
-..@flag114
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL02_11,PIXEL03_20,PIXEL12_0,PIXEL13_12
-    PIXEL10_61
-    PIXEL11_30
-    PIXEL20_82
-    PIXEL21_32
-    DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL22_0,PIXEL23_11,PIXEL32_12,PIXEL33_20
-    PIXEL30_82
-    PIXEL31_32
-    jmp .loopx_end
-..@flag89
-    AUXADDRESS
-    PIXEL00_82
-    PIXEL01_82
-    PIXEL02_61
-    PIXEL03_80
-    PIXEL10_32
-    PIXEL11_32
-    PIXEL12_30
-    PIXEL13_10
-    DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL20_12,PIXEL21_0,PIXEL30_20,PIXEL31_11
-    DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL22_0,PIXEL23_11,PIXEL32_12,PIXEL33_20
-    jmp .loopx_end
-..@flag90
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL00_20,PIXEL01_12,PIXEL10_11,PIXEL11_0
-    DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL02_11,PIXEL03_20,PIXEL12_0,PIXEL13_12
-    DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL20_12,PIXEL21_0,PIXEL30_20,PIXEL31_11
-    DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL22_0,PIXEL23_11,PIXEL32_12,PIXEL33_20
-    jmp .loopx_end
-..@flag55
-..@flag23
-    AUXADDRESS
-    DiffOrNot w2,w6,PIXEL00_81,PIXEL01_31,PIXEL02_0,PIXEL03_0,PIXEL12_0,PIXEL13_0,PIXEL00_12,PIXEL01_14,PIXEL02_83,PIXEL03_50,PIXEL12_70,PIXEL13_21
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL20_60
-    PIXEL21_70
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_20
-    PIXEL31_60
-    PIXEL32_61
-    PIXEL33_80
-    jmp .loopx_end
-..@flag182
-..@flag150
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL12_0,PIXEL13_0,PIXEL23_32,PIXEL33_82,PIXEL02_21,PIXEL03_50,PIXEL12_70,PIXEL13_83,PIXEL23_13,PIXEL33_11
-    PIXEL10_61
-    PIXEL11_30
-    PIXEL20_60
-    PIXEL21_70
-    PIXEL22_32
-    PIXEL30_20
-    PIXEL31_60
-    PIXEL32_82
-    jmp .loopx_end
-..@flag213
-..@flag212
-    AUXADDRESS
-    PIXEL00_20
-    PIXEL01_60
-    PIXEL02_81
-    DiffOrNot w6,w8,PIXEL03_81,PIXEL13_31,PIXEL22_0,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL03_12,PIXEL13_14,PIXEL22_70,PIXEL23_83,PIXEL32_21,PIXEL33_50
-    PIXEL10_60
-    PIXEL11_70
-    PIXEL12_31
-    PIXEL20_61
-    PIXEL21_30
-    PIXEL30_80
-    PIXEL31_10
-    jmp .loopx_end
-..@flag241
-..@flag240
-    AUXADDRESS
-    PIXEL00_20
-    PIXEL01_60
-    PIXEL02_61
-    PIXEL03_80
-    PIXEL10_60
-    PIXEL11_70
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_82
-    PIXEL21_32
-    DiffOrNot w6,w8,PIXEL22_0,PIXEL23_0,PIXEL30_82,PIXEL31_32,PIXEL32_0,PIXEL33_0,PIXEL22_70,PIXEL23_21,PIXEL30_11,PIXEL31_13,PIXEL32_83,PIXEL33_50
-    jmp .loopx_end
-..@flag236
-..@flag232
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_61
-    PIXEL02_60
-    PIXEL03_20
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_70
-    PIXEL13_60
-    DiffOrNot w8,w4,PIXEL20_0,PIXEL21_0,PIXEL30_0,PIXEL31_0,PIXEL32_31,PIXEL33_81,PIXEL20_21,PIXEL21_70,PIXEL30_50,PIXEL31_83,PIXEL32_14,PIXEL33_12
-    PIXEL22_31
-    PIXEL23_81
-    jmp .loopx_end
-..@flag109
-..@flag105
-    AUXADDRESS
-    DiffOrNot w8,w4,PIXEL00_82,PIXEL10_32,PIXEL20_0,PIXEL21_0,PIXEL30_0,PIXEL31_0,PIXEL00_11,PIXEL10_13,PIXEL20_83,PIXEL21_70,PIXEL30_50,PIXEL31_21
-    PIXEL01_82
-    PIXEL02_60
-    PIXEL03_20
-    PIXEL11_32
-    PIXEL12_70
-    PIXEL13_60
-    PIXEL22_30
-    PIXEL23_61
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag171
-..@flag43
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL11_0,PIXEL20_31,PIXEL30_81,PIXEL00_50,PIXEL01_21,PIXEL10_83,PIXEL11_70,PIXEL20_14,PIXEL30_12
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL12_30
-    PIXEL13_61
-    PIXEL21_31
-    PIXEL22_70
-    PIXEL23_60
-    PIXEL31_81
-    PIXEL32_60
-    PIXEL33_20
-    jmp .loopx_end
-..@flag143
-..@flag15
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL02_32,PIXEL03_82,PIXEL10_0,PIXEL11_0,PIXEL00_50,PIXEL01_83,PIXEL02_13,PIXEL03_11,PIXEL10_21,PIXEL11_70
-    PIXEL12_32
-    PIXEL13_82
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_70
-    PIXEL23_60
-    PIXEL30_80
-    PIXEL31_61
-    PIXEL32_60
-    PIXEL33_20
-    jmp .loopx_end
-..@flag124
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_61
-    PIXEL02_81
-    PIXEL03_81
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_31
-    PIXEL13_31
-    DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
-    PIXEL21_0
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag203
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL11_0
-    PIXEL12_30
-    PIXEL13_61
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_31
-    PIXEL23_81
-    PIXEL30_80
-    PIXEL31_10
-    PIXEL32_31
-    PIXEL33_81
-    jmp .loopx_end
-..@flag62
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_0
-    PIXEL20_31
-    PIXEL21_31
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_81
-    PIXEL31_81
-    PIXEL32_61
-    PIXEL33_80
-    jmp .loopx_end
-..@flag211
-    AUXADDRESS
-    PIXEL00_81
-    PIXEL01_31
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_61
-    PIXEL21_30
-    PIXEL22_0
-    DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
-    PIXEL30_80
-    PIXEL31_10
-    jmp .loopx_end
-..@flag118
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
-    PIXEL10_61
-    PIXEL11_30
-    PIXEL12_0
-    PIXEL20_82
-    PIXEL21_32
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_82
-    PIXEL31_32
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag217
-    AUXADDRESS
-    PIXEL00_82
-    PIXEL01_82
-    PIXEL02_61
-    PIXEL03_80
-    PIXEL10_32
-    PIXEL11_32
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_0
-    DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
-    PIXEL30_80
-    PIXEL31_10
-    jmp .loopx_end
-..@flag110
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    PIXEL02_32
-    PIXEL03_82
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_32
-    PIXEL13_82
-    DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
-    PIXEL21_0
-    PIXEL22_30
-    PIXEL23_61
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag155
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL11_0
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_32
-    PIXEL23_32
-    PIXEL30_80
-    PIXEL31_61
-    PIXEL32_82
-    PIXEL33_82
-    jmp .loopx_end
-..@flag188
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_61
-    PIXEL02_81
-    PIXEL03_81
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_31
-    PIXEL13_31
-    PIXEL20_31
-    PIXEL21_31
-    PIXEL22_32
-    PIXEL23_32
-    PIXEL30_81
-    PIXEL31_81
-    PIXEL32_82
-    PIXEL33_82
-    jmp .loopx_end
-..@flag185
-    AUXADDRESS
-    PIXEL00_82
-    PIXEL01_82
-    PIXEL02_61
-    PIXEL03_80
-    PIXEL10_32
-    PIXEL11_32
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_31
-    PIXEL21_31
-    PIXEL22_32
-    PIXEL23_32
-    PIXEL30_81
-    PIXEL31_81
-    PIXEL32_82
-    PIXEL33_82
-    jmp .loopx_end
-..@flag61
-    AUXADDRESS
-    PIXEL00_82
-    PIXEL01_82
-    PIXEL02_81
-    PIXEL03_81
-    PIXEL10_32
-    PIXEL11_32
-    PIXEL12_31
-    PIXEL13_31
-    PIXEL20_31
-    PIXEL21_31
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_81
-    PIXEL31_81
-    PIXEL32_61
-    PIXEL33_80
-    jmp .loopx_end
-..@flag157
-    AUXADDRESS
-    PIXEL00_82
-    PIXEL01_82
-    PIXEL02_81
-    PIXEL03_81
-    PIXEL10_32
-    PIXEL11_32
-    PIXEL12_31
-    PIXEL13_31
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_32
-    PIXEL23_32
-    PIXEL30_80
-    PIXEL31_61
-    PIXEL32_82
-    PIXEL33_82
-    jmp .loopx_end
-..@flag103
-    AUXADDRESS
-    PIXEL00_81
-    PIXEL01_31
-    PIXEL02_32
-    PIXEL03_82
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL12_32
-    PIXEL13_82
-    PIXEL20_82
-    PIXEL21_32
-    PIXEL22_30
-    PIXEL23_61
-    PIXEL30_82
-    PIXEL31_32
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag227
-    AUXADDRESS
-    PIXEL00_81
-    PIXEL01_31
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL12_30
-    PIXEL13_61
-    PIXEL20_82
-    PIXEL21_32
-    PIXEL22_31
-    PIXEL23_81
-    PIXEL30_82
-    PIXEL31_32
-    PIXEL32_31
-    PIXEL33_81
-    jmp .loopx_end
-..@flag230
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    PIXEL02_32
-    PIXEL03_82
-    PIXEL10_61
-    PIXEL11_30
-    PIXEL12_32
-    PIXEL13_82
-    PIXEL20_82
-    PIXEL21_32
-    PIXEL22_31
-    PIXEL23_81
-    PIXEL30_82
-    PIXEL31_32
-    PIXEL32_31
-    PIXEL33_81
-    jmp .loopx_end
-..@flag199
-    AUXADDRESS
-    PIXEL00_81
-    PIXEL01_31
-    PIXEL02_32
-    PIXEL03_82
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL12_32
-    PIXEL13_82
-    PIXEL20_61
-    PIXEL21_30
-    PIXEL22_31
-    PIXEL23_81
-    PIXEL30_80
-    PIXEL31_10
-    PIXEL32_31
-    PIXEL33_81
-    jmp .loopx_end
-..@flag220
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_61
-    PIXEL02_81
-    PIXEL03_81
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_31
-    PIXEL13_31
-    DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL20_12,PIXEL21_0,PIXEL30_20,PIXEL31_11
-    PIXEL22_0
-    DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
-    jmp .loopx_end
-..@flag158
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL00_20,PIXEL01_12,PIXEL10_11,PIXEL11_0
-    DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
-    PIXEL12_0
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_32
-    PIXEL23_32
-    PIXEL30_80
-    PIXEL31_61
-    PIXEL32_82
-    PIXEL33_82
-    jmp .loopx_end
-..@flag234
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL00_20,PIXEL01_12,PIXEL10_11,PIXEL11_0
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL12_30
-    PIXEL13_61
-    DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
-    PIXEL21_0
-    PIXEL22_31
-    PIXEL23_81
-    PIXEL32_31
-    PIXEL33_81
-    jmp .loopx_end
-..@flag242
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL02_11,PIXEL03_20,PIXEL12_0,PIXEL13_12
-    PIXEL10_61
-    PIXEL11_30
-    PIXEL20_82
-    PIXEL21_32
-    PIXEL22_0
-    DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
-    PIXEL30_82
-    PIXEL31_32
-    jmp .loopx_end
-..@flag59
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
-    DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL02_11,PIXEL03_20,PIXEL12_0,PIXEL13_12
-    PIXEL11_0
-    PIXEL20_31
-    PIXEL21_31
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_81
-    PIXEL31_81
-    PIXEL32_61
-    PIXEL33_80
-    jmp .loopx_end
-..@flag121
-    AUXADDRESS
-    PIXEL00_82
-    PIXEL01_82
-    PIXEL02_61
-    PIXEL03_80
-    PIXEL10_32
-    PIXEL11_32
-    PIXEL12_30
-    PIXEL13_10
-    DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
-    PIXEL21_0
-    DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL22_0,PIXEL23_11,PIXEL32_12,PIXEL33_20
-    jmp .loopx_end
-..@flag87
-    AUXADDRESS
-    PIXEL00_81
-    PIXEL01_31
-    DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL12_0
-    PIXEL20_61
-    PIXEL21_30
-    DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL22_0,PIXEL23_11,PIXEL32_12,PIXEL33_20
-    PIXEL30_80
-    PIXEL31_10
-    jmp .loopx_end
-..@flag79
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
-    PIXEL02_32
-    PIXEL03_82
-    PIXEL11_0
-    PIXEL12_32
-    PIXEL13_82
-    DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL20_12,PIXEL21_0,PIXEL30_20,PIXEL31_11
-    PIXEL22_30
-    PIXEL23_61
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag122
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL00_20,PIXEL01_12,PIXEL10_11,PIXEL11_0
-    DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL02_11,PIXEL03_20,PIXEL12_0,PIXEL13_12
-    DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
-    PIXEL21_0
-    DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL22_0,PIXEL23_11,PIXEL32_12,PIXEL33_20
-    jmp .loopx_end
-..@flag94
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL00_20,PIXEL01_12,PIXEL10_11,PIXEL11_0
-    DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
-    PIXEL12_0
-    DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL20_12,PIXEL21_0,PIXEL30_20,PIXEL31_11
-    DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL22_0,PIXEL23_11,PIXEL32_12,PIXEL33_20
-    jmp .loopx_end
-..@flag218
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL00_20,PIXEL01_12,PIXEL10_11,PIXEL11_0
-    DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL02_11,PIXEL03_20,PIXEL12_0,PIXEL13_12
-    DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL20_12,PIXEL21_0,PIXEL30_20,PIXEL31_11
-    PIXEL22_0
-    DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
-    jmp .loopx_end
-..@flag91
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
-    DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL02_11,PIXEL03_20,PIXEL12_0,PIXEL13_12
-    PIXEL11_0
-    DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL20_12,PIXEL21_0,PIXEL30_20,PIXEL31_11
-    DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL22_0,PIXEL23_11,PIXEL32_12,PIXEL33_20
-    jmp .loopx_end
-..@flag229
-    AUXADDRESS
-    PIXEL00_20
-    PIXEL01_60
-    PIXEL02_60
-    PIXEL03_20
-    PIXEL10_60
-    PIXEL11_70
-    PIXEL12_70
-    PIXEL13_60
-    PIXEL20_82
-    PIXEL21_32
-    PIXEL22_31
-    PIXEL23_81
-    PIXEL30_82
-    PIXEL31_32
-    PIXEL32_31
-    PIXEL33_81
-    jmp .loopx_end
-..@flag167
-    AUXADDRESS
-    PIXEL00_81
-    PIXEL01_31
-    PIXEL02_32
-    PIXEL03_82
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL12_32
-    PIXEL13_82
-    PIXEL20_60
-    PIXEL21_70
-    PIXEL22_70
-    PIXEL23_60
-    PIXEL30_20
-    PIXEL31_60
-    PIXEL32_60
-    PIXEL33_20
-    jmp .loopx_end
-..@flag173
-    AUXADDRESS
-    PIXEL00_82
-    PIXEL01_82
-    PIXEL02_60
-    PIXEL03_20
-    PIXEL10_32
-    PIXEL11_32
-    PIXEL12_70
-    PIXEL13_60
-    PIXEL20_31
-    PIXEL21_31
-    PIXEL22_70
-    PIXEL23_60
-    PIXEL30_81
-    PIXEL31_81
-    PIXEL32_60
-    PIXEL33_20
-    jmp .loopx_end
-..@flag181
-    AUXADDRESS
-    PIXEL00_20
-    PIXEL01_60
-    PIXEL02_81
-    PIXEL03_81
-    PIXEL10_60
-    PIXEL11_70
-    PIXEL12_31
-    PIXEL13_31
-    PIXEL20_60
-    PIXEL21_70
-    PIXEL22_32
-    PIXEL23_32
-    PIXEL30_20
-    PIXEL31_60
-    PIXEL32_82
-    PIXEL33_82
-    jmp .loopx_end
-..@flag186
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL00_20,PIXEL01_12,PIXEL10_11,PIXEL11_0
-    DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL02_11,PIXEL03_20,PIXEL12_0,PIXEL13_12
-    PIXEL20_31
-    PIXEL21_31
-    PIXEL22_32
-    PIXEL23_32
-    PIXEL30_81
-    PIXEL31_81
-    PIXEL32_82
-    PIXEL33_82
-    jmp .loopx_end
-..@flag115
-    AUXADDRESS
-    PIXEL00_81
-    PIXEL01_31
-    DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL02_11,PIXEL03_20,PIXEL12_0,PIXEL13_12
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL20_82
-    PIXEL21_32
-    DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL22_0,PIXEL23_11,PIXEL32_12,PIXEL33_20
-    PIXEL30_82
-    PIXEL31_32
-    jmp .loopx_end
-..@flag93
-    AUXADDRESS
-    PIXEL00_82
-    PIXEL01_82
-    PIXEL02_81
-    PIXEL03_81
-    PIXEL10_32
-    PIXEL11_32
-    PIXEL12_31
-    PIXEL13_31
-    DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL20_12,PIXEL21_0,PIXEL30_20,PIXEL31_11
-    DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL22_0,PIXEL23_11,PIXEL32_12,PIXEL33_20
-    jmp .loopx_end
-..@flag206
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL00_20,PIXEL01_12,PIXEL10_11,PIXEL11_0
-    PIXEL02_32
-    PIXEL03_82
-    PIXEL12_32
-    PIXEL13_82
-    DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL20_12,PIXEL21_0,PIXEL30_20,PIXEL31_11
-    PIXEL22_31
-    PIXEL23_81
-    PIXEL32_31
-    PIXEL33_81
-    jmp .loopx_end
-..@flag205
-..@flag201
-    AUXADDRESS
-    PIXEL00_82
-    PIXEL01_82
-    PIXEL02_60
-    PIXEL03_20
-    PIXEL10_32
-    PIXEL11_32
-    PIXEL12_70
-    PIXEL13_60
-    DiffOrNot w8,w4,PIXEL20_10,PIXEL21_30,PIXEL30_80,PIXEL31_10,PIXEL20_12,PIXEL21_0,PIXEL30_20,PIXEL31_11
-    PIXEL22_31
-    PIXEL23_81
-    PIXEL32_31
-    PIXEL33_81
-    jmp .loopx_end
-..@flag174
-..@flag46
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_80,PIXEL01_10,PIXEL10_10,PIXEL11_30,PIXEL00_20,PIXEL01_12,PIXEL10_11,PIXEL11_0
-    PIXEL02_32
-    PIXEL03_82
-    PIXEL12_32
-    PIXEL13_82
-    PIXEL20_31
-    PIXEL21_31
-    PIXEL22_70
-    PIXEL23_60
-    PIXEL30_81
-    PIXEL31_81
-    PIXEL32_60
-    PIXEL33_20
-    jmp .loopx_end
-..@flag179
-..@flag147
-    AUXADDRESS
-    PIXEL00_81
-    PIXEL01_31
-    DiffOrNot w2,w6,PIXEL02_10,PIXEL03_80,PIXEL12_30,PIXEL13_10,PIXEL02_11,PIXEL03_20,PIXEL12_0,PIXEL13_12
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL20_60
-    PIXEL21_70
-    PIXEL22_32
-    PIXEL23_32
-    PIXEL30_20
-    PIXEL31_60
-    PIXEL32_82
-    PIXEL33_82
-    jmp .loopx_end
-..@flag117
-..@flag116
-    AUXADDRESS
-    PIXEL00_20
-    PIXEL01_60
-    PIXEL02_81
-    PIXEL03_81
-    PIXEL10_60
-    PIXEL11_70
-    PIXEL12_31
-    PIXEL13_31
-    PIXEL20_82
-    PIXEL21_32
-    DiffOrNot w6,w8,PIXEL22_30,PIXEL23_10,PIXEL32_10,PIXEL33_80,PIXEL22_0,PIXEL23_11,PIXEL32_12,PIXEL33_20
-    PIXEL30_82
-    PIXEL31_32
-    jmp .loopx_end
-..@flag189
-    AUXADDRESS
-    PIXEL00_82
-    PIXEL01_82
-    PIXEL02_81
-    PIXEL03_81
-    PIXEL10_32
-    PIXEL11_32
-    PIXEL12_31
-    PIXEL13_31
-    PIXEL20_31
-    PIXEL21_31
-    PIXEL22_32
-    PIXEL23_32
-    PIXEL30_81
-    PIXEL31_81
-    PIXEL32_82
-    PIXEL33_82
-    jmp .loopx_end
-..@flag231
-    AUXADDRESS
-    PIXEL00_81
-    PIXEL01_31
-    PIXEL02_32
-    PIXEL03_82
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL12_32
-    PIXEL13_82
-    PIXEL20_82
-    PIXEL21_32
-    PIXEL22_31
-    PIXEL23_81
-    PIXEL30_82
-    PIXEL31_32
-    PIXEL32_31
-    PIXEL33_81
-    jmp .loopx_end
-..@flag126
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_0
-    DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
-    PIXEL21_0
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag219
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL11_0
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_0
-    DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
-    PIXEL30_80
-    PIXEL31_10
-    jmp .loopx_end
-..@flag125
-    AUXADDRESS
-    DiffOrNot w8,w4,PIXEL00_82,PIXEL10_32,PIXEL20_0,PIXEL21_0,PIXEL30_0,PIXEL31_0,PIXEL00_11,PIXEL10_13,PIXEL20_83,PIXEL21_70,PIXEL30_50,PIXEL31_21
-    PIXEL01_82
-    PIXEL02_81
-    PIXEL03_81
-    PIXEL11_32
-    PIXEL12_31
-    PIXEL13_31
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag221
-    AUXADDRESS
-    PIXEL00_82
-    PIXEL01_82
-    PIXEL02_81
-    DiffOrNot w6,w8,PIXEL03_81,PIXEL13_31,PIXEL22_0,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL03_12,PIXEL13_14,PIXEL22_70,PIXEL23_83,PIXEL32_21,PIXEL33_50
-    PIXEL10_32
-    PIXEL11_32
-    PIXEL12_31
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL30_80
-    PIXEL31_10
-    jmp .loopx_end
-..@flag207
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL02_32,PIXEL03_82,PIXEL10_0,PIXEL11_0,PIXEL00_50,PIXEL01_83,PIXEL02_13,PIXEL03_11,PIXEL10_21,PIXEL11_70
-    PIXEL12_32
-    PIXEL13_82
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_31
-    PIXEL23_81
-    PIXEL30_80
-    PIXEL31_10
-    PIXEL32_31
-    PIXEL33_81
-    jmp .loopx_end
-..@flag238
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    PIXEL02_32
-    PIXEL03_82
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_32
-    PIXEL13_82
-    DiffOrNot w8,w4,PIXEL20_0,PIXEL21_0,PIXEL30_0,PIXEL31_0,PIXEL32_31,PIXEL33_81,PIXEL20_21,PIXEL21_70,PIXEL30_50,PIXEL31_83,PIXEL32_14,PIXEL33_12
-    PIXEL22_31
-    PIXEL23_81
-    jmp .loopx_end
-..@flag190
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL12_0,PIXEL13_0,PIXEL23_32,PIXEL33_82,PIXEL02_21,PIXEL03_50,PIXEL12_70,PIXEL13_83,PIXEL23_13,PIXEL33_11
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL20_31
-    PIXEL21_31
-    PIXEL22_32
-    PIXEL30_81
-    PIXEL31_81
-    PIXEL32_82
-    jmp .loopx_end
-..@flag187
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL11_0,PIXEL20_31,PIXEL30_81,PIXEL00_50,PIXEL01_21,PIXEL10_83,PIXEL11_70,PIXEL20_14,PIXEL30_12
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL21_31
-    PIXEL22_32
-    PIXEL23_32
-    PIXEL31_81
-    PIXEL32_82
-    PIXEL33_82
-    jmp .loopx_end
-..@flag243
-    AUXADDRESS
-    PIXEL00_81
-    PIXEL01_31
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_82
-    PIXEL21_32
-    DiffOrNot w6,w8,PIXEL22_0,PIXEL23_0,PIXEL30_82,PIXEL31_32,PIXEL32_0,PIXEL33_0,PIXEL22_70,PIXEL23_21,PIXEL30_11,PIXEL31_13,PIXEL32_83,PIXEL33_50
-    jmp .loopx_end
-..@flag119
-    AUXADDRESS
-    DiffOrNot w2,w6,PIXEL00_81,PIXEL01_31,PIXEL02_0,PIXEL03_0,PIXEL12_0,PIXEL13_0,PIXEL00_12,PIXEL01_14,PIXEL02_83,PIXEL03_50,PIXEL12_70,PIXEL13_21
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL20_82
-    PIXEL21_32
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_82
-    PIXEL31_32
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag237
-..@flag233
-    AUXADDRESS
-    PIXEL00_82
-    PIXEL01_82
-    PIXEL02_60
-    PIXEL03_20
-    PIXEL10_32
-    PIXEL11_32
-    PIXEL12_70
-    PIXEL13_60
-    PIXEL20_0
-    PIXEL21_0
-    PIXEL22_31
-    PIXEL23_81
-    DiffOrNot w8,w4,PIXEL30_0,PIXEL30_20
-    PIXEL31_0
-    PIXEL32_31
-    PIXEL33_81
-    jmp .loopx_end
-..@flag175
-..@flag47
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    PIXEL01_0
-    PIXEL02_32
-    PIXEL03_82
-    PIXEL10_0
-    PIXEL11_0
-    PIXEL12_32
-    PIXEL13_82
-    PIXEL20_31
-    PIXEL21_31
-    PIXEL22_70
-    PIXEL23_60
-    PIXEL30_81
-    PIXEL31_81
-    PIXEL32_60
-    PIXEL33_20
-    jmp .loopx_end
-..@flag183
-..@flag151
-    AUXADDRESS
-    PIXEL00_81
-    PIXEL01_31
-    PIXEL02_0
-    DiffOrNot w2,w6,PIXEL03_0,PIXEL03_20
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL12_0
-    PIXEL13_0
-    PIXEL20_60
-    PIXEL21_70
-    PIXEL22_32
-    PIXEL23_32
-    PIXEL30_20
-    PIXEL31_60
-    PIXEL32_82
-    PIXEL33_82
-    jmp .loopx_end
-..@flag245
-..@flag244
-    AUXADDRESS
-    PIXEL00_20
-    PIXEL01_60
-    PIXEL02_81
-    PIXEL03_81
-    PIXEL10_60
-    PIXEL11_70
-    PIXEL12_31
-    PIXEL13_31
-    PIXEL20_82
-    PIXEL21_32
-    PIXEL22_0
-    PIXEL23_0
-    PIXEL30_82
-    PIXEL31_32
-    PIXEL32_0
-    DiffOrNot w6,w8,PIXEL33_0,PIXEL33_20
-    jmp .loopx_end
-..@flag250
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_30
-    PIXEL13_10
-    DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
-    PIXEL21_0
-    PIXEL22_0
-    DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
-    jmp .loopx_end
-..@flag123
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL11_0
-    PIXEL12_30
-    PIXEL13_10
-    DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
-    PIXEL21_0
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag95
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
-    DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
-    PIXEL11_0
-    PIXEL12_0
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_80
-    PIXEL31_10
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag222
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_0
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_0
-    DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
-    PIXEL30_80
-    PIXEL31_10
-    jmp .loopx_end
-..@flag252
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_61
-    PIXEL02_81
-    PIXEL03_81
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_31
-    PIXEL13_31
-    DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
-    PIXEL21_0
-    PIXEL22_0
-    PIXEL23_0
-    PIXEL32_0
-    DiffOrNot w6,w8,PIXEL33_0,PIXEL33_20
-    jmp .loopx_end
-..@flag249
-    AUXADDRESS
-    PIXEL00_82
-    PIXEL01_82
-    PIXEL02_61
-    PIXEL03_80
-    PIXEL10_32
-    PIXEL11_32
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_0
-    PIXEL21_0
-    PIXEL22_0
-    DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
-    DiffOrNot w8,w4,PIXEL30_0,PIXEL30_20
-    PIXEL31_0
-    jmp .loopx_end
-..@flag235
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL11_0
-    PIXEL12_30
-    PIXEL13_61
-    PIXEL20_0
-    PIXEL21_0
-    PIXEL22_31
-    PIXEL23_81
-    DiffOrNot w8,w4,PIXEL30_0,PIXEL30_20
-    PIXEL31_0
-    PIXEL32_31
-    PIXEL33_81
-    jmp .loopx_end
-..@flag111
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    PIXEL01_0
-    PIXEL02_32
-    PIXEL03_82
-    PIXEL10_0
-    PIXEL11_0
-    PIXEL12_32
-    PIXEL13_82
-    DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
-    PIXEL21_0
-    PIXEL22_30
-    PIXEL23_61
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag63
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    PIXEL01_0
-    DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
-    PIXEL10_0
-    PIXEL11_0
-    PIXEL12_0
-    PIXEL20_31
-    PIXEL21_31
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL30_81
-    PIXEL31_81
-    PIXEL32_61
-    PIXEL33_80
-    jmp .loopx_end
-..@flag159
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
-    PIXEL02_0
-    DiffOrNot w2,w6,PIXEL03_0,PIXEL03_20
-    PIXEL11_0
-    PIXEL12_0
-    PIXEL13_0
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_32
-    PIXEL23_32
-    PIXEL30_80
-    PIXEL31_61
-    PIXEL32_82
-    PIXEL33_82
-    jmp .loopx_end
-..@flag215
-    AUXADDRESS
-    PIXEL00_81
-    PIXEL01_31
-    PIXEL02_0
-    DiffOrNot w2,w6,PIXEL03_0,PIXEL03_20
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL12_0
-    PIXEL13_0
-    PIXEL20_61
-    PIXEL21_30
-    PIXEL22_0
-    DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
-    PIXEL30_80
-    PIXEL31_10
-    jmp .loopx_end
-..@flag246
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
-    PIXEL10_61
-    PIXEL11_30
-    PIXEL12_0
-    PIXEL20_82
-    PIXEL21_32
-    PIXEL22_0
-    PIXEL23_0
-    PIXEL30_82
-    PIXEL31_32
-    PIXEL32_0
-    DiffOrNot w6,w8,PIXEL33_0,PIXEL33_20
-    jmp .loopx_end
-..@flag254
-    AUXADDRESS
-    PIXEL00_80
-    PIXEL01_10
-    DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
-    PIXEL10_10
-    PIXEL11_30
-    PIXEL12_0
-    DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
-    PIXEL21_0
-    PIXEL22_0
-    PIXEL23_0
-    PIXEL32_0
-    DiffOrNot w6,w8,PIXEL33_0,PIXEL33_20
-    jmp .loopx_end
-..@flag253
-    AUXADDRESS
-    PIXEL00_82
-    PIXEL01_82
-    PIXEL02_81
-    PIXEL03_81
-    PIXEL10_32
-    PIXEL11_32
-    PIXEL12_31
-    PIXEL13_31
-    PIXEL20_0
-    PIXEL21_0
-    PIXEL22_0
-    PIXEL23_0
-    DiffOrNot w8,w4,PIXEL30_0,PIXEL30_20
-    PIXEL31_0
-    PIXEL32_0
-    DiffOrNot w6,w8,PIXEL33_0,PIXEL33_20
-    jmp .loopx_end
-..@flag251
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
-    PIXEL02_10
-    PIXEL03_80
-    PIXEL11_0
-    PIXEL12_30
-    PIXEL13_10
-    PIXEL20_0
-    PIXEL21_0
-    PIXEL22_0
-    DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
-    DiffOrNot w8,w4,PIXEL30_0,PIXEL30_20
-    PIXEL31_0
-    jmp .loopx_end
-..@flag239
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    PIXEL01_0
-    PIXEL02_32
-    PIXEL03_82
-    PIXEL10_0
-    PIXEL11_0
-    PIXEL12_32
-    PIXEL13_82
-    PIXEL20_0
-    PIXEL21_0
-    PIXEL22_31
-    PIXEL23_81
-    DiffOrNot w8,w4,PIXEL30_0,PIXEL30_20
-    PIXEL31_0
-    PIXEL32_31
-    PIXEL33_81
-    jmp .loopx_end
-..@flag127
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    PIXEL01_0
-    DiffOrNot w2,w6,PIXEL02_0,PIXEL03_0,PIXEL13_0,PIXEL02_50,PIXEL03_50,PIXEL13_50
-    PIXEL10_0
-    PIXEL11_0
-    PIXEL12_0
-    DiffOrNot w8,w4,PIXEL20_0,PIXEL30_0,PIXEL31_0,PIXEL20_50,PIXEL30_50,PIXEL31_50
-    PIXEL21_0
-    PIXEL22_30
-    PIXEL23_10
-    PIXEL32_10
-    PIXEL33_80
-    jmp .loopx_end
-..@flag191
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    PIXEL01_0
-    PIXEL02_0
-    DiffOrNot w2,w6,PIXEL03_0,PIXEL03_20
-    PIXEL10_0
-    PIXEL11_0
-    PIXEL12_0
-    PIXEL13_0
-    PIXEL20_31
-    PIXEL21_31
-    PIXEL22_32
-    PIXEL23_32
-    PIXEL30_81
-    PIXEL31_81
-    PIXEL32_82
-    PIXEL33_82
-    jmp .loopx_end
-..@flag223
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL01_0,PIXEL10_0,PIXEL00_50,PIXEL01_50,PIXEL10_50
-    PIXEL02_0
-    DiffOrNot w2,w6,PIXEL03_0,PIXEL03_20
-    PIXEL11_0
-    PIXEL12_0
-    PIXEL13_0
-    PIXEL20_10
-    PIXEL21_30
-    PIXEL22_0
-    DiffOrNot w6,w8,PIXEL23_0,PIXEL32_0,PIXEL33_0,PIXEL23_50,PIXEL32_50,PIXEL33_50
-    PIXEL30_80
-    PIXEL31_10
-    jmp .loopx_end
-..@flag247
-    AUXADDRESS
-    PIXEL00_81
-    PIXEL01_31
-    PIXEL02_0
-    DiffOrNot w2,w6,PIXEL03_0,PIXEL03_20
-    PIXEL10_81
-    PIXEL11_31
-    PIXEL12_0
-    PIXEL13_0
-    PIXEL20_82
-    PIXEL21_32
-    PIXEL22_0
-    PIXEL23_0
-    PIXEL30_82
-    PIXEL31_32
-    PIXEL32_0
-    DiffOrNot w6,w8,PIXEL33_0,PIXEL33_20
-    jmp .loopx_end
-..@flag255
-    AUXADDRESS
-    DiffOrNot w4,w2,PIXEL00_0,PIXEL00_20
-    PIXEL01_0
-    PIXEL02_0
-    DiffOrNot w2,w6,PIXEL03_0,PIXEL03_20
-    PIXEL10_0
-    PIXEL11_0
-    PIXEL12_0
-    PIXEL13_0
-    PIXEL20_0
-    PIXEL21_0
-    PIXEL22_0
-    PIXEL23_0
-    DiffOrNot w8,w4,PIXEL30_0,PIXEL30_20
-    PIXEL31_0
-    PIXEL32_0
-    DiffOrNot w6,w8,PIXEL33_0,PIXEL33_20
-    jmp .loopx_end
-
-.loopx_end
-    add     esi,2
-    add     edi,16
-    dec     dword[xcounter]
-    jle     .xres_2
-    jmp     .loopx
-.xres_2
-    ; x=Xres-2 - special case
-    jl      .xres_1
-    mov     ebx,[prevline]
-    movq    mm5,[esi+ebx-4]
-    movq    mm6,[esi-4]
-    mov     ebx,[nextline]
-    movq    mm7,[esi+ebx-4]
-    psrlq   mm5,16
-    psrlq   mm6,16
-    psrlq   mm7,16
-    movd    eax,mm5
-    movzx   edx,ax
-    mov     [w1],edx
-    shr     eax,16
-    mov     [w2],eax
-    psrlq   mm5,32
-    movd    eax,mm5
-    mov     [w3],eax
-    movd    eax,mm6
-    movzx   edx,ax
-    mov     [w4],edx
-    shr     eax,16
-    mov     [w5],eax
-    psrlq   mm6,32
-    movd    eax,mm6
-    mov     [w6],eax
-    movd    eax,mm7
-    movzx   edx,ax
-    mov     [w7],edx
-    shr     eax,16
-    mov     [w8],eax
-    psrlq   mm7,32
-    movd    eax,mm7
-    mov     [w9],eax
-    jmp     .flags
-.xres_1
-    cmp     dword[xcounter],-1
-    jl      .nexty
-    ; x=Xres-1 - special case
-    mov     ebx,[prevline]
-    movq    mm5,[esi+ebx-6]
-    movq    mm6,[esi-6]
-    mov     ebx,[nextline]
-    movq    mm7,[esi+ebx-6]
-    psrlq   mm5,32
-    psrlq   mm6,32
-    psrlq   mm7,32
-    movd    eax,mm5
-    movzx   edx,ax  
-    mov     [w1],edx
-    shr     eax,16
-    mov     [w2],eax
-    mov     [w3],eax
-    movd    eax,mm6
-    movzx   edx,ax  
-    mov     [w4],edx
-    shr     eax,16
-    mov     [w5],eax
-    mov     [w6],eax
-    movd    eax,mm7
-    movzx   edx,ax  
-    mov     [w7],edx
-    shr     eax,16
-    mov     [w8],eax
-    mov     [w9],eax
-    jmp     .flags
-.nexty
-    add     edi,ebx
-    add     edi,ebx
-    add     edi,ebx
-    dec     dword[linesleft]
-    jz      .fin
-    mov     ebx,[ebp+Xres]
-    shl     ebx,1
-    cmp     dword[linesleft],1
-    je      .lastline
-    mov     dword[nextline],ebx
-    neg     ebx
-    mov     dword[prevline],ebx
-    jmp     .loopy
-.lastline
-    mov     dword[nextline],0
-    neg     ebx
-    mov     dword[prevline],ebx
-    jmp     .loopy
-.fin
-    emms
-    popad
-    mov esp,ebp
-    pop ebp
-    ret
-
-SECTION .data
-FuncTable
-    dd ..@flag0, ..@flag1, ..@flag2, ..@flag3, ..@flag4, ..@flag5, ..@flag6, ..@flag7
-    dd ..@flag8, ..@flag9, ..@flag10, ..@flag11, ..@flag12, ..@flag13, ..@flag14, ..@flag15
-    dd ..@flag16, ..@flag17, ..@flag18, ..@flag19, ..@flag20, ..@flag21, ..@flag22, ..@flag23
-    dd ..@flag24, ..@flag25, ..@flag26, ..@flag27, ..@flag28, ..@flag29, ..@flag30, ..@flag31
-    dd ..@flag32, ..@flag33, ..@flag34, ..@flag35, ..@flag36, ..@flag37, ..@flag38, ..@flag39
-    dd ..@flag40, ..@flag41, ..@flag42, ..@flag43, ..@flag44, ..@flag45, ..@flag46, ..@flag47
-    dd ..@flag48, ..@flag49, ..@flag50, ..@flag51, ..@flag52, ..@flag53, ..@flag54, ..@flag55
-    dd ..@flag56, ..@flag57, ..@flag58, ..@flag59, ..@flag60, ..@flag61, ..@flag62, ..@flag63
-    dd ..@flag64, ..@flag65, ..@flag66, ..@flag67, ..@flag68, ..@flag69, ..@flag70, ..@flag71
-    dd ..@flag72, ..@flag73, ..@flag74, ..@flag75, ..@flag76, ..@flag77, ..@flag78, ..@flag79
-    dd ..@flag80, ..@flag81, ..@flag82, ..@flag83, ..@flag84, ..@flag85, ..@flag86, ..@flag87
-    dd ..@flag88, ..@flag89, ..@flag90, ..@flag91, ..@flag92, ..@flag93, ..@flag94, ..@flag95
-    dd ..@flag96, ..@flag97, ..@flag98, ..@flag99, ..@flag100, ..@flag101, ..@flag102, ..@flag103
-    dd ..@flag104, ..@flag105, ..@flag106, ..@flag107, ..@flag108, ..@flag109, ..@flag110, ..@flag111
-    dd ..@flag112, ..@flag113, ..@flag114, ..@flag115, ..@flag116, ..@flag117, ..@flag118, ..@flag119
-    dd ..@flag120, ..@flag121, ..@flag122, ..@flag123, ..@flag124, ..@flag125, ..@flag126, ..@flag127
-    dd ..@flag128, ..@flag129, ..@flag130, ..@flag131, ..@flag132, ..@flag133, ..@flag134, ..@flag135
-    dd ..@flag136, ..@flag137, ..@flag138, ..@flag139, ..@flag140, ..@flag141, ..@flag142, ..@flag143
-    dd ..@flag144, ..@flag145, ..@flag146, ..@flag147, ..@flag148, ..@flag149, ..@flag150, ..@flag151
-    dd ..@flag152, ..@flag153, ..@flag154, ..@flag155, ..@flag156, ..@flag157, ..@flag158, ..@flag159
-    dd ..@flag160, ..@flag161, ..@flag162, ..@flag163, ..@flag164, ..@flag165, ..@flag166, ..@flag167
-    dd ..@flag168, ..@flag169, ..@flag170, ..@flag171, ..@flag172, ..@flag173, ..@flag174, ..@flag175
-    dd ..@flag176, ..@flag177, ..@flag178, ..@flag179, ..@flag180, ..@flag181, ..@flag182, ..@flag183
-    dd ..@flag184, ..@flag185, ..@flag186, ..@flag187, ..@flag188, ..@flag189, ..@flag190, ..@flag191
-    dd ..@flag192, ..@flag193, ..@flag194, ..@flag195, ..@flag196, ..@flag197, ..@flag198, ..@flag199
-    dd ..@flag200, ..@flag201, ..@flag202, ..@flag203, ..@flag204, ..@flag205, ..@flag206, ..@flag207
-    dd ..@flag208, ..@flag209, ..@flag210, ..@flag211, ..@flag212, ..@flag213, ..@flag214, ..@flag215
-    dd ..@flag216, ..@flag217, ..@flag218, ..@flag219, ..@flag220, ..@flag221, ..@flag222, ..@flag223
-    dd ..@flag224, ..@flag225, ..@flag226, ..@flag227, ..@flag228, ..@flag229, ..@flag230, ..@flag231
-    dd ..@flag232, ..@flag233, ..@flag234, ..@flag235, ..@flag236, ..@flag237, ..@flag238, ..@flag239
-    dd ..@flag240, ..@flag241, ..@flag242, ..@flag243, ..@flag244, ..@flag245, ..@flag246, ..@flag247
-    dd ..@flag248, ..@flag249, ..@flag250, ..@flag251, ..@flag252, ..@flag253, ..@flag254, ..@flag255
-
-
diff --git a/od-win32/scaler.cpp b/od-win32/scaler.cpp
deleted file mode 100644 (file)
index 0e09b04..0000000
+++ /dev/null
@@ -1,1893 +0,0 @@
-/* This program is free software; you can redistribute it and/or
-* modify it under the terms of the GNU General Public License
-* as published by the Free Software Foundation; either version 2
-* of the License, or (at your option) any later version.
-
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-* GNU General Public License for more details.
-
-* You should have received a copy of the GNU General Public License
-* along with this program; if not, write to the Free Software
-* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
-*/
-
-/* Scaler (except Scale2x) code borrowed from ScummVM project */
-
-extern int cpu_mmx;
-
-#include "sysconfig.h"
-#include "sysdeps.h"
-
-extern "C"
-{
-
-#include "gfxfilter.h"
-
-static uae_u32 colorMask;
-static uae_u32 lowPixelMask;
-static uae_u32 qcolorMask;
-static uae_u32 qlowpixelMask;
-static uae_u32 redblueMask;
-static uae_u32 redMask;
-static uae_u32 greenMask;
-static uae_u32 blueMask;
-
-unsigned int LUT16to32[65536];
-unsigned int RGBtoYUV[65536];
-
-int Init_2xSaI (int rb, int gb, int bb, int rs, int gs, int bs)
-{
-       if (rb + gb + bb == 16) {
-               colorMask = 0xF7DEF7DE;
-               lowPixelMask = 0x08210821;
-               qcolorMask = 0xE79CE79C;
-               qlowpixelMask = 0x18631863;
-               redblueMask = 0xF81F;
-               redMask = 0xF800;
-               greenMask = 0x07E0;
-               blueMask = 0x001F;
-       } else if (rb + gb + bb == 15) {
-               colorMask = 0x7BDE7BDE;
-               lowPixelMask = 0x04210421;
-               qcolorMask = 0x739C739C;
-               qlowpixelMask = 0x0C630C63;
-               redblueMask = 0x7C1F;
-               redMask = 0x7C00;
-               greenMask = 0x03E0;
-               blueMask = 0x001F;
-       } else {
-               return 0;
-       }
-
-       return 1;
-}
-
-static _inline int GetResult(uae_u32 A, uae_u32 B, uae_u32 C, uae_u32 D)
-{
-       const bool ac = (A==C);
-       const bool bc = (B==C);
-       const int x1 = ac;
-       const int y1 = (bc & !ac);
-       const bool ad = (A==D);
-       const bool bd = (B==D);
-       const int x2 = ad;
-       const int y2 = (bd & !ad);
-       const int x = x1+x2;
-       const int y = y1+y2;
-       static const int rmap[3][3] = {
-               {0, 0, -1},
-               {0, 0, -1},
-               {1, 1,  0}
-       };
-       return rmap[y][x];
-}
-
-static _inline uae_u32 INTERPOLATE(uae_u32 A, uae_u32 B) {
-       if (A != B) {
-               return (((A & colorMask) >> 1) + ((B & colorMask) >> 1) + (A & B & lowPixelMask));
-       } else
-               return A;
-}
-
-static _inline uae_u32 Q_INTERPOLATE(uae_u32 A, uae_u32 B, uae_u32 C, uae_u32 D) {
-       uae_u32 x = ((A & qcolorMask) >> 2) + ((B & qcolorMask) >> 2) + ((C & qcolorMask) >> 2) + ((D & qcolorMask) >> 2);
-       uae_u32 y = ((A & qlowpixelMask) + (B & qlowpixelMask) + (C & qlowpixelMask) + (D & qlowpixelMask)) >> 2;
-
-       y &= qlowpixelMask;
-       return x + y;
-}
-
-void Super2xSaI_16(const uae_u8 *srcPtr, uae_u32 srcPitch, uae_u8 *dstPtr, uae_u32 dstPitch, int width, int height) {
-       const uae_u16 *bP;
-       uae_u16 *dP;
-       const uae_u32 nextlineSrc = srcPitch >> 1;
-
-       while (height--) {
-               int i;
-               bP = (const uae_u16 *)srcPtr;
-               dP = (uae_u16 *)dstPtr;
-
-               for (i = 0; i < width; ++i) {
-                       uae_u32 color4, color5, color6;
-                       uae_u32 color1, color2, color3;
-                       uae_u32 colorA0, colorA1, colorA2, colorA3;
-                       uae_u32 colorB0, colorB1, colorB2, colorB3;
-                       uae_u32 colorS1, colorS2;
-                       uae_u32 product1a, product1b, product2a, product2b;
-
-                       //---------------------------------------    B1 B2
-                       //                                         4  5  6 S2
-                       //                                         1  2  3 S1
-                       //                                           A1 A2
-
-                       colorB0 = *(bP - nextlineSrc - 1);
-                       colorB1 = *(bP - nextlineSrc);
-                       colorB2 = *(bP - nextlineSrc + 1);
-                       colorB3 = *(bP - nextlineSrc + 2);
-
-                       color4 = *(bP - 1);
-                       color5 = *(bP);
-                       color6 = *(bP + 1);
-                       colorS2 = *(bP + 2);
-
-                       color1 = *(bP + nextlineSrc - 1);
-                       color2 = *(bP + nextlineSrc);
-                       color3 = *(bP + nextlineSrc + 1);
-                       colorS1 = *(bP + nextlineSrc + 2);
-
-                       colorA0 = *(bP + 2 * nextlineSrc - 1);
-                       colorA1 = *(bP + 2 * nextlineSrc);
-                       colorA2 = *(bP + 2 * nextlineSrc + 1);
-                       colorA3 = *(bP + 2 * nextlineSrc + 2);
-
-                       //--------------------------------------
-                       if (color2 == color6 && color5 != color3) {
-                               product2b = product1b = color2;
-                       } else if (color5 == color3 && color2 != color6) {
-                               product2b = product1b = color5;
-                       } else if (color5 == color3 && color2 == color6) {
-                               int r = 0;
-
-                               r += GetResult(color6, color5, color1, colorA1);
-                               r += GetResult(color6, color5, color4, colorB1);
-                               r += GetResult(color6, color5, colorA2, colorS1);
-                               r += GetResult(color6, color5, colorB2, colorS2);
-
-                               if (r > 0)
-                                       product2b = product1b = color6;
-                               else if (r < 0)
-                                       product2b = product1b = color5;
-                               else {
-                                       product2b = product1b = INTERPOLATE(color5, color6);
-                               }
-                       } else {
-                               if (color6 == color3 && color3 == colorA1 && color2 != colorA2 && color3 != colorA0)
-                                       product2b = Q_INTERPOLATE(color3, color3, color3, color2);
-                               else if (color5 == color2 && color2 == colorA2 && colorA1 != color3 && color2 != colorA3)
-                                       product2b = Q_INTERPOLATE(color2, color2, color2, color3);
-                               else
-                                       product2b = INTERPOLATE(color2, color3);
-
-                               if (color6 == color3 && color6 == colorB1 && color5 != colorB2 && color6 != colorB0)
-                                       product1b = Q_INTERPOLATE(color6, color6, color6, color5);
-                               else if (color5 == color2 && color5 == colorB2 && colorB1 != color6 && color5 != colorB3)
-                                       product1b = Q_INTERPOLATE(color6, color5, color5, color5);
-                               else
-                                       product1b = INTERPOLATE(color5, color6);
-                       }
-
-                       if (color5 == color3 && color2 != color6 && color4 == color5 && color5 != colorA2)
-                               product2a = INTERPOLATE(color2, color5);
-                       else if (color5 == color1 && color6 == color5 && color4 != color2 && color5 != colorA0)
-                               product2a = INTERPOLATE(color2, color5);
-                       else
-                               product2a = color2;
-
-                       if (color2 == color6 && color5 != color3 && color1 == color2 && color2 != colorB2)
-                               product1a = INTERPOLATE(color2, color5);
-                       else if (color4 == color2 && color3 == color2 && color1 != color5 && color2 != colorB0)
-                               product1a = INTERPOLATE(color2, color5);
-                       else
-                               product1a = color5;
-
-                       *(dP + 0) = (uae_u16) product1a;
-                       *(dP + 1) = (uae_u16) product1b;
-                       *(dP + dstPitch/2 + 0) = (uae_u16) product2a;
-                       *(dP + dstPitch/2 + 1) = (uae_u16) product2b;
-
-                       bP += 1;
-                       dP += 2;
-               }
-
-               srcPtr += srcPitch;
-               dstPtr += dstPitch * 2;
-       }
-}
-
-void Super2xSaI_32(const uae_u8 *srcPtr, uae_u32 srcPitch, uae_u8 *dstPtr, uae_u32 dstPitch, int width, int height) {
-       const uae_u16 *bP;
-       uae_u32 *dP;
-       const uae_u32 nextlineSrc = srcPitch >> 1;
-
-       while (height--) {
-               int i;
-               bP = (const uae_u16 *)srcPtr;
-               dP = (uae_u32 *)dstPtr;
-
-               for (i = 0; i < width; ++i) {
-                       uae_u32 color4, color5, color6;
-                       uae_u32 color1, color2, color3;
-                       uae_u32 colorA0, colorA1, colorA2, colorA3;
-                       uae_u32 colorB0, colorB1, colorB2, colorB3;
-                       uae_u32 colorS1, colorS2;
-                       uae_u32 product1a, product1b, product2a, product2b;
-
-                       //---------------------------------------    B1 B2
-                       //                                         4  5  6 S2
-                       //                                         1  2  3 S1
-                       //                                           A1 A2
-
-                       colorB0 = *(bP - nextlineSrc - 1);
-                       colorB1 = *(bP - nextlineSrc);
-                       colorB2 = *(bP - nextlineSrc + 1);
-                       colorB3 = *(bP - nextlineSrc + 2);
-
-                       color4 = *(bP - 1);
-                       color5 = *(bP);
-                       color6 = *(bP + 1);
-                       colorS2 = *(bP + 2);
-
-                       color1 = *(bP + nextlineSrc - 1);
-                       color2 = *(bP + nextlineSrc);
-                       color3 = *(bP + nextlineSrc + 1);
-                       colorS1 = *(bP + nextlineSrc + 2);
-
-                       colorA0 = *(bP + 2 * nextlineSrc - 1);
-                       colorA1 = *(bP + 2 * nextlineSrc);
-                       colorA2 = *(bP + 2 * nextlineSrc + 1);
-                       colorA3 = *(bP + 2 * nextlineSrc + 2);
-
-                       //--------------------------------------
-                       if (color2 == color6 && color5 != color3) {
-                               product2b = product1b = color2;
-                       } else if (color5 == color3 && color2 != color6) {
-                               product2b = product1b = color5;
-                       } else if (color5 == color3 && color2 == color6) {
-                               int r = 0;
-
-                               r += GetResult(color6, color5, color1, colorA1);
-                               r += GetResult(color6, color5, color4, colorB1);
-                               r += GetResult(color6, color5, colorA2, colorS1);
-                               r += GetResult(color6, color5, colorB2, colorS2);
-
-                               if (r > 0)
-                                       product2b = product1b = color6;
-                               else if (r < 0)
-                                       product2b = product1b = color5;
-                               else {
-                                       product2b = product1b = INTERPOLATE(color5, color6);
-                               }
-                       } else {
-                               if (color6 == color3 && color3 == colorA1 && color2 != colorA2 && color3 != colorA0)
-                                       product2b = Q_INTERPOLATE(color3, color3, color3, color2);
-                               else if (color5 == color2 && color2 == colorA2 && colorA1 != color3 && color2 != colorA3)
-                                       product2b = Q_INTERPOLATE(color2, color2, color2, color3);
-                               else
-                                       product2b = INTERPOLATE(color2, color3);
-
-                               if (color6 == color3 && color6 == colorB1 && color5 != colorB2 && color6 != colorB0)
-                                       product1b = Q_INTERPOLATE(color6, color6, color6, color5);
-                               else if (color5 == color2 && color5 == colorB2 && colorB1 != color6 && color5 != colorB3)
-                                       product1b = Q_INTERPOLATE(color6, color5, color5, color5);
-                               else
-                                       product1b = INTERPOLATE(color5, color6);
-                       }
-
-                       if (color5 == color3 && color2 != color6 && color4 == color5 && color5 != colorA2)
-                               product2a = INTERPOLATE(color2, color5);
-                       else if (color5 == color1 && color6 == color5 && color4 != color2 && color5 != colorA0)
-                               product2a = INTERPOLATE(color2, color5);
-                       else
-                               product2a = color2;
-
-                       if (color2 == color6 && color5 != color3 && color1 == color2 && color2 != colorB2)
-                               product1a = INTERPOLATE(color2, color5);
-                       else if (color4 == color2 && color3 == color2 && color1 != color5 && color2 != colorB0)
-                               product1a = INTERPOLATE(color2, color5);
-                       else
-                               product1a = color5;
-
-                       *(dP + 0) = LUT16to32[(uae_u16) product1a];
-                       *(dP + 1) = LUT16to32[(uae_u16) product1b];
-                       *(dP + dstPitch/4 + 0) = LUT16to32[(uae_u16) product2a];
-                       *(dP + dstPitch/4 + 1) = LUT16to32[(uae_u16) product2b];
-
-                       bP += 1;
-                       dP += 2;
-               }
-
-               srcPtr += srcPitch;
-               dstPtr += dstPitch * 2;
-       }
-}
-void SuperEagle_16(const uae_u8 *srcPtr, uae_u32 srcPitch, uae_u8 *dstPtr, uae_u32 dstPitch, int width, int height) {
-       const uae_u16 *bP;
-       uae_u16 *dP;
-       const uae_u32 nextlineSrc = srcPitch >> 1;
-
-       while (height--) {
-               int i;
-               bP = (const uae_u16 *)srcPtr;
-               dP = (uae_u16 *)dstPtr;
-               for (i = 0; i < width; ++i) {
-                       uae_u32 color4, color5, color6;
-                       uae_u32 color1, color2, color3;
-                       uae_u32 colorA1, colorA2, colorB1, colorB2, colorS1, colorS2;
-                       uae_u32 product1a, product1b, product2a, product2b;
-
-                       colorB1 = *(bP - nextlineSrc);
-                       colorB2 = *(bP - nextlineSrc + 1);
-
-                       color4 = *(bP - 1);
-                       color5 = *(bP);
-                       color6 = *(bP + 1);
-                       colorS2 = *(bP + 2);
-
-                       color1 = *(bP + nextlineSrc - 1);
-                       color2 = *(bP + nextlineSrc);
-                       color3 = *(bP + nextlineSrc + 1);
-                       colorS1 = *(bP + nextlineSrc + 2);
-
-                       colorA1 = *(bP + 2 * nextlineSrc);
-                       colorA2 = *(bP + 2 * nextlineSrc + 1);
-
-                       // --------------------------------------
-                       if (color5 != color3)
-                       {
-                               if (color2 == color6)
-                               {
-                                       product1b = product2a = color2;
-                                       if ((color1 == color2) || (color6 == colorB2)) {
-                                               product1a = INTERPOLATE(color2, color5);
-                                               product1a = INTERPOLATE(color2, product1a);
-                                       } else {
-                                               product1a = INTERPOLATE(color5, color6);
-                                       }
-
-                                       if ((color6 == colorS2) || (color2 == colorA1)) {
-                                               product2b = INTERPOLATE(color2, color3);
-                                               product2b = INTERPOLATE(color2, product2b);
-                                       } else {
-                                               product2b = INTERPOLATE(color2, color3);
-                                       }
-                               }
-                               else
-                               {
-                                       product2b = product1a = INTERPOLATE(color2, color6);
-                                       product2b = Q_INTERPOLATE(color3, color3, color3, product2b);
-                                       product1a = Q_INTERPOLATE(color5, color5, color5, product1a);
-
-                                       product2a = product1b = INTERPOLATE(color5, color3);
-                                       product2a = Q_INTERPOLATE(color2, color2, color2, product2a);
-                                       product1b = Q_INTERPOLATE(color6, color6, color6, product1b);
-                               }
-                       }
-                       else //if (color5 == color3)
-                       {
-                               if (color2 != color6)
-                               {
-                                       product2b = product1a = color5;
-
-                                       if ((colorB1 == color5) || (color3 == colorS1)) {
-                                               product1b = INTERPOLATE(color5, color6);
-                                               product1b = INTERPOLATE(color5, product1b);
-                                       } else {
-                                               product1b = INTERPOLATE(color5, color6);
-                                       }
-
-                                       if ((color3 == colorA2) || (color4 == color5)) {
-                                               product2a = INTERPOLATE(color5, color2);
-                                               product2a = INTERPOLATE(color5, product2a);
-                                       } else {
-                                               product2a = INTERPOLATE(color2, color3);
-                                       }
-                               }
-                               else    //if (color2 != color6)
-                               {
-                                       int r = 0;
-
-                                       r += GetResult(color6, color5, color1, colorA1);
-                                       r += GetResult(color6, color5, color4, colorB1);
-                                       r += GetResult(color6, color5, colorA2, colorS1);
-                                       r += GetResult(color6, color5, colorB2, colorS2);
-
-                                       if (r > 0) {
-                                               product1b = product2a = color2;
-                                               product1a = product2b = INTERPOLATE(color5, color6);
-                                       } else if (r < 0) {
-                                               product2b = product1a = color5;
-                                               product1b = product2a = INTERPOLATE(color5, color6);
-                                       } else {
-                                               product2b = product1a = color5;
-                                               product1b = product2a = color2;
-                                       }
-                               }
-                       }
-
-                       *(dP + 0) = (uae_u16) product1a;
-                       *(dP + 1) = (uae_u16) product1b;
-                       *(dP + dstPitch/2 + 0) = (uae_u16) product2a;
-                       *(dP + dstPitch/2 + 1) = (uae_u16) product2b;
-
-                       bP += 1;
-                       dP += 2;
-               }
-
-               srcPtr += srcPitch;
-               dstPtr += dstPitch * 2;
-       }
-}
-
-void SuperEagle_32(const uae_u8 *srcPtr, uae_u32 srcPitch, uae_u8 *dstPtr, uae_u32 dstPitch, int width, int height) {
-       const uae_u16 *bP;
-       uae_u32 *dP;
-       const uae_u32 nextlineSrc = srcPitch >> 1;
-
-       while (height--) {
-               int i;
-               bP = (const uae_u16 *)srcPtr;
-               dP = (uae_u32 *)dstPtr;
-               for (i = 0; i < width; ++i) {
-                       uae_u32 color4, color5, color6;
-                       uae_u32 color1, color2, color3;
-                       uae_u32 colorA1, colorA2, colorB1, colorB2, colorS1, colorS2;
-                       uae_u32 product1a, product1b, product2a, product2b;
-
-                       colorB1 = *(bP - nextlineSrc);
-                       colorB2 = *(bP - nextlineSrc + 1);
-
-                       color4 = *(bP - 1);
-                       color5 = *(bP);
-                       color6 = *(bP + 1);
-                       colorS2 = *(bP + 2);
-
-                       color1 = *(bP + nextlineSrc - 1);
-                       color2 = *(bP + nextlineSrc);
-                       color3 = *(bP + nextlineSrc + 1);
-                       colorS1 = *(bP + nextlineSrc + 2);
-
-                       colorA1 = *(bP + 2 * nextlineSrc);
-                       colorA2 = *(bP + 2 * nextlineSrc + 1);
-
-                       // --------------------------------------
-                       if (color5 != color3)
-                       {
-                               if (color2 == color6)
-                               {
-                                       product1b = product2a = color2;
-                                       if ((color1 == color2) || (color6 == colorB2)) {
-                                               product1a = INTERPOLATE(color2, color5);
-                                               product1a = INTERPOLATE(color2, product1a);
-                                       } else {
-                                               product1a = INTERPOLATE(color5, color6);
-                                       }
-
-                                       if ((color6 == colorS2) || (color2 == colorA1)) {
-                                               product2b = INTERPOLATE(color2, color3);
-                                               product2b = INTERPOLATE(color2, product2b);
-                                       } else {
-                                               product2b = INTERPOLATE(color2, color3);
-                                       }
-                               }
-                               else
-                               {
-                                       product2b = product1a = INTERPOLATE(color2, color6);
-                                       product2b = Q_INTERPOLATE(color3, color3, color3, product2b);
-                                       product1a = Q_INTERPOLATE(color5, color5, color5, product1a);
-
-                                       product2a = product1b = INTERPOLATE(color5, color3);
-                                       product2a = Q_INTERPOLATE(color2, color2, color2, product2a);
-                                       product1b = Q_INTERPOLATE(color6, color6, color6, product1b);
-                               }
-                       }
-                       else //if (color5 == color3)
-                       {
-                               if (color2 != color6)
-                               {
-                                       product2b = product1a = color5;
-
-                                       if ((colorB1 == color5) || (color3 == colorS1)) {
-                                               product1b = INTERPOLATE(color5, color6);
-                                               product1b = INTERPOLATE(color5, product1b);
-                                       } else {
-                                               product1b = INTERPOLATE(color5, color6);
-                                       }
-
-                                       if ((color3 == colorA2) || (color4 == color5)) {
-                                               product2a = INTERPOLATE(color5, color2);
-                                               product2a = INTERPOLATE(color5, product2a);
-                                       } else {
-                                               product2a = INTERPOLATE(color2, color3);
-                                       }
-                               }
-                               else    //if (color2 != color6)
-                               {
-                                       int r = 0;
-
-                                       r += GetResult(color6, color5, color1, colorA1);
-                                       r += GetResult(color6, color5, color4, colorB1);
-                                       r += GetResult(color6, color5, colorA2, colorS1);
-                                       r += GetResult(color6, color5, colorB2, colorS2);
-
-                                       if (r > 0) {
-                                               product1b = product2a = color2;
-                                               product1a = product2b = INTERPOLATE(color5, color6);
-                                       } else if (r < 0) {
-                                               product2b = product1a = color5;
-                                               product1b = product2a = INTERPOLATE(color5, color6);
-                                       } else {
-                                               product2b = product1a = color5;
-                                               product1b = product2a = color2;
-                                       }
-                               }
-                       }
-
-                       *(dP + 0) = LUT16to32[(uae_u16) product1a];
-                       *(dP + 1) = LUT16to32[(uae_u16) product1b];
-                       *(dP + dstPitch/4 + 0) = LUT16to32[(uae_u16) product2a];
-                       *(dP + dstPitch/4 + 1) = LUT16to32[(uae_u16) product2b];
-
-                       bP += 1;
-                       dP += 2;
-               }
-
-               srcPtr += srcPitch;
-               dstPtr += dstPitch * 2;
-       }
-}
-void _2xSaI_16(const uae_u8 *srcPtr, uae_u32 srcPitch, uae_u8 *dstPtr, uae_u32 dstPitch, int width, int height) {
-       const uae_u16 *bP;
-       uae_u16 *dP;
-       const uae_u32 nextlineSrc = srcPitch >> 1;
-
-       while (height--) {
-               int i;
-               bP = (const uae_u16 *)srcPtr;
-               dP = (uae_u16 *)dstPtr;
-
-               for (i = 0; i < width; ++i) {
-
-                       uae_u32 colorA, colorB;
-                       uae_u32 colorC, colorD,
-                               colorE, colorF, colorG, colorH, colorI, colorJ, colorK, colorL, colorM, colorN, colorO, colorP;
-                       uae_u32 product, product1, product2;
-
-                       //---------------------------------------
-                       // Map of the pixels:                    I|E F|J
-                       //                                       G|A B|K
-                       //                                       H|C D|L
-                       //                                       M|N O|P
-                       colorI = *(bP - nextlineSrc - 1);
-                       colorE = *(bP - nextlineSrc);
-                       colorF = *(bP - nextlineSrc + 1);
-                       colorJ = *(bP - nextlineSrc + 2);
-
-                       colorG = *(bP - 1);
-                       colorA = *(bP);
-                       colorB = *(bP + 1);
-                       colorK = *(bP + 2);
-
-                       colorH = *(bP + nextlineSrc - 1);
-                       colorC = *(bP + nextlineSrc);
-                       colorD = *(bP + nextlineSrc + 1);
-                       colorL = *(bP + nextlineSrc + 2);
-
-                       colorM = *(bP + 2 * nextlineSrc - 1);
-                       colorN = *(bP + 2 * nextlineSrc);
-                       colorO = *(bP + 2 * nextlineSrc + 1);
-                       colorP = *(bP + 2 * nextlineSrc + 2);
-
-                       if ((colorA == colorD) && (colorB != colorC)) {
-                               if (((colorA == colorE) && (colorB == colorL)) ||
-                                       ((colorA == colorC) && (colorA == colorF) && (colorB != colorE) && (colorB == colorJ))) {
-                                               product = colorA;
-                               } else {
-                                       product = INTERPOLATE(colorA, colorB);
-                               }
-
-                               if (((colorA == colorG) && (colorC == colorO)) ||
-                                       ((colorA == colorB) && (colorA == colorH) && (colorG != colorC)  && (colorC == colorM))) {
-                                               product1 = colorA;
-                               } else {
-                                       product1 = INTERPOLATE(colorA, colorC);
-                               }
-                               product2 = colorA;
-                       } else if ((colorB == colorC) && (colorA != colorD)) {
-                               if (((colorB == colorF) && (colorA == colorH)) ||
-                                       ((colorB == colorE) && (colorB == colorD) && (colorA != colorF) && (colorA == colorI))) {
-                                               product = colorB;
-                               } else {
-                                       product = INTERPOLATE(colorA, colorB);
-                               }
-
-                               if (((colorC == colorH) && (colorA == colorF)) ||
-                                       ((colorC == colorG) && (colorC == colorD) && (colorA != colorH) && (colorA == colorI))) {
-                                               product1 = colorC;
-                               } else {
-                                       product1 = INTERPOLATE(colorA, colorC);
-                               }
-                               product2 = colorB;
-                       } else if ((colorA == colorD) && (colorB == colorC)) {
-                               if (colorA == colorB) {
-                                       product = colorA;
-                                       product1 = colorA;
-                                       product2 = colorA;
-                               } else {
-                                       int r = 0;
-
-                                       product1 = INTERPOLATE(colorA, colorC);
-                                       product = INTERPOLATE(colorA, colorB);
-
-                                       r += GetResult(colorA, colorB, colorG, colorE);
-                                       r -= GetResult(colorB, colorA, colorK, colorF);
-                                       r -= GetResult(colorB, colorA, colorH, colorN);
-                                       r += GetResult(colorA, colorB, colorL, colorO);
-
-                                       if (r > 0)
-                                               product2 = colorA;
-                                       else if (r < 0)
-                                               product2 = colorB;
-                                       else {
-                                               product2 = Q_INTERPOLATE(colorA, colorB, colorC, colorD);
-                                       }
-                               }
-                       } else {
-                               product2 = Q_INTERPOLATE(colorA, colorB, colorC, colorD);
-
-                               if ((colorA == colorC) && (colorA == colorF)
-                                       && (colorB != colorE) && (colorB == colorJ)) {
-                                               product = colorA;
-                               } else if ((colorB == colorE) && (colorB == colorD)
-                                       && (colorA != colorF) && (colorA == colorI)) {
-                                               product = colorB;
-                               } else {
-                                       product = INTERPOLATE(colorA, colorB);
-                               }
-
-                               if ((colorA == colorB) && (colorA == colorH)
-                                       && (colorG != colorC) && (colorC == colorM)) {
-                                               product1 = colorA;
-                               } else if ((colorC == colorG) && (colorC == colorD)
-                                       && (colorA != colorH) && (colorA == colorI)) {
-                                               product1 = colorC;
-                               } else {
-                                       product1 = INTERPOLATE(colorA, colorC);
-                               }
-                       }
-
-                       *(dP + 0) = (uae_u16) colorA;
-                       *(dP + 1) = (uae_u16) product;
-                       *(dP + dstPitch/2 + 0) = (uae_u16) product1;
-                       *(dP + dstPitch/2 + 1) = (uae_u16) product2;
-
-                       bP += 1;
-                       dP += 2;
-               }
-
-               srcPtr += srcPitch;
-               dstPtr += dstPitch * 2;
-       }
-}
-
-void _2xSaI_32(const uae_u8 *srcPtr, uae_u32 srcPitch, uae_u8 *dstPtr, uae_u32 dstPitch, int width, int height) {
-       const uae_u16 *bP;
-       uae_u32 *dP;
-       const uae_u32 nextlineSrc = srcPitch >> 1;
-
-       while (height--) {
-               int i;
-               bP = (const uae_u16 *)srcPtr;
-               dP = (uae_u32 *)dstPtr;
-
-               for (i = 0; i < width; ++i) {
-
-                       uae_u32 colorA, colorB;
-                       uae_u32 colorC, colorD,
-                               colorE, colorF, colorG, colorH, colorI, colorJ, colorK, colorL, colorM, colorN, colorO, colorP;
-                       uae_u32 product, product1, product2;
-
-                       //---------------------------------------
-                       // Map of the pixels:                    I|E F|J
-                       //                                       G|A B|K
-                       //                                       H|C D|L
-                       //                                       M|N O|P
-                       colorI = *(bP - nextlineSrc - 1);
-                       colorE = *(bP - nextlineSrc);
-                       colorF = *(bP - nextlineSrc + 1);
-                       colorJ = *(bP - nextlineSrc + 2);
-
-                       colorG = *(bP - 1);
-                       colorA = *(bP);
-                       colorB = *(bP + 1);
-                       colorK = *(bP + 2);
-
-                       colorH = *(bP + nextlineSrc - 1);
-                       colorC = *(bP + nextlineSrc);
-                       colorD = *(bP + nextlineSrc + 1);
-                       colorL = *(bP + nextlineSrc + 2);
-
-                       colorM = *(bP + 2 * nextlineSrc - 1);
-                       colorN = *(bP + 2 * nextlineSrc);
-                       colorO = *(bP + 2 * nextlineSrc + 1);
-                       colorP = *(bP + 2 * nextlineSrc + 2);
-
-                       if ((colorA == colorD) && (colorB != colorC)) {
-                               if (((colorA == colorE) && (colorB == colorL)) ||
-                                       ((colorA == colorC) && (colorA == colorF) && (colorB != colorE) && (colorB == colorJ))) {
-                                               product = colorA;
-                               } else {
-                                       product = INTERPOLATE(colorA, colorB);
-                               }
-
-                               if (((colorA == colorG) && (colorC == colorO)) ||
-                                       ((colorA == colorB) && (colorA == colorH) && (colorG != colorC)  && (colorC == colorM))) {
-                                               product1 = colorA;
-                               } else {
-                                       product1 = INTERPOLATE(colorA, colorC);
-                               }
-                               product2 = colorA;
-                       } else if ((colorB == colorC) && (colorA != colorD)) {
-                               if (((colorB == colorF) && (colorA == colorH)) ||
-                                       ((colorB == colorE) && (colorB == colorD) && (colorA != colorF) && (colorA == colorI))) {
-                                               product = colorB;
-                               } else {
-                                       product = INTERPOLATE(colorA, colorB);
-                               }
-
-                               if (((colorC == colorH) && (colorA == colorF)) ||
-                                       ((colorC == colorG) && (colorC == colorD) && (colorA != colorH) && (colorA == colorI))) {
-                                               product1 = colorC;
-                               } else {
-                                       product1 = INTERPOLATE(colorA, colorC);
-                               }
-                               product2 = colorB;
-                       } else if ((colorA == colorD) && (colorB == colorC)) {
-                               if (colorA == colorB) {
-                                       product = colorA;
-                                       product1 = colorA;
-                                       product2 = colorA;
-                               } else {
-                                       int r = 0;
-
-                                       product1 = INTERPOLATE(colorA, colorC);
-                                       product = INTERPOLATE(colorA, colorB);
-
-                                       r += GetResult(colorA, colorB, colorG, colorE);
-                                       r -= GetResult(colorB, colorA, colorK, colorF);
-                                       r -= GetResult(colorB, colorA, colorH, colorN);
-                                       r += GetResult(colorA, colorB, colorL, colorO);
-
-                                       if (r > 0)
-                                               product2 = colorA;
-                                       else if (r < 0)
-                                               product2 = colorB;
-                                       else {
-                                               product2 = Q_INTERPOLATE(colorA, colorB, colorC, colorD);
-                                       }
-                               }
-                       } else {
-                               product2 = Q_INTERPOLATE(colorA, colorB, colorC, colorD);
-
-                               if ((colorA == colorC) && (colorA == colorF)
-                                       && (colorB != colorE) && (colorB == colorJ)) {
-                                               product = colorA;
-                               } else if ((colorB == colorE) && (colorB == colorD)
-                                       && (colorA != colorF) && (colorA == colorI)) {
-                                               product = colorB;
-                               } else {
-                                       product = INTERPOLATE(colorA, colorB);
-                               }
-
-                               if ((colorA == colorB) && (colorA == colorH)
-                                       && (colorG != colorC) && (colorC == colorM)) {
-                                               product1 = colorA;
-                               } else if ((colorC == colorG) && (colorC == colorD)
-                                       && (colorA != colorH) && (colorA == colorI)) {
-                                               product1 = colorC;
-                               } else {
-                                       product1 = INTERPOLATE(colorA, colorC);
-                               }
-                       }
-
-                       *(dP + 0) = LUT16to32[(uae_u16) colorA];
-                       *(dP + 1) = LUT16to32[(uae_u16) product];
-                       *(dP + dstPitch/4 + 0) = LUT16to32[(uae_u16) product1];
-                       *(dP + dstPitch/4 + 1) = LUT16to32[(uae_u16) product2];
-
-                       bP += 1;
-                       dP += 2;
-               }
-
-               srcPtr += srcPitch;
-               dstPtr += dstPitch * 2;
-       }
-}
-
-/*
-* This file is part of the Advance project.
-*
-* Copyright (C) 1999-2002 Andrea Mazzoleni
-*
-* This program is free software; you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation; either version 2 of the License, or
-* (at your option) any later version.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program; if not, write to the Free Software
-* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-/*
-* This file contains a C and MMX implentation of the Scale2x effect.
-*
-* You can found an high level description of the effect at :
-*
-* http://scale2x.sourceforge.net/scale2x.html
-*
-* Alternatively at the previous license terms, you are allowed to use this
-* code in your program with these conditions:
-* - the program is not used in commercial activities.
-* - the whole source code of the program is released with the binary.
-* - derivative works of the program are allowed.
-*/
-
-#define MMX
-
-/* Suggested in "Intel Optimization" for Pentium II */
-#define ASM_JUMP_ALIGN ".p2align 4\n"
-
-static void internal_scale2x_16_def(u16 *dst0, u16* dst1, const u16* src0, const u16* src1, const u16* src2, unsigned count) {
-       /* first pixel */
-       dst0[0] = src1[0];
-       dst1[0] = src1[0];
-       if (src1[1] == src0[0] && src2[0] != src0[0])
-               dst0[1] =src0[0];
-       else
-               dst0[1] =src1[0];
-       if (src1[1] == src2[0] && src0[0] != src2[0])
-               dst1[1] =src2[0];
-       else
-               dst1[1] =src1[0];
-       ++src0;
-       ++src1;
-       ++src2;
-       dst0 += 2;
-       dst1 += 2;
-
-       /* central pixels */
-       count -= 2;
-       while (count) {
-               if (src1[-1] == src0[0] && src2[0] != src0[0] && src1[1] != src0[0])
-                       dst0[0] = src0[0];
-               else
-                       dst0[0] = src1[0];
-               if (src1[1] == src0[0] && src2[0] != src0[0] && src1[-1] != src0[0])
-                       dst0[1] =src0[0];
-               else
-                       dst0[1] =src1[0];
-
-               if (src1[-1] == src2[0] && src0[0] != src2[0] && src1[1] != src2[0])
-                       dst1[0] =src2[0];
-               else
-                       dst1[0] =src1[0];
-               if (src1[1] == src2[0] && src0[0] != src2[0] && src1[-1] != src2[0])
-                       dst1[1] =src2[0];
-               else
-                       dst1[1] =src1[0];
-
-               ++src0;
-               ++src1;
-               ++src2;
-               dst0 += 2;
-               dst1 += 2;
-               --count;
-       }
-
-       /* last pixel */
-       if (src1[-1] == src0[0] && src2[0] != src0[0])
-               dst0[0] =src0[0];
-       else
-               dst0[0] =src1[0];
-       if (src1[-1] == src2[0] && src0[0] != src2[0])
-               dst1[0] =src2[0];
-       else
-               dst1[0] =src1[0];
-       dst0[1] =src1[0];
-       dst1[1] =src1[0];
-}
-
-static void internal_scale2x_32_def(u32* dst0,
-       u32* dst1,
-       const u32* src0,
-       const u32* src1,
-       const u32* src2,
-       unsigned count) {
-               /* first pixel */
-               dst0[0] = src1[0];
-               dst1[0] = src1[0];
-               if (src1[1] == src0[0] && src2[0] != src0[0])
-                       dst0[1] = src0[0];
-               else
-                       dst0[1] = src1[0];
-               if (src1[1] == src2[0] && src0[0] != src2[0])
-                       dst1[1] = src2[0];
-               else
-                       dst1[1] = src1[0];
-               ++src0;
-               ++src1;
-               ++src2;
-               dst0 += 2;
-               dst1 += 2;
-
-               /* central pixels */
-               count -= 2;
-               while (count) {
-                       if (src1[-1] == src0[0] && src2[0] != src0[0] && src1[1] != src0[0])
-                               dst0[0] = src0[0];
-                       else
-                               dst0[0] = src1[0];
-                       if (src1[1] == src0[0] && src2[0] != src0[0] && src1[-1] != src0[0])
-                               dst0[1] = src0[0];
-                       else
-                               dst0[1] = src1[0];
-
-                       if (src1[-1] == src2[0] && src0[0] != src2[0] && src1[1] != src2[0])
-                               dst1[0] = src2[0];
-                       else
-                               dst1[0] = src1[0];
-                       if (src1[1] == src2[0] && src0[0] != src2[0] && src1[-1] != src2[0])
-                               dst1[1] = src2[0];
-                       else
-                               dst1[1] = src1[0];
-
-                       ++src0;
-                       ++src1;
-                       ++src2;
-                       dst0 += 2;
-                       dst1 += 2;
-                       --count;
-               }
-
-               /* last pixel */
-               if (src1[-1] == src0[0] && src2[0] != src0[0])
-                       dst0[0] = src0[0];
-               else
-                       dst0[0] = src1[0];
-               if (src1[-1] == src2[0] && src0[0] != src2[0])
-                       dst1[0] = src2[0];
-               else
-                       dst1[0] = src1[0];
-               dst0[1] = src1[0];
-               dst1[1] = src1[0];
-}
-
-#if defined(MMX) && (defined(X86_ASSEMBLY) || defined(X86_MSVC_ASSEMBLY))
-static void internal_scale2x_16_mmx_single(u16* dst, const u16* src0, const u16* src1, const u16* src2, unsigned count) {
-       /* always do the first and last run */
-       count -= 2*4;
-
-#ifdef __GNUC__
-       __asm__ __volatile__(
-               /* first run */
-               /* set the current, current_pre, current_next registers */
-               "pxor %%mm0,%%mm0\n" /* use a fake black out of screen */
-               "movq 0(%1),%%mm7\n"
-               "movq 8(%1),%%mm1\n"
-               "psrlq $48,%%mm0\n"
-               "psllq $48,%%mm1\n"
-               "movq %%mm7,%%mm2\n"
-               "movq %%mm7,%%mm3\n"
-               "psllq $16,%%mm2\n"
-               "psrlq $16,%%mm3\n"
-               "por %%mm2,%%mm0\n"
-               "por %%mm3,%%mm1\n"
-
-               /* current_upper */
-               "movq (%0),%%mm6\n"
-
-               /* compute the upper-left pixel for dst0 on %%mm2 */
-               /* compute the upper-right pixel for dst0 on %%mm4 */
-               "movq %%mm0,%%mm2\n"
-               "movq %%mm1,%%mm4\n"
-               "movq %%mm0,%%mm3\n"
-               "movq %%mm1,%%mm5\n"
-               "pcmpeqw %%mm6,%%mm2\n"
-               "pcmpeqw %%mm6,%%mm4\n"
-               "pcmpeqw (%2),%%mm3\n"
-               "pcmpeqw (%2),%%mm5\n"
-               "pandn %%mm2,%%mm3\n"
-               "pandn %%mm4,%%mm5\n"
-               "movq %%mm0,%%mm2\n"
-               "movq %%mm1,%%mm4\n"
-               "pcmpeqw %%mm1,%%mm2\n"
-               "pcmpeqw %%mm0,%%mm4\n"
-               "pandn %%mm3,%%mm2\n"
-               "pandn %%mm5,%%mm4\n"
-               "movq %%mm2,%%mm3\n"
-               "movq %%mm4,%%mm5\n"
-               "pand %%mm6,%%mm2\n"
-               "pand %%mm6,%%mm4\n"
-               "pandn %%mm7,%%mm3\n"
-               "pandn %%mm7,%%mm5\n"
-               "por %%mm3,%%mm2\n"
-               "por %%mm5,%%mm4\n"
-
-               /* set *dst0 */
-               "movq %%mm2,%%mm3\n"
-               "punpcklwd %%mm4,%%mm2\n"
-               "punpckhwd %%mm4,%%mm3\n"
-               "movq %%mm2,(%3)\n"
-               "movq %%mm3,8(%3)\n"
-
-               /* next */
-               "addl $8,%0\n"
-               "addl $8,%1\n"
-               "addl $8,%2\n"
-               "addl $16,%3\n"
-
-               /* central runs */
-               "shrl $2,%4\n"
-               "jz 1f\n"
-               ASM_JUMP_ALIGN
-               "0:\n"
-
-               /* set the current, current_pre, current_next registers */
-               "movq -8(%1),%%mm0\n"
-               "movq (%1),%%mm7\n"
-               "movq 8(%1),%%mm1\n"
-               "psrlq $48,%%mm0\n"
-               "psllq $48,%%mm1\n"
-               "movq %%mm7,%%mm2\n"
-               "movq %%mm7,%%mm3\n"
-               "psllq $16,%%mm2\n"
-               "psrlq $16,%%mm3\n"
-               "por %%mm2,%%mm0\n"
-               "por %%mm3,%%mm1\n"
-
-               /* current_upper */
-               "movq (%0),%%mm6\n"
-
-               /* compute the upper-left pixel for dst0 on %%mm2 */
-               /* compute the upper-right pixel for dst0 on %%mm4 */
-               "movq %%mm0,%%mm2\n"
-               "movq %%mm1,%%mm4\n"
-               "movq %%mm0,%%mm3\n"
-               "movq %%mm1,%%mm5\n"
-               "pcmpeqw %%mm6,%%mm2\n"
-               "pcmpeqw %%mm6,%%mm4\n"
-               "pcmpeqw (%2),%%mm3\n"
-               "pcmpeqw (%2),%%mm5\n"
-               "pandn %%mm2,%%mm3\n"
-               "pandn %%mm4,%%mm5\n"
-               "movq %%mm0,%%mm2\n"
-               "movq %%mm1,%%mm4\n"
-               "pcmpeqw %%mm1,%%mm2\n"
-               "pcmpeqw %%mm0,%%mm4\n"
-               "pandn %%mm3,%%mm2\n"
-               "pandn %%mm5,%%mm4\n"
-               "movq %%mm2,%%mm3\n"
-               "movq %%mm4,%%mm5\n"
-               "pand %%mm6,%%mm2\n"
-               "pand %%mm6,%%mm4\n"
-               "pandn %%mm7,%%mm3\n"
-               "pandn %%mm7,%%mm5\n"
-               "por %%mm3,%%mm2\n"
-               "por %%mm5,%%mm4\n"
-
-               /* set *dst0 */
-               "movq %%mm2,%%mm3\n"
-               "punpcklwd %%mm4,%%mm2\n"
-               "punpckhwd %%mm4,%%mm3\n"
-               "movq %%mm2,(%3)\n"
-               "movq %%mm3,8(%3)\n"
-
-               /* next */
-               "addl $8,%0\n"
-               "addl $8,%1\n"
-               "addl $8,%2\n"
-               "addl $16,%3\n"
-
-               "decl %4\n"
-               "jnz 0b\n"
-               "1:\n"
-
-               /* final run */
-               /* set the current, current_pre, current_next registers */
-               "movq -8(%1),%%mm0\n"
-               "movq (%1),%%mm7\n"
-               "pxor %%mm1,%%mm1\n" /* use a fake black out of screen */
-               "psrlq $48,%%mm0\n"
-               "psllq $48,%%mm1\n"
-               "movq %%mm7,%%mm2\n"
-               "movq %%mm7,%%mm3\n"
-               "psllq $16,%%mm2\n"
-               "psrlq $16,%%mm3\n"
-               "por %%mm2,%%mm0\n"
-               "por %%mm3,%%mm1\n"
-
-               /* current_upper */
-               "movq (%0),%%mm6\n"
-
-               /* compute the upper-left pixel for dst0 on %%mm2 */
-               /* compute the upper-right pixel for dst0 on %%mm4 */
-               "movq %%mm0,%%mm2\n"
-               "movq %%mm1,%%mm4\n"
-               "movq %%mm0,%%mm3\n"
-               "movq %%mm1,%%mm5\n"
-               "pcmpeqw %%mm6,%%mm2\n"
-               "pcmpeqw %%mm6,%%mm4\n"
-               "pcmpeqw (%2),%%mm3\n"
-               "pcmpeqw (%2),%%mm5\n"
-               "pandn %%mm2,%%mm3\n"
-               "pandn %%mm4,%%mm5\n"
-               "movq %%mm0,%%mm2\n"
-               "movq %%mm1,%%mm4\n"
-               "pcmpeqw %%mm1,%%mm2\n"
-               "pcmpeqw %%mm0,%%mm4\n"
-               "pandn %%mm3,%%mm2\n"
-               "pandn %%mm5,%%mm4\n"
-               "movq %%mm2,%%mm3\n"
-               "movq %%mm4,%%mm5\n"
-               "pand %%mm6,%%mm2\n"
-               "pand %%mm6,%%mm4\n"
-               "pandn %%mm7,%%mm3\n"
-               "pandn %%mm7,%%mm5\n"
-               "por %%mm3,%%mm2\n"
-               "por %%mm5,%%mm4\n"
-
-               /* set *dst0 */
-               "movq %%mm2,%%mm3\n"
-               "punpcklwd %%mm4,%%mm2\n"
-               "punpckhwd %%mm4,%%mm3\n"
-               "movq %%mm2,(%3)\n"
-               "movq %%mm3,8(%3)\n"
-               "emms\n"
-
-               : "+r" (src0), "+r" (src1), "+r" (src2), "+r" (dst), "+r" (count)
-               :
-       : "cc"
-               );
-#else
-       __asm {
-               mov eax, src0;
-               mov ebx, src1;
-               mov ecx, src2;
-               mov edx, dst;
-               mov esi, count;
-
-               /* first run */
-               /* set the current, current_pre, current_next registers */
-               pxor mm0,mm0; /* use a fake black out of screen */
-               movq mm7, qword ptr [ebx];
-               movq mm1, qword ptr [ebx + 8];
-               psrlq mm0, 48;
-               psllq mm1, 48;
-               movq mm2, mm7;
-               movq mm3, mm7;
-               psllq mm2, 16;
-               psrlq mm3, 16;
-               por mm0, mm2;
-               por mm1, mm3;
-
-               /* current_upper */
-               movq mm6, qword ptr [eax];
-
-               /* compute the upper-left pixel for dst0 on %%mm2 */
-               /* compute the upper-right pixel for dst0 on %%mm4 */
-               movq mm2, mm0;
-               movq mm4, mm1;
-               movq mm3, mm0;
-               movq mm5, mm1;
-               pcmpeqw mm2, mm6;
-               pcmpeqw mm4, mm6;
-               pcmpeqw mm3, qword ptr [ecx];
-               pcmpeqw mm5, qword ptr [ecx];
-               pandn mm3,mm2;
-               pandn mm5,mm4;
-               movq mm2,mm0;
-               movq mm4,mm1;
-               pcmpeqw mm2,mm1;
-               pcmpeqw mm4,mm0;
-               pandn mm2,mm3;
-               pandn mm4,mm5;
-               movq mm3,mm2;
-               movq mm5,mm4;
-               pand mm2,mm6;
-               pand mm4,mm6;
-               pandn mm3,mm7;
-               pandn mm5,mm7;
-               por mm2,mm3;
-               por mm4,mm5;
-
-               /* set *dst0 */
-               movq mm3,mm2;
-               punpcklwd mm2,mm4;
-               punpckhwd mm3,mm4;
-               movq qword ptr [edx], mm2;
-               movq qword ptr [edx + 8], mm3;
-
-               /* next */
-               add eax, 8;
-               add ebx, 8;
-               add ecx, 8;
-               add edx, 16;
-
-               /* central runs */
-               shr esi, 2;
-               jz label1;
-               align 4;
-label0:
-
-               /* set the current, current_pre, current_next registers */
-               movq mm0, qword ptr [ebx-8];
-               movq mm7, qword ptr [ebx];
-               movq mm1, qword ptr [ebx+8];
-               psrlq mm0,48;
-               psllq mm1,48;
-               movq mm2,mm7;
-               movq mm3,mm7;
-               psllq mm2,16;
-               psrlq mm3,16;
-               por mm0,mm2;
-               por mm1,mm3;
-
-               /* current_upper */
-               movq mm6, qword ptr [eax];
-
-               /* compute the upper-left pixel for dst0 on %%mm2 */
-               /* compute the upper-right pixel for dst0 on %%mm4 */
-               movq mm2,mm0;
-               movq mm4,mm1;
-               movq mm3,mm0;
-               movq mm5,mm1;
-               pcmpeqw mm2,mm6;
-               pcmpeqw mm4,mm6;
-               pcmpeqw mm3, qword ptr [ecx];
-               pcmpeqw mm5, qword ptr [ecx];
-               pandn mm3,mm2;
-               pandn mm5,mm4;
-               movq mm2,mm0;
-               movq mm4,mm1;
-               pcmpeqw mm2,mm1;
-               pcmpeqw mm4,mm0;
-               pandn mm2,mm3;
-               pandn mm4,mm5;
-               movq mm3,mm2;
-               movq mm5,mm4;
-               pand mm2,mm6;
-               pand mm4,mm6;
-               pandn mm3,mm7;
-               pandn mm5,mm7;
-               por mm2,mm3;
-               por mm4,mm5;
-
-               /* set *dst0 */
-               movq mm3,mm2;
-               punpcklwd mm2,mm4;
-               punpckhwd mm3,mm4;
-               movq qword ptr [edx], mm2;
-               movq qword ptr [edx+8], mm3;
-
-               /* next */
-               add eax,8;
-               add ebx,8;
-               add ecx,8;
-               add edx,16;
-
-               dec esi;
-               jnz label0;
-label1:
-
-               /* final run */
-               /* set the current, current_pre, current_next registers */
-               movq mm0, qword ptr [ebx-8];
-               movq mm7, qword ptr [ebx];
-               pxor mm1,mm1; /* use a fake black out of screen */
-               psrlq mm0,48;
-               psllq mm1,48;
-               movq mm2,mm7;
-               movq mm3,mm7;
-               psllq mm2,16;
-               psrlq mm3,16;
-               por mm0,mm2;
-               por mm1,mm3;
-
-               /* current_upper */
-               movq mm6, qword ptr [eax];
-
-               /* compute the upper-left pixel for dst0 on %%mm2 */
-               /* compute the upper-right pixel for dst0 on %%mm4 */
-               movq mm2,mm0;
-               movq mm4,mm1;
-               movq mm3,mm0;
-               movq mm5,mm1;
-               pcmpeqw mm2,mm6;
-               pcmpeqw mm4,mm6;
-               pcmpeqw mm3, qword ptr [ecx];
-               pcmpeqw mm5, qword ptr [ecx];
-               pandn mm3,mm2;
-               pandn mm5,mm4;
-               movq mm2,mm0;
-               movq mm4,mm1;
-               pcmpeqw mm2,mm1;
-               pcmpeqw mm4,mm0;
-               pandn mm2,mm3;
-               pandn mm4,mm5;
-               movq mm3,mm2;
-               movq mm5,mm4;
-               pand mm2,mm6;
-               pand mm4,mm6;
-               pandn mm3,mm7;
-               pandn mm5,mm7;
-               por mm2,mm3;
-               por mm4,mm5;
-
-               /* set *dst0 */
-               movq mm3,mm2;
-               punpcklwd mm2,mm4;
-               punpckhwd mm3,mm4;
-               movq qword ptr [edx], mm2;
-               movq qword ptr [edx+8], mm3;
-
-               mov src0, eax;
-               mov src1, ebx;
-               mov src2, ecx;
-               mov dst, edx;
-               mov count, esi;
-
-               emms;
-       }
-#endif
-}
-
-static void internal_scale2x_32_mmx_single(u32* dst, const u32* src0, const u32* src1, const u32* src2, unsigned count) {
-       /* always do the first and last run */
-       count -= 2*2;
-
-#ifdef __GNUC__
-       __asm__ __volatile__(
-               /* first run */
-               /* set the current, current_pre, current_next registers */
-               "pxor %%mm0,%%mm0\n" /* use a fake black out of screen */
-               "movq 0(%1),%%mm7\n"
-               "movq 8(%1),%%mm1\n"
-               "psrlq $32,%%mm0\n"
-               "psllq $32,%%mm1\n"
-               "movq %%mm7,%%mm2\n"
-               "movq %%mm7,%%mm3\n"
-               "psllq $32,%%mm2\n"
-               "psrlq $32,%%mm3\n"
-               "por %%mm2,%%mm0\n"
-               "por %%mm3,%%mm1\n"
-
-               /* current_upper */
-               "movq (%0),%%mm6\n"
-
-               /* compute the upper-left pixel for dst0 on %%mm2 */
-               /* compute the upper-right pixel for dst0 on %%mm4 */
-               "movq %%mm0,%%mm2\n"
-               "movq %%mm1,%%mm4\n"
-               "movq %%mm0,%%mm3\n"
-               "movq %%mm1,%%mm5\n"
-               "pcmpeqd %%mm6,%%mm2\n"
-               "pcmpeqd %%mm6,%%mm4\n"
-               "pcmpeqd (%2),%%mm3\n"
-               "pcmpeqd (%2),%%mm5\n"
-               "pandn %%mm2,%%mm3\n"
-               "pandn %%mm4,%%mm5\n"
-               "movq %%mm0,%%mm2\n"
-               "movq %%mm1,%%mm4\n"
-               "pcmpeqd %%mm1,%%mm2\n"
-               "pcmpeqd %%mm0,%%mm4\n"
-               "pandn %%mm3,%%mm2\n"
-               "pandn %%mm5,%%mm4\n"
-               "movq %%mm2,%%mm3\n"
-               "movq %%mm4,%%mm5\n"
-               "pand %%mm6,%%mm2\n"
-               "pand %%mm6,%%mm4\n"
-               "pandn %%mm7,%%mm3\n"
-               "pandn %%mm7,%%mm5\n"
-               "por %%mm3,%%mm2\n"
-               "por %%mm5,%%mm4\n"
-
-               /* set *dst0 */
-               "movq %%mm2,%%mm3\n"
-               "punpckldq %%mm4,%%mm2\n"
-               "punpckhdq %%mm4,%%mm3\n"
-               "movq %%mm2,(%3)\n"
-               "movq %%mm3,8(%3)\n"
-
-               /* next */
-               "addl $8,%0\n"
-               "addl $8,%1\n"
-               "addl $8,%2\n"
-               "addl $16,%3\n"
-
-               /* central runs */
-               "shrl $1,%4\n"
-               "jz 1f\n"
-               ASM_JUMP_ALIGN
-               "0:\n"
-
-               /* set the current, current_pre, current_next registers */
-               "movq -8(%1),%%mm0\n"
-               "movq (%1),%%mm7\n"
-               "movq 8(%1),%%mm1\n"
-               "psrlq $32,%%mm0\n"
-               "psllq $32,%%mm1\n"
-               "movq %%mm7,%%mm2\n"
-               "movq %%mm7,%%mm3\n"
-               "psllq $32,%%mm2\n"
-               "psrlq $32,%%mm3\n"
-               "por %%mm2,%%mm0\n"
-               "por %%mm3,%%mm1\n"
-
-               /* current_upper */
-               "movq (%0),%%mm6\n"
-
-               /* compute the upper-left pixel for dst0 on %%mm2 */
-               /* compute the upper-right pixel for dst0 on %%mm4 */
-               "movq %%mm0,%%mm2\n"
-               "movq %%mm1,%%mm4\n"
-               "movq %%mm0,%%mm3\n"
-               "movq %%mm1,%%mm5\n"
-               "pcmpeqd %%mm6,%%mm2\n"
-               "pcmpeqd %%mm6,%%mm4\n"
-               "pcmpeqd (%2),%%mm3\n"
-               "pcmpeqd (%2),%%mm5\n"
-               "pandn %%mm2,%%mm3\n"
-               "pandn %%mm4,%%mm5\n"
-               "movq %%mm0,%%mm2\n"
-               "movq %%mm1,%%mm4\n"
-               "pcmpeqd %%mm1,%%mm2\n"
-               "pcmpeqd %%mm0,%%mm4\n"
-               "pandn %%mm3,%%mm2\n"
-               "pandn %%mm5,%%mm4\n"
-               "movq %%mm2,%%mm3\n"
-               "movq %%mm4,%%mm5\n"
-               "pand %%mm6,%%mm2\n"
-               "pand %%mm6,%%mm4\n"
-               "pandn %%mm7,%%mm3\n"
-               "pandn %%mm7,%%mm5\n"
-               "por %%mm3,%%mm2\n"
-               "por %%mm5,%%mm4\n"
-
-               /* set *dst0 */
-               "movq %%mm2,%%mm3\n"
-               "punpckldq %%mm4,%%mm2\n"
-               "punpckhdq %%mm4,%%mm3\n"
-               "movq %%mm2,(%3)\n"
-               "movq %%mm3,8(%3)\n"
-
-               /* next */
-               "addl $8,%0\n"
-               "addl $8,%1\n"
-               "addl $8,%2\n"
-               "addl $16,%3\n"
-
-               "decl %4\n"
-               "jnz 0b\n"
-               "1:\n"
-
-               /* final run */
-               /* set the current, current_pre, current_next registers */
-               "movq -8(%1),%%mm0\n"
-               "movq (%1),%%mm7\n"
-               "pxor %%mm1,%%mm1\n" /* use a fake black out of screen */
-               "psrlq $32,%%mm0\n"
-               "psllq $32,%%mm1\n"
-               "movq %%mm7,%%mm2\n"
-               "movq %%mm7,%%mm3\n"
-               "psllq $32,%%mm2\n"
-               "psrlq $32,%%mm3\n"
-               "por %%mm2,%%mm0\n"
-               "por %%mm3,%%mm1\n"
-
-               /* current_upper */
-               "movq (%0),%%mm6\n"
-
-               /* compute the upper-left pixel for dst0 on %%mm2 */
-               /* compute the upper-right pixel for dst0 on %%mm4 */
-               "movq %%mm0,%%mm2\n"
-               "movq %%mm1,%%mm4\n"
-               "movq %%mm0,%%mm3\n"
-               "movq %%mm1,%%mm5\n"
-               "pcmpeqd %%mm6,%%mm2\n"
-               "pcmpeqd %%mm6,%%mm4\n"
-               "pcmpeqd (%2),%%mm3\n"
-               "pcmpeqd (%2),%%mm5\n"
-               "pandn %%mm2,%%mm3\n"
-               "pandn %%mm4,%%mm5\n"
-               "movq %%mm0,%%mm2\n"
-               "movq %%mm1,%%mm4\n"
-               "pcmpeqd %%mm1,%%mm2\n"
-               "pcmpeqd %%mm0,%%mm4\n"
-               "pandn %%mm3,%%mm2\n"
-               "pandn %%mm5,%%mm4\n"
-               "movq %%mm2,%%mm3\n"
-               "movq %%mm4,%%mm5\n"
-               "pand %%mm6,%%mm2\n"
-               "pand %%mm6,%%mm4\n"
-               "pandn %%mm7,%%mm3\n"
-               "pandn %%mm7,%%mm5\n"
-               "por %%mm3,%%mm2\n"
-               "por %%mm5,%%mm4\n"
-
-               /* set *dst0 */
-               "movq %%mm2,%%mm3\n"
-               "punpckldq %%mm4,%%mm2\n"
-               "punpckhdq %%mm4,%%mm3\n"
-               "movq %%mm2,(%3)\n"
-               "movq %%mm3,8(%3)\n"
-               "emms\n"
-
-               : "+r" (src0), "+r" (src1), "+r" (src2), "+r" (dst), "+r" (count)
-               :
-       : "cc"
-               );
-#else
-       __asm {
-               mov eax, src0;
-               mov ebx, src1;
-               mov ecx, src2;
-               mov edx, dst;
-               mov esi, count;
-
-               /* first run */
-               /* set the current, current_pre, current_next registers */
-               pxor mm0,mm0;
-               movq mm7,qword ptr [ebx];
-               movq mm1,qword ptr [ebx + 8];
-               psrlq mm0,32;
-               psllq mm1,32;
-               movq mm2,mm7;
-               movq mm3,mm7;
-               psllq mm2,32;
-               psrlq mm3,32;
-               por mm0,mm2;
-               por mm1,mm3;
-
-               /* current_upper */
-               movq mm6,qword ptr [eax];
-
-               /* compute the upper-left pixel for dst0 on %%mm2 */
-               /* compute the upper-right pixel for dst0 on %%mm4 */
-               movq mm2,mm0;
-               movq mm4,mm1;
-               movq mm3,mm0;
-               movq mm5,mm1;
-               pcmpeqd mm2,mm6;
-               pcmpeqd mm4,mm6;
-               pcmpeqd mm3,qword ptr [ecx];
-               pcmpeqd mm5,qword ptr [ecx];
-               pandn mm3,mm2;
-               pandn mm5,mm4;
-               movq mm2,mm0;
-               movq mm4,mm1;
-               pcmpeqd mm2,mm1;
-               pcmpeqd mm4,mm0;
-               pandn mm2,mm3;
-               pandn mm4,mm5;
-               movq mm3,mm2;
-               movq mm5,mm4;
-               pand mm2,mm6;
-               pand mm4,mm6;
-               pandn mm3,mm7;
-               pandn mm5,mm7;
-               por mm2,mm3;
-               por mm4,mm5;
-
-               /* set *dst0 */
-               movq mm3,mm2;
-               punpckldq mm2,mm4;
-               punpckhdq mm3,mm4;
-               movq qword ptr [edx],mm2;
-               movq qword ptr [edx+8],mm3;
-
-               /* next */
-               add eax,8;
-               add ebx,8;
-               add ecx,8;
-               add edx,16;
-
-               /* central runs */
-               shr esi,1;
-               jz label1;
-label0:
-
-               /* set the current, current_pre, current_next registers */
-               movq mm0,qword ptr [ebx-8];
-               movq mm7,qword ptr [ebx];
-               movq mm1,qword ptr [ebx+8];
-               psrlq mm0,32;
-               psllq mm1,32;
-               movq mm2,mm7;
-               movq mm3,mm7;
-               psllq mm2,32;
-               psrlq mm3,32;
-               por mm0,mm2;
-               por mm1,mm3;
-
-               /* current_upper */
-               movq mm6,qword ptr[eax];
-
-               /* compute the upper-left pixel for dst0 on %%mm2 */
-               /* compute the upper-right pixel for dst0 on %%mm4 */
-               movq mm2,mm0;
-               movq mm4,mm1;
-               movq mm3,mm0;
-               movq mm5,mm1;
-               pcmpeqd mm2,mm6;
-               pcmpeqd mm4,mm6;
-               pcmpeqd mm3,qword ptr[ecx];
-               pcmpeqd mm5,qword ptr[ecx];
-               pandn mm3,mm2;
-               pandn mm5,mm4;
-               movq mm2,mm0;
-               movq mm4,mm1;
-               pcmpeqd mm2,mm1;
-               pcmpeqd mm4,mm0;
-               pandn mm2,mm3;
-               pandn mm4,mm5;
-               movq mm3,mm2;
-               movq mm5,mm4;
-               pand mm2,mm6;
-               pand mm4,mm6;
-               pandn mm3,mm7;
-               pandn mm5,mm7;
-               por mm2,mm3;
-               por mm4,mm5;
-
-               /* set *dst0 */
-               movq mm3,mm2;
-               punpckldq mm2,mm4;
-               punpckhdq mm3,mm4;
-               movq qword ptr [edx],mm2;
-               movq qword ptr [edx+8],mm3;
-
-               /* next */
-               add eax,8;
-               add ebx,8;
-               add ecx,8;
-               add edx,16;
-
-               dec esi;
-               jnz label0;
-label1:
-
-               /* final run */
-               /* set the current, current_pre, current_next registers */
-               movq mm0,qword ptr [ebx-8];
-               movq mm7,qword ptr [ebx];
-               pxor mm1,mm1;
-               psrlq mm0,32;
-               psllq mm1,32;
-               movq mm2,mm7;
-               movq mm3,mm7;
-               psllq mm2,32;
-               psrlq mm3,32;
-               por mm0,mm2;
-               por mm1,mm3;
-
-               /* current_upper */
-               movq mm6,qword ptr [eax];
-
-               /* compute the upper-left pixel for dst0 on %%mm2 */
-               /* compute the upper-right pixel for dst0 on %%mm4 */
-               movq mm2,mm0;
-               movq mm4,mm1;
-               movq mm3,mm0;
-               movq mm5,mm1;
-               pcmpeqd mm2,mm6;
-               pcmpeqd mm4,mm6;
-               pcmpeqd mm3,qword ptr [ecx];
-               pcmpeqd mm5,qword ptr [ecx];
-               pandn mm3,mm2;
-               pandn mm5,mm4;
-               movq mm2,mm0;
-               movq mm4,mm1;
-               pcmpeqd mm2,mm1;
-               pcmpeqd mm4,mm0;
-               pandn mm2,mm3;
-               pandn mm4,mm5;
-               movq mm3,mm2;
-               movq mm5,mm4;
-               pand mm2,mm6;
-               pand mm4,mm6;
-               pandn mm3,mm7;
-               pandn mm5,mm7;
-               por mm2,mm3;
-               por mm4,mm5;
-
-               /* set *dst0 */
-               movq mm3,mm2;
-               punpckldq mm2,mm4;
-               punpckhdq mm3,mm4;
-               movq qword ptr [edx],mm2;
-               movq qword ptr [edx+8],mm3;
-
-               mov src0, eax;
-               mov src1, ebx;
-               mov src2, ecx;
-               mov dst, edx;
-               mov count, esi;
-
-               emms;
-       }
-#endif
-}
-
-static void internal_scale2x_16_mmx(u16* dst0, u16* dst1, const u16* src0, const u16* src1, const u16* src2, unsigned count) {
-       //      assert( count >= 2*4 );
-       internal_scale2x_16_mmx_single(dst0, src0, src1, src2, count);
-       internal_scale2x_16_mmx_single(dst1, src2, src1, src0, count);
-}
-
-static void internal_scale2x_32_mmx(u32* dst0, u32* dst1, const u32* src0, const u32* src1, const u32* src2, unsigned count) {
-       //      assert( count >= 2*2 );
-       internal_scale2x_32_mmx_single(dst0, src0, src1, src2, count);
-       internal_scale2x_32_mmx_single(dst1, src2, src1, src0, count);
-}
-#endif
-
-void AdMame2x(u8 *srcPtr, u32 srcPitch, /* u8 deltaPtr, */
-       u8 *dstPtr, u32 dstPitch, int width, int height)
-{
-       u16 *dst0 = (u16 *)dstPtr;
-       u16 *dst1 = dst0 + (dstPitch/2);
-
-       u16 *src0 = (u16 *)srcPtr;
-       u16 *src1 = src0 + (srcPitch/2);
-       u16 *src2 = src1 + (srcPitch/2);
-#if defined(MMX) && (defined(X86_ASSEMBLY) || defined(X86_MSVC_ASSEMBLY))
-       if(cpu_mmx) {
-               internal_scale2x_16_mmx(dst0, dst1, src0, src0, src1, width);
-
-               {
-                       int count = height;
-
-                       count -= 2;
-                       while(count) {
-                               dst0 += dstPitch;
-                               dst1 += dstPitch;
-                               internal_scale2x_16_mmx(dst0, dst1, src0, src1, src2, width);
-                               src0 = src1;
-                               src1 = src2;
-                               src2 += srcPitch/2;
-                               --count;
-                       }
-               }
-               dst0 += dstPitch;
-               dst1 += dstPitch;
-               internal_scale2x_16_mmx(dst0, dst1, src0, src1, src1, width);
-       } else {
-#endif
-               internal_scale2x_16_def(dst0, dst1, src0, src0, src1, width);
-
-               {
-                       int count = height;
-
-                       count -= 2;
-                       while(count) {
-                               dst0 += dstPitch;
-                               dst1 += dstPitch;
-                               internal_scale2x_16_def(dst0, dst1, src0, src1, src2, width);
-                               src0 = src1;
-                               src1 = src2;
-                               src2 += srcPitch/2;
-                               --count;
-                       }
-               }
-               dst0 += dstPitch;
-               dst1 += dstPitch;
-               internal_scale2x_16_def(dst0, dst1, src0, src1, src1, width);
-#if defined(MMX) && (defined(X86_ASSEMBLY) || defined(X86_MSVC_ASSEMBLY))
-       }
-#endif
-}
-
-void AdMame2x32(u8 *srcPtr, u32 srcPitch, /* u8 deltaPtr, */
-       u8 *dstPtr, u32 dstPitch, int width, int height)
-{
-       u32 *dst0 = (u32 *)dstPtr;
-       u32 *dst1 = dst0 + (dstPitch/4);
-
-       u32 *src0 = (u32 *)srcPtr;
-       u32 *src1 = src0 + (srcPitch/4);
-       u32 *src2 = src1 + (srcPitch/4);
-#if defined(MMX) && (defined(X86_ASSEMBLY) || defined(X86_MSVC_ASSEMBLY))
-       if(cpu_mmx) {
-               internal_scale2x_32_mmx(dst0, dst1, src0, src0, src1, width);
-
-               {
-                       int count = height;
-
-                       count -= 2;
-                       while(count) {
-                               dst0 += dstPitch/2;
-                               dst1 += dstPitch/2;
-                               internal_scale2x_32_mmx(dst0, dst1, src0, src1, src2, width);
-                               src0 = src1;
-                               src1 = src2;
-                               src2 += srcPitch/4;
-                               --count;
-                       }
-               }
-               dst0 += dstPitch/2;
-               dst1 += dstPitch/2;
-               internal_scale2x_32_mmx(dst0, dst1, src0, src1, src1, width);
-       } else {
-#endif
-               internal_scale2x_32_def(dst0, dst1, src0, src0, src1, width);
-               {
-                       int count = height;
-
-                       count -= 2;
-                       while(count) {
-                               dst0 += dstPitch/2;
-                               dst1 += dstPitch/2;
-                               internal_scale2x_32_def(dst0, dst1, src0, src1, src2, width);
-                               src0 = src1;
-                               src1 = src2;
-                               src2 += srcPitch/4;
-                               --count;
-                       }
-               }
-               dst0 += dstPitch/2;
-               dst1 += dstPitch/2;
-               internal_scale2x_32_def(dst0, dst1, src0, src1, src1, width);
-#if defined(MMX) && (defined(X86_ASSEMBLY) || defined(X86_MSVC_ASSEMBLY))
-       }
-#endif
-}
-
-
-
-#define swap16(x) (((x >> 24) & 0x000000ff) | ((x >> 8) & 0x0000ff00) | ((x << 8) & 0x00ff0000) | ((x << 16) & 0xff000000))
-
-void hq_init (int rb, int gb, int bb, int rs, int gs, int bs)
-{
-       int i, j, k, r, g, b, Y, u, v;
-       int rmask, gmask, bmask;
-
-       rmask = ((1 << rb) - 1) << rs;
-       gmask = ((1 << gb) - 1) << gs;
-       bmask = ((1 << bb) - 1) << bs;
-
-       for (i=0; i<65536; i++)
-               LUT16to32[i] = ((i & 0xF800) << 8) + ((i & 0x07E0) << 5) + ((i & 0x001F) << 3);
-
-       for (i=0; i<32; i++) {
-               for (j=0; j<64; j++) {
-                       for (k=0; k<32; k++) {
-                               r = i << 3;
-                               g = j << 2;
-                               b = k << 3;
-                               Y = (r + g + b) >> 2;
-                               u = 128 + ((r - b) >> 2);
-                               v = 128 + ((-r + 2*g -b)>>3);
-                               RGBtoYUV[ (i << 11) + (j << 5) + k ] = (Y<<16) + (u<<8) + v;
-                       }
-               }
-       }
-}
-
-}
diff --git a/od-win32/scaler2.cpp b/od-win32/scaler2.cpp
deleted file mode 100644 (file)
index 2ba6aaa..0000000
+++ /dev/null
@@ -1,1522 +0,0 @@
-/* This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
-
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
-
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
- */
-
-/* Scaler (except Scale2x) code borrowed from ScummVM project */
-
-#include "filter.h"
-
-static uint32 colorMask;
-static uint32 lowPixelMask;
-static uint32 qcolorMask;
-static uint32 qlowpixelMask;
-static uint32 redblueMask;
-static uint32 redMask;
-static uint32 greenMask;
-static uint32 blueMask;
-
-int Init_2xSaI (int rb, int gb, int bb, int rs, int gs, int bs)
-{
-       if (rb + gb + bb == 16) {
-               colorMask = 0xF7DEF7DE;
-               lowPixelMask = 0x08210821;
-               qcolorMask = 0xE79CE79C;
-               qlowpixelMask = 0x18631863;
-               redblueMask = 0xF81F;
-               redMask = 0xF800;
-               greenMask = 0x07E0;
-               blueMask = 0x001F;
-       } else if (rb + gb + bb == 15) {
-               colorMask = 0x7BDE7BDE;
-               lowPixelMask = 0x04210421;
-               qcolorMask = 0x739C739C;
-               qlowpixelMask = 0x0C630C63;
-               redblueMask = 0x7C1F;
-               redMask = 0x7C00;
-               greenMask = 0x03E0;
-               blueMask = 0x001F;
-       } else {
-               return 0;
-       }
-
-       return 1;
-}
-
-static _inline int GetResult(uint32 A, uint32 B, uint32 C, uint32 D)
-{
-       const bool ac = (A==C);
-       const bool bc = (B==C);
-       const int x1 = ac;
-       const int y1 = (bc & !ac);
-       const bool ad = (A==D);
-       const bool bd = (B==D);
-       const int x2 = ad;
-       const int y2 = (bd & !ad);
-       const int x = x1+x2;
-       const int y = y1+y2;
-       static const int rmap[3][3] = {
-                       {0, 0, -1},
-                       {0, 0, -1},
-                       {1, 1,  0}
-               };
-       return rmap[y][x];
-}
-
-static _inline uint32 INTERPOLATE(uint32 A, uint32 B) {
-       if (A != B) {
-               return (((A & colorMask) >> 1) + ((B & colorMask) >> 1) + (A & B & lowPixelMask));
-       } else
-               return A;
-}
-
-static _inline uint32 Q_INTERPOLATE(uint32 A, uint32 B, uint32 C, uint32 D) {
-       register uint32 x = ((A & qcolorMask) >> 2) + ((B & qcolorMask) >> 2) + ((C & qcolorMask) >> 2) + ((D & qcolorMask) >> 2);
-       register uint32 y = ((A & qlowpixelMask) + (B & qlowpixelMask) + (C & qlowpixelMask) + (D & qlowpixelMask)) >> 2;
-
-       y &= qlowpixelMask;
-       return x + y;
-}
-
-void Super2xSaI(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch, int width, int height) {
-       const uint16 *bP;
-       uint16 *dP;
-       const uint32 nextlineSrc = srcPitch >> 1;
-
-       while (height--) {
-               int i;
-               bP = (const uint16 *)srcPtr;
-               dP = (uint16 *)dstPtr;
-
-               for (i = 0; i < width; ++i) {
-                       uint32 color4, color5, color6;
-                       uint32 color1, color2, color3;
-                       uint32 colorA0, colorA1, colorA2, colorA3;
-                       uint32 colorB0, colorB1, colorB2, colorB3;
-                       uint32 colorS1, colorS2;
-                       uint32 product1a, product1b, product2a, product2b;
-
-//---------------------------------------    B1 B2
-//                                         4  5  6 S2
-//                                         1  2  3 S1
-//                                           A1 A2
-
-                       colorB0 = *(bP - nextlineSrc - 1);
-                       colorB1 = *(bP - nextlineSrc);
-                       colorB2 = *(bP - nextlineSrc + 1);
-                       colorB3 = *(bP - nextlineSrc + 2);
-
-                       color4 = *(bP - 1);
-                       color5 = *(bP);
-                       color6 = *(bP + 1);
-                       colorS2 = *(bP + 2);
-
-                       color1 = *(bP + nextlineSrc - 1);
-                       color2 = *(bP + nextlineSrc);
-                       color3 = *(bP + nextlineSrc + 1);
-                       colorS1 = *(bP + nextlineSrc + 2);
-
-                       colorA0 = *(bP + 2 * nextlineSrc - 1);
-                       colorA1 = *(bP + 2 * nextlineSrc);
-                       colorA2 = *(bP + 2 * nextlineSrc + 1);
-                       colorA3 = *(bP + 2 * nextlineSrc + 2);
-
-//--------------------------------------
-                       if (color2 == color6 && color5 != color3) {
-                               product2b = product1b = color2;
-                       } else if (color5 == color3 && color2 != color6) {
-                               product2b = product1b = color5;
-                       } else if (color5 == color3 && color2 == color6) {
-                               register int r = 0;
-
-                               r += GetResult(color6, color5, color1, colorA1);
-                               r += GetResult(color6, color5, color4, colorB1);
-                               r += GetResult(color6, color5, colorA2, colorS1);
-                               r += GetResult(color6, color5, colorB2, colorS2);
-
-                               if (r > 0)
-                                       product2b = product1b = color6;
-                               else if (r < 0)
-                                       product2b = product1b = color5;
-                               else {
-                                       product2b = product1b = INTERPOLATE(color5, color6);
-                               }
-                       } else {
-                               if (color6 == color3 && color3 == colorA1 && color2 != colorA2 && color3 != colorA0)
-                                       product2b = Q_INTERPOLATE(color3, color3, color3, color2);
-                               else if (color5 == color2 && color2 == colorA2 && colorA1 != color3 && color2 != colorA3)
-                                       product2b = Q_INTERPOLATE(color2, color2, color2, color3);
-                               else
-                                       product2b = INTERPOLATE(color2, color3);
-
-                               if (color6 == color3 && color6 == colorB1 && color5 != colorB2 && color6 != colorB0)
-                                       product1b = Q_INTERPOLATE(color6, color6, color6, color5);
-                               else if (color5 == color2 && color5 == colorB2 && colorB1 != color6 && color5 != colorB3)
-                                       product1b = Q_INTERPOLATE(color6, color5, color5, color5);
-                               else
-                                       product1b = INTERPOLATE(color5, color6);
-                       }
-
-                       if (color5 == color3 && color2 != color6 && color4 == color5 && color5 != colorA2)
-                               product2a = INTERPOLATE(color2, color5);
-                       else if (color5 == color1 && color6 == color5 && color4 != color2 && color5 != colorA0)
-                               product2a = INTERPOLATE(color2, color5);
-                       else
-                               product2a = color2;
-
-                       if (color2 == color6 && color5 != color3 && color1 == color2 && color2 != colorB2)
-                               product1a = INTERPOLATE(color2, color5);
-                       else if (color4 == color2 && color3 == color2 && color1 != color5 && color2 != colorB0)
-                               product1a = INTERPOLATE(color2, color5);
-                       else
-                               product1a = color5;
-
-                       *(dP + 0) = (uint16) product1a;
-                       *(dP + 1) = (uint16) product1b;
-                       *(dP + dstPitch/2 + 0) = (uint16) product2a;
-                       *(dP + dstPitch/2 + 1) = (uint16) product2b;
-
-                       bP += 1;
-                       dP += 2;
-               }
-
-               srcPtr += srcPitch;
-               dstPtr += dstPitch * 2;
-       }
-}
-
-void SuperEagle(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch, int width, int height) {
-       const uint16 *bP;
-       uint16 *dP;
-       const uint32 nextlineSrc = srcPitch >> 1;
-
-       while (height--) {
-               int i;
-               bP = (const uint16 *)srcPtr;
-               dP = (uint16 *)dstPtr;
-               for (i = 0; i < width; ++i) {
-                       uint32 color4, color5, color6;
-                       uint32 color1, color2, color3;
-                       uint32 colorA1, colorA2, colorB1, colorB2, colorS1, colorS2;
-                       uint32 product1a, product1b, product2a, product2b;
-
-                       colorB1 = *(bP - nextlineSrc);
-                       colorB2 = *(bP - nextlineSrc + 1);
-
-                       color4 = *(bP - 1);
-                       color5 = *(bP);
-                       color6 = *(bP + 1);
-                       colorS2 = *(bP + 2);
-
-                       color1 = *(bP + nextlineSrc - 1);
-                       color2 = *(bP + nextlineSrc);
-                       color3 = *(bP + nextlineSrc + 1);
-                       colorS1 = *(bP + nextlineSrc + 2);
-
-                       colorA1 = *(bP + 2 * nextlineSrc);
-                       colorA2 = *(bP + 2 * nextlineSrc + 1);
-
-                       // --------------------------------------
-                       if (color5 != color3)
-                       {
-                               if (color2 == color6)
-                               {
-                                       product1b = product2a = color2;
-                                       if ((color1 == color2) || (color6 == colorB2)) {
-                                               product1a = INTERPOLATE(color2, color5);
-                                               product1a = INTERPOLATE(color2, product1a);
-                                       } else {
-                                               product1a = INTERPOLATE(color5, color6);
-                                       }
-
-                                       if ((color6 == colorS2) || (color2 == colorA1)) {
-                                               product2b = INTERPOLATE(color2, color3);
-                                               product2b = INTERPOLATE(color2, product2b);
-                                       } else {
-                                               product2b = INTERPOLATE(color2, color3);
-                                       }
-                               }
-                               else
-                               {
-                                       product2b = product1a = INTERPOLATE(color2, color6);
-                                       product2b = Q_INTERPOLATE(color3, color3, color3, product2b);
-                                       product1a = Q_INTERPOLATE(color5, color5, color5, product1a);
-
-                                       product2a = product1b = INTERPOLATE(color5, color3);
-                                       product2a = Q_INTERPOLATE(color2, color2, color2, product2a);
-                                       product1b = Q_INTERPOLATE(color6, color6, color6, product1b);
-                               }
-                       }
-                       else //if (color5 == color3)
-                       {
-                               if (color2 != color6)
-                               {
-                                       product2b = product1a = color5;
-
-                                       if ((colorB1 == color5) || (color3 == colorS1)) {
-                                               product1b = INTERPOLATE(color5, color6);
-                                               product1b = INTERPOLATE(color5, product1b);
-                                       } else {
-                                               product1b = INTERPOLATE(color5, color6);
-                                       }
-
-                                       if ((color3 == colorA2) || (color4 == color5)) {
-                                               product2a = INTERPOLATE(color5, color2);
-                                               product2a = INTERPOLATE(color5, product2a);
-                                       } else {
-                                               product2a = INTERPOLATE(color2, color3);
-                                       }
-                               }
-                               else    //if (color2 != color6)
-                               {
-                                       register int r = 0;
-
-                                       r += GetResult(color6, color5, color1, colorA1);
-                                       r += GetResult(color6, color5, color4, colorB1);
-                                       r += GetResult(color6, color5, colorA2, colorS1);
-                                       r += GetResult(color6, color5, colorB2, colorS2);
-
-                                       if (r > 0) {
-                                               product1b = product2a = color2;
-                                               product1a = product2b = INTERPOLATE(color5, color6);
-                                       } else if (r < 0) {
-                                               product2b = product1a = color5;
-                                               product1b = product2a = INTERPOLATE(color5, color6);
-                                       } else {
-                                               product2b = product1a = color5;
-                                               product1b = product2a = color2;
-                                       }
-                               }
-                       }
-
-                       *(dP + 0) = (uint16) product1a;
-                       *(dP + 1) = (uint16) product1b;
-                       *(dP + dstPitch/2 + 0) = (uint16) product2a;
-                       *(dP + dstPitch/2 + 1) = (uint16) product2b;
-
-                       bP += 1;
-                       dP += 2;
-               }
-
-               srcPtr += srcPitch;
-               dstPtr += dstPitch * 2;
-       }
-}
-
-void _2xSaI(const uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch, int width, int height) {
-       const uint16 *bP;
-       uint16 *dP;
-       const uint32 nextlineSrc = srcPitch >> 1;
-
-       while (height--) {
-               int i;
-               bP = (const uint16 *)srcPtr;
-               dP = (uint16 *)dstPtr;
-
-               for (i = 0; i < width; ++i) {
-
-                       register uint32 colorA, colorB;
-                       uint32 colorC, colorD,
-                               colorE, colorF, colorG, colorH, colorI, colorJ, colorK, colorL, colorM, colorN, colorO, colorP;
-                       uint32 product, product1, product2;
-
-//---------------------------------------
-// Map of the pixels:                    I|E F|J
-//                                       G|A B|K
-//                                       H|C D|L
-//                                       M|N O|P
-                       colorI = *(bP - nextlineSrc - 1);
-                       colorE = *(bP - nextlineSrc);
-                       colorF = *(bP - nextlineSrc + 1);
-                       colorJ = *(bP - nextlineSrc + 2);
-
-                       colorG = *(bP - 1);
-                       colorA = *(bP);
-                       colorB = *(bP + 1);
-                       colorK = *(bP + 2);
-
-                       colorH = *(bP + nextlineSrc - 1);
-                       colorC = *(bP + nextlineSrc);
-                       colorD = *(bP + nextlineSrc + 1);
-                       colorL = *(bP + nextlineSrc + 2);
-
-                       colorM = *(bP + 2 * nextlineSrc - 1);
-                       colorN = *(bP + 2 * nextlineSrc);
-                       colorO = *(bP + 2 * nextlineSrc + 1);
-                       colorP = *(bP + 2 * nextlineSrc + 2);
-
-                       if ((colorA == colorD) && (colorB != colorC)) {
-                               if (((colorA == colorE) && (colorB == colorL)) ||
-                                       ((colorA == colorC) && (colorA == colorF) && (colorB != colorE) && (colorB == colorJ))) {
-                                       product = colorA;
-                               } else {
-                                       product = INTERPOLATE(colorA, colorB);
-                               }
-
-                               if (((colorA == colorG) && (colorC == colorO)) ||
-                                       ((colorA == colorB) && (colorA == colorH) && (colorG != colorC)  && (colorC == colorM))) {
-                                       product1 = colorA;
-                               } else {
-                                       product1 = INTERPOLATE(colorA, colorC);
-                               }
-                               product2 = colorA;
-                       } else if ((colorB == colorC) && (colorA != colorD)) {
-                               if (((colorB == colorF) && (colorA == colorH)) ||
-                                       ((colorB == colorE) && (colorB == colorD) && (colorA != colorF) && (colorA == colorI))) {
-                                       product = colorB;
-                               } else {
-                                       product = INTERPOLATE(colorA, colorB);
-                               }
-
-                               if (((colorC == colorH) && (colorA == colorF)) ||
-                                       ((colorC == colorG) && (colorC == colorD) && (colorA != colorH) && (colorA == colorI))) {
-                                       product1 = colorC;
-                               } else {
-                                       product1 = INTERPOLATE(colorA, colorC);
-                               }
-                               product2 = colorB;
-                       } else if ((colorA == colorD) && (colorB == colorC)) {
-                               if (colorA == colorB) {
-                                       product = colorA;
-                                       product1 = colorA;
-                                       product2 = colorA;
-                               } else {
-                                       register int r = 0;
-
-                                       product1 = INTERPOLATE(colorA, colorC);
-                                       product = INTERPOLATE(colorA, colorB);
-
-                                       r += GetResult(colorA, colorB, colorG, colorE);
-                                       r -= GetResult(colorB, colorA, colorK, colorF);
-                                       r -= GetResult(colorB, colorA, colorH, colorN);
-                                       r += GetResult(colorA, colorB, colorL, colorO);
-
-                                       if (r > 0)
-                                               product2 = colorA;
-                                       else if (r < 0)
-                                               product2 = colorB;
-                                       else {
-                                               product2 = Q_INTERPOLATE(colorA, colorB, colorC, colorD);
-                                       }
-                               }
-                       } else {
-                               product2 = Q_INTERPOLATE(colorA, colorB, colorC, colorD);
-
-                               if ((colorA == colorC) && (colorA == colorF)
-                                               && (colorB != colorE) && (colorB == colorJ)) {
-                                       product = colorA;
-                               } else if ((colorB == colorE) && (colorB == colorD)
-                                                                        && (colorA != colorF) && (colorA == colorI)) {
-                                       product = colorB;
-                               } else {
-                                       product = INTERPOLATE(colorA, colorB);
-                               }
-
-                               if ((colorA == colorB) && (colorA == colorH)
-                                               && (colorG != colorC) && (colorC == colorM)) {
-                                       product1 = colorA;
-                               } else if ((colorC == colorG) && (colorC == colorD)
-                                                                        && (colorA != colorH) && (colorA == colorI)) {
-                                       product1 = colorC;
-                               } else {
-                                       product1 = INTERPOLATE(colorA, colorC);
-                               }
-                       }
-
-                       *(dP + 0) = (uint16) colorA;
-                       *(dP + 1) = (uint16) product;
-                       *(dP + dstPitch/2 + 0) = (uint16) product1;
-                       *(dP + dstPitch/2 + 1) = (uint16) product2;
-
-                       bP += 1;
-                       dP += 2;
-               }
-
-               srcPtr += srcPitch;
-               dstPtr += dstPitch * 2;
-       }
-}
-
-
-/*
- * This file is part of the Advance project.
- *
- * Copyright (C) 1999-2002 Andrea Mazzoleni
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-/*
- * This file contains a C and MMX implentation of the Scale2x effect.
- *
- * You can found an high level description of the effect at :
- *
- * http://scale2x.sourceforge.net/scale2x.html
- *
- * Alternatively at the previous license terms, you are allowed to use this
- * code in your program with these conditions:
- * - the program is not used in commercial activities.
- * - the whole source code of the program is released with the binary.
- * - derivative works of the program are allowed.
- */
-
-#define MMX
-extern int cpu_mmx;
-
-/* Suggested in "Intel Optimization" for Pentium II */
-#define ASM_JUMP_ALIGN ".p2align 4\n"
-
-static void internal_scale2x_16_def(u16 *dst0, u16* dst1, const u16* src0, const u16* src1, const u16* src2, unsigned count) {
-  /* first pixel */
-  dst0[0] = src1[0];
-  dst1[0] = src1[0];
-  if (src1[1] == src0[0] && src2[0] != src0[0])
-    dst0[1] =src0[0];
-  else
-    dst0[1] =src1[0];
-  if (src1[1] == src2[0] && src0[0] != src2[0])
-    dst1[1] =src2[0];
-  else
-    dst1[1] =src1[0];
-  ++src0;
-  ++src1;
-  ++src2;
-  dst0 += 2;
-  dst1 += 2;
-
-  /* central pixels */
-  count -= 2;
-  while (count) {
-    if (src1[-1] == src0[0] && src2[0] != src0[0] && src1[1] != src0[0])
-      dst0[0] = src0[0];
-    else
-      dst0[0] = src1[0];
-    if (src1[1] == src0[0] && src2[0] != src0[0] && src1[-1] != src0[0])
-      dst0[1] =src0[0];
-    else
-      dst0[1] =src1[0];
-
-    if (src1[-1] == src2[0] && src0[0] != src2[0] && src1[1] != src2[0])
-      dst1[0] =src2[0];
-    else
-      dst1[0] =src1[0];
-    if (src1[1] == src2[0] && src0[0] != src2[0] && src1[-1] != src2[0])
-      dst1[1] =src2[0];
-    else
-      dst1[1] =src1[0];
-
-    ++src0;
-    ++src1;
-    ++src2;
-    dst0 += 2;
-    dst1 += 2;
-    --count;
-  }
-
-  /* last pixel */
-  if (src1[-1] == src0[0] && src2[0] != src0[0])
-    dst0[0] =src0[0];
-  else
-    dst0[0] =src1[0];
-  if (src1[-1] == src2[0] && src0[0] != src2[0])
-    dst1[0] =src2[0];
-  else
-    dst1[0] =src1[0];
-  dst0[1] =src1[0];
-  dst1[1] =src1[0];
-}
-
-static void internal_scale2x_32_def(u32* dst0,
-                                   u32* dst1,
-                                   const u32* src0,
-                                   const u32* src1,
-                                   const u32* src2,
-                                   unsigned count) {
-  /* first pixel */
-  dst0[0] = src1[0];
-  dst1[0] = src1[0];
-  if (src1[1] == src0[0] && src2[0] != src0[0])
-    dst0[1] = src0[0];
-  else
-    dst0[1] = src1[0];
-  if (src1[1] == src2[0] && src0[0] != src2[0])
-    dst1[1] = src2[0];
-  else
-    dst1[1] = src1[0];
-  ++src0;
-  ++src1;
-  ++src2;
-  dst0 += 2;
-  dst1 += 2;
-
-  /* central pixels */
-  count -= 2;
-  while (count) {
-    if (src1[-1] == src0[0] && src2[0] != src0[0] && src1[1] != src0[0])
-      dst0[0] = src0[0];
-    else
-      dst0[0] = src1[0];
-    if (src1[1] == src0[0] && src2[0] != src0[0] && src1[-1] != src0[0])
-      dst0[1] = src0[0];
-    else
-      dst0[1] = src1[0];
-
-    if (src1[-1] == src2[0] && src0[0] != src2[0] && src1[1] != src2[0])
-      dst1[0] = src2[0];
-    else
-      dst1[0] = src1[0];
-    if (src1[1] == src2[0] && src0[0] != src2[0] && src1[-1] != src2[0])
-      dst1[1] = src2[0];
-    else
-      dst1[1] = src1[0];
-
-    ++src0;
-    ++src1;
-    ++src2;
-    dst0 += 2;
-    dst1 += 2;
-    --count;
-  }
-
-  /* last pixel */
-  if (src1[-1] == src0[0] && src2[0] != src0[0])
-    dst0[0] = src0[0];
-  else
-    dst0[0] = src1[0];
-  if (src1[-1] == src2[0] && src0[0] != src2[0])
-    dst1[0] = src2[0];
-  else
-    dst1[0] = src1[0];
-  dst0[1] = src1[0];
-  dst1[1] = src1[0];
-}
-
-#ifdef MMX
-static void internal_scale2x_16_mmx_single(u16* dst, const u16* src0, const u16* src1, const u16* src2, unsigned count) {
-  /* always do the first and last run */
-  count -= 2*4;
-
-#ifdef __GNUC__
-  __asm__ __volatile__(
-                      /* first run */
-                      /* set the current, current_pre, current_next registers */
-                      "pxor %%mm0,%%mm0\n" /* use a fake black out of screen */
-                      "movq 0(%1),%%mm7\n"
-                      "movq 8(%1),%%mm1\n"
-                      "psrlq $48,%%mm0\n"
-                      "psllq $48,%%mm1\n"
-                      "movq %%mm7,%%mm2\n"
-                      "movq %%mm7,%%mm3\n"
-                      "psllq $16,%%mm2\n"
-                      "psrlq $16,%%mm3\n"
-                      "por %%mm2,%%mm0\n"
-                      "por %%mm3,%%mm1\n"
-
-                      /* current_upper */
-                      "movq (%0),%%mm6\n"
-
-                      /* compute the upper-left pixel for dst0 on %%mm2 */
-                      /* compute the upper-right pixel for dst0 on %%mm4 */
-                      "movq %%mm0,%%mm2\n"
-                      "movq %%mm1,%%mm4\n"
-                      "movq %%mm0,%%mm3\n"
-                      "movq %%mm1,%%mm5\n"
-                      "pcmpeqw %%mm6,%%mm2\n"
-                      "pcmpeqw %%mm6,%%mm4\n"
-                      "pcmpeqw (%2),%%mm3\n"
-                      "pcmpeqw (%2),%%mm5\n"
-                      "pandn %%mm2,%%mm3\n"
-                      "pandn %%mm4,%%mm5\n"
-                      "movq %%mm0,%%mm2\n"
-                      "movq %%mm1,%%mm4\n"
-                      "pcmpeqw %%mm1,%%mm2\n"
-                      "pcmpeqw %%mm0,%%mm4\n"
-                      "pandn %%mm3,%%mm2\n"
-                      "pandn %%mm5,%%mm4\n"
-                      "movq %%mm2,%%mm3\n"
-                      "movq %%mm4,%%mm5\n"
-                      "pand %%mm6,%%mm2\n"
-                      "pand %%mm6,%%mm4\n"
-                      "pandn %%mm7,%%mm3\n"
-                      "pandn %%mm7,%%mm5\n"
-                      "por %%mm3,%%mm2\n"
-                      "por %%mm5,%%mm4\n"
-
-                      /* set *dst0 */
-                      "movq %%mm2,%%mm3\n"
-                      "punpcklwd %%mm4,%%mm2\n"
-                      "punpckhwd %%mm4,%%mm3\n"
-                      "movq %%mm2,(%3)\n"
-                      "movq %%mm3,8(%3)\n"
-
-                      /* next */
-                      "addl $8,%0\n"
-                      "addl $8,%1\n"
-                      "addl $8,%2\n"
-                      "addl $16,%3\n"
-
-                      /* central runs */
-                      "shrl $2,%4\n"
-                      "jz 1f\n"
-                      ASM_JUMP_ALIGN
-                      "0:\n"
-
-                      /* set the current, current_pre, current_next registers */
-                      "movq -8(%1),%%mm0\n"
-                      "movq (%1),%%mm7\n"
-                      "movq 8(%1),%%mm1\n"
-                      "psrlq $48,%%mm0\n"
-                      "psllq $48,%%mm1\n"
-                      "movq %%mm7,%%mm2\n"
-                      "movq %%mm7,%%mm3\n"
-                      "psllq $16,%%mm2\n"
-                      "psrlq $16,%%mm3\n"
-                      "por %%mm2,%%mm0\n"
-                      "por %%mm3,%%mm1\n"
-
-                      /* current_upper */
-                      "movq (%0),%%mm6\n"
-
-                      /* compute the upper-left pixel for dst0 on %%mm2 */
-                      /* compute the upper-right pixel for dst0 on %%mm4 */
-                      "movq %%mm0,%%mm2\n"
-                      "movq %%mm1,%%mm4\n"
-                      "movq %%mm0,%%mm3\n"
-                      "movq %%mm1,%%mm5\n"
-                      "pcmpeqw %%mm6,%%mm2\n"
-                      "pcmpeqw %%mm6,%%mm4\n"
-                      "pcmpeqw (%2),%%mm3\n"
-                      "pcmpeqw (%2),%%mm5\n"
-                      "pandn %%mm2,%%mm3\n"
-                      "pandn %%mm4,%%mm5\n"
-                      "movq %%mm0,%%mm2\n"
-                      "movq %%mm1,%%mm4\n"
-                      "pcmpeqw %%mm1,%%mm2\n"
-                      "pcmpeqw %%mm0,%%mm4\n"
-                      "pandn %%mm3,%%mm2\n"
-                      "pandn %%mm5,%%mm4\n"
-                      "movq %%mm2,%%mm3\n"
-                      "movq %%mm4,%%mm5\n"
-                      "pand %%mm6,%%mm2\n"
-                      "pand %%mm6,%%mm4\n"
-                      "pandn %%mm7,%%mm3\n"
-                      "pandn %%mm7,%%mm5\n"
-                      "por %%mm3,%%mm2\n"
-                      "por %%mm5,%%mm4\n"
-
-                      /* set *dst0 */
-                      "movq %%mm2,%%mm3\n"
-                      "punpcklwd %%mm4,%%mm2\n"
-                      "punpckhwd %%mm4,%%mm3\n"
-                      "movq %%mm2,(%3)\n"
-                      "movq %%mm3,8(%3)\n"
-
-                      /* next */
-                      "addl $8,%0\n"
-                      "addl $8,%1\n"
-                      "addl $8,%2\n"
-                      "addl $16,%3\n"
-
-                      "decl %4\n"
-                      "jnz 0b\n"
-                      "1:\n"
-
-                      /* final run */
-                      /* set the current, current_pre, current_next registers */
-                      "movq -8(%1),%%mm0\n"
-                      "movq (%1),%%mm7\n"
-                      "pxor %%mm1,%%mm1\n" /* use a fake black out of screen */
-                      "psrlq $48,%%mm0\n"
-                      "psllq $48,%%mm1\n"
-                      "movq %%mm7,%%mm2\n"
-                      "movq %%mm7,%%mm3\n"
-                      "psllq $16,%%mm2\n"
-                      "psrlq $16,%%mm3\n"
-                      "por %%mm2,%%mm0\n"
-                      "por %%mm3,%%mm1\n"
-
-                      /* current_upper */
-                      "movq (%0),%%mm6\n"
-
-                      /* compute the upper-left pixel for dst0 on %%mm2 */
-                      /* compute the upper-right pixel for dst0 on %%mm4 */
-                      "movq %%mm0,%%mm2\n"
-                      "movq %%mm1,%%mm4\n"
-                      "movq %%mm0,%%mm3\n"
-                      "movq %%mm1,%%mm5\n"
-                      "pcmpeqw %%mm6,%%mm2\n"
-                      "pcmpeqw %%mm6,%%mm4\n"
-                      "pcmpeqw (%2),%%mm3\n"
-                      "pcmpeqw (%2),%%mm5\n"
-                      "pandn %%mm2,%%mm3\n"
-                      "pandn %%mm4,%%mm5\n"
-                      "movq %%mm0,%%mm2\n"
-                      "movq %%mm1,%%mm4\n"
-                      "pcmpeqw %%mm1,%%mm2\n"
-                      "pcmpeqw %%mm0,%%mm4\n"
-                      "pandn %%mm3,%%mm2\n"
-                      "pandn %%mm5,%%mm4\n"
-                      "movq %%mm2,%%mm3\n"
-                      "movq %%mm4,%%mm5\n"
-                      "pand %%mm6,%%mm2\n"
-                      "pand %%mm6,%%mm4\n"
-                      "pandn %%mm7,%%mm3\n"
-                      "pandn %%mm7,%%mm5\n"
-                      "por %%mm3,%%mm2\n"
-                      "por %%mm5,%%mm4\n"
-
-                      /* set *dst0 */
-                      "movq %%mm2,%%mm3\n"
-                      "punpcklwd %%mm4,%%mm2\n"
-                      "punpckhwd %%mm4,%%mm3\n"
-                      "movq %%mm2,(%3)\n"
-                      "movq %%mm3,8(%3)\n"
-                      "emms\n"
-
-                      : "+r" (src0), "+r" (src1), "+r" (src2), "+r" (dst), "+r" (count)
-                      :
-                      : "cc"
-                      );
-#else
-  __asm {
-    mov eax, src0;
-    mov ebx, src1;
-    mov ecx, src2;
-    mov edx, dst;
-    mov esi, count;
-
-    /* first run */
-    /* set the current, current_pre, current_next registers */
-    pxor mm0,mm0; /* use a fake black out of screen */
-    movq mm7, qword ptr [ebx];
-    movq mm1, qword ptr [ebx + 8];
-    psrlq mm0, 48;
-    psllq mm1, 48;
-    movq mm2, mm7;
-    movq mm3, mm7;
-    psllq mm2, 16;
-    psrlq mm3, 16;
-    por mm0, mm2;
-    por mm1, mm3;
-
-    /* current_upper */
-    movq mm6, qword ptr [eax];
-
-    /* compute the upper-left pixel for dst0 on %%mm2 */
-    /* compute the upper-right pixel for dst0 on %%mm4 */
-    movq mm2, mm0;
-    movq mm4, mm1;
-    movq mm3, mm0;
-    movq mm5, mm1;
-    pcmpeqw mm2, mm6;
-    pcmpeqw mm4, mm6;
-    pcmpeqw mm3, qword ptr [ecx];
-    pcmpeqw mm5, qword ptr [ecx];
-    pandn mm3,mm2;
-    pandn mm5,mm4;
-    movq mm2,mm0;
-    movq mm4,mm1;
-    pcmpeqw mm2,mm1;
-    pcmpeqw mm4,mm0;
-    pandn mm2,mm3;
-    pandn mm4,mm5;
-    movq mm3,mm2;
-    movq mm5,mm4;
-    pand mm2,mm6;
-    pand mm4,mm6;
-    pandn mm3,mm7;
-    pandn mm5,mm7;
-    por mm2,mm3;
-    por mm4,mm5;
-
-    /* set *dst0 */
-    movq mm3,mm2;
-    punpcklwd mm2,mm4;
-    punpckhwd mm3,mm4;
-    movq qword ptr [edx], mm2;
-    movq qword ptr [edx + 8], mm3;
-
-    /* next */
-    add eax, 8;
-    add ebx, 8;
-    add ecx, 8;
-    add edx, 16;
-
-    /* central runs */
-    shr esi, 2;
-    jz label1;
-    align 4;
-  label0:
-
-    /* set the current, current_pre, current_next registers */
-    movq mm0, qword ptr [ebx-8];
-    movq mm7, qword ptr [ebx];
-    movq mm1, qword ptr [ebx+8];
-    psrlq mm0,48;
-    psllq mm1,48;
-    movq mm2,mm7;
-    movq mm3,mm7;
-    psllq mm2,16;
-    psrlq mm3,16;
-    por mm0,mm2;
-    por mm1,mm3;
-
-    /* current_upper */
-    movq mm6, qword ptr [eax];
-
-    /* compute the upper-left pixel for dst0 on %%mm2 */
-    /* compute the upper-right pixel for dst0 on %%mm4 */
-    movq mm2,mm0;
-    movq mm4,mm1;
-    movq mm3,mm0;
-    movq mm5,mm1;
-    pcmpeqw mm2,mm6;
-    pcmpeqw mm4,mm6;
-    pcmpeqw mm3, qword ptr [ecx];
-    pcmpeqw mm5, qword ptr [ecx];
-    pandn mm3,mm2;
-    pandn mm5,mm4;
-    movq mm2,mm0;
-    movq mm4,mm1;
-    pcmpeqw mm2,mm1;
-    pcmpeqw mm4,mm0;
-    pandn mm2,mm3;
-    pandn mm4,mm5;
-    movq mm3,mm2;
-    movq mm5,mm4;
-    pand mm2,mm6;
-    pand mm4,mm6;
-    pandn mm3,mm7;
-    pandn mm5,mm7;
-    por mm2,mm3;
-    por mm4,mm5;
-
-    /* set *dst0 */
-    movq mm3,mm2;
-    punpcklwd mm2,mm4;
-    punpckhwd mm3,mm4;
-    movq qword ptr [edx], mm2;
-    movq qword ptr [edx+8], mm3;
-
-    /* next */
-    add eax,8;
-    add ebx,8;
-    add ecx,8;
-    add edx,16;
-
-    dec esi;
-    jnz label0;
-  label1:
-
-    /* final run */
-    /* set the current, current_pre, current_next registers */
-    movq mm0, qword ptr [ebx-8];
-    movq mm7, qword ptr [ebx];
-    pxor mm1,mm1; /* use a fake black out of screen */
-    psrlq mm0,48;
-    psllq mm1,48;
-    movq mm2,mm7;
-    movq mm3,mm7;
-    psllq mm2,16;
-    psrlq mm3,16;
-    por mm0,mm2;
-    por mm1,mm3;
-
-    /* current_upper */
-    movq mm6, qword ptr [eax];
-
-    /* compute the upper-left pixel for dst0 on %%mm2 */
-    /* compute the upper-right pixel for dst0 on %%mm4 */
-    movq mm2,mm0;
-    movq mm4,mm1;
-    movq mm3,mm0;
-    movq mm5,mm1;
-    pcmpeqw mm2,mm6;
-    pcmpeqw mm4,mm6;
-    pcmpeqw mm3, qword ptr [ecx];
-    pcmpeqw mm5, qword ptr [ecx];
-    pandn mm3,mm2;
-    pandn mm5,mm4;
-    movq mm2,mm0;
-    movq mm4,mm1;
-    pcmpeqw mm2,mm1;
-    pcmpeqw mm4,mm0;
-    pandn mm2,mm3;
-    pandn mm4,mm5;
-    movq mm3,mm2;
-    movq mm5,mm4;
-    pand mm2,mm6;
-    pand mm4,mm6;
-    pandn mm3,mm7;
-    pandn mm5,mm7;
-    por mm2,mm3;
-    por mm4,mm5;
-
-    /* set *dst0 */
-    movq mm3,mm2;
-    punpcklwd mm2,mm4;
-    punpckhwd mm3,mm4;
-    movq qword ptr [edx], mm2;
-    movq qword ptr [edx+8], mm3;
-
-    mov src0, eax;
-    mov src1, ebx;
-    mov src2, ecx;
-    mov dst, edx;
-    mov count, esi;
-
-    emms;
-  }
-#endif
-}
-
-static void internal_scale2x_32_mmx_single(u32* dst, const u32* src0, const u32* src1, const u32* src2, unsigned count) {
-  /* always do the first and last run */
-  count -= 2*2;
-
-#ifdef __GNUC__
-  __asm__ __volatile__(
-                      /* first run */
-                      /* set the current, current_pre, current_next registers */
-                      "pxor %%mm0,%%mm0\n" /* use a fake black out of screen */
-                      "movq 0(%1),%%mm7\n"
-                      "movq 8(%1),%%mm1\n"
-                      "psrlq $32,%%mm0\n"
-                      "psllq $32,%%mm1\n"
-                      "movq %%mm7,%%mm2\n"
-                      "movq %%mm7,%%mm3\n"
-                      "psllq $32,%%mm2\n"
-                      "psrlq $32,%%mm3\n"
-                      "por %%mm2,%%mm0\n"
-                      "por %%mm3,%%mm1\n"
-
-                      /* current_upper */
-                      "movq (%0),%%mm6\n"
-
-                      /* compute the upper-left pixel for dst0 on %%mm2 */
-                      /* compute the upper-right pixel for dst0 on %%mm4 */
-                      "movq %%mm0,%%mm2\n"
-                      "movq %%mm1,%%mm4\n"
-                      "movq %%mm0,%%mm3\n"
-                      "movq %%mm1,%%mm5\n"
-                      "pcmpeqd %%mm6,%%mm2\n"
-                      "pcmpeqd %%mm6,%%mm4\n"
-                      "pcmpeqd (%2),%%mm3\n"
-                      "pcmpeqd (%2),%%mm5\n"
-                      "pandn %%mm2,%%mm3\n"
-                      "pandn %%mm4,%%mm5\n"
-                      "movq %%mm0,%%mm2\n"
-                      "movq %%mm1,%%mm4\n"
-                      "pcmpeqd %%mm1,%%mm2\n"
-                      "pcmpeqd %%mm0,%%mm4\n"
-                      "pandn %%mm3,%%mm2\n"
-                      "pandn %%mm5,%%mm4\n"
-                      "movq %%mm2,%%mm3\n"
-                      "movq %%mm4,%%mm5\n"
-                      "pand %%mm6,%%mm2\n"
-                      "pand %%mm6,%%mm4\n"
-                      "pandn %%mm7,%%mm3\n"
-                      "pandn %%mm7,%%mm5\n"
-                      "por %%mm3,%%mm2\n"
-                      "por %%mm5,%%mm4\n"
-
-                      /* set *dst0 */
-                      "movq %%mm2,%%mm3\n"
-                      "punpckldq %%mm4,%%mm2\n"
-                      "punpckhdq %%mm4,%%mm3\n"
-                      "movq %%mm2,(%3)\n"
-                      "movq %%mm3,8(%3)\n"
-
-                      /* next */
-                      "addl $8,%0\n"
-                      "addl $8,%1\n"
-                      "addl $8,%2\n"
-                      "addl $16,%3\n"
-
-                      /* central runs */
-                      "shrl $1,%4\n"
-                      "jz 1f\n"
-                      ASM_JUMP_ALIGN
-                      "0:\n"
-
-                      /* set the current, current_pre, current_next registers */
-                      "movq -8(%1),%%mm0\n"
-                      "movq (%1),%%mm7\n"
-                      "movq 8(%1),%%mm1\n"
-                      "psrlq $32,%%mm0\n"
-                      "psllq $32,%%mm1\n"
-                      "movq %%mm7,%%mm2\n"
-                      "movq %%mm7,%%mm3\n"
-                      "psllq $32,%%mm2\n"
-                      "psrlq $32,%%mm3\n"
-                      "por %%mm2,%%mm0\n"
-                      "por %%mm3,%%mm1\n"
-
-                      /* current_upper */
-                      "movq (%0),%%mm6\n"
-
-                      /* compute the upper-left pixel for dst0 on %%mm2 */
-                      /* compute the upper-right pixel for dst0 on %%mm4 */
-                      "movq %%mm0,%%mm2\n"
-                      "movq %%mm1,%%mm4\n"
-                      "movq %%mm0,%%mm3\n"
-                      "movq %%mm1,%%mm5\n"
-                      "pcmpeqd %%mm6,%%mm2\n"
-                      "pcmpeqd %%mm6,%%mm4\n"
-                      "pcmpeqd (%2),%%mm3\n"
-                      "pcmpeqd (%2),%%mm5\n"
-                      "pandn %%mm2,%%mm3\n"
-                      "pandn %%mm4,%%mm5\n"
-                      "movq %%mm0,%%mm2\n"
-                      "movq %%mm1,%%mm4\n"
-                      "pcmpeqd %%mm1,%%mm2\n"
-                      "pcmpeqd %%mm0,%%mm4\n"
-                      "pandn %%mm3,%%mm2\n"
-                      "pandn %%mm5,%%mm4\n"
-                      "movq %%mm2,%%mm3\n"
-                      "movq %%mm4,%%mm5\n"
-                      "pand %%mm6,%%mm2\n"
-                      "pand %%mm6,%%mm4\n"
-                      "pandn %%mm7,%%mm3\n"
-                      "pandn %%mm7,%%mm5\n"
-                      "por %%mm3,%%mm2\n"
-                      "por %%mm5,%%mm4\n"
-
-                      /* set *dst0 */
-                      "movq %%mm2,%%mm3\n"
-                      "punpckldq %%mm4,%%mm2\n"
-                      "punpckhdq %%mm4,%%mm3\n"
-                      "movq %%mm2,(%3)\n"
-                      "movq %%mm3,8(%3)\n"
-
-                      /* next */
-                      "addl $8,%0\n"
-                      "addl $8,%1\n"
-                      "addl $8,%2\n"
-                      "addl $16,%3\n"
-
-                      "decl %4\n"
-                      "jnz 0b\n"
-                      "1:\n"
-
-                      /* final run */
-                      /* set the current, current_pre, current_next registers */
-                      "movq -8(%1),%%mm0\n"
-                      "movq (%1),%%mm7\n"
-                      "pxor %%mm1,%%mm1\n" /* use a fake black out of screen */
-                      "psrlq $32,%%mm0\n"
-                      "psllq $32,%%mm1\n"
-                      "movq %%mm7,%%mm2\n"
-                      "movq %%mm7,%%mm3\n"
-                      "psllq $32,%%mm2\n"
-                      "psrlq $32,%%mm3\n"
-                      "por %%mm2,%%mm0\n"
-                      "por %%mm3,%%mm1\n"
-
-                      /* current_upper */
-                      "movq (%0),%%mm6\n"
-
-                      /* compute the upper-left pixel for dst0 on %%mm2 */
-                      /* compute the upper-right pixel for dst0 on %%mm4 */
-                      "movq %%mm0,%%mm2\n"
-                      "movq %%mm1,%%mm4\n"
-                      "movq %%mm0,%%mm3\n"
-                      "movq %%mm1,%%mm5\n"
-                      "pcmpeqd %%mm6,%%mm2\n"
-                      "pcmpeqd %%mm6,%%mm4\n"
-                      "pcmpeqd (%2),%%mm3\n"
-                      "pcmpeqd (%2),%%mm5\n"
-                      "pandn %%mm2,%%mm3\n"
-                      "pandn %%mm4,%%mm5\n"
-                      "movq %%mm0,%%mm2\n"
-                      "movq %%mm1,%%mm4\n"
-                      "pcmpeqd %%mm1,%%mm2\n"
-                      "pcmpeqd %%mm0,%%mm4\n"
-                      "pandn %%mm3,%%mm2\n"
-                      "pandn %%mm5,%%mm4\n"
-                      "movq %%mm2,%%mm3\n"
-                      "movq %%mm4,%%mm5\n"
-                      "pand %%mm6,%%mm2\n"
-                      "pand %%mm6,%%mm4\n"
-                      "pandn %%mm7,%%mm3\n"
-                      "pandn %%mm7,%%mm5\n"
-                      "por %%mm3,%%mm2\n"
-                      "por %%mm5,%%mm4\n"
-
-                      /* set *dst0 */
-                      "movq %%mm2,%%mm3\n"
-                      "punpckldq %%mm4,%%mm2\n"
-                      "punpckhdq %%mm4,%%mm3\n"
-                      "movq %%mm2,(%3)\n"
-                      "movq %%mm3,8(%3)\n"
-                      "emms\n"
-
-                      : "+r" (src0), "+r" (src1), "+r" (src2), "+r" (dst), "+r" (count)
-                      :
-                      : "cc"
-                      );
-#else
-  __asm {
-    mov eax, src0;
-    mov ebx, src1;
-    mov ecx, src2;
-    mov edx, dst;
-    mov esi, count;
-
-    /* first run */
-    /* set the current, current_pre, current_next registers */
-    pxor mm0,mm0;
-    movq mm7,qword ptr [ebx];
-    movq mm1,qword ptr [ebx + 8];
-    psrlq mm0,32;
-    psllq mm1,32;
-    movq mm2,mm7;
-    movq mm3,mm7;
-    psllq mm2,32;
-    psrlq mm3,32;
-    por mm0,mm2;
-    por mm1,mm3;
-
-    /* current_upper */
-    movq mm6,qword ptr [eax];
-
-    /* compute the upper-left pixel for dst0 on %%mm2 */
-    /* compute the upper-right pixel for dst0 on %%mm4 */
-    movq mm2,mm0;
-    movq mm4,mm1;
-    movq mm3,mm0;
-    movq mm5,mm1;
-    pcmpeqd mm2,mm6;
-    pcmpeqd mm4,mm6;
-    pcmpeqd mm3,qword ptr [ecx];
-    pcmpeqd mm5,qword ptr [ecx];
-    pandn mm3,mm2;
-    pandn mm5,mm4;
-    movq mm2,mm0;
-    movq mm4,mm1;
-    pcmpeqd mm2,mm1;
-    pcmpeqd mm4,mm0;
-    pandn mm2,mm3;
-    pandn mm4,mm5;
-    movq mm3,mm2;
-    movq mm5,mm4;
-    pand mm2,mm6;
-    pand mm4,mm6;
-    pandn mm3,mm7;
-    pandn mm5,mm7;
-    por mm2,mm3;
-    por mm4,mm5;
-
-    /* set *dst0 */
-    movq mm3,mm2;
-    punpckldq mm2,mm4;
-    punpckhdq mm3,mm4;
-    movq qword ptr [edx],mm2;
-    movq qword ptr [edx+8],mm3;
-
-    /* next */
-    add eax,8;
-    add ebx,8;
-    add ecx,8;
-    add edx,16;
-
-    /* central runs */
-    shr esi,1;
-    jz label1;
-label0:
-
-  /* set the current, current_pre, current_next registers */
-    movq mm0,qword ptr [ebx-8];
-    movq mm7,qword ptr [ebx];
-    movq mm1,qword ptr [ebx+8];
-    psrlq mm0,32;
-    psllq mm1,32;
-    movq mm2,mm7;
-    movq mm3,mm7;
-    psllq mm2,32;
-    psrlq mm3,32;
-    por mm0,mm2;
-    por mm1,mm3;
-
-    /* current_upper */
-    movq mm6,qword ptr[eax];
-
-    /* compute the upper-left pixel for dst0 on %%mm2 */
-    /* compute the upper-right pixel for dst0 on %%mm4 */
-    movq mm2,mm0;
-    movq mm4,mm1;
-    movq mm3,mm0;
-    movq mm5,mm1;
-    pcmpeqd mm2,mm6;
-    pcmpeqd mm4,mm6;
-    pcmpeqd mm3,qword ptr[ecx];
-    pcmpeqd mm5,qword ptr[ecx];
-    pandn mm3,mm2;
-    pandn mm5,mm4;
-    movq mm2,mm0;
-    movq mm4,mm1;
-    pcmpeqd mm2,mm1;
-    pcmpeqd mm4,mm0;
-    pandn mm2,mm3;
-    pandn mm4,mm5;
-    movq mm3,mm2;
-    movq mm5,mm4;
-    pand mm2,mm6;
-    pand mm4,mm6;
-    pandn mm3,mm7;
-    pandn mm5,mm7;
-    por mm2,mm3;
-    por mm4,mm5;
-
-    /* set *dst0 */
-    movq mm3,mm2;
-    punpckldq mm2,mm4;
-    punpckhdq mm3,mm4;
-    movq qword ptr [edx],mm2;
-    movq qword ptr [edx+8],mm3;
-
-    /* next */
-    add eax,8;
-    add ebx,8;
-    add ecx,8;
-    add edx,16;
-
-    dec esi;
-    jnz label0;
-label1:
-
-    /* final run */
-    /* set the current, current_pre, current_next registers */
-    movq mm0,qword ptr [ebx-8];
-    movq mm7,qword ptr [ebx];
-    pxor mm1,mm1;
-    psrlq mm0,32;
-    psllq mm1,32;
-    movq mm2,mm7;
-    movq mm3,mm7;
-    psllq mm2,32;
-    psrlq mm3,32;
-    por mm0,mm2;
-    por mm1,mm3;
-
-    /* current_upper */
-    movq mm6,qword ptr [eax];
-
-    /* compute the upper-left pixel for dst0 on %%mm2 */
-    /* compute the upper-right pixel for dst0 on %%mm4 */
-    movq mm2,mm0;
-    movq mm4,mm1;
-    movq mm3,mm0;
-    movq mm5,mm1;
-    pcmpeqd mm2,mm6;
-    pcmpeqd mm4,mm6;
-    pcmpeqd mm3,qword ptr [ecx];
-    pcmpeqd mm5,qword ptr [ecx];
-    pandn mm3,mm2;
-    pandn mm5,mm4;
-    movq mm2,mm0;
-    movq mm4,mm1;
-    pcmpeqd mm2,mm1;
-    pcmpeqd mm4,mm0;
-    pandn mm2,mm3;
-    pandn mm4,mm5;
-    movq mm3,mm2;
-    movq mm5,mm4;
-    pand mm2,mm6;
-    pand mm4,mm6;
-    pandn mm3,mm7;
-    pandn mm5,mm7;
-    por mm2,mm3;
-    por mm4,mm5;
-
-    /* set *dst0 */
-    movq mm3,mm2;
-    punpckldq mm2,mm4;
-    punpckhdq mm3,mm4;
-    movq qword ptr [edx],mm2;
-    movq qword ptr [edx+8],mm3;
-
-    mov src0, eax;
-    mov src1, ebx;
-    mov src2, ecx;
-    mov dst, edx;
-    mov count, esi;
-
-    emms;
-  }
-#endif
-}
-
-static void internal_scale2x_16_mmx(u16* dst0, u16* dst1, const u16* src0, const u16* src1, const u16* src2, unsigned count) {
-  //   assert( count >= 2*4 );
-  internal_scale2x_16_mmx_single(dst0, src0, src1, src2, count);
-  internal_scale2x_16_mmx_single(dst1, src2, src1, src0, count);
-}
-
-static void internal_scale2x_32_mmx(u32* dst0, u32* dst1, const u32* src0, const u32* src1, const u32* src2, unsigned count) {
-  //   assert( count >= 2*2 );
-  internal_scale2x_32_mmx_single(dst0, src0, src1, src2, count);
-  internal_scale2x_32_mmx_single(dst1, src2, src1, src0, count);
-}
-#endif
-
-void AdMame2x(u8 *srcPtr, u32 srcPitch, /* u8 deltaPtr, */
-             u8 *dstPtr, u32 dstPitch, int width, int height)
-{
-  u16 *dst0 = (u16 *)dstPtr;
-  u16 *dst1 = dst0 + (dstPitch/2);
-
-  u16 *src0 = (u16 *)srcPtr;
-  u16 *src1 = src0 + (srcPitch/2);
-  u16 *src2 = src1 + (srcPitch/2);
-#ifdef MMX
-  if(cpu_mmx) {
-    internal_scale2x_16_mmx(dst0, dst1, src0, src0, src1, width);
-
-    {
-    int count = height;
-
-    count -= 2;
-    while(count) {
-      dst0 += dstPitch;
-      dst1 += dstPitch;
-      internal_scale2x_16_mmx(dst0, dst1, src0, src1, src2, width);
-      src0 = src1;
-      src1 = src2;
-      src2 += srcPitch/2;
-      --count;
-    }
-    }
-    dst0 += dstPitch;
-    dst1 += dstPitch;
-    internal_scale2x_16_mmx(dst0, dst1, src0, src1, src1, width);
-  } else {
-#endif
-    internal_scale2x_16_def(dst0, dst1, src0, src0, src1, width);
-
-    {
-    int count = height;
-
-    count -= 2;
-    while(count) {
-      dst0 += dstPitch;
-      dst1 += dstPitch;
-      internal_scale2x_16_def(dst0, dst1, src0, src1, src2, width);
-      src0 = src1;
-      src1 = src2;
-      src2 += srcPitch/2;
-      --count;
-    }
-    }
-    dst0 += dstPitch;
-    dst1 += dstPitch;
-    internal_scale2x_16_def(dst0, dst1, src0, src1, src1, width);
-#ifdef MMX
-  }
-#endif
-}
-
-void AdMame2x32(u8 *srcPtr, u32 srcPitch, /* u8 deltaPtr, */
-               u8 *dstPtr, u32 dstPitch, int width, int height)
-{
-  u32 *dst0 = (u32 *)dstPtr;
-  u32 *dst1 = dst0 + (dstPitch/4);
-
-  u32 *src0 = (u32 *)srcPtr;
-  u32 *src1 = src0 + (srcPitch/4);
-  u32 *src2 = src1 + (srcPitch/4);
-#ifdef MMX
-  if(cpu_mmx) {
-    internal_scale2x_32_mmx(dst0, dst1, src0, src0, src1, width);
-
-    {
-    int count = height;
-
-    count -= 2;
-    while(count) {
-      dst0 += dstPitch/2;
-      dst1 += dstPitch/2;
-      internal_scale2x_32_mmx(dst0, dst1, src0, src1, src2, width);
-      src0 = src1;
-      src1 = src2;
-      src2 += srcPitch/4;
-      --count;
-    }
-    }
-    dst0 += dstPitch/2;
-    dst1 += dstPitch/2;
-    internal_scale2x_32_mmx(dst0, dst1, src0, src1, src1, width);
-  } else {
-#endif
-    internal_scale2x_32_def(dst0, dst1, src0, src0, src1, width);
-    {
-    int count = height;
-
-    count -= 2;
-    while(count) {
-      dst0 += dstPitch/2;
-      dst1 += dstPitch/2;
-      internal_scale2x_32_def(dst0, dst1, src0, src1, src2, width);
-      src0 = src1;
-      src1 = src2;
-      src2 += srcPitch/4;
-      --count;
-    }
-    }
-    dst0 += dstPitch/2;
-    dst1 += dstPitch/2;
-    internal_scale2x_32_def(dst0, dst1, src0, src1, src1, width);
-#ifdef MMX
-  }
-#endif
-}
-
-
-
-unsigned int LUT16to32[65536];
-unsigned int RGBtoYUV[65536];
-
-void hq_init(void)
-{
-    int i, j, k, r, g, b, Y, u, v;
-
-    for (i=0; i<65536; i++)
-       LUT16to32[i] = ((i & 0xF800) << 8) + ((i & 0x07E0) << 5) + ((i & 0x001F) << 3);
-
-    for (i=0; i<32; i++) {
-       for (j=0; j<64; j++) {
-           for (k=0; k<32; k++) {
-               r = i << 3;
-               g = j << 2;
-               b = k << 3;
-               Y = (r + g + b) >> 2;
-               u = 128 + ((r - b) >> 2);
-               v = 128 + ((-r + 2*g -b)>>3);
-               RGBtoYUV[ (i << 11) + (j << 5) + k ] = (Y<<16) + (u<<8) + v;
-           }
-       }
-    }
-}
-
diff --git a/od-win32/scaler_more.cpp b/od-win32/scaler_more.cpp
deleted file mode 100644 (file)
index 22314d2..0000000
+++ /dev/null
@@ -1,387 +0,0 @@
-
-#include "sysconfig.h"
-#include "sysdeps.h"
-
-#include "options.h"
-#include "filter.h"
-#include "custom.h"
-#include "xwin.h"
-
-#include <math.h>
-
-static uae_s32 line_yuv_0[4096 * 3];
-static uae_s32 line_yuv_1[4096 * 3];
-static uae_u32 randomtable[4096];
-uae_u32 redc[3 * 256], grec[3 * 256], bluc[3 * 256];
-static uae_u32 *predc, *pgrec, *pbluc;
-static int randomoffset, randomshift;
-static int xx1, xx2, xx3, pal_noise_mask, scanlinelevel;
-
-uae_s32 tyhrgb[65536];
-uae_s32 tylrgb[65536];
-uae_s32 tcbrgb[65536];
-uae_s32 tcrrgb[65536];
-
-void PAL_init(int monid)
-{
-       struct amigadisplay *ad = &adisplays[0];
-
-       for (int i = 0; i < 4096; i++)
-               randomtable[i] = rand() | (rand() << 15);
-       predc = &redc[1 * 256];
-       pgrec = &grec[1 * 256];
-       pbluc = &bluc[1 * 256];
-
-       if (currprefs.gfx_resolution == 0) {
-               xx1 = 1;
-               xx2 = 2;
-               xx3 = 3;
-       } else {
-               xx1 = 2;
-               xx2 = 5;
-               xx3 = 7;
-       }
-       pal_noise_mask = (1 << (currprefs.gf[ad->gf_index].gfx_filter_noise * 7 / 100)) - 1;
-       scanlinelevel = 128 - currprefs.gf[ad->gf_index].gfx_filter_scanlines * 128 / 100;
-}
-
-#if 0
-#define mm 256 * 256
-#define sat 256
-STATIC_INLINE int zyh(uae_u32 v)
-{
-       return ((v >> 24) & 0xff) * mm;
-}
-STATIC_INLINE int zyl(uae_u32 v)
-{
-       return ((v >> 16) & 0xff) * mm;
-}
-STATIC_INLINE int zcb(uae_u32 v)
-{
-       return ((int)((uae_s8)(v >> 8))) * sat;
-}
-STATIC_INLINE int zcr(uae_u32 v)
-{
-       return ((int)((uae_s8)(v >> 0))) * sat;
-}
-#endif
-
-STATIC_INLINE int zyhRGB(uae_u32 v)
-{
-       return tyhrgb[v];
-}
-STATIC_INLINE int zylRGB(uae_u32 v)
-{
-       return tylrgb[v];
-}
-STATIC_INLINE int zcbRGB(uae_u32 v)
-{
-       return tcbrgb[v];
-}
-STATIC_INLINE int zcrRGB(uae_u32 v)
-{
-       return tcrrgb[v];
-}
-
-#if 0
-void PAL_1x1_32(uae_u32 *src, int pitchs, uae_u32 *trg, int pitcht, int width, int height)
-{
-       const uae_u32 *tmpsrc;
-       uae_u32 *tmptrg;
-       uae_s32 *lineptr0;
-       uae_s32 *lineptr1;
-       uae_s32 *line;
-       uae_s32 *linepre;
-       unsigned int x, y, wstart, wfast, wend, wint;
-       int l, u, v;
-       int red, grn, blu;
-       int xt = 0;
-       int yt = 0;
-       int xs = 0;
-       int ys = 0;
-
-       pitchs /= sizeof (*trg);
-       pitcht /= sizeof (*trg);
-
-       src = src + pitchs * ys + xs - 2;
-       trg = trg + pitcht * yt + xt;
-       if (width < 8) {
-               wstart = width;
-               wfast = 0;
-               wend = 0;
-       } else {
-               /* alignment: 8 pixels*/
-               wstart = (unsigned int)(8 - ((unsigned long)trg & 7));
-               wfast = (width - wstart) >> 3; /* fast loop for 8 pixel segments*/
-               wend = (width - wstart) & 0x07; /* do not forget the rest*/
-       }
-       wint = width + 5;
-       lineptr0 = line_yuv_0;
-       lineptr1 = line_yuv_1;
-
-       tmpsrc = src - pitchs;
-       line = lineptr0;
-       for (x = 0; x < wint; x++) {
-               uae_u32 cl0, cl1, cl2, cl3;
-
-               cl0 = tmpsrc[0];
-               cl1 = tmpsrc[xx1];
-               cl2 = tmpsrc[xx2];
-               cl3 = tmpsrc[xx3];
-               line[0] = 0;
-               line[1] = zcb(cl0) + zcb(cl1) + zcb(cl2) + zcb(cl3);
-               line[2] = zcr(cl0) + zcr(cl1) + zcr(cl2) + zcr(cl3);
-               tmpsrc++;
-               line += 3;
-       }
-
-       for (y = 0; y < height; y++) {
-               int scn = (y & 1) ? scanlinelevel : 128;
-               randomshift = rand() & 15;
-               randomoffset = rand() & 2047;
-
-               tmpsrc = src;
-               tmptrg = trg;
-
-               line = lineptr0;
-               lineptr0 = lineptr1;
-               lineptr1 = line;
-
-               tmpsrc = src;
-               line = lineptr0;
-               for (x = 0; x < wint; x++) {
-                       int r = (randomtable[randomoffset++] >> randomshift) & pal_noise_mask;
-                       uae_u32 cl0, cl1, cl2, cl3;
-                       cl0 = tmpsrc[0];
-                       cl1 = tmpsrc[xx1];
-                       cl2 = tmpsrc[xx2];
-                       cl3 = tmpsrc[xx3];
-                       line[0] = (zyl(cl1) + zyh(cl2) * (scn - r) / 128 + zyl(cl3)) / 256; /* 1/4 + 1/2 + 1/4 */
-                       line[1] = zcb(cl0) + zcb(cl1) + zcb(cl2) + zcb(cl3);
-                       line[2] = zcr(cl0) + zcr(cl1) + zcr(cl2) + zcr(cl3);
-                       tmpsrc++;
-                       line += 3;
-               }
-
-               line = lineptr0;
-               linepre = lineptr1;
-               for (x = 0; x < (wfast << 3) + wend + wstart; x++) {
-
-                       l = line[0];
-                       u = (line[1] + linepre[1]) / 8;
-                       v = (line[2] + linepre[2]) / 8;
-                       line += 3;
-                       linepre += 3;
-
-                       red = (v + l) / 256;
-                       blu = (u + l) / 256;
-                       grn = (l * 256 - 50 * u - 130 * v) / (256 * 256);
-                       *tmptrg++ = predc[red] | pgrec[grn] | pbluc[blu];
-               }
-
-               src += pitchs;
-               trg += pitcht;
-       }
-}
-#endif
-
-void PAL_1x1_32(uae_u32 *src, int pitchs, uae_u32 *trg, int pitcht, int width, int height)
-{
-       const uae_u32 *tmpsrc;
-       uae_u32 *tmptrg;
-       uae_s32 *lineptr0;
-       uae_s32 *lineptr1;
-       uae_s32 *line;
-       uae_s32 *linepre;
-       unsigned int x, y, wstart, wfast, wend, wint;
-       int l, u, v;
-       int red, grn, blu;
-       int xt = 0;
-       int yt = 0;
-       int xs = 0;
-       int ys = 0;
-
-       pitchs /= sizeof (*trg);
-       pitcht /= sizeof (*trg);
-
-       src = src + pitchs * ys + xs - 2;
-       trg = trg + pitcht * yt + xt + 2;
-
-       if (width < 8) {
-               wstart = width;
-               wfast = 0;
-               wend = 0;
-       } else {
-               /* alignment: 8 pixels*/
-               wstart = (unsigned int)(8 - ((size_t)trg & 7));
-               wfast = (width - wstart) >> 3; /* fast loop for 8 pixel segments*/
-               wend = (width - wstart) & 0x07; /* do not forget the rest*/
-       }
-       wint = width + 5;
-       lineptr0 = line_yuv_0;
-       lineptr1 = line_yuv_1;
-
-       tmpsrc = src - pitchs;
-       line = lineptr0;
-       for (x = 0; x < wint; x++) {
-               uae_u32 cl0, cl1, cl2, cl3;
-
-               cl0 = tmpsrc[0];
-               cl1 = tmpsrc[xx1];
-               cl2 = tmpsrc[xx2];
-               cl3 = tmpsrc[xx3];
-               line[0] = 0;
-               line[1] = zcbRGB(cl0) + zcbRGB(cl1) + zcbRGB(cl2) + zcbRGB(cl3);
-               line[2] = zcrRGB(cl0) + zcrRGB(cl1) + zcrRGB(cl2) + zcrRGB(cl3);
-               tmpsrc++;
-               line += 3;
-       }
-
-       for (y = 0; y < height; y++) {
-               int scn = (y & 1) ? scanlinelevel : 128;
-               randomshift = rand() & 15;
-               randomoffset = rand() & 2047;
-
-               tmpsrc = src;
-               tmptrg = trg;
-
-               line = lineptr0;
-               lineptr0 = lineptr1;
-               lineptr1 = line;
-
-               tmpsrc = src;
-               line = lineptr0;
-               for (x = 0; x < wint; x++) {
-                       int r = (randomtable[randomoffset++] >> randomshift) & pal_noise_mask;
-                       uae_u32 cl0, cl1, cl2, cl3;
-                       cl0 = tmpsrc[0];
-                       cl1 = tmpsrc[xx1];
-                       cl2 = tmpsrc[xx2];
-                       cl3 = tmpsrc[xx3];
-                       line[0] = (zylRGB(cl1) + zyhRGB(cl2) * (scn - r) / 128 + zylRGB(cl3)) / 256; /* 1/4 + 1/2 + 1/4 */
-                       line[1] = zcbRGB(cl0) + zcbRGB(cl1) + zcbRGB(cl2) + zcbRGB(cl3);
-                       line[2] = zcrRGB(cl0) + zcrRGB(cl1) + zcrRGB(cl2) + zcrRGB(cl3);
-                       tmpsrc++;
-                       line += 3;
-               }
-
-               line = lineptr0;
-               linepre = lineptr1;
-               for (x = 0; x < (wfast << 3) + wend + wstart - 2; x++) {
-
-                       l = line[0];
-                       u = (line[1] + linepre[1]) / 8;
-                       v = (line[2] + linepre[2]) / 8;
-                       line += 3;
-                       linepre += 3;
-
-                       red = (v + l) / 256;
-                       blu = (u + l) / 256;
-                       grn = (l * 256 - 50 * u - 130 * v) / (256 * 256);
-                       *tmptrg++ = predc[red] | pgrec[grn] | pbluc[blu];
-               }
-
-               src += pitchs;
-               trg += pitcht;
-       }
-}
-
-void PAL_1x1_16(uae_u16 *src, int pitchs, uae_u16 *trg, int pitcht, int width, int height)
-{
-       const uae_u16 *tmpsrc;
-       uae_u16 *tmptrg;
-       uae_s32 *lineptr0;
-       uae_s32 *lineptr1;
-       uae_s32 *line;
-       uae_s32 *linepre;
-       unsigned int x, y, wstart, wfast, wend, wint;
-       int l, u, v;
-       int red, grn, blu;
-       int xt = 0;
-       int yt = 0;
-       int xs = 0;
-       int ys = 0;
-
-       pitchs /= sizeof (*trg);
-       pitcht /= sizeof (*trg);
-
-       src = src + pitchs * ys + xs - 2;
-       trg = trg + pitcht * yt + xt + 2;
-       if (width < 8) {
-               wstart = width;
-               wfast = 0;
-               wend = 0;
-       } else {
-               /* alignment: 8 pixels*/
-               wstart = (unsigned int)(8 - ((size_t)trg & 7));
-               wfast = (width - wstart) >> 3; /* fast loop for 8 pixel segments*/
-               wend = (width - wstart) & 0x07; /* do not forget the rest*/
-       }
-       wint = width + 5;
-       lineptr0 = line_yuv_0;
-       lineptr1 = line_yuv_1;
-
-       tmpsrc = src - pitchs;
-       line = lineptr0;
-       for (x = 0; x < wint; x++) {
-               uae_u32 cl0, cl1, cl2, cl3;
-
-               cl0 = tmpsrc[0];
-               cl1 = tmpsrc[xx1];
-               cl2 = tmpsrc[xx2];
-               cl3 = tmpsrc[xx3];
-               line[0] = 0;
-               line[1] = zcbRGB(cl0) + zcbRGB(cl1) + zcbRGB(cl2) + zcbRGB(cl3);
-               line[2] = zcrRGB(cl0) + zcrRGB(cl1) + zcrRGB(cl2) + zcrRGB(cl3);
-               tmpsrc++;
-               line += 3;
-       }
-
-       for (y = 0; y < height; y++) {
-               int scn = (y & 1) ? scanlinelevel : 128;
-               randomshift = rand() & 15;
-               randomoffset = rand() & 2047;
-
-               tmpsrc = src;
-               tmptrg = trg;
-
-               line = lineptr0;
-               lineptr0 = lineptr1;
-               lineptr1 = line;
-
-               tmpsrc = src;
-               line = lineptr0;
-               for (x = 0; x < wint; x++) {
-                       int r = (randomtable[randomoffset++] >> randomshift) & pal_noise_mask;
-                       uae_u32 cl0, cl1, cl2, cl3;
-                       cl0 = tmpsrc[0];
-                       cl1 = tmpsrc[xx1];
-                       cl2 = tmpsrc[xx2];
-                       cl3 = tmpsrc[xx3];
-                       line[0] = (zylRGB(cl1) + zyhRGB(cl2) * (scn - r) / 128 + zylRGB(cl3)) / 256; /* 1/4 + 1/2 + 1/4 */
-                       line[1] = zcbRGB(cl0) + zcbRGB(cl1) + zcbRGB(cl2) + zcbRGB(cl3);
-                       line[2] = zcrRGB(cl0) + zcrRGB(cl1) + zcrRGB(cl2) + zcrRGB(cl3);
-                       tmpsrc++;
-                       line += 3;
-               }
-
-               line = lineptr0;
-               linepre = lineptr1;
-               for (x = 0; x < (wfast << 3) + wend + wstart - 2; x++) {
-
-                       l = line[0];
-                       u = (line[1] + linepre[1]) / 8;
-                       v = (line[2] + linepre[2]) / 8;
-                       line += 3;
-                       linepre += 3;
-
-                       red = (v + l) / 256;
-                       blu = (u + l) / 256;
-                       grn = (l * 256 - 50 * u - 130 * v) / (256 * 256);
-                       *tmptrg++ = predc[red] | pgrec[grn] | pbluc[blu];
-               }
-
-               src += pitchs;
-               trg += pitcht;
-       }
-}
index d3248482b51fb8f4460acb5306563eb67fcf1dba..2892dc55f269bd8071ef997c39626e35a23b62dd 100644 (file)
@@ -21,7 +21,8 @@
 
 struct uae_filter uaefilters[] =
 {
-       { UAE_FILTER_NULL, 0, 1, _T("Null filter"), _T("null"), UAE_FILTER_MODE_16_16 | UAE_FILTER_MODE_32_32 },
+#if 0
+       { UAE_FILTER_NULL, 0, 1, _T("-"), _T("null"), UAE_FILTER_MODE_16_16 | UAE_FILTER_MODE_32_32 },
 
        { UAE_FILTER_SCALE2X, 0, 2, _T("Scale2X"), _T("scale2x"), UAE_FILTER_MODE_16_16 | UAE_FILTER_MODE_32_32 },
 
@@ -38,7 +39,7 @@ struct uae_filter uaefilters[] =
        { UAE_FILTER_2XSAI, 0, 2, _T("2xSaI"), _T("2xsai"), UAE_FILTER_MODE_16_16 | UAE_FILTER_MODE_16_32 },
 
        { UAE_FILTER_PAL, 1, 1, _T("PAL"), _T("pal"), UAE_FILTER_MODE_16_16 | UAE_FILTER_MODE_32_32 },
-
+#endif
        { 0 }
 };
 
@@ -898,6 +899,7 @@ uae_u8 *getfilterbuffer(int monid, int *widthp, int *heightp, int *pitch, int *d
 #endif
 }
 
+#if 0
 void S2X_configure(int monid, int rb, int gb, int bb, int rs, int gs, int bs)
 {
        if (monid)
@@ -1228,3 +1230,5 @@ int S2X_getmult(int monid)
 }
 
 #endif
+
+#endif
index 4ea692e79e11bf380b14e69d9ae60945b8d5c6c3..206ec62362020ac841ffe9b40b905c89d2073dd4 100644 (file)
@@ -74,7 +74,6 @@
 #define DM_D3D_FULLSCREEN 16
 #define DM_PICASSO96 32
 #define DM_D3D 256
-#define DM_SWSCALE 1024
 
 #define SM_WINDOW 0
 #define SM_FULLSCREEN_DX 2
@@ -1278,9 +1277,6 @@ bool render_screen(int monid, int mode, bool immediate)
        gfx_lock();
        if (mon->currentmode.flags & DM_D3D) {
                v = D3D_renderframe(monid, mode, immediate);
-       } else if (mon->currentmode.flags & DM_SWSCALE) {
-               S2X_render(monid, -1, -1);
-               v = true;
        }
        mon->render_ok = v;
        gfx_unlock();
@@ -1458,11 +1454,9 @@ bool lockscr3d(struct vidbuffer *vb)
 {
        struct AmigaMonitor *mon = &AMonitors[vb->monitor_id];
        if (mon->currentmode.flags & DM_D3D) {
-               if (!(mon->currentmode.flags & DM_SWSCALE)) {
-                       vb->bufmem = D3D_locktexture(vb->monitor_id, &vb->rowbytes, NULL, NULL, false);
-                       if (vb->bufmem) 
-                               return true;
-               }
+               vb->bufmem = D3D_locktexture(vb->monitor_id, &vb->rowbytes, NULL, NULL, false);
+               if (vb->bufmem) 
+                       return true;
        }
        return false;
 }
@@ -1471,42 +1465,33 @@ void unlockscr3d(struct vidbuffer *vb)
 {
        struct AmigaMonitor *mon = &AMonitors[vb->monitor_id];
        if (mon->currentmode.flags & DM_D3D) {
-               if (!(mon->currentmode.flags & DM_SWSCALE)) {
-                       D3D_unlocktexture(vb->monitor_id, -1, -1);
-               }
+               D3D_unlocktexture(vb->monitor_id, -1, -1);
        }
 }
 
-int lockscr(struct vidbuffer *vb, bool fullupdate, bool first, bool skip)
+int lockscr(struct vidbuffer *vb, bool fullupdate, bool skip)
 {
        struct AmigaMonitor *mon = &AMonitors[vb->monitor_id];
        int ret = 0;
 
-       if (!isscreen(mon))
+       if (!isscreen(mon)) {
                return ret;
-#if 0
-       flushymin = mon->currentmode.amiga_height;
-       flushymax = 0;
-#endif
+       }
        gfx_lock();
-       ret = 1;
-       if (mon->currentmode.flags & DM_D3D) {
-#ifdef D3D
-               if (mon->currentmode.flags & DM_SWSCALE) {
+       if (vb->vram_buffer) {
+               D3D_unlocktexture(vb->monitor_id, -1, -1);
+               vb->bufmem = D3D_locktexture(vb->monitor_id, &vb->rowbytes, NULL, NULL, skip ? -1 : (fullupdate ? 1 : 0));
+               if (vb->bufmem) {
                        ret = 1;
-               } else {
-                       ret = 0;
-                       vb->bufmem = D3D_locktexture(vb->monitor_id, &vb->rowbytes, NULL, NULL, skip ? -1 : (fullupdate ? 1 : 0));
-                       if (vb->bufmem) {
-                               if (first)
-                                       init_row_map();
-                               ret = 1;
-                       }
                }
-#endif
-       } else if (mon->currentmode.flags & DM_SWSCALE) {
+               vb->width_allocated = mon->currentmode.native_width;
+               vb->height_allocated = mon->currentmode.native_height;
+       } else {
                ret = 1;
        }
+       if (ret) {
+               vb->locked = true;
+       }
        gfx_unlock();
        return ret;
 }
@@ -1515,14 +1500,11 @@ void unlockscr(struct vidbuffer *vb, int y_start, int y_end)
 {
        struct AmigaMonitor *mon = &AMonitors[vb->monitor_id];
        gfx_lock();
-       if (mon->currentmode.flags & DM_D3D) {
-               if (mon->currentmode.flags & DM_SWSCALE) {
-                       S2X_render(vb->monitor_id, y_start, y_end);
-               } else {
-                       vb->bufmem = NULL;
-               }
+       if (vb->vram_buffer) {
+               vb->bufmem = NULL;
                D3D_unlocktexture(vb->monitor_id, y_start, y_end);
        }
+       vb->locked = false;
        gfx_unlock();
 }
 
@@ -1530,7 +1512,7 @@ void flush_clear_screen (struct vidbuffer *vb)
 {
        if (!vb)
                return;
-       if (lockscr(vb, true, true, false)) {
+       if (lockscr(vb, true, false)) {
                int y;
                for (y = 0; y < vb->height_allocated; y++) {
                        memset(vb->bufmem + y * vb->rowbytes, 0, vb->width_allocated * vb->pixbytes);
@@ -1821,21 +1803,12 @@ static void updatemodes(struct AmigaMonitor *mon)
                flags |= DM_DX_FULLSCREEN;
        else if (isfullscreen () < 0)
                flags |= DM_W_FULLSCREEN;
-#if defined (GFXFILTER)
-       if (usedfilter) {
-               flags |= DM_SWSCALE;
-               if (mon->currentmode.current_depth < 15)
-                       mon->currentmode.current_depth = 16;
-       }
-#endif
        flags |= DM_D3D;
        if (flags & DM_DX_FULLSCREEN) {
                flags &= ~DM_DX_FULLSCREEN;
                flags |= DM_D3D_FULLSCREEN;
        }
        mon->currentmode.flags = flags;
-       if (flags & DM_SWSCALE)
-               mon->currentmode.fullfill = 1;
        if (flags & DM_W_FULLSCREEN) {
                RECT rc = getdisplay(&currprefs, mon->monitor_id)->rect;
                mon->currentmode.native_width = rc.right - rc.left;
@@ -2427,7 +2400,9 @@ int check_prefs_changed_gfx(void)
                                } else {
                                        c |= 16;
                                        reset_drawing();
+#if 0
                                        S2X_reset(mon->monitor_id);
+#endif
                                }
                        }
                        if (c & 1024) {
@@ -2686,7 +2661,7 @@ void init_colors(int monid)
        }
        alloc_colors64k(monid, red_bits, green_bits, blue_bits, red_shift,green_shift, blue_shift, alpha_bits, alpha_shift, alpha, 0, mon->usedfilter && mon->usedfilter->yuv);
        notice_new_xcolors ();
-#ifdef GFXFILTER
+#if 0
        S2X_configure(monid, red_bits, green_bits, blue_bits, red_shift,green_shift, blue_shift);
 #endif
 #ifdef AVIOUTPUT
@@ -3202,7 +3177,7 @@ void close_windows(struct AmigaMonitor *mon)
 
        setDwmEnableMMCSS (FALSE);
        reset_sound ();
-#if defined (GFXFILTER)
+#if 0
        S2X_free(mon->monitor_id);
 #endif
        freevidbuffer(mon->monitor_id, &avidinfo->drawbuffer);
@@ -3905,20 +3880,18 @@ static void allocsoftbuffer(int monid, const TCHAR *name, struct vidbuffer *buf,
        buf->width_allocated = (width + 7) & ~7;
        buf->height_allocated = height;
 
-       if (!(flags & DM_SWSCALE)) {
-
-               if (buf != &vidinfo->drawbuffer)
-                       return;
+       if (buf == &vidinfo->drawbuffer) {
 
                buf->bufmem = NULL;
                buf->bufmemend = NULL;
                buf->realbufmem = NULL;
                buf->bufmem_allocated = NULL;
                buf->bufmem_lockable = true;
+               buf->vram_buffer = true;
 
-               write_log (_T("Mon %d reserved %s temp buffer (%d*%d*%d)\n"), monid, name, width, height, depth);
+               write_log(_T("Mon %d reserved %s draw buffer (%d*%d*%d)\n"), monid, name, width, height, depth);
 
-       } else if (flags & DM_SWSCALE) {
+       } else {
 
                int w = buf->width_allocated;
                int h = buf->height_allocated;
@@ -3929,8 +3902,10 @@ static void allocsoftbuffer(int monid, const TCHAR *name, struct vidbuffer *buf,
                buf->bufmemend = buf->realbufmem + size - buf->rowbytes;
                buf->bufmem_lockable = true;
 
-               write_log (_T("Mon %d allocated %s temp buffer (%d*%d*%d) = %p\n"), monid, name, width, height, depth, buf->realbufmem);
+               write_log(_T("Mon %d allocated %s temp buffer (%d*%d*%d) = %p\n"), monid, name, width, height, depth, buf->realbufmem);
+               return;
        }
+
 }
 
 static int oldtex_w[MAX_AMIGAMONITORS], oldtex_h[MAX_AMIGAMONITORS], oldtex_rtg[MAX_AMIGAMONITORS];
@@ -3983,7 +3958,7 @@ retry:
                        //gfxvidinfo.drawbuffer.gfx_resolution_reserved = RES_SUPERHIRES;
 
 #if defined (GFXFILTER)
-                       if (mon->currentmode.flags & (DM_D3D | DM_SWSCALE)) {
+                       if (mon->currentmode.flags & DM_D3D) {
                                if (!currprefs.gfx_autoresolution) {
                                        mon->currentmode.amiga_width = AMIGA_WIDTH_MAX << currprefs.gfx_resolution;
                                        mon->currentmode.amiga_height = AMIGA_HEIGHT_MAX << currprefs.gfx_vresolution;
@@ -3999,13 +3974,7 @@ retry:
                                avidinfo->drawbuffer.inwidth = avidinfo->drawbuffer.outwidth = mon->currentmode.amiga_width;
                                avidinfo->drawbuffer.inheight = avidinfo->drawbuffer.outheight = mon->currentmode.amiga_height;
 
-                               if (usedfilter) {
-                                       if ((usedfilter->flags & (UAE_FILTER_MODE_16 | UAE_FILTER_MODE_32)) == (UAE_FILTER_MODE_16 | UAE_FILTER_MODE_32)) {
-                                               mon->currentmode.current_depth = mon->currentmode.native_depth;
-                                       } else {
-                                               mon->currentmode.current_depth = (usedfilter->flags & UAE_FILTER_MODE_32) ? 32 : 16;
-                                       }
-                               }
+                               mon->currentmode.current_depth = mon->currentmode.native_depth;
                                mon->currentmode.pitch = mon->currentmode.amiga_width * mon->currentmode.current_depth >> 3;
                        }
                        else
@@ -4037,23 +4006,27 @@ retry:
        avidinfo->drawbuffer.bufmem_lockable = false;
 
        avidinfo->outbuffer = &avidinfo->drawbuffer;
-       avidinfo->inbuffer = &avidinfo->drawbuffer;
 
        if (!mon->screen_is_picasso) {
 
                allocsoftbuffer(mon->monitor_id, _T("draw"), &avidinfo->drawbuffer, mon->currentmode.flags,
                        1920, 1280, mon->currentmode.current_depth);
-               if (currprefs.monitoremu || currprefs.cs_cd32fmv || ((currprefs.genlock || currprefs.genlock_effects) && currprefs.genlock_image) || currprefs.cs_color_burst || currprefs.gfx_grayscale) {
+               avidinfo->inbuffer = &avidinfo->drawbuffer;
+               if (currprefs.monitoremu || currprefs.cs_cd32fmv || ((currprefs.genlock || currprefs.genlock_effects) && currprefs.genlock_image) ||
+                       currprefs.cs_color_burst || currprefs.gfx_grayscale || currprefs.monitoremu) {
                        allocsoftbuffer(mon->monitor_id, _T("monemu"), &avidinfo->tempbuffer, mon->currentmode.flags,
                                mon->currentmode.amiga_width > 1024 ? mon->currentmode.amiga_width : 1024,
                                mon->currentmode.amiga_height > 1024 ? mon->currentmode.amiga_height : 1024,
                                mon->currentmode.current_depth);
+                       avidinfo->inbuffer = &avidinfo->tempbuffer;
                }
 
-               init_row_map ();
+               //init_row_map ();
        }
 
+#if 0
        S2X_free(mon->monitor_id);
+#endif
        if (!D3D_isenabled(mon->monitor_id)) {
                for (int i = 0; i < MAX_AMIGAMONITORS; i++) {
                        oldtex_w[i] = oldtex_h[i] = -1;
@@ -4165,8 +4138,12 @@ bool target_graphics_buffer_update(int monid, bool force)
                w = state->Width;
                h = state->Height;
        } else {
-               struct vidbuffer *vb = avidinfo->drawbuffer.tempbufferinuse ? &avidinfo->tempbuffer : &avidinfo->drawbuffer;
-               avidinfo->outbuffer = vb;
+               //struct vidbuffer *vb = avidinfo->drawbuffer.tempbufferinuse ? &avidinfo->tempbuffer : &avidinfo->drawbuffer;
+               //avidinfo->outbuffer = vb;
+               struct vidbuffer *vb = avidinfo->inbuffer;
+               if (!vb) {
+                       return false;
+               }
                w = vb->outwidth;
                h = vb->outheight;
        }
@@ -4183,12 +4160,21 @@ bool target_graphics_buffer_update(int monid, bool force)
                return false;
        }
 
+#if 0
        S2X_free(mon->monitor_id);
+#endif
        if (!D3D_alloctexture(mon->monitor_id, w, h)) {
                graphicsbuffer_retry = true;
                return false;
        }
 
+       if (avidinfo->inbuffer != avidinfo->outbuffer) {
+               avidinfo->outbuffer->inwidth = w;
+               avidinfo->outbuffer->inheight = h;
+               avidinfo->outbuffer->width_allocated = w;
+               avidinfo->outbuffer->height_allocated = h;
+       }
+
        oldtex_w[monid] = w;
        oldtex_h[monid] = h;
        oldtex_rtg[monid] = mon->screen_is_picasso;
@@ -4196,10 +4182,12 @@ bool target_graphics_buffer_update(int monid, bool force)
 
        write_log (_T("Buffer %d size (%d*%d) %s\n"), monid, w, h, mon->screen_is_picasso ? _T("RTG") : _T("Native"));
 
+#if 0
        if ((mon->currentmode.flags & DM_SWSCALE) && !mon->screen_is_picasso) {
                if (!S2X_init(mon->monitor_id, mon->currentmode.native_width, mon->currentmode.native_height, mon->currentmode.native_depth))
                        return false;
        }
+#endif
        return true;
 }
 
index fb6e8074afdb2e63c340b7c34ec50fb1510f7dc6..4cf80af6374cf6074f0e7627319b1fac30e8cf48 100644 (file)
     <ClCompile Include="..\registry.cpp" />
     <ClCompile Include="..\cloanto\RetroPlatformGuestIPC.cpp" />
     <ClCompile Include="..\rp.cpp" />
-    <ClCompile Include="..\scaler.cpp" />
-    <ClCompile Include="..\scaler_more.cpp" />
     <ClCompile Include="..\screenshot.cpp" />
     <ClCompile Include="..\serial_win32.cpp" />
     <ClCompile Include="..\sounddep\sound.cpp" />
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='FullRelease|x64'">true</ExcludedFromBuild>
       <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='FullRelease|ARM64EC'">true</ExcludedFromBuild>
     </CustomBuild>
-    <CustomBuild Include="..\hq2x16.asm">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Test|Win32'">false</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='FullRelease|Win32'">false</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Test|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Test|ARM64EC'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ARM64EC'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='FullRelease|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='FullRelease|ARM64EC'">true</ExcludedFromBuild>
-      <FileType>Document</FileType>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Test|Win32'">nasm -w-orphan-labels -f win32 %(FullPath) -o $(IntDir)%(filename).obj</Command>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">nasm -w-orphan-labels -f win32 %(FullPath) -o $(IntDir)%(filename).obj</Command>
-      <Command Condition="'$(Configuration)|$(Platform)'=='FullRelease|Win32'">nasm -w-orphan-labels -f win32 %(FullPath) -o $(IntDir)%(filename).obj</Command>
-      <Message Condition="'$(Configuration)|$(Platform)'=='Test|Win32'">Assembling %(filename)</Message>
-      <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Assembling %(filename)</Message>
-      <Message Condition="'$(Configuration)|$(Platform)'=='FullRelease|Win32'">Assembling %(filename)</Message>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Test|Win32'">$(IntDir)%(filename).obj</Outputs>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(filename).obj</Outputs>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='FullRelease|Win32'">$(IntDir)%(filename).obj</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="..\hq2x32.asm">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Test|Win32'">false</ExcludedFromBuild>
-      <FileType>Document</FileType>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='FullRelease|Win32'">false</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Test|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Test|ARM64EC'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ARM64EC'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='FullRelease|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='FullRelease|ARM64EC'">true</ExcludedFromBuild>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Test|Win32'">nasm -w-orphan-labels -f win32 %(FullPath) -o $(IntDir)%(filename).obj</Command>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">nasm -w-orphan-labels -f win32 %(FullPath) -o $(IntDir)%(filename).obj</Command>
-      <Command Condition="'$(Configuration)|$(Platform)'=='FullRelease|Win32'">nasm -w-orphan-labels -f win32 %(FullPath) -o $(IntDir)%(filename).obj</Command>
-      <Message Condition="'$(Configuration)|$(Platform)'=='Test|Win32'">Assembling %(filename)</Message>
-      <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Assembling %(filename)</Message>
-      <Message Condition="'$(Configuration)|$(Platform)'=='FullRelease|Win32'">Assembling %(filename)</Message>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Test|Win32'">$(IntDir)%(filename).obj</Outputs>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(filename).obj</Outputs>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='FullRelease|Win32'">$(IntDir)%(filename).obj</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="..\hq3x16.asm">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Test|Win32'">false</ExcludedFromBuild>
-      <FileType>Document</FileType>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='FullRelease|Win32'">false</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Test|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Test|ARM64EC'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ARM64EC'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='FullRelease|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='FullRelease|ARM64EC'">true</ExcludedFromBuild>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Test|Win32'">nasm -w-orphan-labels -f win32 %(FullPath) -o $(IntDir)%(filename).obj</Command>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">nasm -w-orphan-labels -f win32 %(FullPath) -o $(IntDir)%(filename).obj</Command>
-      <Command Condition="'$(Configuration)|$(Platform)'=='FullRelease|Win32'">nasm -w-orphan-labels -f win32 %(FullPath) -o $(IntDir)%(filename).obj</Command>
-      <Message Condition="'$(Configuration)|$(Platform)'=='Test|Win32'">Assembling %(filename)</Message>
-      <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Assembling %(filename)</Message>
-      <Message Condition="'$(Configuration)|$(Platform)'=='FullRelease|Win32'">Assembling %(filename)</Message>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Test|Win32'">$(IntDir)%(filename).obj</Outputs>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(filename).obj</Outputs>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='FullRelease|Win32'">$(IntDir)%(filename).obj</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="..\hq3x32.asm">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Test|Win32'">false</ExcludedFromBuild>
-      <FileType>Document</FileType>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='FullRelease|Win32'">false</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Test|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Test|ARM64EC'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ARM64EC'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='FullRelease|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='FullRelease|ARM64EC'">true</ExcludedFromBuild>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Test|Win32'">nasm -w-orphan-labels -f win32 %(FullPath) -o $(IntDir)%(filename).obj</Command>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">nasm -w-orphan-labels -f win32 %(FullPath) -o $(IntDir)%(filename).obj</Command>
-      <Command Condition="'$(Configuration)|$(Platform)'=='FullRelease|Win32'">nasm -w-orphan-labels -f win32 %(FullPath) -o $(IntDir)%(filename).obj</Command>
-      <Message Condition="'$(Configuration)|$(Platform)'=='Test|Win32'">Assembling %(filename)</Message>
-      <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Assembling %(filename)</Message>
-      <Message Condition="'$(Configuration)|$(Platform)'=='FullRelease|Win32'">Assembling %(filename)</Message>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Test|Win32'">$(IntDir)%(filename).obj</Outputs>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(filename).obj</Outputs>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='FullRelease|Win32'">$(IntDir)%(filename).obj</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="..\hq4x16.asm">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Test|Win32'">false</ExcludedFromBuild>
-      <FileType>Document</FileType>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='FullRelease|Win32'">false</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Test|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Test|ARM64EC'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ARM64EC'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='FullRelease|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='FullRelease|ARM64EC'">true</ExcludedFromBuild>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Test|Win32'">nasm -w-orphan-labels -f win32 %(FullPath) -o $(IntDir)%(filename).obj</Command>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">nasm -w-orphan-labels -f win32 %(FullPath) -o $(IntDir)%(filename).obj</Command>
-      <Command Condition="'$(Configuration)|$(Platform)'=='FullRelease|Win32'">nasm -w-orphan-labels -f win32 %(FullPath) -o $(IntDir)%(filename).obj</Command>
-      <Message Condition="'$(Configuration)|$(Platform)'=='Test|Win32'">Assembling %(filename)</Message>
-      <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Assembling %(filename)</Message>
-      <Message Condition="'$(Configuration)|$(Platform)'=='FullRelease|Win32'">Assembling %(filename)</Message>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Test|Win32'">$(IntDir)%(filename).obj</Outputs>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(filename).obj</Outputs>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='FullRelease|Win32'">$(IntDir)%(filename).obj</Outputs>
-    </CustomBuild>
-    <CustomBuild Include="..\hq4x32.asm">
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Test|Win32'">false</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">false</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='FullRelease|Win32'">false</ExcludedFromBuild>
-      <FileType>Document</FileType>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Test|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Test|ARM64EC'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|ARM64EC'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='FullRelease|x64'">true</ExcludedFromBuild>
-      <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='FullRelease|ARM64EC'">true</ExcludedFromBuild>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Test|Win32'">nasm -w-orphan-labels -f win32 %(FullPath) -o $(IntDir)%(filename).obj</Command>
-      <Command Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">nasm -w-orphan-labels -f win32 %(FullPath) -o $(IntDir)%(filename).obj</Command>
-      <Command Condition="'$(Configuration)|$(Platform)'=='FullRelease|Win32'">nasm -w-orphan-labels -f win32 %(FullPath) -o $(IntDir)%(filename).obj</Command>
-      <Message Condition="'$(Configuration)|$(Platform)'=='Test|Win32'">Assembling %(filename)</Message>
-      <Message Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Assembling %(filename)</Message>
-      <Message Condition="'$(Configuration)|$(Platform)'=='FullRelease|Win32'">Assembling %(filename)</Message>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Test|Win32'">$(IntDir)%(filename).obj</Outputs>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)%(filename).obj</Outputs>
-      <Outputs Condition="'$(Configuration)|$(Platform)'=='FullRelease|Win32'">$(IntDir)%(filename).obj</Outputs>
-    </CustomBuild>
     <None Include="..\resources\35floppy.ico" />
     <None Include="..\resources\amigainfo.ico" />
     <None Include="..\resources\avioutput.ico" />
index 829f6f01ad7b8374bb15b96c3d045915c8146c2e..2e5cdd4113781871598f4f61804181ce857d5566 100644 (file)
     <ClCompile Include="..\hardfile_win32.cpp">
       <Filter>win32</Filter>
     </ClCompile>
-    <ClCompile Include="..\hq2x_d3d.cpp">
-      <Filter>win32</Filter>
-    </ClCompile>
     <ClCompile Include="..\ioport.cpp">
       <Filter>win32</Filter>
     </ClCompile>
     <ClCompile Include="..\rp.cpp">
       <Filter>win32</Filter>
     </ClCompile>
-    <ClCompile Include="..\scaler.cpp">
-      <Filter>win32</Filter>
-    </ClCompile>
-    <ClCompile Include="..\scaler_more.cpp">
-      <Filter>win32</Filter>
-    </ClCompile>
     <ClCompile Include="..\screenshot.cpp">
       <Filter>win32</Filter>
     </ClCompile>
     <ClCompile Include="..\..\pcem\vid_tvp3026_ramdac.cpp">
       <Filter>pcem</Filter>
     </ClCompile>
+    <ClCompile Include="..\hq2x_d3d.cpp">
+      <Filter>win32</Filter>
+    </ClCompile>
   </ItemGroup>
   <ItemGroup>
     <None Include="..\resources\35floppy.ico">
       <Filter>nasm</Filter>
     </CustomBuild>
     <CustomBuild Include="..\fpux86_80.asm" />
-    <CustomBuild Include="..\hq2x16.asm" />
-    <CustomBuild Include="..\hq2x32.asm" />
-    <CustomBuild Include="..\hq3x16.asm" />
-    <CustomBuild Include="..\hq3x32.asm" />
-    <CustomBuild Include="..\hq4x16.asm" />
-    <CustomBuild Include="..\hq4x32.asm" />
   </ItemGroup>
 </Project>
\ No newline at end of file