Hi,
I am trying to use the VPU to decode an H.264 stream on an I.MX8MP processor using the v4l2 API.
I can successfully use the VPU to encode YUYV to H.264, but if try to decode H.264 (to NV12, as YUYV is not supported by the VPU when decoding) it doesn't work.
I believe I am setting up v4l2 correctly, i.e queueing output buffers, setting controls etc. No errors when doing so.
The H.264 produced by the encoder is being fed into the decoder. No matter how many H.264 buffers I provide to the decoder (using v4l2 qbuf), the v4l2 API never provides an output buffer for me to deque.
I have enabled the debug logs of the imx-vpu-hantro-daemon and it seems that the VPU could be waiting for the H.264 stream to contain a NAL unit or start code or similar, although this is present in the encoder H.264 output.
I have tried to run the VPU decoder unit test app (imx-test/test/mxc_v4l2_vpu_test at lf-6.6.3_1.0.0 · nxp-imx/imx-test · GitHub) but it seems that its not supported on the I.MX8MP, whereas the encoding unit test is supported.
Has anyone verified that decoding H.264 using the v4l2 API on the I.MX8MP works?
Any help would be greatly appreciated.