avoid vpu-cpu-vpu memory copy on GStreamer->opencl pipeline on i.mx6

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

avoid vpu-cpu-vpu memory copy on GStreamer->opencl pipeline on i.mx6

683 Views
korabelnikov
Contributor III

We use Gstreamer to retrieve and decode video frame, then we use opencl to perform heavy calculations on it.

 

Now we are copy frame from gstreamer's appsink to cpu, then copy it to gpu(opencl). 

 

some old unofficial sources says we can  avoid such copy (at least to gpu(opengl)). 

As for 2021, is it working?

korabelnikov_0-1630606892624.png

src https://elinux.org/images/5/53/Zero-copy_video_streaming.pdf

 

Labels (4)
0 Kudos
2 Replies

673 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hello korabelnikov,

 

The MX6 has a Opencl that support 1.1v, there is no API that call VPU-CPU-VPU, so there is no function to gstreamer to run any opencl pipeline.

Regards

0 Kudos

666 Views
korabelnikov
Contributor III

thank you for the answer.

it's not always so. As instance OpenCL is 1.2 on imx6qm 

sudo ./clinfo

>>>>>>>> ./clinfo Starting...

Available platforms: 1

Platform ID: 0
CL_PLATFORM_NAME: Vivante OpenCL Platform
CL_PLATFORM_PROFILE: FULL_PROFILE
CL_PLATFORM_VERSION: OpenCL 1.2 V6.4.3.p1.305572
CL_PLATFORM_VENDOR: Vivante Corporation
CL_PLATFORM_EXTENSIONS: cl_khr_icd

 

0 Kudos