Commit 3f26966e authored by Nirbheek Chauhan's avatar Nirbheek Chauhan 🐜

gst-plugins-bad: Enable nvcodec by default

We do not need to compile against any Nvidia SDKs now, so we can build
this by default and ship it out of the box in our binary releases.

It's still disabled on UWP, iOS, and Android since it's not usable on
those.

Part-of: <!587>
parent d6923e42
Pipeline #197568 passed with stages
in 139 minutes and 51 seconds
......@@ -248,12 +248,9 @@ options enabled if possible.
### Nvidia Hardware Codecs
For Nvidia, the [variant to enable](#enabling-optional-features-with-variants)
is `nvcodec` which will build the `nvcodec` plugin.
If CUDA is not installed into the system prefix, You need to set `CUDA_PATH` to
point to your [CUDA SDK](https://developer.nvidia.com/cuda-downloads) prefix.
On Windows, this is done automatically by the installer.
Since 1.17.1, the `nvcodec` plugin does not need access to the Nvidia Video SDK
or the CUDA SDK. It now loads everything at runtime. Hence, it is now enabled
by default on all platforms.
## Enabling Visual Studio Support
......
......@@ -73,7 +73,7 @@ class Variants(object):
# Variants that are booleans, and are unset when prefixed with 'no'
__disabled_variants = ['x11', 'alsa', 'pulse', 'cdparanoia', 'v4l2',
'gi', 'unwind', 'rpi', 'visualstudio', 'uwp', 'qt5',
'intelmsdk', 'nvcodec', 'python', 'werror', 'vaapi']
'intelmsdk', 'python', 'werror', 'vaapi']
__enabled_variants = ['debug', 'optimization', 'testspackage']
__bool_variants = __enabled_variants + __disabled_variants
# Variants that are `key: (values)`, with the first value in the tuple
......
......@@ -20,6 +20,7 @@ class Recipe(custom.GStreamer):
'kate': 'enabled',
'ladspa': 'auto', # lrdf is optional
'libmms': 'enabled',
'nvcodec': 'enabled',
'openh264': 'enabled',
'openjpeg': 'enabled',
'opus': 'enabled',
......@@ -217,6 +218,7 @@ class Recipe(custom.GStreamer):
'lib/gstreamer-1.0/libgstspandsp%(mext)s',
'lib/gstreamer-1.0/libgstsbc%(mext)s',
'lib/gstreamer-1.0/libgstzbar%(mext)s',
'lib/gstreamer-1.0/libgstnvcodec%(mext)s',
]
files_plugins_codecs_devel = [
......@@ -248,6 +250,7 @@ class Recipe(custom.GStreamer):
'lib/gstreamer-1.0/libgstspandsp.a', 'lib/gstreamer-1.0/libgstspandsp.la',
'lib/gstreamer-1.0/libgstsbc.a', 'lib/gstreamer-1.0/libgstsbc.la',
'lib/gstreamer-1.0/libgstzbar.a', 'lib/gstreamer-1.0/libgstzbar.la',
'lib/gstreamer-1.0/libgstnvcodec.a', 'lib/gstreamer-1.0/libgstnvcodec.la',
]
platform_files_plugins_codecs = {
......@@ -454,8 +457,8 @@ class Recipe(custom.GStreamer):
self.append_env('CFLAGS', '-DGSTREAMER_GLIB_COCOA_NSAPPLICATION=1')
self.append_env('OBJCFLAGS', '-DGSTREAMER_GLIB_COCOA_NSAPPLICATION=1')
# Enable hardware codecs if variants are enabled
self.enable_plugin('nvcodec', 'codecs', 'nvcodec')
# Enable hardware codecs if variants are enabled since they have
# external dependencies such as SDKs.
self.enable_plugin('msdk', 'codecs', 'intelmsdk')
self.enable_plugin('va', 'codecs', 'vaapi')
......@@ -495,6 +498,7 @@ class Recipe(custom.GStreamer):
if self.using_uwp() or self.config.target_platform in (Platform.ANDROID, Platform.IOS):
self.disable_plugin('resindvd', 'dvd', dep='libdvdnav')
self.disable_plugin('nvcodec', 'codecs')
# dtls plugin needs openssl, and we pick up the system openssl if on
# Linux and not cross-compiling.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment