[FFmpeg-cvslog] postproc/postprocess_template: split loop in 2 (block groups of 4, blocks)
Michael Niedermayer
git at videolan.org
Mon Mar 23 00:52:43 CET 2015
ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Mon Mar 23 00:02:51 2015 +0100| [93f4538363069b721c24417f3d38575274394845] | committer: Michael Niedermayer
postproc/postprocess_template: split loop in 2 (block groups of 4, blocks)
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=93f4538363069b721c24417f3d38575274394845
---
libpostproc/postprocess_template.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/libpostproc/postprocess_template.c b/libpostproc/postprocess_template.c
index 6722f96..9049c81 100644
--- a/libpostproc/postprocess_template.c
+++ b/libpostproc/postprocess_template.c
@@ -3476,7 +3476,10 @@ static void RENAME(postProcess)(const uint8_t src[], int srcStride, uint8_t dst[
// From this point on it is guaranteed that we can read and write 16 lines downward
// finish 1 block before the next otherwise we might have a problem
// with the L1 Cache of the P4 ... or only a few blocks at a time or something
- for(x=0; x<width; x+=BLOCK_SIZE){
+ for(x=0; x<width; ){
+ int startx = x;
+ int endx = FFMIN(width, x+32);
+ for(; x < endx; x+=BLOCK_SIZE){
const int stride= dstStride;
#if TEMPLATE_PP_MMX
uint8_t *tmpXchg;
@@ -3650,6 +3653,7 @@ static void RENAME(postProcess)(const uint8_t src[], int srcStride, uint8_t dst[
tempBlock1= tempBlock2;
tempBlock2 = tmpXchg;
#endif
+ }
}
if(mode & DERING){
More information about the ffmpeg-cvslog
mailing list