Do we have an OpenMAX backend of VideoDecodeAccelerator (VDA)?

236 views
Skip to first unread message

yangtianyu lu

unread,
Mar 18, 2024, 9:13:07 AMMar 18
to Graphics-dev

Hello everyone!


I am exploring hardware-accelerated video decoding options within the Chromium ecosystem and am particularly interested in the integration of OpenMAX components.


Has there been any development or existing implementation of a VideoDecodeAccelerator (VDA) that utilizes the OpenMAX IL API for video decoding? I am looking for a solution that can bridge the gap between Chromium's video playback capabilities and hardware decoders provided by OpenMAX.


My chip has a VPU that I can use for hardware-accelerated video decoding. I noticed that in Chromium there is a VDA for V4L2, but not all Linux embedded systems can support VPU-accelerated V4L2 decode. For instance, the VPU on my chip does not support V4L2 decode, but the good news is that it has an implementation of OpenMAX.


I have implemented OpenMAX hardware acceleration in Chromium's FFmpeg, but since the FFmpegDecoder operates within the render process, I cannot avoid frame copying in the display chain of the decoded frames, resulting in decreased performance. It seems that the FFmpeg pipeline is specifically designed for memcpy, and to achieve zero-copy, decoding must be done within the GPU process, similar to the VideoDecodeAccelerator.


I would appreciate any pointers to past discussions, documentation, or code repositories related to an OpenMAX-based VDA implementation within the Chromium project.


Thank you for your assistance, and I look forward to any insights you can provide.


Lu

Reply all
Reply to author
Forward
0 new messages