]> git.sesse.net Git - ffmpeg/commitdiff
avfilter/vf_lut3d: support remaping negative values in the prelut
authorMark Reid <mindmark@gmail.com>
Sat, 5 Sep 2020 21:13:01 +0000 (14:13 -0700)
committerPaul B Mahol <onemda@gmail.com>
Mon, 7 Sep 2020 17:04:09 +0000 (19:04 +0200)
libavfilter/vf_lut3d.c

index 6730a424cede59a076ba42c06341c81a28d8df01..988f6c8b551ede23e4bac43761084a296bf1f44a 100644 (file)
@@ -878,18 +878,16 @@ static int parse_cinespace(AVFilterContext *ctx, FILE *f)
 
                     prelut_sizes[i] = npoints;
                     in_min[i] = FLT_MAX;
-                    in_max[i] = FLT_MIN;
+                    in_max[i] = -FLT_MAX;
                     out_min[i] = FLT_MAX;
-                    out_max[i] = FLT_MIN;
-
-                    last = FLT_MIN;
+                    out_max[i] = -FLT_MAX;
 
                     for (int j = 0; j < npoints; j++) {
                         NEXT_FLOAT_OR_GOTO(v, end)
                         in_min[i] = FFMIN(in_min[i], v);
                         in_max[i] = FFMAX(in_max[i], v);
                         in_prelut[i][j] = v;
-                        if (v < last) {
+                        if (j > 0 && v < last) {
                             av_log(ctx, AV_LOG_ERROR, "Invalid file, non increasing prelut.\n");
                             ret = AVERROR(ENOMEM);
                             goto end;