0

我正在制作播放 H264 的应用程序。

我使用ffMpeg decode,Converting YUV->RGB with fragmentShader,并渲染它。

然而 frameRate 是不够的(大约 15 ~ 20 fps)。

所以,我问了这个问题,并得到了改变渲染方式的答案。

目前的方法是使用带有 FBO、RBO、RTT 的“glTexSubImage2D”。

推荐的方式是使用 eglImage。

我查阅了很多资料,然后找到了 OpenMax。

大多数硬件都支持转换 yuv420p。所以我不应该顽固地使用ffMpeg。

如果使用 eglImage,我该如何使用“GraphicBuffer”??????

我之前尝试过,我只收到消息“没有文件或目录”
,这行是“#include ui/GraphicBuffer.h”(OfCourse added load libary in Android.mk)

这是 libui.so、android/frameworks/native/ 中的私有 api。

4

1 回答 1

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;
于 2013-10-17T22:47:51.997 回答