From patchwork Sun Mar 24 09:26:35 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Damiano Galassi X-Patchwork-Id: 47403 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:c889:b0:1a3:b6bb:3029 with SMTP id hb9csp599897pzb; Sun, 24 Mar 2024 02:29:07 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVY5jia/EdhVAh6WYaum/0l6z3YSF0UrLs+XtEPslMkH1uE5vQLZN5FlbAIjRCEZtD35fWgIEvvC04+wQdWFjMF4QvXrDGcLg126g== X-Google-Smtp-Source: AGHT+IFjPBCyFpWaqW/8chsC7NNdqKNzD+dc5iymy49LHdfR05FnBukJgpUDKR54IcYlvH6rrymG X-Received: by 2002:a50:8ad5:0:b0:56b:8f6d:8a99 with SMTP id k21-20020a508ad5000000b0056b8f6d8a99mr2656432edk.22.1711272547629; Sun, 24 Mar 2024 02:29:07 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1711272547; cv=none; d=google.com; s=arc-20160816; b=SA32BxvCCGIhowWWNeG5RgPJ5PJiW6d15zrjdxxnUgnfrebNCwDpYRyH4fTaGHjhfg DHULU2QGp/xR2pwopPuBixmAgaPRlEqZ1eIioHV7GU9aiAcg4LbQK+ipjjaPU5Sz9IxF wyt47n4o08vkLhcoKCCgokz4trCPAXR6SFCziWEgNMKZo2k4hJl87UibKNU4KYkZKi3j ZGQUBgSjpslf78lQP/VQh1VrFzWSpEfoYhki85SSbXX8kmuNPqDbkcaFpXB+IFcnO6Q5 8NyEWLxjSS4fQKPsMimNpcy4GZhd8KGVKODC1hagU/k+2C5PAzKyx9V5IHIMy9J6BFIa Qn/A== 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:message-id:date:to:from :dkim-signature:delivered-to; bh=4ItYNHQLtnjGWAet53v5h8HUyXJ5GvaGErkRMJsA0ag=; fh=YwgSrnX4HA8pvPzdbaRPI5AmpsyVZveJ5hFtWA9JHBA=; b=pFHFr9KOYMvIiKNfCqNRBYgnssbI/cLQZVAciIVlFfAcOdxq5qI8I0hIkOQHKA+8Ui hOXwJ5I5Al42gBwBG/1XQ93HGdBCAJKQyoWH8LRhjL1gS4H/jnzHsdo3JiJqr3ufpXTo oHcEnC4J4aMBUs+xFgJORwXT/PeadioABV8ghy/AXj8WXwTaOVu/jEIWyJz/FauyX0Df oIKmBBlJ0seruPJ8CxlU3ONhr8z/dDV0Op8V795SV+m2fINDnvDEn3sCli8/+ycqCLlc nI0RKNFmFkG3GW+euKxOW6rCnnUsW4ctllO1UQmtfYuyR+qc8VA1Dgl+k0epegO4fbGJ D3UA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20230601 header.b=ZmgF19lc; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id fe12-20020a056402390c00b005681b2e422dsi1593433edb.111.2024.03.24.02.29.06; Sun, 24 Mar 2024 02:29:07 -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=@gmail.com header.s=20230601 header.b=ZmgF19lc; 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; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 93D9568D496; Sun, 24 Mar 2024 11:29:04 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ed1-f43.google.com (mail-ed1-f43.google.com [209.85.208.43]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 42AF868D289 for ; Sun, 24 Mar 2024 11:28:58 +0200 (EET) Received: by mail-ed1-f43.google.com with SMTP id 4fb4d7f45d1cf-56ba6c83805so4023409a12.0 for ; Sun, 24 Mar 2024 02:28:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1711272537; x=1711877337; darn=ffmpeg.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=1o1XN8K5/41yrWiymacIaWVZAjsy52Ko2MaLVC0Pu8o=; b=ZmgF19lc/mhqJ44M7HdaQ8J5iENgukbAjvOw12+D+bs65pG8msfnT7cVG0P+kxdk6h 0jYtSkCOZS1qF0tIYEFq8toZfrFdIi7mXZ/Mm/txdJRw5j8RBWalRdB+6RtRhfFPzqJq g0SDVAGiMg567pZl82o5DpiKjEYLyVISSuXXmnY25fpPqNVRXLlWwKdheDR2v9PAjJcL xRPTyFEMg6oUoQzJtz4x+VOZD2OjExCOrRdmVks0ujy3UHpKyvmeZWLW9I4dExdzv2IJ xLlB7MU5zWJOntCOhTx9a9R4dNoaFQ4YsJuAHHLkiqKLAXzcbAJzwhLfMV3YoaD18xwa +PDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711272537; x=1711877337; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=1o1XN8K5/41yrWiymacIaWVZAjsy52Ko2MaLVC0Pu8o=; b=oEsjSIYqwOCl8xJ0x8fuWb8J3dyldp2cdwc4cy19ZjYThoqTL5na4LJPEDvxcrPRkC HkRtqzBysPD6IYZKJwn7KgXdrQsUaCw41HhUrY+Ps8AfnLPIFdbw7j4tmFfioQtoSZnd c9osn2FlfFoickZjIIujMDka9w71Aj4uqMe/q1O5YMAbOrCasearEt4/2TVjAhsVutDE /nVyMgDDQZnYJGm/2Vbm+MGr73FNRocLUm/HSl437z9eI90r4yKDqCr8HDoeeVy74cB0 GTAmidaFfQ99w4ZRlRLi6IK4YMv7XnwuOhWF9B7HSf8cdBTSkOgwyIAgUCf1htSBnGUr hLLA== X-Gm-Message-State: AOJu0YxqKN3+tB5B7mCA1pDFqrAH7hlMmFMGQFqdkYWXtD1jbT39WMNf c/umZBwriIWdMFwmBVQ5tooYyhZ9n7c8RtxWZaWoQ+BhQSfFJlzM7Lh9k+Nx X-Received: by 2002:a17:907:7ea1:b0:a49:dfe1:d5e with SMTP id qb33-20020a1709077ea100b00a49dfe10d5emr75436ejc.57.1711272537343; Sun, 24 Mar 2024 02:28:57 -0700 (PDT) Received: from Mac-Pro.homenet.telecomitalia.it.homenet.telecomitalia.it (host-79-43-243-1.retail.telecomitalia.it. [79.43.243.1]) by smtp.gmail.com with ESMTPSA id ku12-20020a170907788c00b00a46b87c32besm1804097ejc.39.2024.03.24.02.28.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 24 Mar 2024 02:28:56 -0700 (PDT) From: Damiano Galassi To: ffmpeg-devel@ffmpeg.org Date: Sun, 24 Mar 2024 10:26:35 +0100 Message-Id: <20240324092635.17850-1-damiog@gmail.com> X-Mailer: git-send-email 2.39.3 (Apple Git-146) MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v2] avfilter: propagate colorspace and color_range from buffer filter and between AVFilterLink. 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: Damiano Galassi Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: pa+1Ex9tI2w7 There two new fields were never sent down the filter chain, and no filter after the first had colorspace and color_range set, causing breakage in zscale and possible other filters. --- libavfilter/avfilter.c | 4 ++++ libavfilter/buffersrc.c | 2 ++ 2 files changed, 6 insertions(+) diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c index 831871de90..66733f5ecf 100644 --- a/libavfilter/avfilter.c +++ b/libavfilter/avfilter.c @@ -391,6 +391,10 @@ int ff_filter_config_links(AVFilterContext *filter) link->w = inlink->w; if (!link->h) link->h = inlink->h; + if (link->colorspace == AVCOL_SPC_UNSPECIFIED) + link->colorspace = inlink->colorspace; + if (link->color_range == AVCOL_RANGE_UNSPECIFIED) + link->color_range = inlink->color_range; } else if (!link->w || !link->h) { av_log(link->src, AV_LOG_ERROR, "Video source filters must set their output link's " diff --git a/libavfilter/buffersrc.c b/libavfilter/buffersrc.c index ddcd403785..2760097edf 100644 --- a/libavfilter/buffersrc.c +++ b/libavfilter/buffersrc.c @@ -499,6 +499,8 @@ static int config_props(AVFilterLink *link) link->w = c->w; link->h = c->h; link->sample_aspect_ratio = c->pixel_aspect; + link->colorspace = c->color_space; + link->color_range = c->color_range; if (c->hw_frames_ctx) { link->hw_frames_ctx = av_buffer_ref(c->hw_frames_ctx);