From bf97d11b0881aae26410cb938c2bdd53585e7398 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sat, 4 Aug 2018 02:34:11 +0200 Subject: [PATCH] avcodec/ivi: Factor width dereference out of the loops in ivi_output_plane() 396078 -> 268468 dezicycles Signed-off-by: Michael Niedermayer --- libavcodec/ivi.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libavcodec/ivi.c b/libavcodec/ivi.c index ebb7f03007..b23d4af27e 100644 --- a/libavcodec/ivi.c +++ b/libavcodec/ivi.c @@ -914,13 +914,14 @@ static void ivi_output_plane(IVIPlaneDesc *plane, uint8_t *dst, ptrdiff_t dst_pi for (y = 0; y < plane->height; y++) { int m = 0; - for (x = 0; x < plane->width; x++) { + int w = plane->width; + for (x = 0; x < w; x++) { int t = src[x] + 128; dst[x] = t; m |= t; } if (m & ~255) - for (x = 0; x < plane->width; x++) + for (x = 0; x < w; x++) dst[x] = av_clip_uint8(src[x] + 128); src += pitch; dst += dst_pitch;