1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-23 12:43:46 +02:00

postproc/postprocess_template: split 2nd blockgroup loop out

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2015-03-23 00:41:41 +01:00
parent d9e3fe8c22
commit 83020f8978

View File

@ -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){
const int stride= dstStride;
av_unused uint8_t *tmpXchg;
if(isColor){
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
__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);
#endif
/* check if we have a previous block to deblock it with dstBlock */