Replies: 1 comment
-
I think if abstracting the various API is something wanted at the low level, this rewrite is unavoidable. The new API should allow different threads for input and output, and should be asynchronous enough that we can ensure userspace can parse prepare and submit frame while the HW is busy. As for the memory model, if dmabuf is fine, good, but otherwise a full abstraction (with dmabuf / physical offset extension) might work better. What I'm observing upstream is that NXP is only active around the imx8q (Amphion based) series. Leaving a huge upstream gap for all the imx8m (including the plus). That basically creates a fracture in the echosystem, so I live in doubt mainline will ever fully replace the bsp. On older platforms, it seems like mainline have matched or surpassed the bsp now, and most users are moving away from the bsp. For this reason I'd ask if imx5/6 bsp support is still relevant for a newer API? |
Beta Was this translation helpful? Give feedback.
-
I wish to bring up a problem with the current libimxvpuapi interface. Version 1 of libimxvpuapi was written purely for the imx6 CODA VPU. Version 2 introduced support for the Hantro VPU on imx8mm machines.
However, the V2 API has shortcomings:
This is why I am considering a version 3 of libimxvpuapi, redesigned from the ground up to address these issues.
On one hand, this would be a great opportunity to completely clean up the API and fit these missing features and solve these problems in a clean way. The API would also be simpler, and it would also affect gstreamer-imx positively, simplifying its VPU plugin code. On the other hand, we already have a version 1 and 2 ... is adding another version a good idea? Also, of course, a version 3 would take months to complete.
I'd like input and opinions from others about this. In particular, @dougnazar , @sdroege , @otavio , @DanielePettenuzzo , @ndufresne , I'd like your input, since you are especially experienced with these topics.
I also realize that there has been continuing work on upstreaming Hantro etc. support to the mainline kernel, but it still seems to take some time to be feature complete, and there are still a lot of setups that use imx kernels, so I think a V3 is still relevant, but perhaps you have a different opinion..?
Beta Was this translation helpful? Give feedback.
All reactions