FFmpeg
4.0
|
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <stddef.h>
#include "config.h"
#include <GL/gl.h>
#include <GL/glext.h>
#include "libavutil/common.h"
#include "libavutil/pixdesc.h"
#include "libavutil/log.h"
#include "libavutil/opt.h"
#include "libavutil/avassert.h"
#include "libavutil/avstring.h"
#include "libavformat/avformat.h"
#include "libavformat/internal.h"
#include "libavdevice/avdevice.h"
#include "opengl_enc_shaders.h"
Go to the source code of this file.
Data Structures | |
struct | FFOpenGLFunctions |
struct | OpenGLVertexInfo |
struct | OpenGLContext |
struct | OpenGLFormatDesc |
Macros | |
#define | APIENTRY |
#define | FF_GL_RED_COMPONENT 0x1903; |
#define | FF_GL_UNSIGNED_BYTE_3_3_2 0x8032 |
#define | FF_GL_UNSIGNED_BYTE_2_3_3_REV 0x8362 |
#define | FF_GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366 |
#define | FF_GL_UNPACK_ROW_LENGTH 0x0CF2 |
#define | FF_GL_ARRAY_BUFFER 0x8892 |
#define | FF_GL_ELEMENT_ARRAY_BUFFER 0x8893 |
#define | FF_GL_STATIC_DRAW 0x88E4 |
#define | FF_GL_FRAGMENT_SHADER 0x8B30 |
#define | FF_GL_VERTEX_SHADER 0x8B31 |
#define | FF_GL_COMPILE_STATUS 0x8B81 |
#define | FF_GL_LINK_STATUS 0x8B82 |
#define | FF_GL_INFO_LOG_LENGTH 0x8B84 |
#define | OPENGL_ERROR_CHECK(ctx) |
#define | LOAD_OPENGL_FUN(name, type) |
#define | FILL_COMPONENT(i) |
#define | LOAD_TEXTURE_DATA(comp_index, sub) |
#define | OFFSET(x) offsetof(OpenGLContext, x) |
#define | ENC AV_OPT_FLAG_ENCODING_PARAM |
Typedefs | |
typedef void(APIENTRY * | FF_PFNGLACTIVETEXTUREPROC) (GLenum texture) |
typedef void(APIENTRY * | FF_PFNGLGENBUFFERSPROC) (GLsizei n, GLuint *buffers) |
typedef void(APIENTRY * | FF_PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint *buffers) |
typedef void(APIENTRY * | FF_PFNGLBUFFERDATAPROC) (GLenum target, ptrdiff_t size, const GLvoid *data, GLenum usage) |
typedef void(APIENTRY * | FF_PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer) |
typedef GLint(APIENTRY * | FF_PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const char *name) |
typedef void(APIENTRY * | FF_PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint index) |
typedef void(APIENTRY * | FF_PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, uintptr_t pointer) |
typedef GLint(APIENTRY * | FF_PFNGLGETUNIFORMLOCATIONPROC) (GLuint program, const char *name) |
typedef void(APIENTRY * | FF_PFNGLUNIFORM1FPROC) (GLint location, GLfloat v0) |
typedef void(APIENTRY * | FF_PFNGLUNIFORM1IPROC) (GLint location, GLint v0) |
typedef void(APIENTRY * | FF_PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) |
typedef GLuint(APIENTRY * | FF_PFNGLCREATEPROGRAMPROC) (void) |
typedef void(APIENTRY * | FF_PFNGLDELETEPROGRAMPROC) (GLuint program) |
typedef void(APIENTRY * | FF_PFNGLUSEPROGRAMPROC) (GLuint program) |
typedef void(APIENTRY * | FF_PFNGLLINKPROGRAMPROC) (GLuint program) |
typedef void(APIENTRY * | FF_PFNGLGETPROGRAMIVPROC) (GLuint program, GLenum pname, GLint *params) |
typedef void(APIENTRY * | FF_PFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei *length, char *infoLog) |
typedef void(APIENTRY * | FF_PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader) |
typedef GLuint(APIENTRY * | FF_PFNGLCREATESHADERPROC) (GLenum type) |
typedef void(APIENTRY * | FF_PFNGLDELETESHADERPROC) (GLuint shader) |
typedef void(APIENTRY * | FF_PFNGLCOMPILESHADERPROC) (GLuint shader) |
typedef void(APIENTRY * | FF_PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const char **string, const GLint *length) |
typedef void(APIENTRY * | FF_PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint *params) |
typedef void(APIENTRY * | FF_PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, char *infoLog) |
Variables | |
static const GLushort | g_index [6] |
static const struct OpenGLFormatDesc | opengl_format_desc [] |
static const AVOption | options [] |
static const AVClass | opengl_class |
AVOutputFormat | ff_opengl_muxer |
#define APIENTRY |
Definition at line 65 of file opengl_enc.c.
#define FF_GL_RED_COMPONENT 0x1903; |
Definition at line 80 of file opengl_enc.c.
#define FF_GL_UNSIGNED_BYTE_3_3_2 0x8032 |
Definition at line 84 of file opengl_enc.c.
Referenced by opengl_type_size().
#define FF_GL_UNSIGNED_BYTE_2_3_3_REV 0x8362 |
Definition at line 85 of file opengl_enc.c.
Referenced by opengl_type_size().
#define FF_GL_UNSIGNED_SHORT_1_5_5_5_REV 0x8366 |
Definition at line 86 of file opengl_enc.c.
Referenced by opengl_type_size().
#define FF_GL_UNPACK_ROW_LENGTH 0x0CF2 |
Definition at line 87 of file opengl_enc.c.
#define FF_GL_ARRAY_BUFFER 0x8892 |
Definition at line 90 of file opengl_enc.c.
Referenced by opengl_deinit_context(), opengl_draw(), and opengl_prepare_vertex().
#define FF_GL_ELEMENT_ARRAY_BUFFER 0x8893 |
Definition at line 91 of file opengl_enc.c.
Referenced by opengl_deinit_context(), opengl_draw(), and opengl_init_context().
#define FF_GL_STATIC_DRAW 0x88E4 |
Definition at line 92 of file opengl_enc.c.
Referenced by opengl_init_context(), and opengl_prepare_vertex().
#define FF_GL_FRAGMENT_SHADER 0x8B30 |
Definition at line 93 of file opengl_enc.c.
Referenced by opengl_compile_shaders().
#define FF_GL_VERTEX_SHADER 0x8B31 |
Definition at line 94 of file opengl_enc.c.
Referenced by opengl_compile_shaders().
#define FF_GL_COMPILE_STATUS 0x8B81 |
Definition at line 95 of file opengl_enc.c.
Referenced by opengl_load_shader().
#define FF_GL_LINK_STATUS 0x8B82 |
Definition at line 96 of file opengl_enc.c.
Referenced by opengl_compile_shaders().
#define FF_GL_INFO_LOG_LENGTH 0x8B84 |
Definition at line 97 of file opengl_enc.c.
Referenced by opengl_compile_shaders(), and opengl_load_shader().
#define OPENGL_ERROR_CHECK | ( | ctx | ) |
Definition at line 152 of file opengl_enc.c.
Referenced by opengl_compile_shaders(), opengl_configure_texture(), opengl_draw(), opengl_init_context(), opengl_load_shader(), opengl_prepare(), opengl_prepare_vertex(), opengl_read_limits(), and opengl_write_header().
Referenced by opengl_control_message(), and opengl_load_procedures().
#define FILL_COMPONENT | ( | i | ) |
Referenced by opengl_fill_color_map().
#define LOAD_TEXTURE_DATA | ( | comp_index, | |
sub | |||
) |
Definition at line 1152 of file opengl_enc.c.
Referenced by opengl_draw().
#define OFFSET | ( | x | ) | offsetof(OpenGLContext, x) |
Definition at line 1266 of file opengl_enc.c.
#define ENC AV_OPT_FLAG_ENCODING_PARAM |
Definition at line 1267 of file opengl_enc.c.
Definition at line 98 of file opengl_enc.c.
Definition at line 99 of file opengl_enc.c.
Definition at line 100 of file opengl_enc.c.
typedef void(APIENTRY * FF_PFNGLBUFFERDATAPROC) (GLenum target, ptrdiff_t size, const GLvoid *data, GLenum usage) |
Definition at line 101 of file opengl_enc.c.
Definition at line 102 of file opengl_enc.c.
Definition at line 103 of file opengl_enc.c.
Definition at line 104 of file opengl_enc.c.
typedef void(APIENTRY * FF_PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, uintptr_t pointer) |
Definition at line 105 of file opengl_enc.c.
Definition at line 106 of file opengl_enc.c.
Definition at line 107 of file opengl_enc.c.
Definition at line 108 of file opengl_enc.c.
typedef void(APIENTRY * FF_PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value) |
Definition at line 109 of file opengl_enc.c.
Definition at line 110 of file opengl_enc.c.
Definition at line 111 of file opengl_enc.c.
Definition at line 112 of file opengl_enc.c.
Definition at line 113 of file opengl_enc.c.
Definition at line 114 of file opengl_enc.c.
typedef void(APIENTRY * FF_PFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei *length, char *infoLog) |
Definition at line 115 of file opengl_enc.c.
Definition at line 116 of file opengl_enc.c.
Definition at line 117 of file opengl_enc.c.
Definition at line 118 of file opengl_enc.c.
Definition at line 119 of file opengl_enc.c.
typedef void(APIENTRY * FF_PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const char **string, const GLint *length) |
Definition at line 120 of file opengl_enc.c.
Definition at line 121 of file opengl_enc.c.
typedef void(APIENTRY * FF_PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, char *infoLog) |
Definition at line 122 of file opengl_enc.c.
|
static |
Definition at line 858 of file opengl_enc.c.
Referenced by opengl_resize(), and opengl_write_header().
|
static |
Definition at line 1190 of file opengl_enc.c.
Referenced by opengl_resize(), opengl_write_frame(), and opengl_write_packet().
|
static |
Definition at line 992 of file opengl_enc.c.
Referenced by opengl_write_header().
|
static |
Definition at line 284 of file opengl_enc.c.
Referenced by opengl_write_trailer().
|
static |
Definition at line 310 of file opengl_enc.c.
Referenced by opengl_control_message().
|
static |
Definition at line 330 of file opengl_enc.c.
|
static |
Definition at line 491 of file opengl_enc.c.
Referenced by opengl_control_message(), and opengl_write_header().
|
static |
Definition at line 546 of file opengl_enc.c.
Referenced by opengl_prepare_vertex().
|
static |
Definition at line 552 of file opengl_enc.c.
Referenced by opengl_prepare_vertex().
|
static |
Definition at line 572 of file opengl_enc.c.
Referenced by opengl_write_header().
|
static |
Definition at line 626 of file opengl_enc.c.
Referenced by opengl_compile_shaders().
|
static |
Definition at line 636 of file opengl_enc.c.
Referenced by opengl_get_plane_pointer().
|
static |
Definition at line 652 of file opengl_enc.c.
Referenced by opengl_write_header().
|
static |
Definition at line 664 of file opengl_enc.c.
Referenced by opengl_prepare_vertex().
|
static |
Definition at line 688 of file opengl_enc.c.
Referenced by opengl_configure_texture(), and opengl_prepare_vertex().
|
static |
Definition at line 706 of file opengl_enc.c.
Referenced by opengl_write_header().
|
static |
Definition at line 738 of file opengl_enc.c.
Referenced by opengl_compile_shaders().
|
static |
Definition at line 769 of file opengl_enc.c.
Referenced by opengl_init_context().
|
static |
Definition at line 838 of file opengl_enc.c.
Referenced by opengl_init_context().
|
static |
Definition at line 903 of file opengl_enc.c.
Referenced by opengl_draw().
|
static |
Definition at line 928 of file opengl_enc.c.
Referenced by opengl_write_header().
|
static |
Definition at line 961 of file opengl_enc.c.
Referenced by opengl_write_trailer().
|
static |
Definition at line 978 of file opengl_enc.c.
Referenced by opengl_write_header().
|
static |
Definition at line 1051 of file opengl_enc.c.
|
static |
Definition at line 1123 of file opengl_enc.c.
|
static |
Definition at line 1253 of file opengl_enc.c.
|
static |
Definition at line 1258 of file opengl_enc.c.
|
static |
Definition at line 168 of file opengl_enc.c.
Referenced by opengl_draw(), and opengl_init_context().
|
static |
Referenced by opengl_get_fragment_shader_code(), and opengl_get_texture_params().
|
static |
Definition at line 1268 of file opengl_enc.c.
|
static |
Definition at line 1276 of file opengl_enc.c.
AVOutputFormat ff_opengl_muxer |
Definition at line 1284 of file opengl_enc.c.