author | Dai-Yang Wu <dywu@google.com> | 2019-11-14 07:17:55 (GMT) |
---|---|---|
committer | Dai-Yang Wu <dywu@google.com> | 2019-11-20 05:59:28 (GMT) |
commit | dac23a4025c98b4c612492047ef82dc365e8452b (patch) | |
tree | cfe71949108e3cfc0fe11d95ce6674b38c8a20f4 | |
parent | 02d43d3ff042d22fd7b25b40c8639ce7100f1c20 (diff) | |
download | media_modules-dac23a4025c98b4c612492047ef82dc365e8452b.zip media_modules-dac23a4025c98b4c612492047ef82dc365e8452b.tar.gz media_modules-dac23a4025c98b4c612492047ef82dc365e8452b.tar.bz2 |
Build media with google toolchain
Bug: 135913719
Test: ./build_media sabrina
Change-Id: I0d6b1bc53b7e3049760b5472bb350d916318387c
Reviewed-on: https://eureka-partner-review.googlesource.com/c/amlogic/media_modules/+/145920
Reviewed-by: Ying Hsu <yinghsu@google.com>
-rwxr-xr-x | build_media.sh | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/build_media.sh b/build_media.sh new file mode 100755 index 0000000..d481cd4 --- a/dev/null +++ b/build_media.sh @@ -0,0 +1,99 @@ +#!/bin/bash +# Builds the media driver and updates the workspace path with output files + +exec_name=$0 + +cpu_num=$(grep -c processor /proc/cpuinfo) + +DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +CROSS_COMPILE=$DIR/../prebuilt/toolchain/aarch64/bin/aarch64-cros-linux-gnu- +KERNEL_ARCH=arm64 +KDIR=$DIR/../kernel +INCLUDE=$DIR/drivers/include +MEDIA_MODULES=$DIR/drivers +CONFIGS="CONFIG_AMLOGIC_MEDIA_VDEC_MPEG12=m \ + CONFIG_AMLOGIC_MEDIA_VDEC_MPEG2_MULTI=m \ + CONFIG_AMLOGIC_MEDIA_VDEC_MPEG4=m \ + CONFIG_AMLOGIC_MEDIA_VDEC_MPEG4_MULTI=m \ + CONFIG_AMLOGIC_MEDIA_VDEC_VC1=m \ + CONFIG_AMLOGIC_MEDIA_VDEC_H264=m \ + CONFIG_AMLOGIC_MEDIA_VDEC_H264_MULTI=m \ + CONFIG_AMLOGIC_MEDIA_VDEC_H264_MVC=m \ + CONFIG_AMLOGIC_MEDIA_VDEC_H265=m \ + CONFIG_AMLOGIC_MEDIA_VDEC_VP9=m \ + CONFIG_AMLOGIC_MEDIA_VDEC_MJPEG=m \ + CONFIG_AMLOGIC_MEDIA_VDEC_MJPEG_MULTI=m \ + CONFIG_AMLOGIC_MEDIA_VDEC_REAL=m \ + CONFIG_AMLOGIC_MEDIA_VDEC_AVS=m \ + CONFIG_AMLOGIC_MEDIA_VDEC_AVS_MULTI=m \ + CONFIG_AMLOGIC_MEDIA_VDEC_AVS2=m \ + CONFIG_AMLOGIC_MEDIA_VENC_H264=m \ + CONFIG_AMLOGIC_MEDIA_VENC_H265=m \ + CONFIG_FRAME_WARN=4096" + +set -o errtrace +trap 'echo Fatal error: script ${exec_name} aborting at line $LINENO, command \"$BASH_COMMAND\" returned $?; exit 1' ERR + +function usage(){ + echo "Usage: ${exec_name} <product> [workspace path]" + echo "supported products: sabrina" + echo "Note: if [workspace path] is not set, it still builds" +} + +if (( $# < 1 )) +then + usage + exit 2 +fi + +readonly product=$1 +readonly workspace_path=$2 + +pushd $DIR + + +make -C $KDIR M=$MEDIA_MODULES ARCH=$KERNEL_ARCH \ +CROSS_COMPILE=$CROSS_COMPILE $CONFIGS \ +EXTRA_CFLAGS+=-I$INCLUDE modules -j64 + +case $product in + sabrina*) + ;; + *) + echo "unknown product: $product" + exit 1 +esac + +popd + +if [ ! -z $workspace_path ]; then + media_out_dir=${workspace_path}/device/google/${product}-kernel/lib/modules + mkdir -p ${media_out_dir} + + for ko in aml_hardware_dmx.ko \ + amvdec_avs2.ko \ + amvdec_avs.ko \ + amvdec_h264.ko \ + amvdec_h264mvc.ko \ + amvdec_h265.ko \ + amvdec_mh264.ko \ + amvdec_mjpeg.ko \ + amvdec_mmjpeg.ko \ + amvdec_mmpeg12.ko \ + amvdec_mmpeg4.ko \ + amvdec_mpeg12.ko \ + amvdec_mpeg4.ko \ + amvdec_real.ko \ + amvdec_vc1.ko \ + amvdec_vp9.ko \ + decoder_common.ko \ + encoder.ko \ + firmware.ko \ + media_clock.ko \ + stream_input.ko \ + vpu.ko + do + find $MEDIA_MODULES -name $ko | xargs -i cp {} $media_out_dir + done +fi |