Hi all,
Following to the Warsaw mini-summit action point, I would like to open
the thread to gather buffer pool & memory manager requirements.
The list of requirement for buffer pool may contain:
- Support physically contiguous and virtual memory
- Support IPC, import/export handles (between
processes/drivers/userland/etc)
- Security(access rights in order to secure no one unauthorized is
allowed to access buffers)
- Cache flush management (by using setdomain and optimize when flushing
is needed)
- Pin/unpin in order to get the actual address to be able to do
defragmentation
- Support pinning in user land in order to allow defragmentation while
buffer is mmapped but not pined.
- Both a user API and a Kernel API is needed for this module. (Kernel
drivers needs to be able to resolve buffer handles as well from the memory
manager module, and pin/unpin)
- be able to support any platform specific allocator (Separate memory
allocation from management as allocator is platform dependant)
- Support multiple region domain (Allow to allocate from several memory
domain ex: DDR1, DDR2, Embedded SRAM to make for ex bandwidth load balancing
...)
Another idea, but not so linked to memory management (more usage of buffers),
would be to have a common data container (structure to access data) shared by
several media (Imaging, video/still codecs, graphics, Display...) to ease usage
of the data. This container could embed data type (video frames, Access Unit)
, frames format, pixel format, width, height, pixel aspect ratio, region of
interest, CTS (composition time stamp), ColorSpace, transparency (opaque,
alpha, color key...), pointer on buffer(s) handle)...
Regards,
Willy.
=============
Willy Poisson
ST-Ericsson
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html