summaryrefslogtreecommitdiff
authorDai-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)
commitdac23a4025c98b4c612492047ef82dc365e8452b (patch)
treecfe71949108e3cfc0fe11d95ce6674b38c8a20f4
parent02d43d3ff042d22fd7b25b40c8639ce7100f1c20 (diff)
downloadmedia_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>
Diffstat
-rwxr-xr-xbuild_media.sh99
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