mirror of https://git.ffmpeg.org/ffmpeg.git
avfilter/vf_lut3d: support remaping negative values in the prelut
This commit is contained in:
parent
03415f25d2
commit
5fcd83a244
|
@ -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;
|
||||||
|
|
Loading…
Reference in New Issue