小编wol*_*lfz的帖子

如何使用Android NDK通过openGLES2渲染视频

我用NDK制作了一个apk代码,通过ffmpeg解码获取视频帧,并渲染到opengles 2.0,但屏幕没有显示任何内容.所以我犯了一个错误?

我的opengles2.0 ini代码如下:

static int window_init_display(void)
{
EGLint attribs [] = {
  EGL_RED_SIZE,        8,
  EGL_GREEN_SIZE,      8,
  EGL_BLUE_SIZE,       8,
  EGL_ALPHA_SIZE,      8,
  EGL_DEPTH_SIZE,     16,
  EGL_STENCIL_SIZE,    0,
  EGL_SAMPLE_BUFFERS,  0,
  EGL_SAMPLES,         0,
  EGL_SURFACE_TYPE,    EGL_WINDOW_BIT,
  EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
  EGL_NONE
};

EGLint w, h, format;
EGLint numConfigs;
EGLConfig config;
EGLSurface surface;
EGLContext context;

EGLDisplay display = eglGetDisplay(EGL_DEFAULT_DISPLAY);

eglInitialize(display, 0, 0);

eglChooseConfig(display, attribs, &config, 1, &numConfigs);

eglGetConfigAttrib(display, config, EGL_NATIVE_VISUAL_ID, &format);

ANativeWindow_setBuffersGeometry(g_application->window, 0, 0, format);

surface = eglCreateWindowSurface(display, config, g_application->window, NULL);

eglQuerySurface(display, surface, EGL_WIDTH, &w);    
eglQuerySurface(display, surface, EGL_HEIGHT, …
Run Code Online (Sandbox Code Playgroud)

android ffmpeg android-ndk opengl-es-2.0 egl

5
推荐指数
0
解决办法
563
查看次数

标签 统计

android ×1

android-ndk ×1

egl ×1

ffmpeg ×1

opengl-es-2.0 ×1