Problem using the vaapi config-opts

Philippe Coatmeur xaccrocheur at gmail.com
Sun Nov 27 09:29:57 UTC 2022


Hi,

I was really glad to read about this alternative to gstreamer-vaapi, but 
I got this error:

Source dir: /run/build/gstreamer
Build dir: /run/build/gstreamer/_flatpak_build
Build type: native build

../meson.build:1:0: ERROR: Unknown options: "va"

Even after setting up the GST_PLUGIN_FEATURE_RANK environment variable :(

And it is really unfortunate, because it looks like exactly what I need 
<https://blogs.igalia.com/vjaquez/2022/07/18/gstva-h264-encoder-compositor-and-jpeg-decoder/>.

Note that I was already using the "-Dgst-plugins-bad:va=enabled" option, 
but the main one, "-Dva=enabled" breaks the build ; maybe just a naming 
problem?

Thanks *a lot* for your help.

On 27/11/2022 05:19, Nirbheek Chauhan wrote:
> Hi,
>
> There have been a number of vaapipostproc bugs that exhibit weird 
> colors in the output. For example:
>
> https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/issues/314
>
> You can either tweak your pipeline to work around those bugs, or you 
> can swap out the deprecated gstreamer-vaapi plugin for the new gstva 
> plugin.
>
> -Dva=enabled -Dgst-plugins-bad:va=enabled
>
> Then, while running your app, set this env var:
>
> GST_PLUGIN_FEATURE_RANK=vah265dec:PRIMARY,vapostproc:PRIMARY
>
> On Sun, 27 Nov, 2022, 02:31 Philippe Coatmeur via gstreamer-devel, 
> <gstreamer-devel at lists.freedesktop.org> wrote:
>
>     Hello everyone
>
>     I'm currently developing an application with a video player
>     component, using the new Gtk4 Gtk.Video class
>     <https://docs.gtk.org/gtk4/class.Video.html>, which I understand
>     is not directly gstreamer-related.
>
>     However, it does use the Gstreamer plugins ; Now, on the desktop,
>     as a standalone app, it makes use of the distribution packages
>     (base, good, bad, and ugly) and everything works fine.
>
>     But in the portable (Flatpak) version, I build them to make them
>     available inside the app's sandbox, like this:
>
>     {
>         "name": "gstreamer",
>         "buildsystem": "meson",
>         "config-opts": [
>             "--buildtype=release",
>             "--wrap-mode=nodownload",
>
>             "-Dbase=enabled",
>             "-Dgood=enabled",
>             "-Dbad=enabled",
>             "-Dugly=enabled",
>             "-Dlibav=enabled",
>             "-Dvaapi=enabled",
>             "-Dsharp=disabled",
>             "-Drs=disabled",
>             "-Dpython=disabled",
>             "-Ddevtools=disabled",
>             "-Dges=disabled",
>             "-Drtsp_server=disabled",
>             "-Dgst-examples=disabled",
>             "-Dqt5=disabled",
>             "-Dtests=disabled",
>             "-Dexamples=disabled",
>             "-Dintrospection=enabled",
>             "-Ddoc=disabled",
>             "-Dgtk_doc=disabled",
>             "-Dgpl=enabled",
>
>             "-Dgstreamer:benchmarks=disabled",
>             "-Dgstreamer:gobject-cast-checks=disabled",
>             "-Dgstreamer:glib-asserts=disabled",
>             "-Dgstreamer:glib-checks=disabled",
>             "-Dgstreamer:extra-checks=disabled",
>
>     "-Dgst-plugins-base:gobject-cast-checks=disabled",
>             "-Dgst-plugins-base:glib-asserts=disabled",
>             "-Dgst-plugins-base:glib-checks=disabled",
>             "-Dgst-plugins-base:gl_api=opengl,gles2",
>             "-Dgst-plugins-base:gl_platform=egl,glx",
>
>     "-Dgst-plugins-good:gobject-cast-checks=disabled",
>             "-Dgst-plugins-good:glib-asserts=disabled",
>             "-Dgst-plugins-good:glib-checks=disabled",
>             "-Dgst-plugins-good:gtk3=disabled",
>
>     "-Dgst-plugins-bad:gobject-cast-checks=disabled",
>             "-Dgst-plugins-bad:glib-asserts=disabled",
>             "-Dgst-plugins-bad:glib-checks=disabled",
>             "-Dgst-plugins-bad:extra-checks=disabled",
>             "-Dgst-plugins-bad:vulkan=disabled",
>             "-Dgst-plugins-bad:webrtc=disabled",
>             "-Dgst-plugins-bad:wasapi=disabled",
>             "-Dgst-plugins-bad:wasapi2=disabled",
>             "-Dgst-plugins-bad:winks=disabled",
>             "-Dgst-plugins-bad:winscreencap=disabled",
>             "-Dgst-plugins-bad:assrender=enabled",
>             "-Dgst-plugins-bad:nvcodec=enabled",
>             "-Dgst-plugins-bad:v4l2codecs=enabled",
>             "-Dgst-plugins-bad:va=enabled",
>
>
>     "-Dgst-plugins-ugly:gobject-cast-checks=disabled",
>             "-Dgst-plugins-ugly:glib-asserts=disabled",
>             "-Dgst-plugins-ugly:glib-checks=disabled",
>             "-Dgst-plugins-ugly:mpeg2dec=enabled"
>         ],
>         "sources": [
>             {
>                 "type": "git",
>                 "url":
>     "https://gitlab.freedesktop.org/gstreamer/gstreamer.git"
>     <https://gitlab.freedesktop.org/gstreamer/gstreamer.git>,
>                 "tag": "1.21.2",
>                 "commit": "a1fcf2b90a293ed6d345411a73420fd77faed4f2",
>                 "disable-submodules": true
>             }
>         ]
>     }
>
>     But as soon as I enable the vaapi option - which I need to decode
>     H.265 - all the videos become red, like they lose the G and B.
>
>     This has been blocking me for several days now, as I tried a lot
>     of options combinations, and the above list of options is the best
>     I could come up with:
>
>       * Every codec but H.265 plays fine ; or
>       * Every codec plays fine but only the red channel
>
>      Does anybody know why this happens? Is it a bad interaction
>     between two incompatible options?
>
>     Thank you for your attention,
>
>
>     Phil
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20221127/14639f50/attachment.htm>


More information about the gstreamer-devel mailing list