postproc/postprocess_template: split 2nd blockgroup loop out

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
pull/125/head
Michael Niedermayer 10 years ago
parent d9e3fe8c22
commit 83020f8978
  1. 31
      libpostproc/postprocess_template.c

@ -3529,7 +3529,6 @@ static void RENAME(postProcess)(const uint8_t src[], int srcStride, uint8_t dst[
for(x = startx; x < endx; x+=BLOCK_SIZE){ for(x = startx; x < endx; x+=BLOCK_SIZE){
const int stride= dstStride; const int stride= dstStride;
av_unused uint8_t *tmpXchg;
if(isColor){ if(isColor){
QP= QPptr[x>>qpHShift]; QP= QPptr[x>>qpHShift];
@ -3569,7 +3568,37 @@ static void RENAME(postProcess)(const uint8_t src[], int srcStride, uint8_t dst[
} }
} }
dstBlock+=8;
srcBlock+=8;
}
dstBlock = dstBlockStart;
srcBlock = srcBlockStart;
for(x = startx; x < endx; x+=BLOCK_SIZE){
const int stride= dstStride;
av_unused uint8_t *tmpXchg;
if(isColor){
QP= QPptr[x>>qpHShift];
c.nonBQP= nonBQPptr[x>>qpHShift];
}else{
QP= QPptr[x>>4];
QP= (QP* QPCorrecture + 256*128)>>16;
c.nonBQP= nonBQPptr[x>>4];
c.nonBQP= (c.nonBQP* QPCorrecture + 256*128)>>16;
}
c.QP= QP;
#if TEMPLATE_PP_MMX #if TEMPLATE_PP_MMX
__asm__ volatile(
"movd %1, %%mm7 \n\t"
"packuswb %%mm7, %%mm7 \n\t" // 0, 0, 0, QP, 0, 0, 0, QP
"packuswb %%mm7, %%mm7 \n\t" // 0,QP, 0, QP, 0,QP, 0, QP
"packuswb %%mm7, %%mm7 \n\t" // QP,..., QP
"movq %%mm7, %0 \n\t"
: "=m" (c.pQPb)
: "r" (QP)
);
RENAME(transpose1)(tempBlock1, tempBlock2, dstBlock, dstStride); RENAME(transpose1)(tempBlock1, tempBlock2, dstBlock, dstStride);
#endif #endif
/* check if we have a previous block to deblock it with dstBlock */ /* check if we have a previous block to deblock it with dstBlock */

Loading…
Cancel
Save