Media (Intel® oneAPI Video Processing Library, Intel Media SDK)
Access community support with transcoding, decoding, and encoding in applications using media tools like Intel® oneAPI Video Processing Library and Intel® Media SDK

Is vaapipostproc is better than videoconvert?

I’m trying to play video with gstreamer-vaapi plugin. I want to change resolution of the video, then I have a question: Which is the better element, vaapipostproc or videoconvert?

First, I expected that vaapipostproc works on GPU and I can reduce CPU usage, but CPU usage is same as videoconvert.

Is there any difference?
Labels (1)
0 Kudos
1 Reply

Hi @yamaton,

Thanks for reaching out. Trying to answer your question, in general vaapipostproc element has better performance since it uses VA Surface. VA Surface is a memory in GPU which avoids copying from GPU to CPU during the process. But VA Surface requires hardware support (the hardware must support video process).

Since it requires VA Surface at the input(src pad), if vaapipostproc has an element which outputs a system memory, copying would happen and performance would be worse. So if you decide to use vaapipostproc make sure to use an element that outputs a VA Surface, for example, vaapih264dec, or any element under VAAPI plugin:

As for the videoconvert element, it works on CPU and it generally has better compatibility to any hardware. Hope this answers your question.


Best Regards,


0 Kudos