diff options
author | Lukasz Marek <lukasz.m.luki@gmail.com> | 2014-02-08 03:39:34 +0100 |
---|---|---|
committer | Lukasz Marek <lukasz.m.luki@gmail.com> | 2014-02-13 23:33:05 +0100 |
commit | db403023c0163b50528fccfda803dcb28eeb5aca (patch) | |
tree | 8181304cd37089846ee0044d85ef68dba115ba0f /libavdevice | |
parent | c107769c680b69c544f8ca9515c65a8037cd41d7 (diff) | |
download | ffmpeg-db403023c0163b50528fccfda803dcb28eeb5aca.tar.gz |
lavd/opengl_enc: add gray8/16 formats
Signed-off-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Diffstat (limited to 'libavdevice')
-rw-r--r-- | libavdevice/opengl_enc.c | 2 | ||||
-rw-r--r-- | libavdevice/opengl_enc_shaders.h | 12 |
2 files changed, 14 insertions, 0 deletions
diff --git a/libavdevice/opengl_enc.c b/libavdevice/opengl_enc.c index 9fdaa430f9..287d3ce18b 100644 --- a/libavdevice/opengl_enc.c +++ b/libavdevice/opengl_enc.c @@ -265,6 +265,8 @@ static const struct OpenGLFormatDesc { { AV_PIX_FMT_GBRP16, &FF_OPENGL_FRAGMENT_SHADER_RGB_PLANAR, FF_GL_RED_COMPONENT, GL_UNSIGNED_SHORT }, { AV_PIX_FMT_GBRAP, &FF_OPENGL_FRAGMENT_SHADER_RGBA_PLANAR, FF_GL_RED_COMPONENT, GL_UNSIGNED_BYTE }, { AV_PIX_FMT_GBRAP16, &FF_OPENGL_FRAGMENT_SHADER_RGBA_PLANAR, FF_GL_RED_COMPONENT, GL_UNSIGNED_SHORT }, + { AV_PIX_FMT_GRAY8, &FF_OPENGL_FRAGMENT_SHADER_GRAY, FF_GL_RED_COMPONENT, GL_UNSIGNED_BYTE }, + { AV_PIX_FMT_GRAY16, &FF_OPENGL_FRAGMENT_SHADER_GRAY, FF_GL_RED_COMPONENT, GL_UNSIGNED_SHORT }, { AV_PIX_FMT_NONE, NULL } }; diff --git a/libavdevice/opengl_enc_shaders.h b/libavdevice/opengl_enc_shaders.h index 66104e03cb..6378dfb8cc 100644 --- a/libavdevice/opengl_enc_shaders.h +++ b/libavdevice/opengl_enc_shaders.h @@ -173,4 +173,16 @@ static const char * const FF_OPENGL_FRAGMENT_SHADER_YUVA_PLANAR = "1.5958, -0.81290, 0.0) * yuv, texture2D(u_texture3, texture_coordinate).r), 0.0, 1.0);" "}"; +static const char * const FF_OPENGL_FRAGMENT_SHADER_GRAY = +#if defined(GL_ES_VERSION_2_0) + "precision mediump float;" +#endif + "uniform sampler2D u_texture0;" + "varying vec2 texture_coordinate;" + "void main()" + "{" + "float c = texture2D(u_texture0, texture_coordinate);" + "gl_FragColor = vec4(c, c, c, 1.0);" + "}"; + #endif /* AVDEVICE_OPENGL_SHADERS_H */ |