Am 17.11.2017 um 06:07 schrieb mmironov:
 From 454aad17fea28e8e4c5abb904341181271971bfc Mon Sep 17 00:00:00 2001
From: mmironov <mikhail.miro...@amd.com>
Date: Tue, 14 Nov 2017 17:54:24 -0500
Subject: [PATCH] Added HW H.264 and HEVC encoding for AMD GPUs based on AMF
  SDK

Signed-off-by: mmironov <mikhail.miro...@amd.com>
---
  Changelog                |    1 +
  compat/amd/amfsdkenc.h   | 1755 ++++++++++++++++++++++++++++++++++++++++++++++
  configure                |   25 +
  libavcodec/Makefile      |    4 +
  libavcodec/allcodecs.c   |    2 +
  libavcodec/amfenc.c      |  596 ++++++++++++++++
  libavcodec/amfenc.h      |  143 ++++
  libavcodec/amfenc_h264.c |  397 +++++++++++
  libavcodec/amfenc_hevc.c |  327 +++++++++
  9 files changed, 3250 insertions(+)
  create mode 100644 compat/amd/amfsdkenc.h
  create mode 100644 libavcodec/amfenc.c
  create mode 100644 libavcodec/amfenc.h
  create mode 100644 libavcodec/amfenc_h264.c
  create mode 100644 libavcodec/amfenc_hevc.c

...
diff --git a/configure b/configure
index 3788f26..cbec01f 100755
--- a/configure
+++ b/configure
@@ -303,6 +303,7 @@ External library support:
    --disable-zlib           disable zlib [autodetect]
The following libraries provide various hardware acceleration features:
+  --disable-amf            disable AMF video encoding code [autodetect]
    --disable-audiotoolbox   disable Apple AudioToolbox code [autodetect]
    --disable-cuda           disable dynamically linked Nvidia CUDA code 
[autodetect]
    --enable-cuda-sdk        enable CUDA features that require the CUDA SDK [no]
@@ -1639,6 +1640,7 @@ EXTERNAL_LIBRARY_LIST="
  "
HWACCEL_AUTODETECT_LIBRARY_LIST="
+    amf
      audiotoolbox
      crystalhd
      cuda
@@ -2781,12 +2783,15 @@ scale_npp_filter_deps="cuda libnpp"
  scale_cuda_filter_deps="cuda_sdk"
  thumbnail_cuda_filter_deps="cuda_sdk"
+amf_deps_any="dlopen LoadLibrary"
+
  nvenc_deps="cuda"
  nvenc_deps_any="libdl LoadLibrary"
  nvenc_encoder_deps="nvenc"
h263_v4l2m2m_decoder_deps="v4l2_m2m h263_v4l2_m2m"
  h263_v4l2m2m_encoder_deps="v4l2_m2m h263_v4l2_m2m"
+h264_amf_encoder_deps="amf"
  h264_crystalhd_decoder_select="crystalhd h264_mp4toannexb_bsf h264_parser"
  h264_cuvid_decoder_deps="cuvid"
  h264_cuvid_decoder_select="h264_mp4toannexb_bsf"
@@ -2803,6 +2808,7 @@ h264_vaapi_encoder_deps="VAEncPictureParameterBufferH264"
  h264_vaapi_encoder_select="cbs_h264 vaapi_encode"
  h264_v4l2m2m_decoder_deps="v4l2_m2m h264_v4l2_m2m"
  h264_v4l2m2m_encoder_deps="v4l2_m2m h264_v4l2_m2m"
+hevc_amf_encoder_deps="amf"
  hevc_cuvid_decoder_deps="cuvid"
  hevc_cuvid_decoder_select="hevc_mp4toannexb_bsf"
  hevc_mediacodec_decoder_deps="mediacodec"
@@ -6171,6 +6177,18 @@ else
      disable cuda cuvid nvdec nvenc
  fi
+if enabled x86; then
+    case $target_os in
+        mingw32*|mingw64*|win32|win64|cygwin*)
+            ;;
+        *)
+            disable amf
+            ;;
+    esac
+else
+    disable amf
+fi
+

Can't this be integrated into the nvenc case, that, except for also having linux, does pretty much the same? Like, moving linux to its own case that only disables amf, and adding amf to the other two nvenc/cuvid/nvdec disable-lines.

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

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

Reply via email to