我正在制作播放H264的应用。
我使用ffMpeg解码,使用fragmentShader转换YUV-> RGB并渲染它。
然而,frameRate是不够的(约15~20 fps)。
所以,我问了一下,并得到了改变渲染方式的答案。
目前的方法是将'glTexSubImage2D'与FBO,RBO,RTT一起使用。
推荐方式是使用eglImage。
我抓了很多信息,然后找到了OpenMax。
大多数硬件都支持转换yuv420p。所以我不应该顽固地使用ffMpeg。
如果使用eglImage,我如何使用'GraphicBuffer'???????
我之前尝试过,我只收到消息'没有文件或目录' 哪一行是'#include ui / GraphicBuffer.h'(OfCourse在Android.mk中添加了加载库)
这是libui.so中的私有api,android / frameworks / native /.
答案 0 :(得分:1)
您可以从Android平台树复制所需的包含文件夹,也可以将/ frameworks / native / ui的完整路径添加到Android.mk中的LOCAL_C_INCLUDES:
LOCAL_LDLIBS := -llog -landroid -lGLESv2 -lEGL -lm -ljnigraphics -lui
LOCAL_C_INCLUDES := C:\Android\android-ndk-r8b\platforms\android-14\include
您的代码应该包含它:
#include <ui/GraphicBuffer.h>
using namespace android;