From patchwork Thu Apr 18 08:59:07 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Wu, Tong1" X-Patchwork-Id: 48147 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:ce4e:b0:1a9:af23:56c1 with SMTP id id14csp1552813pzb; Thu, 18 Apr 2024 02:03:19 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVppW4m+lZbLAUcAxXG9TEtnbETVfp1fl59TLibfetSVCho9B/Siy2NhyOyTGt6cJFrxTbaSEO1lUDs7QhN0uf/uMxSeNuSNmiDPg== X-Google-Smtp-Source: AGHT+IHMYlewMVx33USl82XxTdHP+lw3UTKEo5tNCAK53OxdXeC7hlzuqpZnnqKnL2zlZ11TlRQD X-Received: by 2002:a05:651c:cc:b0:2db:a393:27cd with SMTP id 12-20020a05651c00cc00b002dba39327cdmr608676ljr.1.1713430998667; Thu, 18 Apr 2024 02:03:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1713430998; cv=none; d=google.com; s=arc-20160816; b=uIKLRk6OGXT5ZSQNoxvNRNR2suZRnRw/6/TKBuueHR4OEzFahSyX7hbvEiQgjGWmMP IvcxwCe0C4NmKj5bGRMEB0iReNnlAtTf9O/kjywGx1DRzi8iGwi9oVIpfObS4ndOPuac BAEi0iOYc7NVPRNzuP5erAAlSJvI2JbxJbIP42iQSek86YERKmaLeud37WU1gZ7fCUC3 PAa8kuRd6tHzOMyQiL2nyrx5q5R4MrSZ8e5euzE/e4bLFekSVESuqo2jAEhy1B/1we0j XZkGOWY/+/O/8ZR4pkwFPV1EDEDETigFDejoPr2OjsqJjMx2hJ5gQPoO0mDFDac0pdmN 51AQ== 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=lR26JfG8b4htMH2TdRymKu2SOONTo57PGDXxpwQRV8U=; fh=CX/m9qTuMDwrotqtm4RkAOJT6yXlKL2vcfWDitFPXZs=; b=zIQW0aHE+Wu5TLnf2+mfFVYFb00ufBC59IiV/x94yv28luzXIQNs2Xbz+oTIdYwaiF 3LjXSJFp9ROj5HXHTyazhmlSTI/qfBgg3yHbvru9HiioE9I1Aq2+KomTOFALwBgBcHwW ypfJI2safjc1U0wTvlMF2LENWUwFRDcn0EV6YLXGTyRa+qNPMIOcF/nrtu6wAeYStSnR 1p+VxHvwZNbnVqkrjOZsSx4YHnn5cMdNaP1cVSHa6qDTWt91m5TgUzcaAr0eaJ5m7ah+ PjKEljqDgtlnP19BEDGnIjCLRuQkK5c8IquEIdrgFeAiI0JEOSXLq7w10d7PJF+7I5Y/ w+8A==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@intel.com header.s=Intel header.b=QrXLycYY; 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 o18-20020a2e7312000000b002d83ed5b099si322902ljc.111.2024.04.18.02.03.18; Thu, 18 Apr 2024 02:03:18 -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=QrXLycYY; 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 72C2668D47C; Thu, 18 Apr 2024 12:01:18 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.12]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D4C3B68D430 for ; Thu, 18 Apr 2024 12:01:11 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1713430872; x=1744966872; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=P9G9idAkJmH1DEmFYjr9EdMLWvmh/eSKSWR7bk986sk=; b=QrXLycYY5S1DnZfQ8L1DnDmxtz204FV5OfHqVKquUSN79tHAUVqJj1JY EXTwK17ohkKUqsC1yRPzqEfi1d4hUh4NuB3jPuU3fURGB+la2jgxA2OM6 sg0IqzqG6e52g15Qszt1+7byLgpoO4AgJvBrzWFNfSp++/eHi3/vd4sSn a9Y9t+6Hx8KyOlMm/GL0HqOYbstOqFtN+mdFjyVrqknOwmFAQyQulgQwq u6AmdRlsICyp//mMNVKjSda1wTC6cSd1EEsM6ZXUfQm5Jfo0sf7JcJ/n2 e8x58KoaTWzUnRYLTWsdMp+TKheU8QysP83k5bOl83hOwlubBb0NY4UNb Q==; X-CSE-ConnectionGUID: sxg39d11TtWwHfcnMjNmkA== X-CSE-MsgGUID: d4fSxY1vSc+A6TEi0s/stg== X-IronPort-AV: E=McAfee;i="6600,9927,11047"; a="12748382" X-IronPort-AV: E=Sophos;i="6.07,211,1708416000"; d="scan'208";a="12748382" Received: from fmviesa001.fm.intel.com ([10.60.135.141]) by fmvoesa106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Apr 2024 02:01:05 -0700 X-CSE-ConnectionGUID: aRSvYXwCRciWHQ5+ti74bw== X-CSE-MsgGUID: nGYqtJuuSluHdQyDz89YMQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.07,211,1708416000"; d="scan'208";a="54127635" Received: from unknown (HELO localhost.localdomain) ([10.239.160.66]) by fmviesa001.fm.intel.com with ESMTP; 18 Apr 2024 02:01:01 -0700 From: tong1.wu-at-intel.com@ffmpeg.org To: ffmpeg-devel@ffmpeg.org Date: Thu, 18 Apr 2024 16:59:07 +0800 Message-ID: <20240418085910.547-13-tong1.wu@intel.com> X-Mailer: git-send-email 2.41.0.windows.1 In-Reply-To: <20240418085910.547-1-tong1.wu@intel.com> References: <20240418085910.547-1-tong1.wu@intel.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH v8 13/15] avutil/hwcontext_d3d12va: add Flags for resource creation 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: Tong Wu Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: +ynU5D1agltG From: Tong Wu Flags field is added to support diffferent resource creation. Signed-off-by: Tong Wu --- doc/APIchanges | 3 +++ libavutil/hwcontext_d3d12va.c | 2 +- libavutil/hwcontext_d3d12va.h | 8 ++++++++ libavutil/version.h | 2 +- 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/doc/APIchanges b/doc/APIchanges index 63e7a47126..ebf645dda8 100644 --- a/doc/APIchanges +++ b/doc/APIchanges @@ -2,6 +2,9 @@ The last version increases of all libraries were on 2024-03-07 API changes, most recent first: +2024-01-xx - xxxxxxxxxx - lavu 59.16.100 - hwcontext_d3d12va.h + Add AVD3D12VAFramesContext.flags + 2024-04-11 - xxxxxxxxxx - lavc 61.5.102 - avcodec.h AVCodecContext.decoded_side_data may now be set by libavcodec after calling avcodec_open2(). diff --git a/libavutil/hwcontext_d3d12va.c b/libavutil/hwcontext_d3d12va.c index cfc016315d..6507cf69c1 100644 --- a/libavutil/hwcontext_d3d12va.c +++ b/libavutil/hwcontext_d3d12va.c @@ -247,7 +247,7 @@ static AVBufferRef *d3d12va_pool_alloc(void *opaque, size_t size) .Format = hwctx->format, .SampleDesc = {.Count = 1, .Quality = 0 }, .Layout = D3D12_TEXTURE_LAYOUT_UNKNOWN, - .Flags = D3D12_RESOURCE_FLAG_NONE, + .Flags = hwctx->flags, }; frame = av_mallocz(sizeof(AVD3D12VAFrame)); diff --git a/libavutil/hwcontext_d3d12va.h b/libavutil/hwcontext_d3d12va.h index ff06e6f2ef..608dbac97f 100644 --- a/libavutil/hwcontext_d3d12va.h +++ b/libavutil/hwcontext_d3d12va.h @@ -129,6 +129,14 @@ typedef struct AVD3D12VAFramesContext { * If unset, will be automatically set. */ DXGI_FORMAT format; + + /** + * This field is used to specify options for working with resources. + * If unset, this will be D3D12_RESOURCE_FLAG_NONE. + * + * @see: https://learn.microsoft.com/en-us/windows/win32/api/d3d12/ne-d3d12-d3d12_resource_flags. + */ + D3D12_RESOURCE_FLAGS flags; } AVD3D12VAFramesContext; #endif /* AVUTIL_HWCONTEXT_D3D12VA_H */ diff --git a/libavutil/version.h b/libavutil/version.h index 1f2bddc022..ea289c406f 100644 --- a/libavutil/version.h +++ b/libavutil/version.h @@ -79,7 +79,7 @@ */ #define LIBAVUTIL_VERSION_MAJOR 59 -#define LIBAVUTIL_VERSION_MINOR 15 +#define LIBAVUTIL_VERSION_MINOR 16 #define LIBAVUTIL_VERSION_MICRO 100 #define LIBAVUTIL_VERSION_INT AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \