From patchwork Mon Feb 5 14:29:25 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Niklas Haas X-Patchwork-Id: 46042 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:7b08:b0:19e:8a94:b663 with SMTP id s8csp784948pzh; Mon, 5 Feb 2024 06:29:40 -0800 (PST) X-Google-Smtp-Source: AGHT+IH1XRekS0+FTUZGqDbzZ3s7dgWHqWZqIRZ+2bra1UAsVpbJNyJiv5OJ2bb6K9LtyMM0GFiE X-Received: by 2002:aa7:d347:0:b0:55f:fb28:2701 with SMTP id m7-20020aa7d347000000b0055ffb282701mr4760324edr.1.1707143380008; Mon, 05 Feb 2024 06:29:40 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1707143379; cv=none; d=google.com; s=arc-20160816; b=MjN/3mn1sU1IBZ38riflsgEWRizDGDdRC+ouQ290Yq5cRueCFDPIzXSXzHmMeaz4bu oeBAx9bC6hhwiCWZICerflR9VxffFgmQA/ER8LLT+LwtFlFHo+sBgDLB/87SJISbag/0 85HvDurY/OHU4TaFhyID90pYSD+pojSSfCR5GkIaAoUoXhyUm0EaGAD+xEerPUBy42r9 iPQ0Gj4y13L3oHL/8IQd/TNnhNeMBBzm0LylgAEUiLyWscIURAZ3oeR78JkO+RvqlaMs eFpM9SP4GQojxQIdkJIRVEBdyBh57hKCzUFxGYUiSPklnCWFeXyuXcZRLp9CMlDUgumk b+cw== 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=UL7eoH6FMmMGfH+CndLfackP/6HigQJDK0s+INuNGyo=; fh=ngrqVFGRc6/7sB9vL2beCH25JgR629bHlzoh0srHqzQ=; b=p4ga1CXq1+PtJQ7C8s1uUyELjQT8NWq+FpOrDBHDvwxyKXDhe7ij9fwjf+DgIDPjgE /w1stOhZ2Yg99jO7T71JoMiNLfvMD5bDBOYmczLCJLIVFUtVzmnbTFaoqXO1y27NBMEB GfAr5boS147OF4/B94BM+MDpWVQAOp2YOuHL7i6YJqprlQ728DsnoL9k8GIpujVq/KyY o4XSjAPdY+p1B0a370j5bbfL4DGrZ7cc3nKr+5bfT/h3KsfJFpu2s0jUUbHrP+aviEW8 mRfa99amjQMUSg4GBqfyKbFYKiOm0rL4OngcGwMEJF1YZMX6xZjxLm6PK+oepW6LI/da aQkA==; 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="gc6vyao/"; 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 X-Forwarded-Encrypted: i=0; AJvYcCVv3d9nXMVrI+Fb/SR0Da7IA6ZqmoaIeCaqi/Bdth/VJMkoJduM5Fz5Ud1IIG9BhU/Etl0cLcOV3K1yFunWtSw2+DDvOSCtvfWn995Hjtf2Qgh6c96QnoTh9abQ8mLysi8dXThIrKr8Gc3/KeRU9AeMIe08p20PX6X4brKdocgDAuDt2LBHD6S/SGaShNple34hnz1aqbE6XxMzsqZhwJgzXA6O3DgJ6oIhxUgBXbXp2vgKdPdxYZ/1Agh1Zzpn9J+7wg7PFXnmbSf365ZdlPyu1ctIuqUoDSv72SImgZhmmnCCx8VLMOMw7tIZLq1d65p8E8dTeHju6aTNzd54j2ETUfAGeTc/yDi/44u31T2Sso08wfvKbTPd5cBTXPzHy/MwNRc5NqmM4k4zw5dephKt3lfgS8gMAiqNGeXYoz8uDouvk6YbqY+QpE1IyDkqAwzqxwSTK/xz12ASZ2YrlZysY7oA0dC8XVBKeHShW/7vdnmXZTL/ov2evI4w+Ugka9gOKHxilzyb2nls34EDC2fHCD9Z2lSbgcOVZGzsEOqdzWiSR7NsDXWQGVCOdJx/xleWt71SsblZfYPPCxLj19uNvzIC936IUBR9q5/S/QFec0UqnvO3ASvXydVfkJ+xeafMK2qhKlwgbVbkTF89GqQJ2v4dcuKVa8wg3nrgI2VLXmb+xzOyLpU2MhWCWHyXwCoF/bV4L+Bf9oxWs5PWYoqvZFBljTKlFreTSHtVoPzpcWjwUQDxzFzA5S8HQ6KpCYt2tUDz+vZRIemYYsAjljKizbepSyI+Gpi2iRGOMJ5Elf2xJgpk22ApSdUuGLxmMO0a9EpGL0XtdIFuPVuzCFckmTwYeBdDxQquM/eHw5Frrg9ndq1tVb3qxVObUAt3kOAmaRfyYhU2qfgaWlU6pTchqcRZsv1SvgpBGYekYjkIs/yeRSFp88kfDbeACucOByYi1K D+SmdKEAHjfifZKB7KldGFtG61Cg3VOaWf+u9TfNlOpTtn/UGbi3tk6WHRDgGPLuDHzkmW1zl1YWDgrU42pGiXrVuXVUEAm3NSd5IKWWCBfXR4rSWVhbmyiOKFpDpzL0cRrP7PozMByRo9ky0RunIzHwpPEKi2rVF99anjN6bfnw5PhGR2GcvVk6IP8yzIms/v+arCSl5gjePGWzwn4z3qfOFJvFsn2WWMyFKXYNI6ZH7PNlICIwo0usJCrNxcuFi1PEKEC5fDGApyrLMTWEf5cs0e4DjinbpvWQCgA3Em8vLIiFVTDR/39Az3lkSjDEV8Qu/y7Sp34S6/hbjHN8xXKR3Dzw9LpKxPoi8egSmUgSfU/j7+Fh52KXVyvQU+J5iCfzdDNOnRICjDYnMUKBOIGn4Nt7me9SxZ/5c7ex7klnGtBY41oaww2JMKl/lVb8ufS7lwGxlhCSXAZ/XSRe4tNzaS9m1Un+w4TXANNPS6wVZq4MPf9GiCmdwsToieA1AQWS78+x8j5V6ZU8aQCmEyCxinv1nNvvg8wZUGkOKY7yG5bg1C7os5svw24Nz0P8S0dB5z7y3+TOKSVyq84yn9OrAqlP2L5hGIKrVWMx9xdQdBYZDnPYD5W8GrQYJjUS9Dx48QJEsrWg85Tw== Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id ec14-20020a0564020d4e00b0055ced896819si4034235edb.212.2024.02.05.06.29.39; Mon, 05 Feb 2024 06:29:39 -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="gc6vyao/"; 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 8837668D13F; Mon, 5 Feb 2024 16:29:37 +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 D8A5068AF3B for ; Mon, 5 Feb 2024 16:29:30 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=haasn.xyz; s=mail; t=1707143370; bh=2EjVz5fCq0YOx6/l0gDPVP3TY2sMggfoBWJ2qAzozQQ=; h=From:To:Cc:Subject:Date:From; b=gc6vyao/tEPtnn/0ovA2Upv8Y0192cLQfPEI3q/xhDAi+wdNLDwqszAM3lJfHp7FO rXiTe3gEIJbf4P+X0K6LtM4R/JeEPEKRYf01EuVoNG2qeXXIPsF4BgqE9vv1zFtZ3n mYeUL+toGTpC9t3/Wz2dzEJX99mbTrZVOXX7r1Po= Received: from haasn.dev (unknown [10.30.0.2]) by haasn.dev (Postfix) with ESMTP id A22B6406AC; Mon, 5 Feb 2024 15:29:30 +0100 (CET) From: Niklas Haas To: ffmpeg-devel@ffmpeg.org Date: Mon, 5 Feb 2024 15:29:25 +0100 Message-ID: <20240205142926.12050-1-ffmpeg@haasn.xyz> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/2] 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: RkwBDZpVloLC 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 6e450ff6b7..93fadab65f 100644 --- a/libavfilter/buffersrc.c +++ b/libavfilter/buffersrc.c @@ -291,6 +291,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