From patchwork Fri Mar 24 16:14:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Eoff, Ullysses A" X-Patchwork-Id: 40808 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:d046:b0:cd:afd7:272c with SMTP id hv6csp739977pzb; Fri, 24 Mar 2023 09:15:20 -0700 (PDT) X-Google-Smtp-Source: AKy350ZeWeoTLzyFwfV8cXKQNsYPNomycDIgrHr63C9346StxWV8agKQ+gE+MyWZ4ugQL19IeLlS X-Received: by 2002:a17:906:1453:b0:92f:df03:551 with SMTP id q19-20020a170906145300b0092fdf030551mr3195671ejc.15.1679674520296; Fri, 24 Mar 2023 09:15:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1679674520; cv=none; d=google.com; s=arc-20160816; b=uTqkr4jCZogGwT/FZ2grLP0D1nUBmOtoJeeajdq9T1AG92zt5Yos7DaDpbKPQ8lklY itOXvigcBk7dw84ZKb5afapftssTUw8LjYJIWoLQBaBy9sBMXBaK1Ew6UhkOvLWvOIyK JL+Ho/m0n2pg/IuaBTuLkNEqblRmQqCkUBjcCwaX/GCQD/+ZpCOuCu+eAmauBFEZf8UU yL+0DRq2EHh2dmbiYoePgfHPnRg3GwxKDmhnK/tqLrW3YHVhHt+TVGcs4e1DfPGediFo LHlM3Q+GCbWumduVNbiDUB0tAgsAHGc9153f+sqWEUeP/ZKk23Wjhxk9hh1SJfcs0bkM i0ag== 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=cN8Z2jJXzeh5wfVdiMcXNszB+bbyTlUgQfX6aK61xeY=; b=RDYD4ZImk7mJnPiWkD6lFm2yjoTvwI0VsMmRVrkh9O2DLhAoS95K+fNpHYUbDVXw3i 2/Q9iBEHTMUkdtgf19dyIjdU4p8s/+Le6UeUnfo9pln9az/hvivmWQh7/0ss/h1CGenZ 9/aSym67xCiTTkCpXYXRv+85+1/cIoF4kOD/71NOwTNQvS09O6Dvf5bupZVV0SyMsvNG rXaB0zdiiQQXd2nft+osS+s31Zl9BRbBh+EW9x5afxHyJQ75gwlNd3QwEWkdIQMi/sZb x598BkjXIPC9W9MrL08xJtysAC+UjN9dggdftVVoBYqY+ieK7+4gReQVkbzWkNPSe9Zz 45Bw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@intel.com header.s=Intel header.b=fBgoZtYy; 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 qw15-20020a1709066a0f00b0093defbd6273si2245087ejc.1018.2023.03.24.09.15.19; Fri, 24 Mar 2023 09:15:20 -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=@intel.com header.s=Intel header.b=fBgoZtYy; 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 7255268C51D; Fri, 24 Mar 2023 18:15:17 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 16F8D68C837 for ; Fri, 24 Mar 2023 18:15:09 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1679674515; x=1711210515; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=t/TKieoa6y1Lm32mejNuV/jVSX/SJxN5xG579e4/kIA=; b=fBgoZtYyHeANihd49/Z8646H234iBo53MHJNuN+04v/XKNERfodSRTtO TdwZgdpjGy+VJZFzJHA0wwaTPsq8kDu42WhhCE9ssaUY64w0obF2/SAd5 SvtTRuLGjbuRlsE7clKXBT7C/CLzsRCRu4/QKmcsdVL7QM2Z5HshQaLFo VOvcfO5MHEDRweXjleciI+UP30x+36cCE9UrVyyBDR9IMiIod3XCIquTF CAwat0N1X4IL9Q9qu7DZhQANQv9B8wSSjr16xZJiml6YnY50Hk8CvJOhE dUS1iAnOuhyAwKBrttDs0/XMObgq6mBl65ejqU6nsldQ0x0jsnKK2uj0r A==; X-IronPort-AV: E=McAfee;i="6600,9927,10659"; a="328239613" X-IronPort-AV: E=Sophos;i="5.98,288,1673942400"; d="scan'208";a="328239613" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Mar 2023 09:15:07 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10659"; a="713123835" X-IronPort-AV: E=Sophos;i="5.98,288,1673942400"; d="scan'208";a="713123835" Received: from mvelez-mobl.amr.corp.intel.com (HELO uaeoff-desk1.intel.com) ([10.255.36.32]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Mar 2023 09:15:06 -0700 From: "U. Artie Eoff" To: ffmpeg-devel@ffmpeg.org Date: Fri, 24 Mar 2023 12:14:58 -0400 Message-Id: <20230324161458.819260-1-ullysses.a.eoff@intel.com> X-Mailer: git-send-email 2.38.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v2] lavfi: add hwdevice flag to hwupload/hwmap 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: "U. Artie Eoff" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: QGuOh/Aii6Aw This fixes a regression introduced by: commit 3f63685c3554aea7f72bab1fdbde440820816d37 and commit 632c34993195f716e9fa575af3de80d07fd50991 ...where command-lines like: ffmpeg -v verbose -hwaccel qsv \ -init_hw_device qsv=qsv,child_device=/dev/dri/renderD128 \ -hwaccel_output_format qsv -f rawvideo -pix_fmt yuv420p \ -s:v 352x288 -r:v 25 -i input.yuv \ -vf 'format=nv12,hwupload=extra_hw_frames=120' \ -an -c:v h264_qsv -y output.h264 ffmpeg -v verbose -hwaccel qsv \ -init_hw_device qsv=qsv,child_device=/dev/dri/renderD128 \ -hwaccel_output_format qsv -f rawvideo -pix_fmt nv12 \ -s:v 352x288 -r:v 25 -i input.yuv \ -vf 'format=nv12|qsv,hwupload=extra_hw_frames=16,vpp_qsv=procamp=1:saturation=1.0,hwdownload,format=nv12' \ -pix_fmt nv12 -f rawvideo -fps_mode passthrough -an -y output.yuv ...produced errors like: [hwupload @ 0x55b6171d0dc0] A hardware device reference is required to upload frames to. [Parsed_hwupload_1 @ 0x55b6172053c0] Query format failed for 'Parsed_hwupload_1': Invalid argument Error reinitializing filters! Failed to inject frame into filter network: Invalid argument Signed-off-by: U. Artie Eoff --- libavfilter/vf_hwmap.c | 1 + libavfilter/vf_hwupload.c | 1 + 2 files changed, 2 insertions(+) diff --git a/libavfilter/vf_hwmap.c b/libavfilter/vf_hwmap.c index 2e03dfc1fec7..e246b22603b5 100644 --- a/libavfilter/vf_hwmap.c +++ b/libavfilter/vf_hwmap.c @@ -427,4 +427,5 @@ const AVFilter ff_vf_hwmap = { FILTER_OUTPUTS(hwmap_outputs), FILTER_QUERY_FUNC(hwmap_query_formats), .flags_internal = FF_FILTER_FLAG_HWFRAME_AWARE, + .flags = AVFILTER_FLAG_HWDEVICE, }; diff --git a/libavfilter/vf_hwupload.c b/libavfilter/vf_hwupload.c index dbc41734ccc3..ef61bb413757 100644 --- a/libavfilter/vf_hwupload.c +++ b/libavfilter/vf_hwupload.c @@ -258,4 +258,5 @@ const AVFilter ff_vf_hwupload = { FILTER_OUTPUTS(hwupload_outputs), FILTER_QUERY_FUNC(hwupload_query_formats), .flags_internal = FF_FILTER_FLAG_HWFRAME_AWARE, + .flags = AVFILTER_FLAG_HWDEVICE, };