mirror of https://git.ffmpeg.org/ffmpeg.git
postproc/postprocess_template: split 2nd blockgroup loop out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
d9e3fe8c22
commit
83020f8978
|
@ -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 */
|
||||
|
|
Loading…
Reference in New Issue