AW: VASurface in appsink using decodebin using Gstreamer 1.20.1

Winand Appelhoff w.appelhoff at tv1.eu
Fri Jul 15 06:35:53 UTC 2022


Hi,


"So the fact that you're getting both, means that you're mixing them
and that's a no-no."

sorry, I should have clarified it a bit more:

I'm getting VAMemory when increasing the rank of the "va" plugins ( same as I'm getting DMABuf when using msdk and D3D11Memory when using the d3d11 plugins on Windows )

the error in my previous post only occurs when forcing VASurface on the "vaapi" plugins

I did this to check if my GST_QUERY_CAPS handling was actually correct

Cheers
Winand

________________________________
Von: gstreamer-devel <gstreamer-devel-bounces at lists.freedesktop.org> im Auftrag von Victor Jaquez via gstreamer-devel <gstreamer-devel at lists.freedesktop.org>
Gesendet: Donnerstag, 14. Juli 2022 18:29
An: Discussion of the development of and with GStreamer <gstreamer-devel at lists.freedesktop.org>
Cc: Victor Jaquez <vjaquez at igalia.com>
Betreff: Re: VASurface in appsink using decodebin using Gstreamer 1.20.1

On Thu, 14 Jul 2022 at 12:17, Winand Appelhoff via gstreamer-devel wrote:
> Hello,
>
> small followup
>
> been toying around with this
> requesting memory:D3D11Memory, memory:VAMemory, memory:DMABuf in gst_query_set_caps_result() all work as expected
>
> only memory:VASurface refuses to do so
>
> basetransform: second attempt to fixate caps returned invalid (NULL) caps on pad vaapipostproc1:sink
> basetransform gstbasetransform.c:1370:gst_base_transform_setcaps:<vaapipostproc1> transform could not transform video/x-raw(memory:VASurface), format=(string)NV12, width=(int)1280, height=(int)720, interlace-mode=(string)progressive, multiview-mode=(string)mono, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, pixel-aspect-ratio=(fraction)1/1, colorimetry=(string)bt709, views=(int)2, framerate=(fraction)50/1 in anything we support
> vaapipostproc gstvaapipostprocutil.c:756:_get_preferred_caps:<vaapipostproc1> No valid src caps found
>
> which doesn't make any sense at all
>
> anyone having any idea?

It's odd indeed. Since memory:VAMemory is produced/consumed by
gstva elements, in gst-plugins-bad, (and have no-rank by default, so
they don't autoplug); while memory:VASurface is produced/consumed by
gstreamer-vaapi elements, in, well, gstreamer-vaapi.

GstVa appeared because of the design failures in gstreamer-vaapi and
it's intended to replace, in most of cases,
gstreamer-vaapi. Nonetheless, they are, so far, uncompatible: they
cannot share VASurfacesID among them.

So the fact that you're getting both, means that you're mixing them
and that's a no-no.

If you can share your pipeline's dot file[1] it could make easier to
figure out what's going on.

1. https://gstreamer.freedesktop.org/documentation/tutorials/basic/debugging-tools.html?gi-language=c#getting-pipeline-graphs

vmjl

>
> thanks a lot in advance
> Winand
> ________________________________
> Von: gstreamer-devel <gstreamer-devel-bounces at lists.freedesktop.org> im Auftrag von Winand Appelhoff via gstreamer-devel <gstreamer-devel at lists.freedesktop.org>
> Gesendet: Dienstag, 5. Juli 2022 11:08
> An: Discussion of the development of and with GStreamer <gstreamer-devel at lists.freedesktop.org>
> Cc: Winand Appelhoff <w.appelhoff at tv1.eu>
> Betreff: VASurface in appsink using decodebin using Gstreamer 1.20.1
>
> Hi,
>
> I'm having issues with the caps negotiaton trying to get VASurface buffers on an appsink since upgrading to 1.20.1 ( Ubuntu 22.04 default )
>
> pipeline: any input -> decodebin -> appsink
>
> requesting "memory:VASurface" in the GST_QUERY_CAPS result throws this:
>
>
> basetransform: second attempt to fixate caps returned invalid (NULL) caps on pad vaapipostproc0:sink
>
> setting GST_CAPS_FEATURE_MEMORY_SYSTEM_MEMORY works fine as expected
>
> did I miss any changes since 1.18.x maybe?
>
>
> thanks a lot in advance
> Winand
>
>
> PS.:
>
> vainfo output for completeness
>
> vainfo: VA-API version: 1.14 (libva 2.12.0)
> vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 22.3.1 ()
> vainfo: Supported profile and entrypoints
>       VAProfileNone                   : VAEntrypointVideoProc
>       VAProfileNone                   : VAEntrypointStats
>       VAProfileMPEG2Simple            : VAEntrypointVLD
>       VAProfileMPEG2Simple            : VAEntrypointEncSlice
>       VAProfileMPEG2Main              : VAEntrypointVLD
>       VAProfileMPEG2Main              : VAEntrypointEncSlice
>       VAProfileH264Main               : VAEntrypointVLD
>       VAProfileH264Main               : VAEntrypointEncSlice
>       VAProfileH264Main               : VAEntrypointFEI
>       VAProfileH264Main               : VAEntrypointEncSliceLP
>       VAProfileH264High               : VAEntrypointVLD
>       VAProfileH264High               : VAEntrypointEncSlice
>       VAProfileH264High               : VAEntrypointFEI
>       VAProfileH264High               : VAEntrypointEncSliceLP
>       VAProfileVC1Simple              : VAEntrypointVLD
>       VAProfileVC1Main                : VAEntrypointVLD
>       VAProfileVC1Advanced            : VAEntrypointVLD
>       VAProfileJPEGBaseline           : VAEntrypointVLD
>       VAProfileJPEGBaseline           : VAEntrypointEncPicture
>       VAProfileH264ConstrainedBaseline: VAEntrypointVLD
>       VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
>       VAProfileH264ConstrainedBaseline: VAEntrypointFEI
>       VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
>       VAProfileVP8Version0_3          : VAEntrypointVLD
>       VAProfileVP8Version0_3          : VAEntrypointEncSlice
>       VAProfileHEVCMain               : VAEntrypointVLD
>       VAProfileHEVCMain               : VAEntrypointEncSlice
>       VAProfileHEVCMain               : VAEntrypointFEI
>       VAProfileHEVCMain10             : VAEntrypointVLD
>       VAProfileHEVCMain10             : VAEntrypointEncSlice
>       VAProfileVP9Profile0            : VAEntrypointVLD
>       VAProfileVP9Profile2            : VAEntrypointVLD
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20220715/582b3752/attachment-0001.htm>


More information about the gstreamer-devel mailing list