Problem using the vaapi config-opts

Nirbheek Chauhan nirbheek.chauhan at gmail.com
Sun Nov 27 04:19:51 UTC 2022


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/1cc3cd53/attachment-0001.htm>


More information about the gstreamer-devel mailing list