# GstImageBufferPool APIs
Source: [https://docs.qualcomm.com/doc/80-70014-50/topic/gstimagebufferpool-apis.html](https://docs.qualcomm.com/doc/80-70014-50/topic/gstimagebufferpool-apis.html)
GstImageBufferPool APIs enable you to configure video-specific requirements such as
stride alignments or pixel padding, and the type of memory management (GBM/ION).
A buffer pool is a section of the main memory that enables you to access frequently-used
data directly from the memory.
GstImageBufferPool is a special GstBufferPool subclass for raw video buffers. You can
also configure it to automatically add [GstVideoMeta](https://gstreamer.freedesktop.org/documentation/video/gstvideometa.html#GstVideoMeta) to the buffers.
Figure : GstImageBufferPool workflow

## Prototype
Creates a new buffer pool that can allocate the video frame buffers to memory.
GstBufferPool *
gst_image_buffer_pool_new (const gchar * type)Copy to clipboard
## Parameters
| [in] | `type` | The memory that the pool uses to allocate buffers. |
| :--- | :--- | :--- |
## Returns
- New [GstBufferPool](https://gstreamer.freedesktop.org/documentation/gstreamer/gstbufferpool.html?gi-language=c) allocates the video
frames.
- Free with [gst_object_unref](https://gstreamer.freedesktop.org/documentation/gstreamer/gstobject.html#gst_object_unref).
## Arguments
The following arguments can be passed to
gst\_image\_buffer\_pool\_new() to configure the buffer
memories:| Argument | Description | Usage |
| --- | --- | --- |
| GST\_IMAGE\_BUFFER\_POOL\_TYPE\_ION | Allocates buffers through ION memory manager. | #define GST_IMAGE_BUFFER_POOL_TYPE_ION "GstBufferPoolTypeIonMemory"Copy to clipboard |
| GST\_IMAGE\_BUFFER\_POOL\_TYPE\_GBM | Allocates buffers through generic buffer management
(GBM). | #define GST_IMAGE_BUFFER_POOL_TYPE_GBM "GstBufferPoolTypeGbmMemory"Copy to clipboard |
| GST\_IMAGE\_BUFFER\_POOL\_OPTION\_UBWC\_MODE | Indicates that the allocated buffer must be in
Qualcomm^®^ Universal Bandwidth Compression
mode. | #define GST_IMAGE_BUFFER_POOL_OPTION_UBWC_MODE "GstBufferPoolOptionUBWCMode"Copy to clipboard |
| GST\_IMAGE\_BUFFER\_POOL\_OPTION\_KEEP\_MAPPED | Indicates if the mapped buffer memory is kept mapped until the
memory is destroyed. | #define GST_IMAGE_BUFFER_POOL_OPTION_KEEP_MAPPED "GstBufferPoolOptionKeepMapped"Copy to clipboard |
**Parent Topic:** [Video APIs](https://docs.qualcomm.com/doc/80-70014-50/topic/video-apis.html)
Last Published: Oct 27, 2025
[Previous Topic
Video APIs](https://docs.qualcomm.com/bundle/publicresource/80-70014-50/topics/video-apis.md) [Next Topic
GstGlesVideoConverter APIs](https://docs.qualcomm.com/bundle/publicresource/80-70014-50/topics/gstglesvideoconverter-apis.md)