]> git.sesse.net Git - ffmpeg/commitdiff
avfilter/vf_lut3d: Fix mixed declaration and code
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Mon, 1 Jun 2020 11:15:21 +0000 (13:15 +0200)
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Mon, 1 Jun 2020 13:21:40 +0000 (15:21 +0200)
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
libavfilter/vf_lut3d.c

index e5d9fcc068908197459fd7d60036090a5cf789b5..6730a424cede59a076ba42c06341c81a28d8df01 100644 (file)
@@ -261,10 +261,11 @@ static inline float prelut_interp_1d_linear(const Lut3DPreLut *prelut,
 static inline struct rgbvec apply_prelut(const Lut3DPreLut *prelut,
                                          const struct rgbvec *s)
 {
+    struct rgbvec c;
+
     if (prelut->size <= 0)
         return *s;
 
-    struct rgbvec c;
     c.r = prelut_interp_1d_linear(prelut, 0, s->r);
     c.g = prelut_interp_1d_linear(prelut, 1, s->g);
     c.b = prelut_interp_1d_linear(prelut, 2, s->b);
@@ -975,17 +976,16 @@ static int parse_cinespace(AVFilterContext *ctx, FILE *f)
 
             for (int i = 0; i < lut3d->prelut.size; ++i) {
                 float mix = (float) i / (float)(lut3d->prelut.size - 1);
-                float x = lerpf(in_min[c], in_max[c], mix);
+                float x = lerpf(in_min[c], in_max[c], mix), a, b;
 
                 int idx = nearest_sample_index(in_prelut[c], x, 0, prelut_sizes[c]-1);
                 av_assert0(idx + 1 < prelut_sizes[c]);
 
-                float a = out_prelut[c][idx + 0];
-                float b = out_prelut[c][idx + 1];
+                a   = out_prelut[c][idx + 0];
+                b   = out_prelut[c][idx + 1];
                 mix = x - in_prelut[c][idx];
 
-                float outval = lerpf(a, b, mix);
-                lut3d->prelut.lut[c][i] = sanitizef(outval);
+                lut3d->prelut.lut[c][i] = sanitizef(lerpf(a, b, mix));
             }
         }
         lut3d->scale.r = 1.00f;