How much memory does your 3e have?
RGA crashes on Zero 3E, not with Zero 3W
@nyanmisaka, Jellyfin succeeded!
Since RGA succeeds with jellyfin-ffmpeg, this should be a hardware limitation of the RGA2E on RK356x/3588 not supporting 4GB+ memory. You need to use the DMA32 flag to allocate DMA memory and have the RGA input and output use it.
I’m sorry to inform you that Jellyfin doesn’t use the RGA, when playing:
./ffmpeg -hwaccel rkmpp -hwaccel_output_format drm_prime -i INPUT.mp4 \ -vf scale_rkrga=format=nv12,hwmap,format=nv12 -f null -
Simply, because to mpp output is already in NV12, there is no need for a RGA accelerated nv12->BGR conversion. Looking at the ffmpeg info output on the console, you see no RGA being initialized.
My Zero3E has 8 GB of RAM
free -m:
Mem: 7688
Swap: 3844
ffmpeg will follow the filters you give it, even if it’s copying from NV12 to NV12 using RGA. There’s no passthrough.
And the RGA initialization log somehow seems to have disappeared on newer librga. You can add -v debug
to determine if it is working.
I will recompile the kernel with the DMA32 flag and let you know.
Thanks for pointing me in the right direction.
Another issue is that the DMA-BUF allocator in the BSP 6.1 kernel does not support the DMA32 flag, only the DRM allocator does.