PKG_CONFIG=$(ROOTDIR)/support/pkg-config.ffmpeg \
./configure --prefix=/ffmpeg --enable-static --disable-shared
CONFIGURE_PI := CC="$(COMPILER) $(CFLAGS_PI)" $(CONFIGURE)
+CONFIGURE_FFMPEG := $(CONFIGURE)
# ##############################################################################
# NASM
ifeq (yes,$(CONFIG_NVENC))
-EXTLIBS += nvenc
-ENCODERS += h264_nvenc hevc_nvenc
+## YOU MUST INSTALL CUDA from NVIDIA for "libnpp"
+EXTLIBS += nvenc cuvid libnpp
+ENCODERS += h264_nvenc hevc_nvenc
+DECODERS += h264_cuvid hevc_cuvid
+HWACCELS += h264_nvdec hevc_nvdec vp8_nvdec vp9_nvdec mjpeg_nvdec mpeg1_nvdec mpeg2_nvdec mpeg4_nvdec
+ECFLAGS += -I/usr/local/cuda/include
+
+## NVIDIA LIB for "libnpp"
+CONFIGURE_FFMPEG += --extra-ldflags=-L/usr/local/cuda/lib64
$(LIB_ROOT)/$(FFNVCODEC)/.tvh_download:
$(call DOWNLOAD,$(FFNVCODEC_URL),$(LIB_ROOT)/$(FFNVCODEC_TB),$(FFNVCODEC_SHA1))
$(LIB_ROOT)/$(LIBOPUS)/.tvh_build \
$(LIB_ROOT)/$(FFNVCODEC)/.tvh_build \
$(LIB_ROOT)/$(FFMPEG)/.tvh_download
- cd $(LIB_ROOT)/$(FFMPEG) && $(CONFIGURE) \
+ cd $(LIB_ROOT)/$(FFMPEG) && $(CONFIGURE_FFMPEG) \
--disable-all \
--enable-gpl \
--enable-nonfree \
}
}
}
+#endif
+#if ENABLE_NVENC
+ if (idnode_is_instance(&profile->idnode,
+ (idclass_t *)&codec_profile_video_class)) {
+ if (tvh_codec_profile_video_get_hwaccel(profile) > 0) {
+ if (icodec_id == AV_CODEC_ID_H264) {
+ icodec = avcodec_find_decoder_by_name("h264_cuvid");
+ } else if (icodec_id == AV_CODEC_ID_HEVC) {
+ icodec = avcodec_find_decoder_by_name("hevc_cuvid");
+ }
+ }
+ }
#endif
if (!icodec && !(icodec = avcodec_find_decoder(icodec_id))) {
tvh_stream_log(self, LOG_ERR, "failed to find decoder for '%s'",