ffmpeg支持android硬件解码mediacodec
16lz
2022-04-02
1)编译配置 ./configure --enable-cross-compile --cross-prefix=/e/arm-linux-androideabi-4.6/bin/arm-linux-ardroideabi- --sysroot=/e/android/android-ndk-r8b/platforms/android-
14/arch-arm --extra-cflags="/e/android/android-ndk-r8b/platforms/android-14/arch-arm/usr/include" --target-os=android --arch=arm --enable-jni --enable-mediacodec --enable-
bsf=h264_mp4toannexb
2)手动更改ffmpeg的config.h
#define CONFIG_H264_MEDIACODEC_DECODER 1
手动改config.mak
CONFIG_H264_MEDIACODEC_DECODER=yes
3)测试代码中需要把sps设置给extradata
4)不同的手机输出的yuv格式不同,mediacodecdec_common.c的mediacodec_wrap_sw_buffer函数中需要做适配
5)最关键的一点,如果ui的surface没有设置,解码速度会很慢,甚至不如软解码。
14/arch-arm --extra-cflags="/e/android/android-ndk-r8b/platforms/android-14/arch-arm/usr/include" --target-os=android --arch=arm --enable-jni --enable-mediacodec --enable-
bsf=h264_mp4toannexb
2)手动更改ffmpeg的config.h
#define CONFIG_H264_MEDIACODEC_DECODER 1
手动改config.mak
CONFIG_H264_MEDIACODEC_DECODER=yes
3)测试代码中需要把sps设置给extradata
4)不同的手机输出的yuv格式不同,mediacodecdec_common.c的mediacodec_wrap_sw_buffer函数中需要做适配
5)最关键的一点,如果ui的surface没有设置,解码速度会很慢,甚至不如软解码。
更多相关文章
- Android——百度APIstore+Json——获取新闻频道+新闻数据
- Android(安卓)设置圆角按下改变颜色按钮
- Android(安卓)Path的使用
- Android使用FFMPEG将H264解码为yuv420p
- Android(安卓)中使用 ComponentName 类
- Android模仿Buttonbar
- Android常用代码
- 为TabLayout设置自定义布局
- android 创建自定义对话框