@@ -38,7 +38,7 @@ echo "===check env end==="
3838FF_BUILD_OPT=$1
3939
4040# ffmpeg build params
41- source ` pwd` /../ffconfig/module.sh
41+ source $( pwd) /../ffconfig/module.sh
4242FFMPEG_CFG_FLAGS=" $COMMON_FF_CFG_FLAGS "
4343
4444FFMPEG_CFG_FLAGS=" --prefix=$XC_BUILD_PREFIX $FFMPEG_CFG_FLAGS "
@@ -57,7 +57,7 @@ FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --enable-pic"
5757FFMPEG_CFG_FLAGS=" $FFMPEG_CFG_FLAGS --enable-neon"
5858FFMPEG_CFG_FLAGS=" $FFMPEG_CFG_FLAGS --enable-asm"
5959
60- if [[ " $FF_BUILD_OPT " == " debug" ]]; then
60+ if [[ " $FF_BUILD_OPT " == " debug" ]]; then
6161 FFMPEG_CFG_FLAGS=" $FFMPEG_CFG_FLAGS --disable-optimizations"
6262 FFMPEG_CFG_FLAGS=" $FFMPEG_CFG_FLAGS --enable-debug"
6363 FFMPEG_CFG_FLAGS=" $FFMPEG_CFG_FLAGS --disable-small"
@@ -73,10 +73,10 @@ FFMPEG_C_FLAGS="$FFMPEG_C_FLAGS -fno-stack-check -arch $XC_ARCH"
7373FFMPEG_C_FLAGS=" $FFMPEG_C_FLAGS $XC_DEPLOYMENT_TARGET $XC_OTHER_CFLAGS "
7474
7575# for cross compile
76- if [[ $( uname -m) != " $XC_ARCH " || " $XC_FORCE_CROSS " ]]; then
76+ if [[ $( uname -m) != " $XC_ARCH " || " $XC_FORCE_CROSS " ]]; then
7777 echo " [*] cross compile, on $( uname -m) compile $XC_PLAT $XC_ARCH ."
7878 # https://www.gnu.org/software/automake/manual/html_node/Cross_002dCompilation.html
79- FFMPEG_C_FLAGS=" $FFMPEG_C_FLAGS -isysroot $XCRUN_SDK_PATH "
79+ FFMPEG_C_FLAGS=" $FFMPEG_C_FLAGS --sysroot $XCRUN_SDK_PATH "
8080 FFMPEG_CFG_FLAGS=" $FFMPEG_CFG_FLAGS --enable-cross-compile"
8181fi
8282
@@ -91,63 +91,65 @@ echo "[*] check OpenSSL"
9191# https://ffmpeg.org/doxygen/4.1/md_LICENSE.html
9292# https://www.openssl.org/source/license.html
9393
94- # ----------------------
94+ MY_PKG_CONFIG_PATH= ' '
9595# with openssl
9696# use pkg-config fix ff4.0--ijk0.8.8--20210426--001 use openssl 1_1_1m occur can't find openssl error.
9797if [[ -f " ${XC_PRODUCT_ROOT} /openssl-$XC_ARCH /lib/pkgconfig/openssl.pc" ]]; then
9898 FFMPEG_CFG_FLAGS=" $FFMPEG_CFG_FLAGS --enable-nonfree --enable-openssl"
99-
100- export PKG_CONFIG_PATH=" $PKG_CONFIG_PATH :${XC_PRODUCT_ROOT} /openssl-$XC_ARCH /lib/pkgconfig"
101-
99+ if [[ -n " $MY_PKG_CONFIG_PATH " ]]; then
100+ MY_PKG_CONFIG_PATH=" $MY_PKG_CONFIG_PATH :"
101+ fi
102+ MY_PKG_CONFIG_PATH=" ${MY_PKG_CONFIG_PATH}${XC_PRODUCT_ROOT} /openssl-$XC_ARCH /lib/pkgconfig"
103+
102104 echo " [*] --enable-openssl"
103105else
104106 echo " [*] --disable-openssl"
105107fi
106- echo " ------------------------"
107108
108109echo " ----------------------"
109110echo " [*] check x264"
110111
111- # ----------------------
112112# with x264
113113if [[ -f " ${XC_PRODUCT_ROOT} /x264-$XC_ARCH /lib/pkgconfig/x264.pc" ]]; then
114114 # libx264 is gpl and --enable-gpl is not specified.
115115 FFMPEG_CFG_FLAGS=" $FFMPEG_CFG_FLAGS --enable-gpl --enable-libx264"
116-
117- export PKG_CONFIG_PATH=" $PKG_CONFIG_PATH :${XC_PRODUCT_ROOT} /x264-$XC_ARCH /lib/pkgconfig"
116+
117+ if [[ -n " $MY_PKG_CONFIG_PATH " ]]; then
118+ MY_PKG_CONFIG_PATH=" $MY_PKG_CONFIG_PATH :"
119+ fi
120+ MY_PKG_CONFIG_PATH=" ${MY_PKG_CONFIG_PATH}${XC_PRODUCT_ROOT} /x264-$XC_ARCH /lib/pkgconfig"
118121
119122 echo " [*] --enable-libx264"
120123else
121124 echo " [*] --disable-libx264"
122125fi
123- echo " ------------------------"
124126
125127echo " ----------------------"
126128echo " [*] check fdk-aac"
127129
128- # ----------------------
129130# with fdk-aac
130131if [[ -f " ${XC_PRODUCT_ROOT} /fdk-aac-$XC_ARCH /lib/pkgconfig/fdk-aac.pc" ]]; then
131132
132133 FFMPEG_CFG_FLAGS=" $FFMPEG_CFG_FLAGS --enable-nonfree --enable-libfdk-aac"
133-
134- export PKG_CONFIG_PATH=" $PKG_CONFIG_PATH :${XC_PRODUCT_ROOT} /fdk-aac-$XC_ARCH /lib/pkgconfig"
134+
135+ if [[ -n " $MY_PKG_CONFIG_PATH " ]]; then
136+ MY_PKG_CONFIG_PATH=" $MY_PKG_CONFIG_PATH :"
137+ fi
138+ MY_PKG_CONFIG_PATH=" ${MY_PKG_CONFIG_PATH}${XC_PRODUCT_ROOT} /fdk-aac-$XC_ARCH /lib/pkgconfig"
135139
136140 echo " [*] --enable-libfdk-aac"
137141else
138142 echo " [*] --disable-libfdk-aac"
139143fi
140- echo " ------------------------"
141144
142145echo " ----------------------"
143146echo " [*] check mp3lame"
144147
145- # ----------------------
146148# with lame
147149if [[ -f " ${XC_PRODUCT_ROOT} /lame-$XC_ARCH /lib/libmp3lame.a" ]]; then
148150 # libmp3lame is gpl and --enable-gpl is not specified.
149151 FFMPEG_CFG_FLAGS=" $FFMPEG_CFG_FLAGS --enable-gpl --enable-libmp3lame"
150-
152+
151153 FDKAAC_C_FLAGS=" -I${XC_PRODUCT_ROOT} /lame-$XC_ARCH /include"
152154 FDKAAC_LD_FLAGS=" -L${XC_PRODUCT_ROOT} /lame-$XC_ARCH /lib -lmp3lame"
153155
@@ -157,62 +159,77 @@ if [[ -f "${XC_PRODUCT_ROOT}/lame-$XC_ARCH/lib/libmp3lame.a" ]]; then
157159else
158160 echo " [*] --disable-libmp3lame"
159161fi
160- echo " ------------------------"
161162
162163echo " ----------------------"
163164echo " [*] check opus"
164165
165- # ----------------------
166166# with opus
167167if [[ -f " ${XC_PRODUCT_ROOT} /opus-$XC_ARCH /lib/pkgconfig/opus.pc" ]]; then
168-
168+
169169 FFMPEG_CFG_FLAGS=" $FFMPEG_CFG_FLAGS --enable-libopus --enable-decoder=opus"
170-
171- export PKG_CONFIG_PATH=" $PKG_CONFIG_PATH :${XC_PRODUCT_ROOT} /opus-$XC_ARCH /lib/pkgconfig"
170+
171+ if [[ -n " $MY_PKG_CONFIG_PATH " ]]; then
172+ MY_PKG_CONFIG_PATH=" $MY_PKG_CONFIG_PATH :"
173+ fi
174+ MY_PKG_CONFIG_PATH=" ${MY_PKG_CONFIG_PATH}${XC_PRODUCT_ROOT} /opus-$XC_ARCH /lib/pkgconfig"
172175
173176 echo " [*] --enable-libopus --enable-decoder=opus"
174177else
175178 echo " [*] --disable-libopus"
176179fi
177- echo " ------------------------"
178180
179- # ----------------------
181+ echo " ----------------------"
182+ echo " [*] check bluray"
183+
180184# with bluray
181185if [[ -f " ${XC_PRODUCT_ROOT} /bluray-$XC_ARCH /lib/pkgconfig/libbluray.pc" ]]; then
182-
186+
183187 FFMPEG_CFG_FLAGS=" $FFMPEG_CFG_FLAGS --enable-libbluray --enable-protocol=bluray"
184-
185- export PKG_CONFIG_PATH=" $PKG_CONFIG_PATH :${XC_PRODUCT_ROOT} /bluray-$XC_ARCH /lib/pkgconfig"
188+
189+ if [[ -n " $MY_PKG_CONFIG_PATH " ]]; then
190+ MY_PKG_CONFIG_PATH=" $MY_PKG_CONFIG_PATH :"
191+ fi
192+ MY_PKG_CONFIG_PATH=" ${MY_PKG_CONFIG_PATH}${XC_PRODUCT_ROOT} /bluray-$XC_ARCH /lib/pkgconfig"
186193
187194 echo " [*] --enable-libbluray --enable-protocol=bluray"
188195else
189196 echo " [*] --disable-libbluray --disable-protocol=bluray"
190197fi
191- echo " ------------------------"
192198
193- # ----------------------
199+ echo " ----------------------"
200+ echo " [*] check dav1d"
201+
194202# FFmpeg 4.2 支持AV1、AVS2等格式
195203# dav1d由VideoLAN,VLC和FFmpeg联合开发,项目由AOM联盟赞助,和libaom相比,dav1d性能普遍提升100%,最高提升400%
196204if [[ -f " ${XC_PRODUCT_ROOT} /dav1d-$XC_ARCH /lib/pkgconfig/dav1d.pc" ]]; then
197- FFMPEG_CFG_FLAGS=" $FFMPEG_CFG_FLAGS --enable-decoder=av1 --enable-libdav1d"
198-
199- export PKG_CONFIG_PATH=" $PKG_CONFIG_PATH :${XC_PRODUCT_ROOT} /dav1d-$XC_ARCH /lib/pkgconfig"
200205
201- echo " [*] --enable-decoder=av1 --enable-libdav1d"
206+ FFMPEG_CFG_FLAGS=" $FFMPEG_CFG_FLAGS --enable-libdav1d --enable-decoder=libdav1d"
207+
208+ if [[ -n " $MY_PKG_CONFIG_PATH " ]]; then
209+ MY_PKG_CONFIG_PATH=" $MY_PKG_CONFIG_PATH :"
210+ fi
211+ MY_PKG_CONFIG_PATH=" ${MY_PKG_CONFIG_PATH}${XC_PRODUCT_ROOT} /dav1d-$XC_ARCH /lib/pkgconfig"
212+
213+ echo " [*] --enable-libdav1d --enable-decoder=libdav1d"
202214else
203- echo " [*] --disable-decoder=av1 --disable-libdav1d"
215+ echo " [*] --disable-libdav1d --disable-decoder=libdav1d"
216+ fi
217+
218+ # just wait videotoolbox support decode av1
219+ # FFMPEG_CFG_FLAGS="$FFMPEG_CFG_FLAGS --enable-decoder=av1"
220+
221+ if [[ -n " $MY_PKG_CONFIG_PATH " ]]; then
222+ export PKG_CONFIG_PATH=" $MY_PKG_CONFIG_PATH "
204223fi
205- echo " ------------------------"
206224
207- # parser subtitles
208- FFMPEG_CFG_FLAGS=" $FFMPEG_CFG_FLAGS --enable-demuxer=ass --enable-demuxer=webvtt --enable-demuxer=srt"
209-
210225CC=" $XCRUN_CC "
211226
212- # ----------------------
227+ # echo "PKG_CONFIG_PATH:${PKG_CONFIG_PATH}"
228+ # pkg-config --variable pc_path pkg-config
229+ # pkg-config --libs dav1d
230+
213231echo " ----------------------"
214232echo " [*] configure"
215- echo " ------------------------"
216233
217234if [[ ! -d $XC_BUILD_SOURCE ]]; then
218235 echo " "
@@ -227,15 +244,15 @@ cd $XC_BUILD_SOURCE
227244if [[ -f " ./config.h" ]]; then
228245 echo ' reuse configure'
229246else
230- echo
247+ echo
231248 echo " CC: $CC "
232249 echo
233250 echo " CFLAGS: $FFMPEG_C_FLAGS "
234251 echo
235252 echo " FF_CFG_FLAGS: $FFMPEG_CFG_FLAGS "
236253 echo
237254 echo " LDFLAG:$FFMPEG_LDFLAGS $FFMPEG_DEP_LIBS "
238- echo
255+ echo
239256 ./configure \
240257 $FFMPEG_CFG_FLAGS \
241258 --cc=" $CC " \
@@ -255,4 +272,4 @@ make install -j8 1>/dev/null
255272mkdir -p $XC_BUILD_PREFIX /include/libffmpeg
256273cp -f config.h $XC_BUILD_PREFIX /include/libffmpeg/config.h
257274# copy private header.
258- # cp -f $XC_BUILD_SOURCE/libavformat/avc.h $XC_BUILD_PREFIX/include/libavformat/avc.h
275+ # cp -f $XC_BUILD_SOURCE/libavformat/avc.h $XC_BUILD_PREFIX/include/libavformat/avc.h
0 commit comments