-
- Downloads
TI: add DMABUF_CARVEOUT custom allocator support for decoder
In 48 bits mode, the wave5 video decoder/encoder has a hardware limitation: For each memory access, the upper 16 bits of the 48 bit address *must* be identical. In order to enforce this addressing limitation, we can use a different dmabuf heap, named carveout[1]. Add support for the carveout heap allocator in plugin_store and make sure that this allocator is used by default for all input buffers. Note: the output allocator still uses gralloc. This requires a custom gralloc implementation which uses the carveout heap whenever the GRALLOC_USAGE_HW_VIDEO_{DECODER,ENCODER} flags are used. To tell the c2 framework that this allocator is available, make sure to set the c2-poolmask property: debug.stagefright.c2-poolmask=0x1f50000 (DMABUF_CARVEOUT is bit 24) [1] https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/drivers/dma-buf/heaps/carveout-heap.c?h=ti-linux-6.1.y Signed-off-by:Mattijs Korpershoek <mkorpershoek@baylibre.com> Signed-off-by:
Guillaume La Roque <glaroque@baylibre.com>
Showing
- components/DecodeInterface.cpp 1 addition, 1 deletioncomponents/DecodeInterface.cpp
- plugin_store/C2CarveoutDmaBufAllocator.cpp 1 addition, 1 deletionplugin_store/C2CarveoutDmaBufAllocator.cpp
- plugin_store/V4L2PluginStore.cpp 7 additions, 0 deletionsplugin_store/V4L2PluginStore.cpp
- plugin_store/include/v4l2_codec2/plugin_store/V4L2AllocatorId.h 1 addition, 0 deletions..._store/include/v4l2_codec2/plugin_store/V4L2AllocatorId.h
Loading
Please register or sign in to comment