Problem using the vaapi config-opts

Nirbheek Chauhan nirbheek.chauhan at gmail.com
Wed Nov 30 05:05:28 UTC 2022


Hi Philippe,

Sorry I gave you the wrong options. It's

-Dbad=enabled -Dgst-plugins-bad:va=enabled

On Sun, 27 Nov, 2022, 19:50 Philippe Coatmeur, <xaccrocheur at gmail.com>
wrote:

> I suppose this has to do with this problem
> <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/commit/64725758eb3ba25f95e4fe9f105e6b8842c54b83>
> but I tried to pull the latest commit, and still, no va :(
>
> HEAD is now at dec3aa55 audioconvert, audioresample, audiofilter: fix
> divide by 0 for input buffer without caps
> The Meson build system
> Version: 0.63.2
> Source dir: /run/build/gstreamer
> Build dir: /run/build/gstreamer/_flatpak_build
>
> ../meson.build:1:0: ERROR: Unknown options: "va"
>
> This is really frustrating, does anybody know how I can overcome this obstacle?
>
> 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
>>
>> This is really frutrating
>>
>> ",
>>
>>         "-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/20221130/99b3eb4a/attachment-0001.htm>


More information about the gstreamer-devel mailing list