From patchwork Fri Jan 12 08:25:58 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Niklas Haas X-Patchwork-Id: 45575 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:bf2f:b0:199:de12:6fa6 with SMTP id gc47csp2204051pzb; Fri, 12 Jan 2024 00:30:20 -0800 (PST) X-Google-Smtp-Source: AGHT+IHwPKJBMVYOaIbgNd+fsG3RrBolE1c2NEA6wuXTE9YKAWIIhXxv0XWpq+KsgBGI3+tkSt6T X-Received: by 2002:aa7:c257:0:b0:551:41c6:695 with SMTP id y23-20020aa7c257000000b0055141c60695mr309564edo.13.1705048220566; Fri, 12 Jan 2024 00:30:20 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1705048220; cv=none; d=google.com; s=arc-20160816; b=btN/6tLccpHqAXFaVbaDTY4deS8+AJyprWt8r0eL8G9LjMb4qPLKAz5TZiAPoMPlZe LQvwG7Vw5i1rCGeAHAY9sHlzoiwBc8PmftkrB/QDJcptIxxl2V+aqg4yBlfw7vkMlidf jPrMX8dHfijYM3j75eN2Z92wlrlEfl/Udl+tBvnVG5fwgS+sspeY+LE8irs8ijQEVEoo A2XDOThh1QuFq9PCaeA0NHPx236FWEcVeZ+NRaO9v8OXna9IeRZ6rXJx68IDpdY/UQqW fwOz370UKZBHz1wRq5wPTFpDif2hcWBZnAeC4VPrwAPE5qJs1A9B7LvIXsxHjvPnlcSD v1hQ== 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=iM50B9U9Ja/ze45+5H1bmluK9ybCU3rdrse2nqvcg/M=; fh=xmAeKtysnShNOmkhiJmYkS30uw4Fu2hvBJ7qlIwukxQ=; b=lpaKKnzsIzbFBQPXxxE2SeEj7HTvMy7Xgeeo3q+Ti4y8AKBrMCY+mrfqnvOIcFQIUv Ngx0MDpCo8nW8O+jtkH3xhAAs0eklHIQzfMLb8iNUDLAaIwENMMvcf4wEQ+72D2BhDWI h4t6EqFyOwftx6i7StBKaw2jFcA2y5w3dZqhabOZ1efV8W6l8TZ1iQvYPMOVXYeRrMbx 07gsj89B893cvQGFm/c/IhEEd3yv1SUzZ1runLcRDGXk9HpTrhZIwGIc+crUa2ykb/o3 EGkkuRXJZMzqcc5rGYhZaUjyt1ao8EBPlsFBS+8AcGd9GNt7jKBn3cQUMbNt3J3ZJH54 DAMA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@haasn.xyz header.s=mail header.b=O3Jca0Sd; 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 fe12-20020a056402390c00b0055822976d9dsi1245175edb.26.2024.01.12.00.30.20; Fri, 12 Jan 2024 00:30:20 -0800 (PST) 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=O3Jca0Sd; 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 B4E6E68D06D; Fri, 12 Jan 2024 10:30:04 +0200 (EET) 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 BA72A68CD4C for ; Fri, 12 Jan 2024 10:29:56 +0200 (EET) Received: from haasn.dev (unknown [10.30.0.2]) by haasn.dev (Postfix) with ESMTP id 47424414B5; Fri, 12 Jan 2024 09:29:56 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=haasn.xyz; s=mail; t=1705048196; bh=ChD+VxHxXTPMpgHvi1xBqe1vQtRXYZqpMfWMMcVa5h0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=O3Jca0SdsFgrFVJi/ulq0fQNfspykMk/SmMI+IJqifY5PPBYpWS1WZxPbhPVk0NWY n66MIoM99SzR/dIpn5jogtv8F7bhVVn66fz81eB2JSIi2fq8ynTDS4dbQsLZ3qihaK 1kjddQum+B4XVwrmUdSAMkIYQKwTmtu8ESxrAE94= From: Niklas Haas To: ffmpeg-devel@ffmpeg.org Date: Fri, 12 Jan 2024 09:25:58 +0100 Message-ID: <20240112082950.41637-2-ffmpeg@haasn.xyz> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20240112082950.41637-1-ffmpeg@haasn.xyz> References: <20240112082950.41637-1-ffmpeg@haasn.xyz> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 01/11] avfilter/buffersrc: promote unspecified color metadata 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: ewrZKtqgMBt3 From: Niklas Haas Currently, this only affects untagged RGB/XYZ/Gray, which get forced to their corresponding metadata before entering the filter graph. The main justification for this change, however, is the planned ability to add automatic promotion of unspecified yuv to mpeg range yuv. Notably, this change will never allow accidentally cross-promoting unspecified to jpeg or to a specific YUV matrix, since that is still bound by the constraints of YUV range negotiation as set up by query_formats. --- libavfilter/buffersrc.c | 5 +++++ tests/ref/fate/rgb24-mkv | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/libavfilter/buffersrc.c b/libavfilter/buffersrc.c index afe69433b2..e10653c866 100644 --- a/libavfilter/buffersrc.c +++ b/libavfilter/buffersrc.c @@ -277,6 +277,11 @@ FF_DISABLE_DEPRECATION_WARNINGS FF_ENABLE_DEPRECATION_WARNINGS #endif + if (copy->colorspace == AVCOL_SPC_UNSPECIFIED) + copy->colorspace = ctx->outputs[0]->colorspace; + if (copy->color_range == AVCOL_RANGE_UNSPECIFIED) + copy->color_range = ctx->outputs[0]->color_range; + ret = ff_filter_frame(ctx->outputs[0], copy); if (ret < 0) return ret; diff --git a/tests/ref/fate/rgb24-mkv b/tests/ref/fate/rgb24-mkv index 99234f1052..1cbed136dd 100644 --- a/tests/ref/fate/rgb24-mkv +++ b/tests/ref/fate/rgb24-mkv @@ -1,5 +1,5 @@ -e181dc84058c3584598333dabd110123 *tests/data/fate/rgb24-mkv.matroska -58225 tests/data/fate/rgb24-mkv.matroska +7d767e8238c674ecfa80458cb281c09e *tests/data/fate/rgb24-mkv.matroska +58236 tests/data/fate/rgb24-mkv.matroska #tb 0: 1/10 #media_type 0: video #codec_id 0: rawvideo