avfilter/vf_lut3d: support remaping negative values in the prelut

This commit is contained in:
Mark Reid 2020-09-05 14:13:01 -07:00 committed by Paul B Mahol
parent 03415f25d2
commit 5fcd83a244
1 changed files with 3 additions and 5 deletions

View File

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