Rockchip之FFmpeg MPP硬解码

参考:http://www.nljb.net/default/Rockchip%E4%B9%8BFFmpeg%E9%80%9A%E8%BF%87MPP%E7%A1%AC%E8%A7%A3%E5%B9%B6%E8%BD%AC%E5%82%A8/

http://t.rock-chips.com/forum.php?mod=viewthread&tid=336

http://blog.sina.com.cn/s/blog_a6559d920102ywia.html

说明:还需要验证,验证完成之后补充一些关键资料.

或者可以参考:

https://github.com/MUZLATAN/ffmpeg_rtsp_mpp

https://github.com/WainDing/mpp_linux_cpp

rockchip github资源

https://github.com/rockchip-linux

MPP开发包下载

https://github.com/rockchip-linux/mpp

ffmpeg下载

官网:
http://ffmpeg.org/

rockchip:
https://github.com/rockchip-linux/ffmpeg

ffmpeg 编译 

./configure --enable-version3 --enable-libdrm --enable-rkmpp --enable-libx264 --enable-nonfree --enable-gpl
make 
make instal

ffmpep解码器查看命令 

ffmpeg -decoders |grep h264_rkmpp


特别注意 
ffmpeg h264_rkmpp 解码获得的是 AV_PIX_FMT_DRM_PRIME 也就是 DRM 帧数据 ...
 

// 如果使用 drm 显示该帧可以直接 zero-copy 绘制帧 ...
// 通过以下操作把 drm 帧拷贝到内存并且转换为NV12 ...
pFrameOK->width = pFrame->width;
pFrameOK->height = pFrame->height;
pFrameOK->format = AV_PIX_FMT_NV12;
// 此时 pFrameOK 就是转储出来的 NV12 格式帧
av_hwframe_transfer_data(pFrameOK, pFrame, 0)

 

你可能感兴趣的:(流媒体,rockchip)