v4l: Buffer pools

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux