On 15/10/2020 01:16, OvchinnikovDmitrii wrote:
---
  libavcodec/amfenc.c      | 12 ++++++++++++
  libavcodec/amfenc.h      |  4 +++-
  libavcodec/amfenc_h264.c |  1 +
  libavcodec/amfenc_hevc.c |  1 +
  4 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/libavcodec/amfenc.c b/libavcodec/amfenc.c
index da0652943d..33f97dd582 100644
--- a/libavcodec/amfenc.c
+++ b/libavcodec/amfenc.c
@@ -782,3 +782,15 @@ int ff_amf_receive_packet(AVCodecContext *avctx, AVPacket 
*avpkt)
      }
      return ret;
  }
+
+const AVCodecHWConfigInternal *ff_amfenc_hw_configs[] = {
+#if CONFIG_D3D11VA
+    HW_CONFIG_ENCODER_FRAMES(D3D11, D3D11VA),
+    HW_CONFIG_ENCODER_DEVICE(NONE,  D3D11VA),
+#endif
+#if CONFIG_DXVA2
+    HW_CONFIG_ENCODER_FRAMES(DXVA2_VLD, DXVA2),
+    HW_CONFIG_ENCODER_DEVICE(NONE,  DXVA2),
+#endif
+    NULL,
+};
\ No newline at end of file

Your git client has left a review comment for you.

diff --git a/libavcodec/amfenc.h b/libavcodec/amfenc.h
index 80658c6b2a..06994da543 100644
--- a/libavcodec/amfenc.h
+++ b/libavcodec/amfenc.h
@@ -27,7 +27,7 @@
  #include "libavutil/fifo.h"
#include "avcodec.h"
-
+#include "hwconfig.h"
/**
  * AMF trace writer callback class
@@ -117,6 +117,8 @@ typedef struct AmfContext {
      int                 tier;
  } AmfContext;
+extern const AVCodecHWConfigInternal *ff_amfenc_hw_configs[];
+
  /**
  * Common encoder initization function
  */
diff --git a/libavcodec/amfenc_h264.c b/libavcodec/amfenc_h264.c
index 7a8029f3b7..622ee85946 100644
--- a/libavcodec/amfenc_h264.c
+++ b/libavcodec/amfenc_h264.c
@@ -392,4 +392,5 @@ AVCodec ff_h264_amf_encoder = {
      .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
      .pix_fmts       = ff_amf_pix_fmts,
      .wrapper_name   = "amf",
+    .hw_configs     = ff_amfenc_hw_configs,
  };
diff --git a/libavcodec/amfenc_hevc.c b/libavcodec/amfenc_hevc.c
index fa12a3a3f6..bb224c5fec 100644
--- a/libavcodec/amfenc_hevc.c
+++ b/libavcodec/amfenc_hevc.c
@@ -322,4 +322,5 @@ AVCodec ff_hevc_amf_encoder = {
      .caps_internal  = FF_CODEC_CAP_INIT_CLEANUP,
      .pix_fmts       = ff_amf_pix_fmts,
      .wrapper_name   = "amf",
+    .hw_configs     = ff_amfenc_hw_configs,
  };


This looks right, but can you clarify the intent behind the hw config cases?  
(Do you have an ffmpeg command line or other example which is improved by them?)

Thanks,

- Mark
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".

Reply via email to