diff options
-rw-r--r-- | README.md | 4 | ||||
-rw-r--r-- | cerbero/config.py | 2 | ||||
-rw-r--r-- | packages/gstreamer-1.0-codecs.package | 4 | ||||
-rw-r--r-- | recipes/gstreamer-vaapi-1.0.recipe | 27 |
4 files changed, 36 insertions, 1 deletions
@@ -218,6 +218,10 @@ On Windows, `INTELMEDIASDKROOT` automatically set by the installer. On Linux, if you need to set this, you must set it to point to the directory that contains the mediasdk `include` and `lib64` dirs. +For VA-API, the [variant to enable](#enabling-optional-features-with-variants) +is `vaapi` which will build the gstreamer-vaapi plugins with all +options enabled if possible. + ### Nvidia Hardware Codecs For Nvidia, the [variant to enable](#enabling-optional-features-with-variants) diff --git a/cerbero/config.py b/cerbero/config.py index c80ab1cd..6ebf9a03 100644 --- a/cerbero/config.py +++ b/cerbero/config.py @@ -72,7 +72,7 @@ class Variants(object): __disabled_variants = ['x11', 'alsa', 'pulse', 'cdparanoia', 'v4l2', 'gi', 'unwind', 'rpi', 'visualstudio', 'qt5', - 'intelmsdk', 'nvcodec', 'werror'] + 'intelmsdk', 'nvcodec', 'werror', 'vaapi'] __enabled_variants = ['debug', 'python', 'testspackage'] __all_variants = __enabled_variants + __disabled_variants diff --git a/packages/gstreamer-1.0-codecs.package b/packages/gstreamer-1.0-codecs.package index e205d5c9..fe8a5c97 100644 --- a/packages/gstreamer-1.0-codecs.package +++ b/packages/gstreamer-1.0-codecs.package @@ -36,3 +36,7 @@ class Package(custom.GStreamer, package.Package): if not self.config.variants.visualstudio: self.files += ['taglib:libs'] + + if self.config.variants.vaapi: + self.files.append('gstreamer-vaapi-1.0:plugins_codecs') + self.files_devel.append('gstreamer-vaapi-1.0:plugins_codecs_devel') diff --git a/recipes/gstreamer-vaapi-1.0.recipe b/recipes/gstreamer-vaapi-1.0.recipe new file mode 100644 index 00000000..4a6cf590 --- /dev/null +++ b/recipes/gstreamer-vaapi-1.0.recipe @@ -0,0 +1,27 @@ +# -*- Mode: Python -*- vi:si:et:sw=4:sts=4:ts=4:syntax=python + + +class Recipe(custom.GStreamer): + name = 'gstreamer-vaapi-1.0' + btype = BuildType.MESON + meson_options = {# auto enable plugins + 'with_encoders': 'auto', + 'with_drm': 'auto', + 'with_wayland': 'auto'} + + deps = ['gst-plugins-bad-1.0'] + use_system_libs = True + + files_plugins_codecs = [ + 'lib/gstreamer-1.0/libgstvaapi%(mext)s', + ] + + files_plugins_codecs_devel = [ + 'lib/gstreamer-1.0/libgstvaapi.a', + ] + + def prepare(self): + if self.config.variants.x11: + self.meson_options['with_x11'] = 'yes' + else: + self.meson_options['with_x11'] = 'auto' |