[RK3288][Android6.0] 调试笔记 --- 交叉编译X264及测试

Platform: RK3288
OS: Android 6.0
Kernel: 3.10.92

环境准备:
x264库下载地址: https://www.videolan.org/developers/x264.html
也可以直接用git下载:

git clone git://git.videolan.org/x264.git

NDK下载地址:

http://developer.android.com/ndk/downloads/index.html

注意: 最新版编译会出现兼容性错误(参见[RK3288][Android6.0] 调试笔记 — 交叉编译X264库出错), 这里使用的是

android-ndk-r13b-linux-x86_64

编译方法:
在x264目录下创建build.sh,脚本内容如下:

# !/bin/sh

export ARM_NDK=/home/kris/android-ndk-r13b

export SYSROOT=$ARM_NDK/platforms/android-23/arch-arm/
export TOOLCHAIN=$ARM_NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
function build_one
{
    ./configure \
        --prefix=$PREFIX \
        --enable-shared \
        --disable-asm \
        --disable-cli \
        --host=arm-linux \
        --cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
        --sysroot=$SYSROOT \
        --extra-cflags=-pie \


    make clean
    make
    make install
}
PREFIX=$(pwd)/android/arm 
build_one

执行build.sh, 在android/arm下就能看到生成的so文件了。

[RK3288][Android6.0] 调试笔记 --- 交叉编译X264及测试_第1张图片

测试程序:
x264库里面自带一个测试程序 example.c, 先编译
#make example

调试:

kris@eco:~/x264$ adb push android/arm/lib/libx264.so.152  /system/lib/libx264.so
kris@eco:~/x264$ adb push example /system/bin/
kris@eco:~/x264$ adb shell
root@rk3288:/ # example 640x480 /data/test.h264

[RK3288][Android6.0] 调试笔记 --- 交叉编译X264及测试_第2张图片

参考:
Android多媒体之三:编译并使用x264库

你可能感兴趣的:(子类__Codec)