Mercurial > mplayer.hg
changeset 29412:139af822b6ce
MMX2 scaler: Remove {} block leftover from factorization in initMMX2Scaler().
Merge variable declarations to previous {} block and indent.
author | ramiro |
---|---|
date | Tue, 28 Jul 2009 05:45:47 +0000 |
parents | 0192dbbb3121 |
children | cecb20da409e |
files | libswscale/swscale.c |
diffstat | 1 files changed, 18 insertions(+), 21 deletions(-) [+] |
line wrap: on
line diff
--- a/libswscale/swscale.c Tue Jul 28 05:42:46 2009 +0000 +++ b/libswscale/swscale.c Tue Jul 28 05:45:47 2009 +0000 @@ -1893,6 +1893,8 @@ x86_reg imm8OfPShufW1 = (d+1<4) ? imm8OfPShufW1B : imm8OfPShufW1A; x86_reg imm8OfPShufW2 = (d+1<4) ? imm8OfPShufW2B : imm8OfPShufW2A; x86_reg fragmentLength = (d+1<4) ? fragmentLengthB : fragmentLengthA; + int maxShift= 3-(d+inc); + int shift=0; filter[i ] = (( xpos & 0xFFFF) ^ 0xFFFF)>>9; filter[i+1] = (((xpos+xInc ) & 0xFFFF) ^ 0xFFFF)>>9; @@ -1900,30 +1902,25 @@ filter[i+3] = (((xpos+xInc*3) & 0xFFFF) ^ 0xFFFF)>>9; filterPos[i/2]= xx; + memcpy(funnyCode + fragmentPos, fragment, fragmentLength); + + funnyCode[fragmentPos + imm8OfPShufW1]= + (a+inc) | ((b+inc)<<2) | ((c+inc)<<4) | ((d+inc)<<6); + funnyCode[fragmentPos + imm8OfPShufW2]= + a | (b<<2) | (c<<4) | (d<<6); + + if (i+4-inc>=dstW) shift=maxShift; //avoid overread + else if ((filterPos[i/2]&3) <= maxShift) shift=filterPos[i/2]&3; //Align + + if (shift && i>=shift) { - int maxShift= 3-(d+inc); - int shift=0; - - memcpy(funnyCode + fragmentPos, fragment, fragmentLength); - - funnyCode[fragmentPos + imm8OfPShufW1]= - (a+inc) | ((b+inc)<<2) | ((c+inc)<<4) | ((d+inc)<<6); - funnyCode[fragmentPos + imm8OfPShufW2]= - a | (b<<2) | (c<<4) | (d<<6); - - if (i+4-inc>=dstW) shift=maxShift; //avoid overread - else if ((filterPos[i/2]&3) <= maxShift) shift=filterPos[i/2]&3; //Align - - if (shift && i>=shift) - { - funnyCode[fragmentPos + imm8OfPShufW1]+= 0x55*shift; - funnyCode[fragmentPos + imm8OfPShufW2]+= 0x55*shift; - filterPos[i/2]-=shift; - } - - fragmentPos+= fragmentLength; + funnyCode[fragmentPos + imm8OfPShufW1]+= 0x55*shift; + funnyCode[fragmentPos + imm8OfPShufW2]+= 0x55*shift; + filterPos[i/2]-=shift; } + fragmentPos+= fragmentLength; + funnyCode[fragmentPos]= RET; } xpos+=xInc;