Message ID | 20200905211301.81127-1-mindmark@gmail.com |
---|---|
State | Accepted |
Commit | 5fcd83a244f26bcd9860e52a5bbcd53d8a8f89e6 |
Headers | show |
Series | [FFmpeg-devel] avfilter/vf_lut3d: support remaping negative values in the prelut | expand |
Context | Check | Description |
---|---|---|
andriy/default | pending | |
andriy/make | success | Make finished |
andriy/make_fate | success | Make fate finished |
On Sat, Sep 5, 2020 at 2:13 PM <mindmark@gmail.com> wrote: > From: Mark Reid <mindmark@gmail.com> > > --- > 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; > -- > 2.27.0 > > Sorry I meant to include this in the email. Here is a sample cinespace lut that remaps negative values in the prelut https://www.dropbox.com/s/7e4j7r264y0bueu/log_prelut.csp
On Sat, Sep 05, 2020 at 02:13:01PM -0700, mindmark@gmail.com wrote: > From: Mark Reid <mindmark@gmail.com> > > --- > 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) > lgtm
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;
From: Mark Reid <mindmark@gmail.com> --- libavfilter/vf_lut3d.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-)