## GstGlFormat GstGlFormat — utilities for dealing with OpenGL formats |

## Functions

guint | gst_gl_format_type_n_bytes ()
GstGLFormat | gst_gl_format_from_video_info ()
guint | gst_gl_sized_gl_format_from_gl_format_type ()
GstGLTextureTarget | gst_gl_texture_target_from_string ()
const gchar * | gst_gl_texture_target_to_string ()
guint | gst_gl_texture_target_to_gl ()
GstGLTextureTarget | gst_gl_texture_target_from_gl ()
const gchar * | gst_gl_texture_target_to_buffer_pool_option ()

## Types and Values

enum | GstGLTextureTarget
#define | GST_GL_TEXTURE_TARGET_2D_STR
#define | GST_GL_TEXTURE_TARGET_RECTANGLE_STR
#define | GST_GL_TEXTURE_TARGET_EXTERNAL_OES_STR
#define | GST_BUFFER_POOL_OPTION_GL_TEXTURE_TARGET_2D
#define | GST_BUFFER_POOL_OPTION_GL_TEXTURE_TARGET_RECTANGLE
#define | GST_BUFFER_POOL_OPTION_GL_TEXTURE_TARGET_EXTERNAL_OES
enum | GstGLFormat

## Description

Some useful utilities for converting between various formats and OpenGL formats.

## Functions

### gst_gl_format_type_n_bytes ()

    guint
    gst_gl_format_type_n_bytes (guint format,
                                guint type);

#### Parameters

format | the OpenGL format, `GL_RGBA`, `GL_LUMINANCE`, etc |
type | the OpenGL type, `GL_UNSIGNED_BYTE`, `GL_FLOAT`, etc |

#### Returns

the number of bytes the specified `format` , `type` combination takes per pixel

### gst_gl_format_from_video_info ()

    GstGLFormat
    gst_gl_format_from_video_info (GstGLContext *context,
                                   GstVideoInfo *vinfo,
                                   guint plane);

#### Parameters

context | a GstGLContext |
vinfo | a GstVideoInfo |
plane | the plane number in `vinfo` |

#### Returns

the GstGLFormat necessary for holding the data in `plane` of `vinfo`

### gst_gl_sized_gl_format_from_gl_format_type ()

    guint
    gst_gl_sized_gl_format_from_gl_format_type
                                   (GstGLContext *context,
                                    guint format,
                                    guint type);

#### Parameters

context | a GstGLContext |
format | an OpenGL format, `GL_RGBA`, `GL_LUMINANCE`, etc |
type | an OpenGL type, `GL_UNSIGNED_BYTE`, `GL_FLOAT`, etc |

#### Returns

the sized internal format specified by `format` and `type` that can be used in `context`

### gst_gl_texture_target_from_string ()

    GstGLTextureTarget
    gst_gl_texture_target_from_string (const gchar *str);

#### Parameters

str | a string equivalant to one of the GST_GL_TEXTURE_TARGET_*_STR values |

#### Returns

the GstGLTextureTarget represented by `str` or `GST_GL_TEXTURE_TARGET_NONE`

### gst_gl_texture_target_to_string ()

    const gchar *
    gst_gl_texture_target_to_string (GstGLTextureTarget target);

#### Parameters

target | a GstGLTextureTarget |

#### Returns

the stringified version of `target` or `NULL`

### gst_gl_texture_target_to_gl ()

    guint
    gst_gl_texture_target_to_gl (GstGLTextureTarget target);

#### Parameters

target | a GstGLTextureTarget |

#### Returns

the OpenGL value for binding the `target` with `glBindTexture()` and similar functions or 0

### gst_gl_texture_target_from_gl ()

    GstGLTextureTarget
    gst_gl_texture_target_from_gl (guint target);

#### Parameters

target | an OpenGL texture binding target |

#### Returns

the GstGLTextureTarget that's equiavalant to `target` or `GST_GL_TEXTURE_TARGET_NONE`

### gst_gl_texture_target_to_buffer_pool_option ()

    const gchar *
    gst_gl_texture_target_to_buffer_pool_option
                                   (GstGLTextureTarget target);

#### Parameters

target | a GstGLTextureTarget |

#### Returns

a string representing the `GstBufferPoolOption` specified by `target`

## Types and Values

### enum GstGLTextureTarget

#### Members

GST_GL_TEXTURE_TARGET_NONE | no texture target |
GST_GL_TEXTURE_TARGET_2D | 2D texture target |
GST_GL_TEXTURE_TARGET_RECTANGLE | rectangle texture target |
GST_GL_TEXTURE_TARGET_EXTERNAL_OES | external oes texture target |

Since: 1.8

### GST_GL_TEXTURE_TARGET_2D_STR

    #define GST_GL_TEXTURE_TARGET_2D_STR "2D"

String used for `GST_GL_TEXTURE_TARGET_2D` in things like caps values

### GST_GL_TEXTURE_TARGET_RECTANGLE_STR

    #define GST_GL_TEXTURE_TARGET_RECTANGLE_STR "rectangle"

String used for `GST_GL_TEXTURE_TARGET_RECTANGLE` in things like caps values

### GST_GL_TEXTURE_TARGET_EXTERNAL_OES_STR

    #define GST_GL_TEXTURE_TARGET_EXTERNAL_OES_STR "external-oes"

String used for `GST_GL_TEXTURE_TARGET_EXTERNAL_OES` in things like caps values

### GST_BUFFER_POOL_OPTION_GL_TEXTURE_TARGET_2D

    #define GST_BUFFER_POOL_OPTION_GL_TEXTURE_TARGET_2D "GstBufferPoolOptionGLTextureTarget2D"

String used for `GST_GL_TEXTURE_TARGET_2D` as a GstBufferPool pool option

### GST_BUFFER_POOL_OPTION_GL_TEXTURE_TARGET_RECTANGLE

    #define GST_BUFFER_POOL_OPTION_GL_TEXTURE_TARGET_RECTANGLE "GstBufferPoolOptionGLTextureTargetRectangle"

String used for `GST_GL_TEXTURE_TARGET_RECTANGLE` as a GstBufferPool pool option

### GST_BUFFER_POOL_OPTION_GL_TEXTURE_TARGET_EXTERNAL_OES

    #define GST_BUFFER_POOL_OPTION_GL_TEXTURE_TARGET_EXTERNAL_OES "GstBufferPoolOptionGLTextureTargetExternalOES"

String used for `GST_GL_TEXTURE_TARGET_EXTERNAL_OES` as a GstBufferPool pool option

### enum GstGLFormat

#### Members

GST_GL_LUMINANCE |  |
GST_GL_ALPHA |  |
GST_GL_LUMINANCE_ALPHA |  |
GST_GL_RED |  |
GST_GL_R8 |  |
GST_GL_RG |  |
GST_GL_RG8 |  |
GST_GL_RGB |  |
GST_GL_RGB8 |  |
GST_GL_RGB565 |  |
GST_GL_RGBA |  |
GST_GL_RGBA8 |  |
GST_GL_DEPTH_COMPONENT16 |  |
GST_GL_DEPTH24_STENCIL8 |  |

## See Also

GstGLBaseMemory, GstGLMemory, GstGLFramebuffer, GstGLBuffer