[FFmpeg-cvslog] avfilter/vf_lut3d: support remaping negative values in the prelut

Mark Reid git at videolan.org
Mon Sep 7 20:06:25 EEST 2020


ffmpeg | branch: master | Mark Reid <mindmark at gmail.com> | Sat Sep  5 14:13:01 2020 -0700| [5fcd83a244f26bcd9860e52a5bbcd53d8a8f89e6] | committer: Paul B Mahol

avfilter/vf_lut3d: support remaping negative values in the prelut

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=5fcd83a244f26bcd9860e52a5bbcd53d8a8f89e6
---

 libavfilter/vf_lut3d.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/libavfilter/vf_lut3d.c b/libavfilter/vf_lut3d.c
index 6730a424ce..988f6c8b55 100644
--- a/libavfilter/vf_lut3d.c
+++ b/libavfilter/vf_lut3d.c
@@ -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;



More information about the ffmpeg-cvslog mailing list