ffmpeg支持android硬件解码mediacodec

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没有设置,解码速度会很慢,甚至不如软解码。

你可能感兴趣的:(ffmpeg支持android硬件解码mediacodec)