summaryrefslogtreecommitdiffstats
path: root/contrib
diff options
context:
space:
mode:
authorScott <[email protected]>2018-06-29 19:48:26 +0100
committerGitHub <[email protected]>2018-06-29 19:48:26 +0100
commitdbf898635dc12608b78c33916137465ce08937bf (patch)
tree2449891c1f1275e43673b9aa276b8e8905374b55 /contrib
parentac390b630498163ff37bea491202c0872bb679ec (diff)
Add NVEnc encoder. (Round 3) (#1437)
Adding the Nvidia NVEnc H.264 and H.265 encoders. Based on Initial work by sgothel --enable-nvenc is the new compile time configure option to enable for builds.
Diffstat (limited to 'contrib')
-rw-r--r--contrib/ffmpeg/module.defs12
-rw-r--r--contrib/nvenc/module.defs12
-rw-r--r--contrib/nvenc/module.rules2
3 files changed, 25 insertions, 1 deletions
diff --git a/contrib/ffmpeg/module.defs b/contrib/ffmpeg/module.defs
index 63924ad96..e24a897b9 100644
--- a/contrib/ffmpeg/module.defs
+++ b/contrib/ffmpeg/module.defs
@@ -5,6 +5,9 @@ endif
ifeq (1,$(FEATURE.vce))
__deps__ += AMF
endif
+ifeq (1,$(FEATURE.nvenc))
+__deps__ += NVENC
+endif
$(eval $(call import.MODULE.defs,FFMPEG,ffmpeg,$(__deps__)))
$(eval $(call import.CONTRIB.defs,FFMPEG))
@@ -107,7 +110,14 @@ ifeq (1,$(FEATURE.qsv))
endif
ifeq (1,$(FEATURE.vce))
- FFMPEG.CONFIGURE.extra += --enable-amf --enable-encoder=h264_amf --enable-encoder=hevc_amf
+ FFMPEG.CONFIGURE.extra += --enable-amf --enable-encoder=h264_amf --enable-encoder=hevc_amf
+endif
+
+ifeq (1,$(FEATURE.nvenc))
+FFMPEG.CONFIGURE.extra += \
+ --enable-nvenc \
+ --enable-encoder=h264_nvenc \
+ --enable-encoder=hevc_nvenc
endif
## enable compile verbosity
diff --git a/contrib/nvenc/module.defs b/contrib/nvenc/module.defs
new file mode 100644
index 000000000..e040b9ade
--- /dev/null
+++ b/contrib/nvenc/module.defs
@@ -0,0 +1,12 @@
+$(eval $(call import.MODULE.defs,NVENC,nvenc))
+$(eval $(call import.CONTRIB.defs,NVENC))
+
+NVENC.FETCH.url = https://download.handbrake.fr/contrib/nv-codec-headers-8.1.24.2.tar.gz
+NVENC.FETCH.url += https://github.com/FFmpeg/nv-codec-headers/releases/download/n8.1.24.2/nv-codec-headers-8.1.24.2.tar.gz
+NVENC.FETCH.sha256 = 2b339b2493f5b63b285dd660be05102af7d4ff2de9fcf3af94e48b5f91a3ca57
+NVENC.EXTRACT.tarbase = nv-codec-headers-n8.1.24.2
+
+NVENC.CONFIGURE = $(TOUCH.exe) $@
+NVENC.BUILD.extra = PREFIX="$(NVENC.CONFIGURE.prefix)"
+NVENC.INSTALL.extra = PREFIX="$(NVENC.CONFIGURE.prefix)"
+NVENC.UNINSTALL.extra = PREFIX="$(NVENC.CONFIGURE.prefix)"
diff --git a/contrib/nvenc/module.rules b/contrib/nvenc/module.rules
new file mode 100644
index 000000000..976986a57
--- /dev/null
+++ b/contrib/nvenc/module.rules
@@ -0,0 +1,2 @@
+$(eval $(call import.MODULE.rules,NVENC))
+$(eval $(call import.CONTRIB.rules,NVENC))