summaryrefslogtreecommitdiff
path: root/libavfilter/vf_ssim.c
diff options
context:
space:
mode:
authorRonald S. Bultje <rsbultje@gmail.com>2015-07-11 19:55:58 -0400
committerMichael Niedermayer <michael@niedermayer.cc>2015-07-13 02:23:30 +0200
commita1f48480497bb462c5d1d589ae393335f50b06e0 (patch)
treeebfb986172a4e43ec451d3c26415f0fee69d7ad3 /libavfilter/vf_ssim.c
parent4496ccc724689c796db6a9936b53349d089db982 (diff)
ssim: refactor a weird double loop.
Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavfilter/vf_ssim.c')
-rw-r--r--libavfilter/vf_ssim.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/libavfilter/vf_ssim.c b/libavfilter/vf_ssim.c
index 40c70b8c35..b1c3368bcd 100644
--- a/libavfilter/vf_ssim.c
+++ b/libavfilter/vf_ssim.c
@@ -132,7 +132,7 @@ static float ssim_end1(int s1, int s2, int ss, int s12)
/ ((float)(fs1 * fs1 + fs2 * fs2 + ssim_c1) * (float)(vars + ssim_c2));
}
-static float ssim_end4(int sum0[5][4], int sum1[5][4], int width)
+static float ssim_endn(int (*sum0)[4], int (*sum1)[4], int width)
{
float ssim = 0.0;
int i;
@@ -167,8 +167,7 @@ static float ssim_plane(uint8_t *main, int main_stride,
&sum0[x]);
}
- for (x = 0; x < width - 1; x += 4)
- ssim += ssim_end4(sum0 + x, sum1 + x, FFMIN(4, width - x - 1));
+ ssim += ssim_endn(sum0, sum1, width - 1);
}
return ssim / ((height - 1) * (width - 1));