diff --git a/libavfilter/vf_iccdetect.c b/libavfilter/vf_iccdetect.c index 5288b0320d..16eacbbb56 100644 --- a/libavfilter/vf_iccdetect.c +++ b/libavfilter/vf_iccdetect.c @@ -93,7 +93,9 @@ static int iccdetect_filter_frame(AVFilterLink *inlink, AVFrame *frame) if (!profile) return AVERROR_INVALIDDATA; - ret = ff_icc_profile_read_primaries(&s->icc, profile, &coeffs); + ret = ff_icc_profile_sanitize(&s->icc, profile); + if (!ret) + ret = ff_icc_profile_read_primaries(&s->icc, profile, &coeffs); if (!ret) ret = ff_icc_profile_detect_transfer(&s->icc, profile, &s->profile_trc); cmsCloseProfile(profile);