Media (Intel® 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
Announcements
The Intel Media SDK project is no longer active. For continued support and access to new features, Intel Media SDK users are encouraged to read the transition guide on upgrading from Intel® Media SDK to Intel® Video Processing Library (VPL), and to move to VPL as soon as possible.
For more information, see the VPL website.

Is vaapipostproc is better than videoconvert?

yamaton
Beginner
1,850 Views
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
Luis_at_Intel
Moderator
1,836 Views

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: https://gstreamer.freedesktop.org/documentation/vaapi/index.html?gi-language=cgstdiscoverer10.

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,

Luis

0 Kudos
Reply