我已经从 avcodec_decode_video2 函数 (FFmpeg) 解码了 AVFrame,然后将其传递给 SWS 库并从 YUV420P 格式转换为 RGB565。如何将所有颜色和线条大小信息(即 frame->data[0..3]、frame->linesize[0..3] )组合到一个缓冲区中,以及如何在 Android 设备上显示它,例如使用 Android Bitmap 或表面 View / View ?我不想使用 SurfaceFlinger,因为它不是 NDK 的官方部分,并且每个次要版本都会发生变化。
最佳答案
您只有 RGB 的 data[0] ,如果您的框架是标准尺寸的,则 linesize[0] 等于宽度。
关于android - 从 AVFrame 数据中获取单个缓冲区并在 Android Bitmap/Surface/SurfaceView 上显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8071112/