Browse Source

postproc/postprocess_template: split first part of block loop

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n2.7
Michael Niedermayer 10 years ago
parent
commit
d9e3fe8c22
1 changed files with 12 additions and 4 deletions
  1. +12
    -4
      libpostproc/postprocess_template.c

+ 12
- 4
libpostproc/postprocess_template.c View File

@@ -3471,11 +3471,9 @@ static void RENAME(postProcess)(const uint8_t src[], int srcStride, uint8_t dst[
for(x=0; x<width; ){
int startx = x;
int endx = FFMIN(width, x+32);
uint8_t *dstBlockStart = dstBlock;
const uint8_t *srcBlockStart = srcBlock;
for(; x < endx; x+=BLOCK_SIZE){
const int stride= dstStride;
av_unused uint8_t *tmpXchg;


#if TEMPLATE_PP_MMXEXT && HAVE_6REGS
/*
prefetchnta(srcBlock + (((x>>2)&6) + 5)*srcStride + 32);
@@ -3522,6 +3520,16 @@ static void RENAME(postProcess)(const uint8_t src[], int srcStride, uint8_t dst[
/* else if(mode & CUBIC_BLEND_DEINT_FILTER)
RENAME(deInterlaceBlendCubic)(dstBlock, dstStride);
*/
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];


Loading…
Cancel
Save