Aktív témák
-
P.H.
senior tag
A korábbi pár munkaórás skiccek után egy valódi nagypálya, amelyben már több 10 munkaóra fekszik: a következő kódnak 100 megapixeles képeket kellene kezelnie 1 másodpercen belüli időhatárral; jelenleg 32 megapixeles képen tesztelve bőven megvan az 1 másodperc, de gyorsabbnak érződik 2.26 GHz-es CeleronD-n, mint 2.2 GHz-es Opteron-on. Első lépésben a kép erőteljesen tömörítve lesz, és talán vissza lesz az algoritmus írva integer alapra (MMX/SSE2), a színhelyesség megtartásával.
A kiindulási kód:
@decode:
movd esi,mm5
movd edx,mm4
movd ecx,mm7
movd ebx,mm6
movss xmm0,[ebp]
@temprow:
movzx eax,byte ptr [esi]
add esi,01h
shl eax,04h
sub edx,01h
movaps xmm3,[ecx+eax]
movaps [ebx],xmm3
lea ebx,[ebx+20h]
jg @temprow
add esi,[esp+_SROW]
mov ecx,edi
movd mm5,esi
mov edx,[ebp+08h]
@zoomvertSSE:
and edi,-32
movd esi,mm6
add edi,20h
shufps xmm0,xmm0,00000000b
movd eax,mm4
movaps xmm1,[edi]
@prevHpixelSSE:
movaps xmm4,[esi-00h]
movlps xmm2,[esi-10h]
mov ebx,[esi-10h+08h]
mulps xmm4,xmm0
shufps xmm2,xmm2,01000000b
movaps xmm3,xmm4
@pixelSSE:
test ebx,ebx
mulps xmm4,xmm2
@1pixelSSE:
addps xmm1,xmm4
jz @nextHpixelSSE
movaps [edi],xmm1
js @stepHelementSSE
add edi,10h
movaps xmm4,xmm3
sub ebx,01h
movaps xmm1,[edi]
jnz @1pixelSSE
@nextHpixelSSE: { EBX = 0 }
shufps xmm2,xmm2,11111111b
cmp [esi-10h+04h],ebx
lea ebx,[ebx-01h]
jnz @pixelSSE
@stepHelementSSE: { EBX = -1 }
add eax,ebx
lea esi,[esi+20h]
jnz @prevHpixelSSE
mov edi,ecx
@moreVrowsSSE: { EAX = 0 és EBX = -1 }
add edx,ebx
jns @cvtROW
cmp edx,ebx
jnz @stepVelementSSE
add eax,[ebp+04h]
movd xmm0,eax
jnz @zoomvertSSE
@stepVelementSSE:
add [esp+_VSIZE],ebx
lea ebp,[ebp+20h]
jnz @decode
mov edx,ebx
@cvtROW:
mov esi,ecx
mov eax,[esp+_INCREASE]
and esi,-32
sub edi,eax
@cvtRGB:
add esi,20h
cvtps2dq xmm0,[esi+00h]
movaps [esi+00h],xmm5
cvtps2dq xmm1,[esi+10h]
movaps [esi+10h],xmm5
packssdw xmm0,xmm1
packuswb xmm0,xmm1
movq [edi+eax],xmm0
add eax,08h
js @cvtRGB
test edx,edx
mov ecx,edi
jz @moreVrowsSSE
divss xmm0,xmm0
jns @zoomvertSSE[ Szerkesztve ]
Arguing on the Internet is like running in the Special Olympics. Even if you win, you are still ... ˙˙˙ Real Eyes Realize Real Lies ˙˙˙
Aktív témák
- Futás, futópályák
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
- Spórolós topik
- Kínai, és egyéb olcsó órák topikja
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Luck Dragon: Asszociációs játék. :)
- Telekom mobilszolgáltatások
- Android alkalmazások - szoftver kibeszélő topik
- Melyik tápegységet vegyem?
- Milyen házat vegyek?
- További aktív témák...