From patchwork Fri Apr 26 12:28:00 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Niklas Haas X-Patchwork-Id: 48271 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:1509:b0:1a9:af23:56c1 with SMTP id nq9csp333579pzb; Fri, 26 Apr 2024 05:28:35 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCW5R8vvaE3FK+SV8HM/Xn74Z1uBzV6+Ghq1G/DvoQCc0Leo8CfBJopWyokqhxGUT9Zrw3yV5OrLQhgr7ynWcNLdX9EyHC7y0VTdMA== X-Google-Smtp-Source: AGHT+IFy75Pco0/wmhWwXCOhuhhwR4BIlEp6Ej0PGrQtt3mZFRmLSveZdD8AfZP4S9NGY4i37yWE X-Received: by 2002:a17:906:c14b:b0:a58:a1c2:50bc with SMTP id dp11-20020a170906c14b00b00a58a1c250bcmr2435790ejc.53.1714134515049; Fri, 26 Apr 2024 05:28:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1714134515; cv=none; d=google.com; s=arc-20160816; b=z/5+LVdEda/Q0Jz+IdmqPLpkLFEtMCZzH1J1bbP0tEYBbB5UG3SXmXf9pTfvC76kfH LWpQXoKSk9ermqPA9ONVO0sxBpiuijeIrKAnQUrEJjGwGznjfqYJrdZKV2fO2zmpOopU 4chHzI49itDS6RN98ifaDK+izj0x2FhD6zsljg8ARZyNffKvF5emva4N6viguZ1YPv2p B2n7y8W+RwuUI78oL4I5w5oDAkP0ExKC65n4jgZzqtq4Er1JCcteYeBosF3cKMXZCtzR rBXDRm83fXLpS1WKDYxR8ojA7lOtVVcFBIPFHVEXOu0UHKUiHBHbGxKS38gRsG9pANgH dEhw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:references:in-reply-to :message-id:date:to:from:dkim-signature:delivered-to; bh=16Ok7acour29WoXYBu2ajkewB6oQuXnY5I9GEW2qkXo=; fh=xmAeKtysnShNOmkhiJmYkS30uw4Fu2hvBJ7qlIwukxQ=; b=xCAKTW+DpTIbhNl+jynm2qvgMd9lXkIq4L6XgGcxya0GBzljnZG3720kGHZ3tc6RA+ EJLKaWrVoU5c4DTVsSqF4MJOgol+PE4dGrepyo2CtG6B1d0HvfS9jPd77i0sEai2PLJL vLETrbVHHZOn/hEaQYp7znzvbSp/Wsoy/Sz5+Wk1GRu2f7yjt0VWAlqKGaWJTdjSsX2d 2M6W8DGuMCeEDDqM03XFXU0dbNgvcDWV9lPr2EgnQKRtHXsgPjgYWhejBqS5pxN8r+RZ gy4q4njQIaZfoIZ3PqXN2XVE5s+bRJc288UfbR+Ih9a3Afx+/d8bi5+Z8y5L7987e1pQ 8/SA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@haasn.xyz header.s=mail header.b=p85uHsAh; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id hd10-20020a170907968a00b00a559f83ead1si9380486ejc.880.2024.04.26.05.28.34; Fri, 26 Apr 2024 05:28:35 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@haasn.xyz header.s=mail header.b=p85uHsAh; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 0306B68D281; Fri, 26 Apr 2024 15:28:16 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from haasn.dev (haasn.dev [78.46.187.166]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D620568D418 for ; Fri, 26 Apr 2024 15:28:06 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=haasn.xyz; s=mail; t=1714134486; bh=IDT14CE5LW8BEzBmjnrX5Y43Ao2QE1IYjOwAJ117RrA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=p85uHsAh7xLXkegDm40c2vnmpcgPYH8EKPkWkFCmuV5oujcPhae45bKnfFngBAKA1 2bd+3iuvnflBN4ncYk3yctn+R+aTg3hGT2s2AV4efj4JuNtoMqKxyQakjwaK9MII7y UnFNstvAMQ+3lu4zC4oAQyV78N4GgZOrUnWXHP18= Received: from haasn.dev (unknown [10.30.0.2]) by haasn.dev (Postfix) with ESMTP id 9A4174105D; Fri, 26 Apr 2024 14:28:06 +0200 (CEST) From: Niklas Haas To: ffmpeg-devel@ffmpeg.org Date: Fri, 26 Apr 2024 14:28:00 +0200 Message-ID: <20240426122803.19967-3-ffmpeg@haasn.xyz> X-Mailer: git-send-email 2.44.0 In-Reply-To: <20240426122803.19967-1-ffmpeg@haasn.xyz> References: <20240426122803.19967-1-ffmpeg@haasn.xyz> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 3/6] avfilter/vf_zscale: strip metadata on change X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Niklas Haas Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: kaFe1SKmjKsS From: Niklas Haas Required for both size chnages and color volume changes (as a result of changing primaries/transfer). --- libavfilter/vf_zscale.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/libavfilter/vf_zscale.c b/libavfilter/vf_zscale.c index 45f1bd25ce..c012464615 100644 --- a/libavfilter/vf_zscale.c +++ b/libavfilter/vf_zscale.c @@ -783,7 +783,7 @@ static int filter_frame(AVFilterLink *link, AVFrame *in) const AVPixFmtDescriptor *desc = av_pix_fmt_desc_get(link->format); const AVPixFmtDescriptor *odesc = av_pix_fmt_desc_get(outlink->format); char buf[32]; - int ret = 0; + int ret = 0, changed = 0; AVFrame *out = NULL; ThreadData td; @@ -880,6 +880,12 @@ static int filter_frame(AVFilterLink *link, AVFrame *in) (int64_t)in->sample_aspect_ratio.den * outlink->w * link->h, INT_MAX); + if (out->width != in->width || out->height != in->height) + changed |= AV_FRAME_CHANGED_SIZE; + if (out->color_trc != in->color_trc || out->color_primaries != in->color_primaries) + changed |= AV_FRAME_CHANGED_COLOR_VOLUME; + av_frame_remove_side_data_changed(out, changed); + td.in = in; td.out = out; td.desc = desc;