H264を再生するアプリを作っています。
ffMpeg デコード、fragmentShader で YUV->RGB に変換し、レンダリングします。
ただframeRateが足りない(15~20fps程度)。
それで、それについて尋ねたところ、レンダリングの方法を変更するという答えが得られました。
現在の方法は、FBO、RBO、RTT で「glTexSubImage2D」を使用することです。
推奨される方法は、eglImage を使用することです。
たくさんの情報をかき集めて、OpenMax を見つけました。
ほとんどのハードウェアは yuv420p の変換をサポートしています。ですから、ffMpeg を執拗に使用するべきではありません。
eglImage を使用している場合、「GraphicBuffer」はどのように使用できますか???????
以前に試してみたところ、
「#include ui/GraphicBuffer.h」という行の「ファイルまたはディレクトリがありません」というメッセージしか表示されませんでした(OfCourseはAndroid.mkにロードライブラリを追加しました)
これは、libui.so、android/frameworks/native/ のプライベート API です。