# Video APIs Source: [https://docs.qualcomm.com/doc/80-70020-50/topic/video-apis.html](https://docs.qualcomm.com/doc/80-70020-50/topic/video-apis.html) Use the video APIs to configure the video buffers and video converter. ## GstImageBufferPool APIs - Configure it to add [GstVideoMeta](https://gstreamer.freedesktop.org/documentation/video/gstvideometa.html#GstVideoMeta) to the buffers. - Configure video-specific requirements: - Stride alignments or pixel padding - Type of memory management (GBM/ION). Figure : GstImageBufferPool workflow The following list provides the GstImageBufferPool API description: - **Prototype** Creates a buffer pool that can assign 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 assign
buffers. | | :--- | :--- | :--- | - **Returns** - A new [GstBufferPool](https://gstreamer.freedesktop.org/documentation/gstreamer/gstbufferpool.html?gi-language=c) that allocates the video frames. - Free with [gst_object_unref](https://gstreamer.freedesktop.org/documentation/gstreamer/gstobject.html#gst_object_unref). - **Arguments** The following table lists the arguments that can be passed to gst\_image\_buffer\_pool\_new() to configure the buffer memories: | Argument | Description | Usage | | --- | --- | --- | | GST\_IMAGE\_BUFFER\_POOL\_TYPE\_ION | Assigns buffers through the ION memory
manager. | #define GST_IMAGE_BUFFER_POOL_TYPE_ION "GstBufferPoolTypeIonMemory"Copy to clipboard | | GST\_IMAGE\_BUFFER\_POOL\_TYPE\_GBM | Assigns buffers through the 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 mapped until
the memory is destroyed. | #define GST_IMAGE_BUFFER_POOL_OPTION_KEEP_MAPPED "GstBufferPoolOptionKeepMapped"Copy to clipboard | ## GstGlesVideoConverter APIs Figure : Hardware-accelerated image manipulation, transformation, and color conversion The following list provides information on each of the GstGlesVideoConverter APIs: - **gst\_gles\_video\_converter\_new** Creates a GstGlesVideoConverter. **Prototype** GstGlesVideoConverter * gst_gles_video_converter_new (void)Copy to clipboard **Returns** A new GstGlesVideoConverter, free with gst\_gles\_video\_converter\_free(). - gst\_gles\_video\_converter\_free: Releases all resources held by the converter and frees the memory associated with it. **Prototype** void gst_gles_video_converter_free (GstGlesVideoConverter * convert)Copy to clipboard **Parameters** | [in] | `convert` | A GstGlesVideoConverter | | :--- | :--- | :--- | **Returns** None - **gst\_gles\_video\_converter\_submit\_request** Submits a number of video compositions that are executed together. **Prototype** gpointer gst_gles_video_converter_submit_request (GstGlesVideoConverter *convert, GstGlesComposition * compositions, guint n_compositions)Copy to clipboard **Parameters** | [in] | `convert` | A GstGlesVideoConverter | | :--- | :--- | :--- | | [in] | `compositions` | An array of composition frames | | [in] | `n_compositions` | Number of compositions | **Returns** A unique pointer request ID if the operation was successful. - **gst\_gles\_video\_converter\_wait\_request** Waits for the requests that have been submitted to GPU compositions to finish. **Prototype** gboolean gst_gles_video_converter_wait_request (GstGlesVideoConverter *convert, gpointer request_id)Copy to clipboard **Parameters** | [in] | `convert` | A GstGlesVideoConverter | | :--- | :--- | :--- | | [in] | `request_id` | Specifies the request ID | **Returns** TRUE if the operation was successful. - **gst\_gles\_video\_converter\_flush** Waits for the compositions that have been submitted to GPU to finish and flush the data. **Prototype** void gst_gles_video_converter_flush (GstGlesVideoConverter *convert)Copy to clipboard **Parameters** | [in] | `convert` | A GstGlesVideoConverter | | :--- | :--- | :--- | **Returns** None **Parent Topic:** [GSt APIs](https://docs.qualcomm.com/doc/80-70020-50/topic/gst-apis.html) Last Published: Jan 30, 2026 [Previous Topic GSt APIs](https://docs.qualcomm.com/bundle/publicresource/80-70020-50/topics/gst-apis.md) [Next Topic Machine learning APIs](https://docs.qualcomm.com/bundle/publicresource/80-70020-50/topics/machine-learning-apis.md)