diff mbox series

[FFmpeg-devel,v9,11/13] avutil/hwcontext_d3d12va: add Flags for resource creation

Message ID 20240520145222.291-11-tong1.wu@intel.com
State New
Headers show
Series [FFmpeg-devel,v9,01/13] avcodec/vaapi_encode: introduce a base layer for vaapi encode | expand

Checks

Context Check Description
yinshiyou/make_loongarch64 success Make finished
yinshiyou/make_fate_loongarch64 success Make fate finished

Commit Message

Wu, Tong1 May 20, 2024, 2:52 p.m. UTC
From: Tong Wu <tong1.wu@intel.com>

Flags field is added to support diffferent resource creation.

Signed-off-by: Tong Wu <tong1.wu@intel.com>
---
 doc/APIchanges                | 3 +++
 libavutil/hwcontext_d3d12va.c | 2 +-
 libavutil/hwcontext_d3d12va.h | 8 ++++++++
 libavutil/version.h           | 2 +-
 4 files changed, 13 insertions(+), 2 deletions(-)

Comments

Andrew Sayers May 21, 2024, 4:32 p.m. UTC | #1
(Only reviewing documentation, not code)

On Mon, May 20, 2024 at 10:52:20PM +0800, tong1.wu-at-intel.com@ffmpeg.org wrote:
> From: Tong Wu <tong1.wu@intel.com>
> 
> Flags field is added to support diffferent resource creation.
> 
> Signed-off-by: Tong Wu <tong1.wu@intel.com>
> ---
>  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 269fd36559..808ba02f2d 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.20.100 - hwcontext_d3d12va.h
> + Add AVD3D12VAFramesContext.flags
> +
>  2024-05-xx - xxxxxxxxxx - lavu 59.19.100 - hwcontext_qsv.h
>    Add AVQSVFramesContext.info
>  
> 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;

Some nitpicks:

* "This field is used to specify" is redundant, you can save the reader
  a few seconds by starting the sentence with just "Options..."
* "@see" starts a paragraph, so the rendered documentation will look better
  without the ":"
* the full stop after the URL makes it harder to copy/paste the text -
  remove the full stop or use a [markdown link](...)
Wu, Tong1 May 22, 2024, 1:29 a.m. UTC | #2
>-----Original Message-----
>From: ffmpeg-devel <ffmpeg-devel-bounces@ffmpeg.org> On Behalf Of
>Andrew Sayers
>Sent: Wednesday, May 22, 2024 12:32 AM
>To: FFmpeg development discussions and patches <ffmpeg-
>devel@ffmpeg.org>
>Subject: Re: [FFmpeg-devel] [PATCH v9 11/13] avutil/hwcontext_d3d12va: add
>Flags for resource creation
>
>(Only reviewing documentation, not code)
>
>On Mon, May 20, 2024 at 10:52:20PM +0800, tong1.wu-at-
>intel.com@ffmpeg.org wrote:
>> From: Tong Wu <tong1.wu@intel.com>
>>
>> Flags field is added to support diffferent resource creation.
>>
>> Signed-off-by: Tong Wu <tong1.wu@intel.com>
>> ---
>>  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 269fd36559..808ba02f2d 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.20.100 - hwcontext_d3d12va.h
>> + Add AVD3D12VAFramesContext.flags
>> +
>>  2024-05-xx - xxxxxxxxxx - lavu 59.19.100 - hwcontext_qsv.h
>>    Add AVQSVFramesContext.info
>>
>> 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;
>
>Some nitpicks:
>
>* "This field is used to specify" is redundant, you can save the reader
>  a few seconds by starting the sentence with just "Options..."
>* "@see" starts a paragraph, so the rendered documentation will look better
>  without the ":"
>* the full stop after the URL makes it harder to copy/paste the text -
>  remove the full stop or use a [markdown link](...)

Sounds good. I've updated it with a new version.

-Tong
diff mbox series

Patch

diff --git a/doc/APIchanges b/doc/APIchanges
index 269fd36559..808ba02f2d 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.20.100 - hwcontext_d3d12va.h
+ Add AVD3D12VAFramesContext.flags
+
 2024-05-xx - xxxxxxxxxx - lavu 59.19.100 - hwcontext_qsv.h
   Add AVQSVFramesContext.info
 
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 3221c4c592..9c7146c228 100644
--- a/libavutil/version.h
+++ b/libavutil/version.h
@@ -79,7 +79,7 @@ 
  */
 
 #define LIBAVUTIL_VERSION_MAJOR  59
-#define LIBAVUTIL_VERSION_MINOR  19
+#define LIBAVUTIL_VERSION_MINOR  20
 #define LIBAVUTIL_VERSION_MICRO 100
 
 #define LIBAVUTIL_VERSION_INT   AV_VERSION_INT(LIBAVUTIL_VERSION_MAJOR, \