From patchwork Fri Feb 9 14:53:45 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Niklas Haas X-Patchwork-Id: 46134 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:a586:b0:19e:8a94:b663 with SMTP id gd6csp982148pzc; Fri, 9 Feb 2024 06:54:07 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCVbI/cV0zEudBWcpJsaE1ek/YBw6K7kM7jZv5pIimJJDWIVqDJQo8SoUepEzr6qh1TbaLbPMY6/+3fTtFr0wIb3CtPZayWMEY1MXA== X-Google-Smtp-Source: AGHT+IGu2PFQsguLR4135PCW7CDcTDDaM9PoTrN5KRZtA8llHPZo4HxPLHAcdIF7mkMQJBzf1OkB X-Received: by 2002:a05:6402:1f81:b0:55f:c4e9:60df with SMTP id c1-20020a0564021f8100b0055fc4e960dfmr1136401edc.20.1707490446771; Fri, 09 Feb 2024 06:54:06 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1707490446; cv=none; d=google.com; s=arc-20160816; b=GozA8L9xfoLc8Vt5MFT9xksFj9gEbFU/Q3syRZmxEPvfOYbMXWlwdio2UVWvJKHDsp r4PO+pb6Rki4B0cDbyO4783hKkGyryGLxxjmOpmQyrLAcE1djpzXCSgcyEjyFJEFc9K8 5QZUOTD0gj7sLqZdQv9K1af+DWL7/nYnhapTNlJMl4jCSxu2VFYCukAIuY0SVmT+jipT fpTZkGaslzhbeDwFWrPFqNNQuIucDfdKhOeR3YlL/v6npHNzvHxrrOnHk/jXjveDhtp2 mBUymGXEEp+6iFBWzohP4izb0Hiltwi2YeXKLKrBFuy3UojJvalW3QOA7S1pDpyUpWLY insg== 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=ABdqJ2l7Kr9f6GpUL2XE3oD9sSJ/ORiMtqhXtHqsEOQ=; fh=uf8SLA/2sNHVcPRJyhdIoQtGBt+eevpeH9BgfhKLXR0=; b=rJ7J17dEbKwUGN4vxug8BFr3nTqjjaRZ2xUEfX8O+Ff7diQvZdqiTGYvU6f2C/vfHQ P2hQFy0vwI6ozdhiZtcESWDjkRyhciSDRqvJJrnMmvk+I6O3tR8eME8ZA2Qj5YCDjGDE OzvRBPjBde/+thPc6bcGct4+pyPprxiX7MjSb4UscEzFERCJR5QN+vkqyDFSyKjTx+Y9 AOEnH4GABhQNHj+nOMMHHUlDQqOOZS3NUCEnZ/osb+cJohp9Uwi2zmv+VAUwkNwm1ZVE ix3YkNL56GCvKC8UtM9O2o20k/SSOWvGj+SD6UBvh+l/An9Q+e2dB3aOgie0zOTNDTa4 z7hg==; 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=ggxcg7VV; 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=1; AJvYcCU5WZ/HitoCwXnY1ahmBYQ310MAiJOJ4FGtJ0pG0fVmY9Hwg84/reUW2yPk8kbfwtibStajE1nujTz8ieVD5xACAozW1Pjwc+HkVYXpavT9UxSr4yA1R+dNzh45W83CCI/R57REPKVRUeTVmE2S8ApwT7Z+FXCGXZ3ZHALUYwXn6G1EMUBoDw1qbdasJT6UHZg/xCQIer9Kr4kc7EevnZgF2PxW9MZ6pT93nvf/b1IMf3b5bhII2FCEC0N4LMSWWbYx0nFCwP7BQYdd7HAFKkiWoRjRe6V2kXsUFBuQ+ZLDONKocI8DcwV65zGfX6ffRj2c6q8oFnNqoNrj79Wm4cW4IloiGMkpkXWGoTMAYfA4Ov8wU7DSd84jP5Y52MYKDO3pIjhH616JCCTHv5lfGsUzoKkKYzKp9wUKj5pKLDc7hhsJVGmuhtWAFQLrUnZxboT/F3YE8xFdWVd+86wzRt1stRUyKELEJ4ZannMaWbDI5t9y9w4d9xZqcNvwnKJmBDT6EBwrogos+9oGI7CO8GIlneW/hECWeImoSALv4phbbMoxORcLSr8VIvhxnBN21TldX31damINVbWfqkgUq4sRBU0qzEVkQ5lkqT2DLDwWwOOnxF2PwvQrxG8/HCpBhVW/1MyQNboDF0UxnQs0BD2vtI2pdn3acIZ4WWVa9fgAu1FOJPUTT7Zu4n7VtjWnBVhfOZuxmzjWTBUJYP59S7RgCpI8WAqmcioN3LGrPhgjG1BLDE1zY2hXAxNra0yBIuDzwigrZ0H32kz2N9Gwllij3MOmdA3xwmdxAZsYf927AroCJnwiZjDhy7QQhYb5CdPbhHJet00ra9F7u2i9cljYbmu/kfP57vPdWNEOS+PYtvmttk8U4ENiqN6owWzKOu4brdUKnpFFiL7sZu76qSPiN4HQZURMRH8PR3gIlmsQBvH9MnPzVEvkOQfGx87WSxzg55 7OieuQTsWlmEp3aL6pSdkpkx9V5VtbDfy46TsTi5RmzmmlmMgZvDi9HLtIPGERfVoGEd8GBAImgBJAavWz7Jbeh8jH9IlzmAnpwsECAvrwg3+dDgZXK5AAREAJdb0TogLzFJuVyKVqzrLLPYUS3YtnqCgumCR8+VwiPO4NdUma9nVGDPjD7ZdNbOEHQIBgerb3WLh8XLkl60LwXxpk3O1K19BiUrcWdwJNw4dQu13hkKQmMaybrj+pTit+Y8DUtyT7cGh9i6rUm/8/d6DPfIb0RpYYW5vs1WpyqvxhRx3szOJIGcHm0YsyYiLp3PMKvje/CWMByyQEpuBEgBw0aINBqBolp/XJOkHR1Jvvnkhe1/JniuKFOTVguKN4k0UfKNR62fKEBoU9fadcbwKfiCF+Y/xUgpKQQHlTLM+gf8iyIignbNBBr71EHyXSNu+pg4y6D6vOPr+VKy3q1h05VHSSB06aQQbTO2dy4Keloh1b/nsU/OQA9yL1inSG8LeOjQJ/Dxb18QGAAL+5iU3UL9tu2pnirptPraw3NKnco2Nq9c1oxChaeFPok3S8Nt+6Hpss23EB8QGvl4TSM0y1q0muS77ng91Fu17ZLQ7KXw/ELzSDyyn19UCvWnXykgZKdy47 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id k6-20020aa7d8c6000000b005610bb82540si919744eds.505.2024.02.09.06.54.06; Fri, 09 Feb 2024 06:54:06 -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=ggxcg7VV; 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 0BF4868D081; Fri, 9 Feb 2024 16:54:02 +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 E641D68A9C8 for ; Fri, 9 Feb 2024 16:53:54 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=haasn.xyz; s=mail; t=1707490434; bh=NdS9t9QE5Md6r1AyPCc/QIqDa3UEuyz1nQs3kwjy5AM=; h=From:To:Cc:Subject:Date:From; b=ggxcg7VVZuWlUichD5PPj3p175VU3CEcDc/SL4eAzdk+gmnClEg6PLKfzwfL/DFlB if3jfJQhprrsdaG+qhEsH4S9FzbWoBsMChQ9VvW+fSA2qRnFjSV+3jDjM2MtlQ/U6w 6B3HzK1uZ1Fqkn3k5u7MyHfxwgrYryBQzH+3mbwA= Received: from haasn.dev (unknown [10.30.0.2]) by haasn.dev (Postfix) with ESMTP id 938ED40A49; Fri, 9 Feb 2024 15:53:54 +0100 (CET) From: Niklas Haas To: ffmpeg-devel@ffmpeg.org Date: Fri, 9 Feb 2024 15:53:45 +0100 Message-ID: <20240209145349.104511-1-ffmpeg@haasn.xyz> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/5] avfilter: tighten semantics on hw_device_ctx 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: VMMWpQ/1CKUO From: Niklas Haas Currently, such filters defer hardware device initialization to query_formats(), which is not really the correct place to have it. It would be far more logical for these filters to create the hardware context at init time, and error out otherwise. By contrast, filters which merely receive or process hardware frames typically do this at link config time, because they do not need access to the hwframe specifics in order to query supported formats. The intention here is to specifically stop creating hardware devices in query_formats. --- libavfilter/avfilter.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavfilter/avfilter.h b/libavfilter/avfilter.h index 246d000251..b6adcf2473 100644 --- a/libavfilter/avfilter.h +++ b/libavfilter/avfilter.h @@ -464,7 +464,8 @@ struct AVFilterContext { * * May be set by the caller on filters flagged with AVFILTER_FLAG_HWDEVICE * before initializing the filter with avfilter_init_str() or - * avfilter_init_dict(). + * avfilter_init_dict(). *Must* be set for filters which do not have another + * way of obtaining a hardware device context (e.g. from an input link). */ AVBufferRef *hw_device_ctx;