从AVFrame数据中获取单个缓冲区并将其显示在Android Bitmap / Surface / SurfaceView上

时间:2011-11-09 20:23:00

标签: android ffmpeg android-ndk

我已经从avcodec_decode_video2函数(FFmpeg)解码了AVFrame,然后将其传递到SWS库并从YUV420P格式转换为RGB565。如何将所有颜色和线条化信息(即帧 - >数据[0..3],frame-> linesize [0..3])组合到一个缓冲区中以及如何在Android设备上显示它然后使用Android位图或SurfaceView / View?我不想使用SurfaceFlinger,因为它不是NDK的官方部分,并且每次发布时都会发生变化。

1 个答案:

答案 0 :(得分:1)

您只有RGB的数据[0],如果您的帧是标准尺寸,则linesize [0]等于宽度。