vaapipostproc with BGRx input format

Gwenole Beauchesne gb.devel at gmail.com
Tue Aug 12 04:27:20 PDT 2014


Hi,

2014-08-11 12:12 GMT+02:00 Thomas Scheuermann <scheuermann at barco.com>:
> Hello,
>
> I want to use vaapipostproc to convert BGRx to NV12 format which can be
> used by vaapiencode_h264.
> 'gst-inspect-1.0 vaapiposproc' tells me that it understands BGRx at the
> input.
> Now I've tried the following pipeline:
>
> gst-launch-1.0 videotestsrc !
> video/x-raw,format=BGRx,width=800,height=600 ! vaapipostproc ! fakesink
> libva info: VA-API version 0.35.1
> libva info: va_getDriverName() returns 0
> libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
> libva info: Found init function __vaDriverInit_0_35
> libva info: va_openDriver() returns 0
> Setting pipeline to PAUSED ...
> Pipeline is PREROLLING ...
> Got context from element 'vaapipostproc0': gst.vaapi.Display=context,
> display=(GstVaapiDisplay)NULL;
> ERROR: from element
> /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0: Internal data flow
> error.
> Additional debug info:
> gstbasesrc.c(2933): gst_base_src_loop ():
> /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0:
> streaming task paused, reason error (-5)
> ERROR: pipeline doesn't want to preroll.
> Setting pipeline to NULL ...
> Freeing pipeline ...
>
> It doesn't work.

Please report the issue here:
<https://bugzilla.gnome.org/enter_bug.cgi?product=gstreamer-vaapi>

> How can I convert from BGRx to NV12 with vaapi elements?

I believe there is a mismatch between what the VA driver reports (in
terms of format info: endian, location of each component, etc.) and
what gst/gst-vaapi parses. You probably want to examine and try things
around video-format.c. Or, check out
gstvaapiuploader.c::ensure_allowed_caps() to determine why we are
filtering out RGB32 formats.

Thanks,
-- 
Gwenole Beauchesne
Intel Corporation SAS / 2 rue de Paris, 92196 Meudon Cedex, France
Registration Number (RCS): Nanterre B 302 456 199


More information about the gstreamer-devel mailing list