avfilter/vf_lut*: strip color volume metadata

These filters, in general, will apply some arbitrary color volume
transformation. Strip corresponding metadata to be conservative/safe.
pull/391/head
Niklas Haas 9 months ago
parent eecdc25d4b
commit d23f443dfc
  1. 3
      libavfilter/vf_lut.c
  2. 2
      libavfilter/vf_lut2.c
  3. 3
      libavfilter/vf_lut3d.c

@ -539,6 +539,9 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *in)
av_frame_copy_props(out, in);
}
av_frame_side_data_remove_by_props(&out->side_data, &out->nb_side_data,
AV_SIDE_DATA_PROP_COLOR_DEPENDENT);
if (s->is_rgb && s->is_16bit && !s->is_planar) {
/* packed, 16-bit */
PACKED_THREAD_DATA

@ -619,6 +619,8 @@ static int tlut2_filter_frame(AVFilterLink *inlink, AVFrame *frame)
}
av_frame_copy_props(out, frame);
av_frame_side_data_remove_by_props(&out->side_data, &out->nb_side_data,
AV_SIDE_DATA_PROP_COLOR_DEPENDENT);
td.out = out;
td.srcx = frame;

@ -1178,6 +1178,9 @@ static AVFrame *apply_lut(AVFilterLink *inlink, AVFrame *in)
av_frame_copy_props(out, in);
}
av_frame_side_data_remove_by_props(&out->side_data, &out->nb_side_data,
AV_SIDE_DATA_PROP_COLOR_DEPENDENT);
td.in = in;
td.out = out;
ff_filter_execute(ctx, lut3d->interp, &td, NULL,

Loading…
Cancel
Save