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 |