RK3588 support multi-core encoding for spliting (HAVE_VEPU2_JPEG)
partions_group allocation uses MPP_BUFFER_TYPE_DMA_HEAP on hal_jpege_vepu2 task execution
dma heap is not enabled on our platform
When hal_jpege_vepu2 deal with large frame ( > 1280X720 ), it will try to use buffer group with MPP_BUFFER_TYPE_DMA_HEAP at first. At memory allocator initialization on mpp_allocator_get, DMA heap allocator will then fallback to allocator_std for MPP_BUFFER_TYPE_NORMAL when DMA heap is inaccessible. But allocator_std_alloc don't allocate memory at all. Eventually MJPEG encoder is always failed on device.
Same userspace code worked on platforms don't have VEPU2_JPEG.
Context:
HAVE_VEPU2_JPEG
)MPP_BUFFER_TYPE_DMA_HEAP
on hal_jpege_vepu2 task executionWhen
hal_jpege_vepu2
deal with large frame ( > 1280X720 ), it will try to use buffer group withMPP_BUFFER_TYPE_DMA_HEAP
at first. At memory allocator initialization onmpp_allocator_get
, DMA heap allocator will then fallback to allocator_std forMPP_BUFFER_TYPE_NORMAL
when DMA heap is inaccessible. Butallocator_std_alloc
don't allocate memory at all. Eventually MJPEG encoder is always failed on device.Same userspace code worked on platforms don't have VEPU2_JPEG.