这是一个创建于 2017-12-05 13:01:45 的文章,其中的信息可能已经有所发展或是发生改变。
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没有设置,解码速度会很慢,甚至不如软解码。