On 7/12/15, Paul B Mahol <one...@gmail.com> wrote: > Dana 12. 7. 2015. 01:57 osoba "Ronald S. Bultje" <rsbul...@gmail.com> > napisala je: >> >> --- >> libavfilter/vf_ssim.c | 18 ++++++++---------- >> 1 file changed, 8 insertions(+), 10 deletions(-) >> >> diff --git a/libavfilter/vf_ssim.c b/libavfilter/vf_ssim.c >> index b1c3368..f7a259e 100644 >> --- a/libavfilter/vf_ssim.c >> +++ b/libavfilter/vf_ssim.c >> @@ -85,13 +85,13 @@ static void set_meta(AVDictionary **metadata, const > char *key, char comp, float >> } >> } >> >> -static void ssim_4x4x2_core(const uint8_t *main, int main_stride, >> - const uint8_t *ref, int ref_stride, >> - int sums[2][4]) >> +static void ssim_4x4xn(const uint8_t *main, int main_stride, >> + const uint8_t *ref, int ref_stride, >> + int (*sums)[4], int width) >> { >> int x, y, z; >> >> - for (z = 0; z < 2; z++) { >> + for (z = 0; z < width; z++) { >> uint32_t s1 = 0, s2 = 0, ss = 0, s12 = 0; >> >> for (y = 0; y < 4; y++) { >> @@ -149,8 +149,7 @@ static float ssim_plane(uint8_t *main, int > main_stride, >> uint8_t *ref, int ref_stride, >> int width, int height, void *temp) >> { >> - int z = 0; >> - int x, y; >> + int z = 0, y; >> float ssim = 0.0; >> int (*sum0)[4] = temp; >> int (*sum1)[4] = sum0 + (width >> 2) + 3; >> @@ -161,10 +160,9 @@ static float ssim_plane(uint8_t *main, int > main_stride, >> for (y = 1; y < height; y++) { >> for (; z <= y; z++) { >> FFSWAP(void*, sum0, sum1); >> - for (x = 0; x < width; x+=2) >> - ssim_4x4x2_core(&main[4 * (x + z * main_stride)], > main_stride, >> - &ref[4 * (x + z * ref_stride)], > ref_stride, >> - &sum0[x]); >> + ssim_4x4xn(&main[4 * z * main_stride], main_stride, >> + &ref[4 * z * ref_stride], ref_stride, >> + sum0, width); >> } >> >> ssim += ssim_endn(sum0, sum1, width - 1); >> -- >> 2.1.2 >> >> _______________________________________________ >> ffmpeg-devel mailing list >> ffmpeg-devel@ffmpeg.org >> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > Ok if results are same and pure C speed is not slower. >
lgtm _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel