source: titan/libeplayer3/makeBRCM.sh @ 40150

Last change on this file since 40150 was 39688, checked in by obi, 7 years ago

add extplayer3

File size: 5.9 KB
Line 
1#!/bin/bash
2
3set -e
4
5function usage {
6   echo "Usage:"
7   echo "$0 platform ffmpeg_ver"
8   echo "platform:       mipsel | mipsel_softfpu | armv7 | armv5t"
9   echo "ffmpeg_ver:     2.8.5 | 3.0 | 3.1.1"
10   exit 1
11}
12
13if [ "$#" -ne 2 ];
14then
15    usage
16fi
17
18EPLATFORM=$1
19FFMPEG_VERSION=$2
20
21if [ "$EPLATFORM" != "mipsel" -a "$EPLATFORM" != "mipsel_softfpu" -a "$EPLATFORM" != "armv7" -a "$EPLATFORM" != "armv5t" ];
22then
23    echo "Please give supported platform (mipsel|mipsel_softfpu|armv7|armv5t) version!"
24    usage
25fi
26
27if [ "$FFMPEG_VERSION" != "2.8.5" -a "$FFMPEG_VERSION" != "3.0" -a "$FFMPEG_VERSION" != "3.1.1" ];
28then
29    echo "Please give supported ffmpeg (2.8.5|3.0|3.1.1) version!"
30    usage
31fi
32
33case "$EPLATFORM" in
34    mipsel)
35        BASE_PATH="/mnt/new2/xspeedlx1/build-enviroment/builds/openatv/release/et4x00/tmp/sysroots/"
36        export TOOLCHAIN_NAME="mipsel-oe-linux"
37        export PATH=$BASE_PATH"i686-linux/usr/bin/mipsel-oe-linux/":$PATH
38        export SYSROOT=$BASE_PATH"et4x00"
39        CFLAGS="  -mel -mabi=32 -march=mips32 "
40        FFMPEG_CFLAGS=" -mel -mabi=32 -march=mips32 "
41        FFMPEG_LDFLAGS=" -lrtmp "
42        ;;
43    mipsel_softfpu)
44        BASE_PATH="/mnt/new2/softFPU/openpli/build/tmp/sysroots/"
45        export TOOLCHAIN_NAME="mipsel-oe-linux"
46        export PATH=$BASE_PATH"i686-linux/usr/bin/mipsel-oe-linux/":$PATH
47        export SYSROOT=$BASE_PATH"et4x00"
48        CFLAGS="  -mel -mabi=32 -msoft-float -march=mips32 "
49        FFMPEG_CFLAGS=" -mel -mabi=32 -msoft-float -march=mips32 "
50        ;;
51    armv7)
52        BASE_PATH="/mnt/new2/vusolo4k/openvuplus_3.0/build/vusolo4k/tmp/sysroots/"
53        export TOOLCHAIN_NAME="arm-oe-linux-gnueabi"
54        export PATH=$BASE_PATH"i686-linux/usr/bin/arm-oe-linux-gnueabi/":$PATH
55        export SYSROOT=$BASE_PATH"vusolo4k"
56        CFLAGS=" -march=armv7-a -mfloat-abi=hard -mfpu=neon "
57        ;;
58    armv5t)
59        BASE_PATH="/mnt/new2/openatv2/build-enviroment/builds/openatv/release/cube/tmp/sysroots/"
60        export TOOLCHAIN_NAME="arm-oe-linux-gnueabi"
61        export PATH=$BASE_PATH"i686-linux/usr/bin/arm-oe-linux-gnueabi/":$PATH
62        export SYSROOT=$BASE_PATH"cube"
63        CFLAGS=" -mfloat-abi=softfp -mtune=cortex-a9 -mfpu=vfpv3-d16 "
64        ;;
65    *)
66        usage
67        exit 1
68esac
69
70CFLAGS="$CFLAGS -pipe -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE "
71
72export CROSS_COMPILE=$TOOLCHAIN_NAME"-"
73
74SOURCE_FILES="main/exteplayer.c"
75SOURCE_FILES+=" container/container.c"
76SOURCE_FILES+=" container/container_ffmpeg.c"
77SOURCE_FILES+=" manager/manager.c"
78SOURCE_FILES+=" manager/audio.c"
79SOURCE_FILES+=" manager/video.c"
80SOURCE_FILES+=" manager/subtitle.c"
81SOURCE_FILES+=" output/linuxdvb_mipsel.c"
82SOURCE_FILES+=" output/output_subtitle.c"
83SOURCE_FILES+=" output/output.c"
84
85SOURCE_FILES+=" output/writer/mipsel/writer.c"
86SOURCE_FILES+=" output/writer/common/pes.c"
87SOURCE_FILES+=" output/writer/common/misc.c"
88
89SOURCE_FILES+=" output/writer/mipsel/aac.c" 
90SOURCE_FILES+=" output/writer/mipsel/ac3.c" 
91SOURCE_FILES+=" output/writer/mipsel/mp3.c" 
92SOURCE_FILES+=" output/writer/mipsel/pcm.c" 
93SOURCE_FILES+=" output/writer/mipsel/lpcm.c" 
94SOURCE_FILES+=" output/writer/mipsel/dts.c" 
95SOURCE_FILES+=" output/writer/mipsel/amr.c"
96SOURCE_FILES+=" output/writer/mipsel/wma.c"
97
98SOURCE_FILES+=" output/writer/mipsel/h264.c"
99SOURCE_FILES+=" output/writer/mipsel/h263.c"
100SOURCE_FILES+=" output/writer/mipsel/mpeg2.c"
101SOURCE_FILES+=" output/writer/mipsel/mpeg4.c"
102SOURCE_FILES+=" output/writer/mipsel/divx3.c"
103SOURCE_FILES+=" output/writer/mipsel/vc1.c" 
104#SOURCE_FILES+=" output/writer/mipsel/wmv.c"
105SOURCE_FILES+=" playback/playback.c"
106
107CURR_PATH=$PWD
108
109EXTEPLAYER3_OUT_FILE=$CURR_PATH"/tmp/out/$EPLATFORM/exteplayer3_ffmpeg"$FFMPEG_VERSION
110
111function buildFFmpeg
112{
113    FFMPEG_VERSION=$1
114    FFMPEG_BASE_PATH=$CURR_PATH"/tmp/ffmpeg/"
115    mkdir -p $FFMPEG_BASE_PATH"tmp/$EPLATFORM/"
116    FFMPEG_PATH=$FFMPEG_BASE_PATH"tmp/$EPLATFORM/ffmpeg-"$FFMPEG_VERSION
117   
118    SOURCE_URL="http://ffmpeg.org/releases/ffmpeg-"$FFMPEG_VERSION".tar.gz"
119    OUT_FILE=$FFMPEG_BASE_PATH"tmp/ffmpeg-"$FFMPEG_VERSION".tar.gz"
120   
121    if [ "true" == "$2" ] || [ ! -d $FFMPEG_PATH ];
122    then
123        if [ -d $FFMPEG_PATH ] && [ "true" == "$3"  ];
124        then
125            rm -rf $FFMPEG_PATH
126        fi
127       
128        if [ ! -f $OUT_FILE ];
129        then
130            wget $SOURCE_URL -O $OUT_FILE
131        fi
132       
133        if [ ! -d $FFMPEG_PATH ];
134        then
135            tar -zxf $OUT_FILE -C $FFMPEG_BASE_PATH"tmp/$EPLATFORM/"
136        fi
137       
138        CONFIGURE_PATH=$FFMPEG_BASE_PATH"/scripts_$EPLATFORM/configure_"$FFMPEG_VERSION".sh"
139       
140        $FFMPEG_BASE_PATH"/scripts_$EPLATFORM/make.sh" $FFMPEG_PATH $CONFIGURE_PATH $SYSROOT "$FFMPEG_CFLAGS" "$FFMPEG_LDFLAGS"
141    else
142        #CONFIGURE_PATH=$FFMPEG_BASE_PATH"/scripts_$EPLATFORM/configure_"$FFMPEG_VERSION".sh"
143        #$FFMPEG_BASE_PATH"/scripts_$EPLATFORM/make.sh" $FFMPEG_PATH $CONFIGURE_PATH $SYSROOT
144        echo "Skip ffmpeg build"
145    fi
146}
147
148# rebuild ffmpeg libs, force rebuild
149buildFFmpeg $FFMPEG_VERSION "false" "false"
150
151rm -rf $EXTEPLAYER3_OUT_FILE
152
153echo "FFMPEG_PATH = $FFMPEG_PATH"
154"$CROSS_COMPILE"gcc -fdata-sections -ffunction-sections -Wl,--gc-sections -Os $CFLAGS --sysroot=$SYSROOT $LDFLAGS $CPPFLAGS -I"$CURR_PATH"/include  -I$FFMPEG_PATH/usr/include/ -L$FFMPEG_PATH/usr/lib/ $SOURCE_FILES -o $EXTEPLAYER3_OUT_FILE -Wfatal-errors -lpthread -lavformat -lavcodec -lavutil -lswresample
155"$CROSS_COMPILE"strip -s $EXTEPLAYER3_OUT_FILE
156
157exit 0
158
159FFMPEG_PACK_TMP=tmp/ffmpeg/tmp/ffmpeg"$FFMPEG_VERSION"_$EPLATFORM
160rm -rf $FFMPEG_PACK_TMP
161mkdir $FFMPEG_PACK_TMP
162
163cp -R tmp/ffmpeg/tmp/$EPLATFORM/ffmpeg-"$FFMPEG_VERSION"/usr $FFMPEG_PACK_TMP"/usr"
164cd  $FFMPEG_PACK_TMP
165rm -Rf usr/include
166rm -Rf usr/share
167rm -Rf usr/lib/pk*
168echo ">>>>>>>>>>>>>>>>>>>>>>"
169tar -zcvf ../ffmpeg"$FFMPEG_VERSION"_$EPLATFORM.tar.gz usr
170
171   
Note: See TracBrowser for help on using the repository browser.