avcodec/ivi: Factor width dereference out of the loops in ivi_output_plane()

396078 -> 268468 dezicycles

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
Michael Niedermayer 2018-08-04 02:34:11 +02:00
parent 82920bf494
commit bf97d11b08

View File

@ -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;