RCS file: /cvsroot/scummvm/scummvm/common/scaler/hq2x_i386.asm,v
retrieving revision 1.1
diff -u -r1.1 hq2x_i386.asm
|
|
|
|
| 488 | 488 | sub dword[moduloDst],ecx |
| 489 | 489 | shl dword[moduloDst],1 |
| 490 | 490 | mov ebx,[ebp+srcPitch] |
| 491 | | mov dword[prevline],0 |
| 492 | 491 | mov dword[nextline],ebx |
| 493 | 492 | mov dword[moduloSrc],ebx |
| 494 | 493 | sub dword[moduloSrc],ecx |
| | 494 | neg ebx |
| | 495 | mov dword[prevline],ebx |
| 495 | 496 | .loopy |
| 496 | 497 | mov ecx,[ebp+Xres] |
| 497 | | sub ecx,2 ; x={Xres-2, Xres-1} are special cases. |
| 498 | 498 | mov dword[xcounter],ecx |
| 499 | | ; x=0 - special case |
| 500 | | mov ebx,[prevline] |
| 501 | | movq mm5,[esi+ebx] |
| 502 | | movq mm6,[esi] |
| 503 | | mov ebx,[nextline] |
| 504 | | movq mm7,[esi+ebx] |
| 505 | | movd eax,mm5 |
| 506 | | movzx edx,ax |
| 507 | | mov [w1],edx |
| 508 | | mov [w2],edx |
| 509 | | shr eax,16 |
| 510 | | mov [w3],eax |
| 511 | | movd eax,mm6 |
| 512 | | movzx edx,ax |
| 513 | | mov [w4],edx |
| 514 | | mov [w5],edx |
| 515 | | shr eax,16 |
| 516 | | mov [w6],eax |
| 517 | | movd eax,mm7 |
| 518 | | movzx edx,ax |
| 519 | | mov [w7],edx |
| 520 | | mov [w8],edx |
| 521 | | shr eax,16 |
| 522 | | mov [w9],eax |
| 523 | | jmp .flags |
| 524 | 499 | .loopx |
| 525 | 500 | mov ebx,[prevline] |
| 526 | 501 | movq mm5,[esi+ebx-2] |
| … |
… |
|
| 1805 | 1780 | add esi,2 |
| 1806 | 1781 | add edi,4 |
| 1807 | 1782 | dec dword[xcounter] |
| 1808 | | jle .xres_2 |
| | 1783 | jz .nexty |
| 1809 | 1784 | jmp .loopx |
| 1810 | | .xres_2 |
| 1811 | | ; x=Xres-2 - special case |
| 1812 | | jl .xres_1 |
| 1813 | | mov ebx,[prevline] |
| 1814 | | movq mm5,[esi+ebx-4] |
| 1815 | | movq mm6,[esi-4] |
| 1816 | | mov ebx,[nextline] |
| 1817 | | movq mm7,[esi+ebx-4] |
| 1818 | | psrlq mm5,16 |
| 1819 | | psrlq mm6,16 |
| 1820 | | psrlq mm7,16 |
| 1821 | | movd eax,mm5 |
| 1822 | | movzx edx,ax |
| 1823 | | mov [w1],edx |
| 1824 | | shr eax,16 |
| 1825 | | mov [w2],eax |
| 1826 | | psrlq mm5,32 |
| 1827 | | movd eax,mm5 |
| 1828 | | mov [w3],eax |
| 1829 | | movd eax,mm6 |
| 1830 | | movzx edx,ax |
| 1831 | | mov [w4],edx |
| 1832 | | shr eax,16 |
| 1833 | | mov [w5],eax |
| 1834 | | psrlq mm6,32 |
| 1835 | | movd eax,mm6 |
| 1836 | | mov [w6],eax |
| 1837 | | movd eax,mm7 |
| 1838 | | movzx edx,ax |
| 1839 | | mov [w7],edx |
| 1840 | | shr eax,16 |
| 1841 | | mov [w8],eax |
| 1842 | | psrlq mm7,32 |
| 1843 | | movd eax,mm7 |
| 1844 | | mov [w9],eax |
| 1845 | | jmp .flags |
| 1846 | | .xres_1 |
| 1847 | | cmp dword[xcounter],-1 |
| 1848 | | jl .nexty |
| 1849 | | ; x=Xres-1 - special case |
| 1850 | | mov ebx,[prevline] |
| 1851 | | movq mm5,[esi+ebx-6] |
| 1852 | | movq mm6,[esi-6] |
| 1853 | | mov ebx,[nextline] |
| 1854 | | movq mm7,[esi+ebx-6] |
| 1855 | | psrlq mm5,32 |
| 1856 | | psrlq mm6,32 |
| 1857 | | psrlq mm7,32 |
| 1858 | | movd eax,mm5 |
| 1859 | | movzx edx,ax |
| 1860 | | mov [w1],edx |
| 1861 | | shr eax,16 |
| 1862 | | mov [w2],eax |
| 1863 | | mov [w3],eax |
| 1864 | | movd eax,mm6 |
| 1865 | | movzx edx,ax |
| 1866 | | mov [w4],edx |
| 1867 | | shr eax,16 |
| 1868 | | mov [w5],eax |
| 1869 | | mov [w6],eax |
| 1870 | | movd eax,mm7 |
| 1871 | | movzx edx,ax |
| 1872 | | mov [w7],edx |
| 1873 | | shr eax,16 |
| 1874 | | mov [w8],eax |
| 1875 | | mov [w9],eax |
| 1876 | | jmp .flags |
| 1877 | 1785 | .nexty |
| 1878 | 1786 | add esi,dword[moduloSrc] |
| 1879 | 1787 | add edi,dword[moduloDst] |
| 1880 | 1788 | dec dword[linesleft] |
| 1881 | 1789 | jz .fin |
| 1882 | 1790 | mov ebx,[ebp+srcPitch] |
| 1883 | | cmp dword[linesleft],1 |
| 1884 | | je .lastline |
| 1885 | 1791 | mov dword[nextline],ebx |
| 1886 | 1792 | neg ebx |
| 1887 | 1793 | mov dword[prevline],ebx |
| 1888 | 1794 | jmp .loopy |
| 1889 | | .lastline |
| 1890 | | mov dword[nextline],0 |
| 1891 | | neg ebx |
| 1892 | | mov dword[prevline],ebx |
| 1893 | | jmp .loopy |
| 1894 | 1795 | .fin |
| 1895 | 1796 | emms |
| 1896 | 1797 | popad |
RCS file: /cvsroot/scummvm/scummvm/common/scaler/hq3x_i386.asm,v
retrieving revision 1.1
diff -u -r1.1 hq3x_i386.asm
|
|
|
|
| 426 | 426 | mov ecx,[ebp+Xres] |
| 427 | 427 | shl ecx,1 |
| 428 | 428 | mov ebx,[ebp+srcPitch] |
| 429 | | mov dword[prevline],0 |
| 430 | 429 | mov dword[nextline],ebx |
| 431 | 430 | mov dword[moduloSrc],ebx |
| 432 | 431 | sub dword[moduloSrc],ecx |
| | 432 | neg ebx |
| | 433 | mov dword[prevline],ebx |
| 433 | 434 | .loopy |
| 434 | 435 | mov ecx,[ebp+Xres] |
| 435 | | sub ecx,2 ; x={Xres-2, Xres-1} are special cases. |
| 436 | 436 | mov dword[xcounter],ecx |
| 437 | | ; x=0 - special case |
| 438 | | mov ebx,[prevline] |
| 439 | | movq mm5,[esi+ebx] |
| 440 | | movq mm6,[esi] |
| 441 | | mov ebx,[nextline] |
| 442 | | movq mm7,[esi+ebx] |
| 443 | | movd eax,mm5 |
| 444 | | movzx edx,ax |
| 445 | | mov [w1],edx |
| 446 | | mov [w2],edx |
| 447 | | shr eax,16 |
| 448 | | mov [w3],eax |
| 449 | | movd eax,mm6 |
| 450 | | movzx edx,ax |
| 451 | | mov [w4],edx |
| 452 | | mov [w5],edx |
| 453 | | shr eax,16 |
| 454 | | mov [w6],eax |
| 455 | | movd eax,mm7 |
| 456 | | movzx edx,ax |
| 457 | | mov [w7],edx |
| 458 | | mov [w8],edx |
| 459 | | shr eax,16 |
| 460 | | mov [w9],eax |
| 461 | | jmp .flags |
| 462 | 437 | .loopx |
| 463 | 438 | mov ebx,[prevline] |
| 464 | 439 | movq mm5,[esi+ebx-2] |
| … |
… |
|
| 2397 | 2372 | add esi,2 |
| 2398 | 2373 | add edi,6 |
| 2399 | 2374 | dec dword[xcounter] |
| 2400 | | jle .xres_2 |
| | 2375 | jz .nexty |
| 2401 | 2376 | jmp .loopx |
| 2402 | | .xres_2 |
| 2403 | | ; x=Xres-2 - special case |
| 2404 | | jl .xres_1 |
| 2405 | | mov ebx,[prevline] |
| 2406 | | movq mm5,[esi+ebx-4] |
| 2407 | | movq mm6,[esi-4] |
| 2408 | | mov ebx,[nextline] |
| 2409 | | movq mm7,[esi+ebx-4] |
| 2410 | | psrlq mm5,16 |
| 2411 | | psrlq mm6,16 |
| 2412 | | psrlq mm7,16 |
| 2413 | | movd eax,mm5 |
| 2414 | | movzx edx,ax |
| 2415 | | mov [w1],edx |
| 2416 | | shr eax,16 |
| 2417 | | mov [w2],eax |
| 2418 | | psrlq mm5,32 |
| 2419 | | movd eax,mm5 |
| 2420 | | mov [w3],eax |
| 2421 | | movd eax,mm6 |
| 2422 | | movzx edx,ax |
| 2423 | | mov [w4],edx |
| 2424 | | shr eax,16 |
| 2425 | | mov [w5],eax |
| 2426 | | psrlq mm6,32 |
| 2427 | | movd eax,mm6 |
| 2428 | | mov [w6],eax |
| 2429 | | movd eax,mm7 |
| 2430 | | movzx edx,ax |
| 2431 | | mov [w7],edx |
| 2432 | | shr eax,16 |
| 2433 | | mov [w8],eax |
| 2434 | | psrlq mm7,32 |
| 2435 | | movd eax,mm7 |
| 2436 | | mov [w9],eax |
| 2437 | | jmp .flags |
| 2438 | | .xres_1 |
| 2439 | | cmp dword[xcounter],-1 |
| 2440 | | jl .nexty |
| 2441 | | ; x=Xres-1 - special case |
| 2442 | | mov ebx,[prevline] |
| 2443 | | movq mm5,[esi+ebx-6] |
| 2444 | | movq mm6,[esi-6] |
| 2445 | | mov ebx,[nextline] |
| 2446 | | movq mm7,[esi+ebx-6] |
| 2447 | | psrlq mm5,32 |
| 2448 | | psrlq mm6,32 |
| 2449 | | psrlq mm7,32 |
| 2450 | | movd eax,mm5 |
| 2451 | | movzx edx,ax |
| 2452 | | mov [w1],edx |
| 2453 | | shr eax,16 |
| 2454 | | mov [w2],eax |
| 2455 | | mov [w3],eax |
| 2456 | | movd eax,mm6 |
| 2457 | | movzx edx,ax |
| 2458 | | mov [w4],edx |
| 2459 | | shr eax,16 |
| 2460 | | mov [w5],eax |
| 2461 | | mov [w6],eax |
| 2462 | | movd eax,mm7 |
| 2463 | | movzx edx,ax |
| 2464 | | mov [w7],edx |
| 2465 | | shr eax,16 |
| 2466 | | mov [w8],eax |
| 2467 | | mov [w9],eax |
| 2468 | | jmp .flags |
| 2469 | 2377 | .nexty |
| 2470 | 2378 | add esi,dword[moduloSrc] |
| 2471 | 2379 | add edi,dword[moduloDst] |
| 2472 | 2380 | dec dword[linesleft] |
| 2473 | 2381 | jz .fin |
| 2474 | 2382 | mov ebx,[ebp+srcPitch] |
| 2475 | | cmp dword[linesleft],1 |
| 2476 | | je .lastline |
| 2477 | 2383 | mov dword[nextline],ebx |
| 2478 | 2384 | neg ebx |
| 2479 | 2385 | mov dword[prevline],ebx |
| 2480 | 2386 | jmp .loopy |
| 2481 | | .lastline |
| 2482 | | mov dword[nextline],0 |
| 2483 | | neg ebx |
| 2484 | | mov dword[prevline],ebx |
| 2485 | | jmp .loopy |
| 2486 | 2387 | .fin |
| 2487 | 2388 | emms |
| 2488 | 2389 | popad |