FFMpeg Hardware Transcoding on VIM3?

The vdec commits are in limbo at the moment. Upstream APIs have evolved since the original work that Maxime did and this necessitates rework, hence the two commits submitted to the linux-amlogic mailing list in October to resolve some API compliance issues and add H264 support. It’s not clear to me if other codecs (not yet submitted to the list but available if you know where to look) also need rework or can be used as-is. The upstream firmware set also needs revision and has some known issues. On the ffmpeg side the existing stateful support is also outdated and needs rework to handle the revised vdec code. The current challenge is that Maxime is MIA for personal reasons, so i’m not getting answers to questions and the userspace rework should really start with the updated kernel vdec code and firmware. I’m also submerged in a work project at the moment so I haven’t had time to do much experimenting to self-answer questions, so I’m kind of waiting for 5.4 to ship and hopefully a clearer path to emerge. I may also skip 5.4 and go directly to 5.5-rc kernels in order to reduce the patch count I’m working with.

Panfrost for T860 doesn’t require anything more than CONFIG_DRM_PANFROST=m with any 5.4-rc kernel but for userspace it’s best to track mesa master as development continues at pace. The T820 in the VIM2 is less well tested compared to the T860 but works fine for Kodi - I can’t speak for wider desktop use. There is currently no mesa userspace support for bifrost so it’s not an option for VIM3. NB: On the kernel side the panfrost driver will match a bifrost device-tree node and load, which will interfere with the mali_kbase driver. So in LE we package a kernel defconfig with both lima/panfrost enabled to support GX hardware and then sed/disable the modules in the defconfig at build-time if the target device is G12.