On 12/6/24 9:32 AM, Niklas Haas wrote:
From: Niklas Haas <g...@haasn.dev>

This is no longer relevant after a change in color space.
---
  libavfilter/vf_scale.c | 12 ++++++++++++
  1 file changed, 12 insertions(+)

diff --git a/libavfilter/vf_scale.c b/libavfilter/vf_scale.c
index e33617468a..a56d452c6c 100644
--- a/libavfilter/vf_scale.c
+++ b/libavfilter/vf_scale.c
@@ -868,6 +868,18 @@ scale:
      if (scale->out_transfer != AVCOL_TRC_UNSPECIFIED)
          out->color_trc = scale->out_transfer;
+ if (in->color_primaries != out->color_primaries ||
+        in->color_trc != out->color_trc)
+    {
+        av_frame_remove_side_data(out, 
AV_FRAME_DATA_MASTERING_DISPLAY_METADATA);
+        av_frame_remove_side_data(out, AV_FRAME_DATA_DYNAMIC_HDR_PLUS);
+        av_frame_remove_side_data(out, AV_FRAME_DATA_DYNAMIC_HDR_VIVID);
+        av_frame_remove_side_data(out, AV_FRAME_DATA_CONTENT_LIGHT_LEVEL);
+        av_frame_remove_side_data(out, AV_FRAME_DATA_ICC_PROFILE);
+        av_frame_remove_side_data(out, AV_FRAME_DATA_DOVI_METADATA);
+        av_frame_remove_side_data(out, AV_FRAME_DATA_DOVI_RPU_BUFFER);
+    }
+
      av_reduce(&out->sample_aspect_ratio.num, &out->sample_aspect_ratio.den,
                (int64_t)in->sample_aspect_ratio.num * outlink->h * link->w,
                (int64_t)in->sample_aspect_ratio.den * outlink->w * link->h,

I think Mastering Display Metadata may still be relevant after a change in TRC but not primaries (e.g. after linearization), since it only references the gamut of the mastering display.

- Leo Izen (Traneptora)

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to