[FFmpeg-devel] [FFmpeg-Devel] [PATCH 4/5] postproc: Merged second and third inner loops in postprocess_template.c
Tucker DiNapoli
t.dinapoli42 at gmail.com
Wed Apr 1 20:36:04 CEST 2015
The structure of the postprocess function is to loop over x from 0 to
width, and in that loop to process 4 block at a time. This inner loop
was previously split into 3 seperate loops, i.e:
outer_loop over x
save current x location
loop over 4 blocks
restore x location
loop over 4 blocks
restore x location
loop over 4 blocks
end
this commit merges the second two inner loops (elimitating the restore x
location), the next commit merges the first inner loop as well,
resulting in:
outer_loop:
loop over 4 blocks
end
---
libpostproc/postprocess_template.c | 15 +--------------
1 file changed, 1 insertion(+), 14 deletions(-)
diff --git a/libpostproc/postprocess_template.c b/libpostproc/postprocess_template.c
index 866ba8f..fcc8b94 100644
--- a/libpostproc/postprocess_template.c
+++ b/libpostproc/postprocess_template.c
@@ -3513,6 +3513,7 @@ static void RENAME(postProcess)(const uint8_t src[], int srcStride, uint8_t dst[
for(x = startx, qp_index = 0; x < endx; x+=BLOCK_SIZE, qp_index++){
const int stride= dstStride;
+ av_unused uint8_t *tmpXchg;
//temporary while changing QP stuff to make things continue to work
//eventually QP,nonBQP,etc will be arrays and this will be unnecessary
c.QP = c.QP_block[qp_index];
@@ -3535,22 +3536,8 @@ static void RENAME(postProcess)(const uint8_t src[], int srcStride, uint8_t dst[
} else if(mode & V_A_DEBLOCK){
RENAME(do_a_deblock)(dstBlock, stride, 1, &c, mode);
}
-
- dstBlock+=8;
- srcBlock+=8;
}
- }
-
- dstBlock = dstBlockStart;
- srcBlock = srcBlockStart;
- for(x = startx, qp_index=0; x < endx; x+=BLOCK_SIZE, qp_index++){
- const int stride= dstStride;
- av_unused uint8_t *tmpXchg;
- c.QP = c.QP_block[qp_index];
- c.nonBQP = c.nonBQP_block[qp_index];
- c.pQPb = c.pQPb_block[qp_index];
- c.pQPb2 = c.pQPb2_block[qp_index];
#if TEMPLATE_PP_MMX
RENAME(transpose1)(tempBlock1, tempBlock2, dstBlock, dstStride);
#endif
--
2.3.3
More information about the ffmpeg-devel
mailing list