我正在尝试为NDK掌握OGLES2并坚持使用GLSL着色器.情况类似于此处已经强调的情况,但似乎背后的原因有些不同.
我有最简单的着色器.
#version 110
attribute vec3 vPosition;
void main(void)
{
gl_Position = vec4(vPosition, 1.0);
gl_FrontColor = gl_BackColor = vec4(0.3, 0.3, 0.3, 1); // ***
}
Run Code Online (Sandbox Code Playgroud)
#version 110
void main(void)
{
gl_FragColor = gl_Color;
}
Run Code Online (Sandbox Code Playgroud)
简单直接.我甚至在剪辑空间中直接定义了三角形.当我在Android 403设备上运行应用程序时***,VS源中的starred ()行会glUseProgram调用以抛出GL_INVALID_OPERATION错误(以及所有后续glGetAttribLocation调用都会执行相同操作).我可以写入gl_FragColorFS(一些硬编码vec4值),但甚至无法触及VS中的gl_FrontColor/ gl_BackColor值.
E/Adreno200-ES20(16211): <qgl2DrvAPI_glUseProgram:1344>: GL_INVALID_OPERATION
E/Adreno200-ES20(16211): <qgl2DrvAPI_glGetAttribLocation:531>: GL_INVALID_OPERATION
Run Code Online (Sandbox Code Playgroud)
我在着色器编译和链接期间检查每个可能的错误(glGetError和glGetShaderInfoLog),一切都很清楚.
当我将OGL实现切换到JOGL实现时,应用程序在Windows上正常工作(所有引导和呈现代码保持不变).我甚至可以使用包含颜色的顶点属性,完全没有问题.
有没有办法解决这个问题?我不相信Android OGLES实现那么恶心,可能我只是错过了它的一些功能 ......
问题很简单:我不希望ffmpeg从给定的视频流创建动画GIF,我想要单独的帧,每个帧都是GIF格式.但是当我将输出文件设置为像frame%09d.gifffmpeg 这样的东西时,往往会创建一个动画(并将其完全存储为frame%09d.gif).-f gif选项相同.
当然,我可以保存PNG并使用ImageMagic的convert实用程序将它们转换为GIF,但我不想要任何额外的调用开销,因为我正在处理实时流并且要处理大量数据.
这是我做的,没什么特别的:
ffmpeg -i http://brightcove03-f.akamaihd.net/valgbodmandag1378107345_1_300k@80362 -f gif -y frame_%09d.gif
ffmpeg version N-54643-g15cee5e Copyright (c) 2000-2013 the FFmpeg developers
built on Jul 11 2013 03:35:11 with gcc 4.7.3 (GCC)
configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnu
tls --enable-iconv --enable-libass --enable-libbluray --enable-libcaca --enable-libfreetype --enable-libgsm --enable-libilbc --enable-libmodplug --ena
ble-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinger -
-enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-lib
vpx --enable-libx264 --enable-libxavs --enable-libxvid --enable-zlib
libavutil …Run Code Online (Sandbox Code Playgroud)