GNOME Bugzilla – Bug 763239
vaapipostproc : rejected caps on NVIDIA hardware, nice on Intel hardware
Last modified: 2016-03-07 17:17:57 UTC
Created attachment 323289 [details] output with log-level=6 Hi, To test if hardware acceleration is available, i run this : gst-launch-1.0 videotestsrc ! "video/x-raw,format=I420,width=640,height=640,framerate=(fraction)60/1" ! queue ! vaapipostproc ! vaapiencode_h264 ! vaapiparse_h264 ! vaapidecode ! vaapisink with Intel hardware this works nicely. On NVidia hardware: libva info: VA-API version 0.38.1 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib64/va/drivers/nvidia_drv_video.so libva info: Found init function __vaDriverInit_0_38 libva info: va_openDriver() returns 0 Définition du pipeline à PAUSED... 0:00:00.159024508 29132 0x1bd72f0 WARN GST_PADS gstpad.c:1098:gst_pad_set_active:<vaapipostproc0:sink> Failed to activate pad ERREUR : le pipeline refuse de se mettre en pause. Got context from element 'vaapipostproc0': gst.vaapi.Display=context, gst.vaapi.Display=(GstVaapiDisplay)NULL; Définition du pipeline à NULL… Libération du pipeline…
That vaapi-nvidia bridge backend doesn't support the vaapipostproc. You can verify it running the vainfo command. That's why the element fails to link. One possible solution is to force the element to do passthrough ( bug 751876 ), but then, again, the encoders are not supported by the vaapi-nvidia bridge backend, and you'll find again that the pipeline won't link. Perhaps you can use nvenc instead.
(In reply to Víctor Manuel Jáquez Leal from comment #1) > That vaapi-nvidia bridge backend doesn't support the vaapipostproc. You can > verify it running the vainfo command. That's why the element fails to link. > > One possible solution is to force the element to do passthrough ( bug 751876 > ), but then, again, the encoders are not supported by the vaapi-nvidia > bridge backend, and you'll find again that the pipeline won't link. Perhaps > you can use nvenc instead. Oki, i understand. Is this is definitely not supported or an update will fix this problem ? Thanks
(In reply to Cyril Baletaud from comment #2) > > Is this is definitely not supported or an update will fix this problem ? > Thanks The thing is that this is not fixable in gstreamer-vaapi, but in the backend, and the backend that you are using is currently not maintained. There's another backend in development by Mesa (only for nouveau driver), but it doesn't support postproc neither, afaik. So no, no fix is foreseeable right now.
OK, only the development machine has an nvidia card production machines use an Intel chipset. So pass me now to buy nvidia hardware. Thanks you very much.