Files
2026-08-24 10:03:24 +08:00

1762 lines
80 KiB
Makefile
Executable File

LOCAL_PATH := $(call my-dir)
#####add for aml###########
AML_LIBAVFORMAT_PATH := libavformat/aml
AML_LIBCODEC_PATH := libavcodec/aml
AML_LIBUTILS_PATH := libavutil/aml
AML_ALL_INCLUDE_PATH := \
$(LOCAL_PATH)/$(AML_LIBAVFORMAT_PATH)/tcpproto \
$(LOCAL_PATH)/$(AML_LIBAVFORMAT_PATH)/hls \
$(LOCAL_PATH)/$(AML_LIBCODEC_PATH)/amlcodec/h264 \
$(LOCAL_PATH)/$(AML_LIBCODEC_PATH)/amlcodec/hevc \
$(LOCAL_PATH)/$(AML_LIBUTILS_PATH)/utils \
$(LOCAL_PATH)/$(AML_LIBUTILS_PATH)/utils/OS_android \
$(LOCAL_PATH)/$(AML_LIBAVFORMAT_PATH) \
$(LOCAL_PATH)/$(AML_LIBCODEC_PATH) \
$(LOCAL_PATH)/$(AML_LIBUTILS_PATH) \
$(TOP)/external/libxml2/include
AML_ALL_CFLAGS :=
ifeq (1, $(shell expr $(PLATFORM_SDK_VERSION) \= 19))
ifneq (,$(wildcard vendor/amlogic/frameworks/av/LibPlayer))
LIBTSPLAYER_PATH:=$(TOP)/vendor/amlogic/frameworks/av/LibTsPlayer
else
LIBTSPLAYER_PATH := $(TOP)/packages/amlogic/LibTsPlayer
endif
else ifeq (1, $(shell expr $(PLATFORM_SDK_VERSION) \= 22))
ifneq (,$(wildcard vendor/amlogic/frameworks/av/LibPlayer))
LIBPLAYER_PATH:=$(TOP)/vendor/amlogic/frameworks/av/
else
LIBPLAYER_PATH := $(TOP)/packages/amlogic/
endif
else ifeq (1, $(shell expr $(PLATFORM_SDK_VERSION) \>= 23))
HARDWARE_PATH := $(TOP)/hardware/amlogic
endif
ifeq (1, $(shell expr $(PLATFORM_SDK_VERSION) \= 19))
#$(LIBTSPLAYER_PATH)/jni/include must be the last
#because of CODEC_TYPE_H_ been redefine in LibTsplayer and Libplayer
#and not the same
AML_ALL_INCLUDE_PATH += \
$(TOP)/packages/amlogic/LibPlayer/amavutils/include \
$(TOP)/external/openssl/include
else ifeq (1, $(shell expr $(PLATFORM_SDK_VERSION) \= 22))
#$(LIBTSPLAYER_PATH)/jni/include must be the last
#because of CODEC_TYPE_H_ been redefine in LibTsplayer and Libplayer
#and not the same
AML_ALL_INCLUDE_PATH += \
$(LIBPLAYER_PATH)/LibPlayer/amavutils/include \
$(TOP)/external/openssl/include
else ifeq (1, $(shell expr $(PLATFORM_SDK_VERSION) \>= 28))
AML_ALL_INCLUDE_PATH += \
$(HARDWARE_PATH)/media/amavutils/include \
$(TOP)/external/boringssl/include
endif
ifeq (1, $(shell expr $(PLATFORM_SDK_VERSION) \= 19))
AML_ALL_SHARED_LIBRARIES += \
libamavutils \
libssl \
libcrypto \
libz
else ifeq (1, $(shell expr $(PLATFORM_SDK_VERSION) \= 22))
AML_ALL_SHARED_LIBRARIES += \
libamavutils \
libssl \
libcrypto \
libz
else ifeq (1, $(shell expr $(PLATFORM_SDK_VERSION) \>= 23))
ifeq ($(LIB_AMIPTVMEDIA_PAMLOGICIPTV),true)
AML_ALL_SHARED_LIBRARIES += libamavutils
else
AML_ALL_SHARED_LIBRARIES += libamavutils_sys
endif
AML_ALL_SHARED_LIBRARIES += libcutils libssl libcrypto libz
ifeq (1, $(shell expr $(PLATFORM_SDK_VERSION) \== 28))
ifeq ($(LIB_AMIPTVMEDIA_PAMLOGICIPTV),true)
AML_ALL_CFLAGS += -DAMIPTVMEDIA_PAMLOGICIPTV
endif
endif
endif
AML_ALL_SHARED_LIBRARIES += libxml2
$(warning ffmpeg_ctc begin)
FFMPEG_CFLAGS := \
-DHAVE_AV_CONFIG_H \
-I$(LOCAL_PATH) \
-Wno-error=return-type \
-Wno-missing-field-initializers \
-Wno-parentheses \
-Wno-pointer-sign \
-Wno-sign-compare \
-Wno-switch \
-Wno-unreachable-code-loop-increment
FFMPEG_LDFLAGS := -Wl,--as-needed -Wl,-Bsymbolic -lm
ifeq ($(TARGET_ARCH),arm)
# Generated by configure. Should match the list of source files in
# FFMPEG_LOCAL_SRC_FILES_armv* below. See libavcodec/<arch>/Makefile.
FFMPEG_CFLAGS_armv4t := \
-DHAVE_ARMV5TE=0 \
-DHAVE_ARMV6=0 \
-DHAVE_ARMV6T2=0 \
-DHAVE_NEON=0
FFMPEG_CFLAGS_armv5te := \
-DHAVE_ARMV5TE=1 \
-DHAVE_ARMV6=0 \
-DHAVE_ARMV6T2=0 \
-DHAVE_NEON=0
FFMPEG_CFLAGS_armv5te-vfp := \
-DHAVE_ARMV5TE=1 \
-DHAVE_ARMV6=0 \
-DHAVE_ARMV6T2=0 \
-DHAVE_NEON=0
FFMPEG_CFLAGS_armv7-a := \
-DHAVE_ARMV5TE=0 \
-DHAVE_ARMV6=0 \
-DHAVE_ARMV6T2=1 \
-DHAVE_NEON=0
FFMPEG_CFLAGS_armv7-a-neon := \
-DHAVE_ARMV5TE=1 \
-DHAVE_ARMV6=1 \
-DHAVE_ARMV6T2=1 \
-DHAVE_NEON=1
FFMPEG_CFLAGS_armv8-a := \
-DHAVE_ARMV5TE=0 \
-DHAVE_ARMV6=0 \
-DHAVE_ARMV6T2=0 \
-DHAVE_NEON=0
FFMPEG_CFLAGS_armv8-2a := \
-DHAVE_ARMV5TE=0 \
-DHAVE_ARMV6=0 \
-DHAVE_ARMV6T2=0 \
-DHAVE_NEON=0
FFMPEG_CFLAGS += \
-std=c99 \
-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE \
-D_ISOC99_SOURCE -D_POSIX_C_SOURCE=200112 \
${FFMPEG_CFLAGS_$(TARGET_ARCH_VARIANT)}
endif
ifeq (1, $(shell expr $(PLATFORM_SDK_VERSION) \= 19))
else ifeq (1, $(shell expr $(PLATFORM_SDK_VERSION) \>= 23))
LOCAL_CLANG := false
endif
#########################add for aml
AML_FFMPEG_UTIL_SRC_FILES := \
$(AML_LIBUTILS_PATH)/utils/log_print.c \
$(AML_LIBUTILS_PATH)/utils/OS_android/aml_getaddrinfo.c \
$(AML_LIBUTILS_PATH)/utils/OS_android/get_config.c
##### libavutil
FFMPEG_LIBAVUTIL_SRC_FILES := \
$(AML_FFMPEG_UTIL_SRC_FILES) \
libavutil/adler32.c \
libavutil/aes_ctr.c \
libavutil/aes.c \
libavutil/arm/asm.S \
libavutil/arm/cpu.c \
libavutil/arm/float_dsp_init_arm.c \
libavutil/arm/float_dsp_init_neon.c \
libavutil/arm/float_dsp_init_vfp.c \
libavutil/arm/float_dsp_neon.S \
libavutil/arm/float_dsp_vfp.S \
libavutil/audio_fifo.c \
libavutil/avstring.c \
libavutil/base64.c \
libavutil/blowfish.c \
libavutil/bprint.c \
libavutil/buffer.c \
libavutil/camellia.c \
libavutil/cast5.c \
libavutil/channel_layout.c \
libavutil/color_utils.c \
libavutil/cpu.c \
libavutil/crc.c \
libavutil/des.c \
libavutil/dict.c \
libavutil/display.c \
libavutil/downmix_info.c \
libavutil/error.c \
libavutil/eval.c \
libavutil/fifo.c \
libavutil/file.c \
libavutil/file_open.c \
libavutil/fixed_dsp.c \
libavutil/float_dsp.c \
libavutil/frame.c \
libavutil/hash.c \
libavutil/hmac.c \
libavutil/imgutils.c \
libavutil/integer.c \
libavutil/intmath.c \
libavutil/lfg.c \
libavutil/lls.c \
libavutil/log2_tab.c \
libavutil/log.c \
libavutil/lzo.c \
libavutil/mastering_display_metadata.c \
libavutil/mathematics.c \
libavutil/md5.c \
libavutil/mem.c \
libavutil/murmur3.c \
libavutil/opt.c \
libavutil/parseutils.c \
libavutil/pixdesc.c \
libavutil/pixelutils.c \
libavutil/random_seed.c \
libavutil/rational.c \
libavutil/rc4.c \
libavutil/reverse.c \
libavutil/ripemd.c \
libavutil/samplefmt.c \
libavutil/sha512.c \
libavutil/sha.c \
libavutil/stereo3d.c \
libavutil/tea.c \
libavutil/threadmessage.c \
libavutil/timecode.c \
libavutil/time.c \
libavutil/tree.c \
libavutil/twofish.c \
libavutil/utils.c \
libavutil/xga_font_data.c \
libavutil/xtea.c
##### libavcodec
#########################add for aml
AML_FFMPEG_CODEC_SRC_FILES := \
$(AML_LIBCODEC_PATH)/amlcodec/hevc/amlhevcdec.c \
$(AML_LIBCODEC_PATH)/amlcodec/h264/amlh264dec.c
##### libavutil
FFMPEG_LIBAVCODEC_SRC_FILES := \
$(AML_FFMPEG_CODEC_SRC_FILES) \
libavcodec/bsf.c \
libavcodec/decode.c \
libavcodec/h264dec.c \
libavcodec/adts_parser.c \
libavcodec/012v.c \
libavcodec/4xm.c \
libavcodec/8bps.c \
libavcodec/8svx.c \
libavcodec/a64multienc.c \
libavcodec/aac_ac3_parser.c \
libavcodec/aac_adtstoasc_bsf.c \
libavcodec/aaccoder.c \
libavcodec/aacdec_fixed.c \
libavcodec/aacdec.c \
libavcodec/aacenc_is.c \
libavcodec/aacenc_ltp.c \
libavcodec/aacenc.c \
libavcodec/aacenc_pred.c \
libavcodec/aacenctab.c \
libavcodec/aacenc_tns.c \
libavcodec/aac_parser.c \
libavcodec/aacpsdsp_fixed.c \
libavcodec/aacpsdsp_float.c \
libavcodec/aacps_fixed.c \
libavcodec/aacps_float.c \
libavcodec/aacpsy.c \
libavcodec/aacsbr_fixed.c \
libavcodec/aacsbr.c \
libavcodec/aactab.c \
libavcodec/aandcttab.c \
libavcodec/aasc.c \
libavcodec/ac3_parser.c \
libavcodec/ac3tab.c \
libavcodec/acelp_filters.c \
libavcodec/acelp_pitch_delay.c \
libavcodec/acelp_vectors.c \
libavcodec/adpcm_data.c \
libavcodec/adpcmenc.c \
libavcodec/adpcm.c \
libavcodec/adxdec.c \
libavcodec/adxenc.c \
libavcodec/adx.c \
libavcodec/adx_parser.c \
libavcodec/aic.c \
libavcodec/alac_data.c \
libavcodec/alacdsp.c \
libavcodec/alacenc.c \
libavcodec/alac.c \
libavcodec/aliaspixdec.c \
libavcodec/allcodecs.c \
libavcodec/alsdec.c \
libavcodec/amrwbdec.c \
libavcodec/anm.c \
libavcodec/ansi.c \
libavcodec/apedec.c \
libavcodec/assdec.c \
libavcodec/assenc.c \
libavcodec/ass.c \
libavcodec/ass_split.c \
libavcodec/asvdec.c \
libavcodec/asvenc.c \
libavcodec/asv.c \
libavcodec/atrac1.c \
libavcodec/atrac3.c \
libavcodec/atrac3plusdec.c \
libavcodec/atrac3plusdsp.c \
libavcodec/atrac3plus.c \
libavcodec/atrac.c \
libavcodec/audiodsp.c \
libavcodec/audio_frame_queue.c \
libavcodec/aura.c \
libavcodec/avdct.c \
libavcodec/avfft.c \
libavcodec/avpacket.c \
libavcodec/avpicture.c \
libavcodec/avrndec.c \
libavcodec/avs.c \
libavcodec/cavsdec.c \
libavcodec/cavs.c \
libavcodec/cavsdata.c \
libavcodec/cavsdsp.c \
libavcodec/avuidec.c \
libavcodec/bethsoftvideo.c \
libavcodec/bfi.c \
libavcodec/bgmc.c \
libavcodec/binkaudio.c \
libavcodec/binkdsp.c \
libavcodec/bink.c \
libavcodec/bintext.c \
libavcodec/bitstream_filter.c \
libavcodec/bitstream.c \
libavcodec/blockdsp.c \
libavcodec/bmpenc.c \
libavcodec/bmp.c \
libavcodec/bmp_parser.c \
libavcodec/bmvaudio.c \
libavcodec/bmvvideo.c \
libavcodec/brenderpix.c \
libavcodec/bswapdsp.c \
libavcodec/c93.c \
libavcodec/cabac.c \
libavcodec/canopus.c \
libavcodec/cavs_parser.c \
libavcodec/ccaption_dec.c \
libavcodec/cdgraphics.c \
libavcodec/cdxl.c \
libavcodec/celp_filters.c \
libavcodec/celp_math.c \
libavcodec/cfhddata.c \
libavcodec/cfhd.c \
libavcodec/cga_data.c \
libavcodec/chomp_bsf.c \
libavcodec/cinepakenc.c \
libavcodec/cinepak.c \
libavcodec/cljrdec.c \
libavcodec/cllc.c \
libavcodec/cngdec.c \
libavcodec/codec_desc.c \
libavcodec/cook.c \
libavcodec/cook_parser.c \
libavcodec/cpia.c \
libavcodec/cscd.c \
libavcodec/cyuv.c \
libavcodec/d3d11va.c \
libavcodec/dca_exss.c \
libavcodec/dca.c \
libavcodec/dca_parser.c \
libavcodec/dct32_fixed.c \
libavcodec/dct32_float.c \
libavcodec/dct.c \
libavcodec/dds.c \
libavcodec/dfa.c \
libavcodec/dirac_arith.c \
libavcodec/diracdec.c \
libavcodec/diracdsp.c \
libavcodec/dirac_dwt.c \
libavcodec/dirac.c \
libavcodec/dirac_parser.c \
libavcodec/diractab.c \
libavcodec/dnxhddata.c \
libavcodec/dnxhddec.c \
libavcodec/dnxhdenc.c \
libavcodec/dnxhd_parser.c \
libavcodec/dpcm.c \
libavcodec/dpxenc.c \
libavcodec/dpx.c \
libavcodec/dpx_parser.c \
libavcodec/dsddec.c \
libavcodec/dsicinaudio.c \
libavcodec/dsicinvideo.c \
libavcodec/dss_sp.c \
libavcodec/dump_extradata_bsf.c \
libavcodec/dvaudiodec.c \
libavcodec/dvaudio_parser.c \
libavcodec/dvbsubdec.c \
libavcodec/dvbsub.c \
libavcodec/dvbsub_parser.c \
libavcodec/dvdata.c \
libavcodec/dvd_nav_parser.c \
libavcodec/dvdsubdec.c \
libavcodec/dvdsub_parser.c \
libavcodec/dv_profile.c \
libavcodec/dxtory.c \
libavcodec/dxv.c \
libavcodec/eacmv.c \
libavcodec/eaidct.c \
libavcodec/eamad.c \
libavcodec/eatgq.c \
libavcodec/eatgv.c \
libavcodec/eatqi.c \
libavcodec/elbg.c \
libavcodec/error_resilience.c \
libavcodec/escape124.c \
libavcodec/escape130.c \
libavcodec/evrcdec.c \
libavcodec/exif.c \
libavcodec/faandct.c \
libavcodec/faanidct.c \
libavcodec/faxcompr.c \
libavcodec/fdctdsp.c \
libavcodec/fft_fixed_32.c \
libavcodec/fft_fixed.c \
libavcodec/fft_float.c \
libavcodec/fft_init_table.c \
libavcodec/ffv1dec.c \
libavcodec/ffv1enc.c \
libavcodec/ffv1.c \
libavcodec/ffwavesynth.c \
libavcodec/fic.c \
libavcodec/flacdata.c \
libavcodec/flacdec.c \
libavcodec/flacdsp.c \
libavcodec/flac.c \
libavcodec/flac_parser.c \
libavcodec/flicvideo.c \
libavcodec/flvdec.c \
libavcodec/flvenc.c \
libavcodec/fmtconvert.c \
libavcodec/frame_thread_encoder.c \
libavcodec/fraps.c \
libavcodec/frwu.c \
libavcodec/g722dec.c \
libavcodec/g722dsp.c \
libavcodec/g722enc.c \
libavcodec/g722.c \
libavcodec/g723_1dec.c \
libavcodec/g723_1enc.c \
libavcodec/g723_1.c \
libavcodec/g726.c \
libavcodec/g729dec.c \
libavcodec/g729_parser.c \
libavcodec/g729postfilter.c \
libavcodec/gifdec.c \
libavcodec/gif.c \
libavcodec/golomb.c \
libavcodec/gsmdec_data.c \
libavcodec/gsmdec.c \
libavcodec/gsm_parser.c \
libavcodec/h261data.c \
libavcodec/h261dec.c \
libavcodec/h261enc.c \
libavcodec/h261.c \
libavcodec/h261_parser.c \
libavcodec/h263data.c \
libavcodec/h263dec.c \
libavcodec/h263dsp.c \
libavcodec/h263.c \
libavcodec/h263_parser.c \
libavcodec/h264_cabac.c \
libavcodec/h264_cavlc.c \
libavcodec/h264chroma.c \
libavcodec/h264_direct.c \
libavcodec/h264dsp.c \
libavcodec/h264idct.c \
libavcodec/h264_loopfilter.c \
libavcodec/h264_mb.c \
libavcodec/h264_mp4toannexb_bsf.c \
libavcodec/h264_parser.c \
libavcodec/h264_picture.c \
libavcodec/h264pred.c \
libavcodec/h264_ps.c \
libavcodec/h264qpel.c \
libavcodec/h264_refs.c \
libavcodec/h264_sei.c \
libavcodec/h264_slice.c \
libavcodec/hapdec.c \
libavcodec/hap.c \
libavcodec/hevc_cabac.c \
libavcodec/hevc_data.c \
libavcodec/hevcdsp.c \
libavcodec/hevc_filter.c \
libavcodec/hevc_mp4toannexb_bsf.c \
libavcodec/hevc_mvs.c \
libavcodec/hevc_parse.c \
libavcodec/hevc_parser.c \
libavcodec/hevcpred.c \
libavcodec/hevc_ps.c \
libavcodec/hevc_refs.c \
libavcodec/hevc_sei.c \
libavcodec/hnm4video.c \
libavcodec/hpeldsp.c \
libavcodec/hq_hqadata.c \
libavcodec/hq_hqadsp.c \
libavcodec/hq_hqa.c \
libavcodec/hqxdsp.c \
libavcodec/hqx.c \
libavcodec/hqxvlc.c \
libavcodec/htmlsubtitles.c \
libavcodec/huffman.c \
libavcodec/huffyuvdec.c \
libavcodec/huffyuvdsp.c \
libavcodec/huffyuvencdsp.c \
libavcodec/huffyuvenc.c \
libavcodec/huffyuv.c \
libavcodec/idcinvideo.c \
libavcodec/idctdsp.c \
libavcodec/iff.c \
libavcodec/iirfilter.c \
libavcodec/imc.c \
libavcodec/imgconvert.c \
libavcodec/imx_dump_header_bsf.c \
libavcodec/indeo2.c \
libavcodec/indeo3.c \
libavcodec/indeo4.c \
libavcodec/indeo5.c \
libavcodec/intelh263dec.c \
libavcodec/interplayacm.c \
libavcodec/interplayvideo.c \
libavcodec/intrax8dsp.c \
libavcodec/intrax8.c \
libavcodec/ituh263dec.c \
libavcodec/ituh263enc.c \
libavcodec/ivi_dsp.c \
libavcodec/ivi.c \
libavcodec/j2kenc.c \
libavcodec/jacosubdec.c \
libavcodec/jfdctfst.c \
libavcodec/jfdctint.c \
libavcodec/jpeg2000dec.c \
libavcodec/jpeg2000dsp.c \
libavcodec/jpeg2000dwt.c \
libavcodec/jpeg2000.c \
libavcodec/jpeglsdec.c \
libavcodec/jpeglsenc.c \
libavcodec/jpegls.c \
libavcodec/jpegtables.c \
libavcodec/jrevdct.c \
libavcodec/jvdec.c \
libavcodec/kbdwin.c \
libavcodec/kgv1dec.c \
libavcodec/kmvc.c \
libavcodec/lagarith.c \
libavcodec/lagarithrac.c \
libavcodec/latm_parser.c \
libavcodec/lcldec.c \
libavcodec/ljpegenc.c \
libavcodec/loco.c \
libavcodec/lossless_audiodsp.c \
libavcodec/lossless_videodsp.c \
libavcodec/lpc.c \
libavcodec/lsp.c \
libavcodec/lzf.c \
libavcodec/lzwenc.c \
libavcodec/lzw.c \
libavcodec/mace.c \
libavcodec/mathtables.c \
libavcodec/mdct_fixed_32.c \
libavcodec/mdct_fixed.c \
libavcodec/mdct_float.c \
libavcodec/mdec.c \
libavcodec/me_cmp.c \
libavcodec/metasound_data.c \
libavcodec/metasound.c \
libavcodec/microdvddec.c \
libavcodec/mimic.c \
libavcodec/mjpeg2jpeg_bsf.c \
libavcodec/mjpega_dump_header_bsf.c \
libavcodec/mjpegbdec.c \
libavcodec/mjpegdec.c \
libavcodec/mjpegenc_common.c \
libavcodec/mjpegenc.c \
libavcodec/mjpeg_parser.c \
libavcodec/mmvideo.c \
libavcodec/motion_est.c \
libavcodec/motionpixels.c \
libavcodec/movsub_bsf.c \
libavcodec/movtextdec.c \
libavcodec/movtextenc.c \
libavcodec/mp3_header_decompress_bsf.c \
libavcodec/mpc7.c \
libavcodec/mpc8.c \
libavcodec/mpc.c \
libavcodec/mpeg12data.c \
libavcodec/mpeg12dec.c \
libavcodec/mpeg12enc.c \
libavcodec/mpeg12.c \
libavcodec/mpeg4audio.c \
libavcodec/mpeg4_unpack_bframes_bsf.c \
libavcodec/mpeg4videodec.c \
libavcodec/mpeg4videoenc.c \
libavcodec/mpeg4video.c \
libavcodec/mpeg4video_parser.c \
libavcodec/mpegaudiodata.c \
libavcodec/mpegaudiodec_fixed.c \
libavcodec/mpegaudiodec_float.c \
libavcodec/mpegaudiodecheader.c \
libavcodec/mpegaudiodsp_data.c \
libavcodec/mpegaudiodsp_fixed.c \
libavcodec/mpegaudiodsp_float.c \
libavcodec/mpegaudiodsp.c \
libavcodec/mpegaudioenc_fixed.c \
libavcodec/mpegaudioenc_float.c \
libavcodec/mpegaudio.c \
libavcodec/mpegaudio_parser.c \
libavcodec/mpeg_er.c \
libavcodec/mpegpicture.c \
libavcodec/mpegutils.c \
libavcodec/mpegvideodata.c \
libavcodec/mpegvideodsp.c \
libavcodec/mpegvideoencdsp.c \
libavcodec/mpegvideo_enc.c \
libavcodec/mpegvideo_motion.c \
libavcodec/mpegvideo.c \
libavcodec/mpegvideo_parser.c \
libavcodec/mpl2dec.c \
libavcodec/mqcdec.c \
libavcodec/mqcenc.c \
libavcodec/mqc.c \
libavcodec/msgsmdec.c \
libavcodec/msmpeg4data.c \
libavcodec/msmpeg4dec.c \
libavcodec/msmpeg4enc.c \
libavcodec/msmpeg4.c \
libavcodec/msrledec.c \
libavcodec/msrle.c \
libavcodec/mss12.c \
libavcodec/mss1.c \
libavcodec/mss2dsp.c \
libavcodec/mss2.c \
libavcodec/mss34dsp.c \
libavcodec/mss3.c \
libavcodec/mss4.c \
libavcodec/msvideo1enc.c \
libavcodec/msvideo1.c \
libavcodec/mvcdec.c \
libavcodec/mxpegdec.c \
libavcodec/nellymoserdec.c \
libavcodec/nellymoserenc.c \
libavcodec/nellymoser.c \
libavcodec/noise_bsf.c \
libavcodec/nuv.c \
libavcodec/on2avcdata.c \
libavcodec/on2avc.c \
libavcodec/options.c \
libavcodec/opus_celt.c \
libavcodec/opusdec.c \
libavcodec/opus.c \
libavcodec/opus_parser.c \
libavcodec/opus_silk.c \
libavcodec/pafaudio.c \
libavcodec/pafvideo.c \
libavcodec/pamenc.c \
libavcodec/parser.c \
libavcodec/pcm-bluray.c \
libavcodec/pcm-dvd.c \
libavcodec/pcm.c \
libavcodec/pcx.c \
libavcodec/pgssubdec.c \
libavcodec/pictordec.c \
libavcodec/pixblockdsp.c \
libavcodec/png_parser.c \
libavcodec/pnmdec.c \
libavcodec/pnmenc.c \
libavcodec/pnm.c \
libavcodec/pnm_parser.c \
libavcodec/profiles.c \
libavcodec/proresdata.c \
libavcodec/proresdec2.c \
libavcodec/proresdec_lgpl.c \
libavcodec/proresdsp.c \
libavcodec/proresenc_anatoliy.c \
libavcodec/proresenc_kostya.c \
libavcodec/psymodel.c \
libavcodec/pthread_frame.c \
libavcodec/pthread.c \
libavcodec/pthread_slice.c \
libavcodec/ptx.c \
libavcodec/qcelpdec.c \
libavcodec/qdm2.c \
libavcodec/qdrw.c \
libavcodec/qpeg.c \
libavcodec/qpeldsp.c \
libavcodec/qsv_api.c \
libavcodec/qtrleenc.c \
libavcodec/qtrle.c \
libavcodec/r210dec.c \
libavcodec/ra144dec.c \
libavcodec/ra144enc.c \
libavcodec/ra144.c \
libavcodec/ra288.c \
libavcodec/ralf.c \
libavcodec/rangecoder.c \
libavcodec/ratecontrol.c \
libavcodec/rawdec.c \
libavcodec/rawenc.c \
libavcodec/raw.c \
libavcodec/rdft.c \
libavcodec/realtextdec.c \
libavcodec/remove_extradata_bsf.c \
libavcodec/rl2.c \
libavcodec/rle.c \
libavcodec/rl.c \
libavcodec/roqaudioenc.c \
libavcodec/roqvideodec.c \
libavcodec/roqvideoenc.c \
libavcodec/roqvideo.c \
libavcodec/rpza.c \
libavcodec/rtjpeg.c \
libavcodec/rv10enc.c \
libavcodec/rv10.c \
libavcodec/rv20enc.c \
libavcodec/rv30dsp.c \
libavcodec/rv30.c \
libavcodec/rv34dsp.c \
libavcodec/rv34.c \
libavcodec/rv34_parser.c \
libavcodec/rv40dsp.c \
libavcodec/rv40.c \
libavcodec/s302menc.c \
libavcodec/s302m.c \
libavcodec/samidec.c \
libavcodec/sanm.c \
libavcodec/sbrdsp_fixed.c \
libavcodec/sbrdsp.c \
libavcodec/sgidec.c \
libavcodec/sgienc.c \
libavcodec/sgirledec.c \
libavcodec/shorten.c \
libavcodec/simple_idct.c \
libavcodec/sinewin_fixed.c \
libavcodec/sinewin.c \
libavcodec/sipr16k.c \
libavcodec/sipr.c \
libavcodec/smacker.c \
libavcodec/smc.c \
libavcodec/smvjpegdec.c \
libavcodec/snappy.c \
libavcodec/snowdec.c \
libavcodec/snow_dwt.c \
libavcodec/snowenc.c \
libavcodec/snow.c \
libavcodec/sonic.c \
libavcodec/sp5xdec.c \
libavcodec/srtdec.c \
libavcodec/srtenc.c \
libavcodec/startcode.c \
libavcodec/subviewerdec.c \
libavcodec/sunrastenc.c \
libavcodec/sunrast.c \
libavcodec/svq13.c \
libavcodec/svq1dec.c \
libavcodec/svq1enc.c \
libavcodec/svq1.c \
libavcodec/svq3.c \
libavcodec/synth_filter.c \
libavcodec/takdec.c \
libavcodec/takdsp.c \
libavcodec/tak.c \
libavcodec/tak_parser.c \
libavcodec/targaenc.c \
libavcodec/targa.c \
libavcodec/targa_y216dec.c \
libavcodec/textdec.c \
libavcodec/texturedsp.c \
libavcodec/tiertexseqv.c \
libavcodec/tiff_common.c \
libavcodec/tiff_data.c \
libavcodec/tiffenc.c \
libavcodec/tiff.c \
libavcodec/tmv.c \
libavcodec/tpeldsp.c \
libavcodec/truemotion1.c \
libavcodec/truemotion2.c \
libavcodec/truespeech.c \
libavcodec/tscc2.c \
libavcodec/ttadata.c \
libavcodec/ttadsp.c \
libavcodec/ttaenc.c \
libavcodec/tta.c \
libavcodec/twinvqdec.c \
libavcodec/twinvq.c \
libavcodec/txd.c \
libavcodec/ulti.c \
libavcodec/utils.c \
libavcodec/utvideodec.c \
libavcodec/utvideoenc.c \
libavcodec/utvideo.c \
libavcodec/v210dec.c \
libavcodec/v210enc.c \
libavcodec/v210x.c \
libavcodec/v308dec.c \
libavcodec/v308enc.c \
libavcodec/v408dec.c \
libavcodec/v410dec.c \
libavcodec/v410enc.c \
libavcodec/vble.c \
libavcodec/vb.c \
libavcodec/vc1_block.c \
libavcodec/vc1data.c \
libavcodec/vc1dec.c \
libavcodec/vc1dsp.c \
libavcodec/vc1_loopfilter.c \
libavcodec/vc1_mc.c \
libavcodec/vc1.c \
libavcodec/vc1_parser.c \
libavcodec/vc1_pred.c \
libavcodec/vc2enc_dwt.c \
libavcodec/vc2enc.c \
libavcodec/vcr1.c \
libavcodec/videodsp.c \
libavcodec/vima.c \
libavcodec/vmdaudio.c \
libavcodec/vmdvideo.c \
libavcodec/vmnc.c \
libavcodec/vorbis_data.c \
libavcodec/vorbisdec.c \
libavcodec/vorbisdsp.c \
libavcodec/vorbisenc.c \
libavcodec/vorbis.c \
libavcodec/vorbis_parser.c \
libavcodec/vp3dsp.c \
libavcodec/vp3.c \
libavcodec/vp3_parser.c \
libavcodec/vp56data.c \
libavcodec/vp56dsp.c \
libavcodec/vp56.c \
libavcodec/vp56rac.c \
libavcodec/vp5.c \
libavcodec/vp6dsp.c \
libavcodec/vp6.c \
libavcodec/vp8dsp.c \
libavcodec/vp8.c \
libavcodec/vp8_parser.c \
libavcodec/vp9dsp_10bpp.c \
libavcodec/vp9dsp_12bpp.c \
libavcodec/vp9dsp_8bpp.c \
libavcodec/vp9dsp.c \
libavcodec/vp9.c \
libavcodec/vp9_parser.c \
libavcodec/vqavideo.c \
libavcodec/wavpackenc.c \
libavcodec/wavpack.c \
libavcodec/webp.c \
libavcodec/webvttdec.c \
libavcodec/webvttenc.c \
libavcodec/wma_common.c \
libavcodec/wmadec.c \
libavcodec/wmaenc.c \
libavcodec/wma_freqs.c \
libavcodec/wmalosslessdec.c \
libavcodec/wma.c \
libavcodec/wmaprodec.c \
libavcodec/wmavoice.c \
libavcodec/wmv2dec.c \
libavcodec/wmv2dsp.c \
libavcodec/wmv2enc.c \
libavcodec/wmv2.c \
libavcodec/wnv1.c \
libavcodec/wrapped_avframe.c \
libavcodec/ws-snd1.c \
libavcodec/xan.c \
libavcodec/xbmdec.c \
libavcodec/xbmenc.c \
libavcodec/xfacedec.c \
libavcodec/xfaceenc.c \
libavcodec/xface.c \
libavcodec/xiph.c \
libavcodec/xl.c \
libavcodec/xsubdec.c \
libavcodec/xsubenc.c \
libavcodec/xvididct.c \
libavcodec/xwddec.c \
libavcodec/xwdenc.c \
libavcodec/xxan.c \
libavcodec/y41pdec.c \
libavcodec/y41penc.c \
libavcodec/yop.c \
libavcodec/yuv4dec.c \
libavcodec/yuv4enc.c
FFMPEG_LOCAL_SRC_FILES_armv4t := \
libavcodec/arm/aacpsdsp_init_arm.c \
libavcodec/arm/fft_fixed_init_arm.c \
libavcodec/arm/fft_init_arm.c \
libavcodec/arm/flacdsp_arm.S \
libavcodec/arm/flacdsp_init_arm.c \
libavcodec/arm/fmtconvert_init_arm.c \
libavcodec/arm/h264dsp_init_arm.c \
libavcodec/arm/h264pred_init_arm.c \
libavcodec/arm/jrevdct_arm.S \
libavcodec/arm/mpegaudiodsp_init_arm.c \
libavcodec/arm/mpegvideo_arm.c \
libavcodec/arm/rv34dsp_init_arm.c \
libavcodec/arm/rv40dsp_init_arm.c \
libavcodec/arm/sbrdsp_init_arm.c \
libavcodec/arm/simple_idct_arm.S \
libavcodec/arm/videodsp_init_arm.c \
libavcodec/arm/vp3dsp_init_arm.c \
libavcodec/arm/vp56dsp_init_arm.c \
libavcodec/arm/vp8dsp_init_arm.c
FFMPEG_LOCAL_SRC_FILES_armv5te :=\
libavcodec/arm/aacpsdsp_init_arm.c \
libavcodec/arm/fft_fixed_init_arm.c \
libavcodec/arm/fft_init_arm.c \
libavcodec/arm/flacdsp_arm.S \
libavcodec/arm/flacdsp_init_arm.c \
libavcodec/arm/fmtconvert_init_arm.c \
libavcodec/arm/h264dsp_init_arm.c \
libavcodec/arm/h264pred_init_arm.c \
libavcodec/arm/jrevdct_arm.S \
libavcodec/arm/mpegaudiodsp_init_arm.c \
libavcodec/arm/mpegvideo_arm.c \
libavcodec/arm/mpegvideo_armv5te.c \
libavcodec/arm/mpegvideo_armv5te_s.S \
libavcodec/arm/rv34dsp_init_arm.c \
libavcodec/arm/rv40dsp_init_arm.c \
libavcodec/arm/sbrdsp_init_arm.c \
libavcodec/arm/simple_idct_arm.S \
libavcodec/arm/simple_idct_armv5te.S \
libavcodec/arm/videodsp_armv5te.S \
libavcodec/arm/videodsp_init_arm.c \
libavcodec/arm/videodsp_init_armv5te.c \
libavcodec/arm/vp3dsp_init_arm.c \
libavcodec/arm/vp56dsp_init_arm.c \
libavcodec/arm/vp8dsp_init_arm.c
FFMPEG_LOCAL_SRC_FILES_armv7-a :=\
libavcodec/arm/aacpsdsp_init_arm.c \
libavcodec/arm/dcadsp_init_arm.c \
libavcodec/arm/fft_fixed_init_arm.c \
libavcodec/arm/fft_init_arm.c \
libavcodec/arm/flacdsp_arm.S \
libavcodec/arm/flacdsp_init_arm.c \
libavcodec/arm/fmtconvert_init_arm.c \
libavcodec/arm/h264dsp_init_arm.c \
libavcodec/arm/h264pred_init_arm.c \
libavcodec/arm/jrevdct_arm.S \
libavcodec/arm/mpegaudiodsp_init_arm.c \
libavcodec/arm/mpegvideo_arm.c \
libavcodec/arm/rv34dsp_init_arm.c \
libavcodec/arm/rv40dsp_init_arm.c \
libavcodec/arm/sbrdsp_init_arm.c \
libavcodec/arm/simple_idct_arm.S \
libavcodec/arm/videodsp_init_arm.c \
libavcodec/arm/vp3dsp_init_arm.c \
libavcodec/arm/vp56dsp_init_arm.c \
libavcodec/arm/vp8dsp_init_arm.c
FFMPEG_LOCAL_SRC_FILES_armv7-a-neon :=\
libavcodec/arm/aacpsdsp_init_arm.c \
libavcodec/arm/aacpsdsp_neon.S \
libavcodec/arm/audiodsp_init_arm.c \
libavcodec/arm/audiodsp_init_neon.c \
libavcodec/arm/audiodsp_neon.S \
libavcodec/arm/blockdsp_init_arm.c \
libavcodec/arm/blockdsp_init_neon.c \
libavcodec/arm/blockdsp_neon.S \
libavcodec/arm/fft_fixed_init_arm.c \
libavcodec/arm/fft_fixed_neon.S \
libavcodec/arm/fft_init_arm.c \
libavcodec/arm/fft_neon.S \
libavcodec/arm/fft_vfp.S \
libavcodec/arm/flacdsp_arm.S \
libavcodec/arm/flacdsp_init_arm.c \
libavcodec/arm/fmtconvert_init_arm.c \
libavcodec/arm/fmtconvert_neon.S \
libavcodec/arm/fmtconvert_vfp.S \
libavcodec/arm/g722dsp_init_arm.c \
libavcodec/arm/g722dsp_neon.S \
libavcodec/arm/h264chroma_init_arm.c \
libavcodec/arm/h264cmc_neon.S \
libavcodec/arm/h264dsp_init_arm.c \
libavcodec/arm/h264dsp_neon.S \
libavcodec/arm/h264idct_neon.S \
libavcodec/arm/h264pred_init_arm.c \
libavcodec/arm/h264pred_neon.S \
libavcodec/arm/h264qpel_init_arm.c \
libavcodec/arm/h264qpel_neon.S \
libavcodec/arm/hevcdsp_deblock_neon.S \
libavcodec/arm/hevcdsp_idct_neon.S \
libavcodec/arm/hevcdsp_init_arm.c \
libavcodec/arm/hevcdsp_init_neon.c \
libavcodec/arm/hevcdsp_qpel_neon.S \
libavcodec/arm/hpeldsp_arm.S \
libavcodec/arm/hpeldsp_armv6.S \
libavcodec/arm/hpeldsp_init_arm.c \
libavcodec/arm/hpeldsp_init_armv6.c \
libavcodec/arm/hpeldsp_init_neon.c \
libavcodec/arm/hpeldsp_neon.S \
libavcodec/arm/idctdsp_arm.S \
libavcodec/arm/idctdsp_armv6.S \
libavcodec/arm/idctdsp_init_arm.c \
libavcodec/arm/idctdsp_init_armv5te.c \
libavcodec/arm/idctdsp_init_armv6.c \
libavcodec/arm/idctdsp_init_neon.c \
libavcodec/arm/idctdsp_neon.S \
libavcodec/arm/int_neon.S \
libavcodec/arm/jrevdct_arm.S \
libavcodec/arm/lossless_audiodsp_init_arm.c \
libavcodec/arm/lossless_audiodsp_neon.S \
libavcodec/arm/mdct_fixed_neon.S \
libavcodec/arm/mdct_neon.S \
libavcodec/arm/mdct_vfp.S \
libavcodec/arm/me_cmp_armv6.S \
libavcodec/arm/me_cmp_init_arm.c \
libavcodec/arm/mpegaudiodsp_fixed_armv6.S \
libavcodec/arm/mpegaudiodsp_init_arm.c \
libavcodec/arm/mpegvideo_arm.c \
libavcodec/arm/mpegvideo_armv5te.c \
libavcodec/arm/mpegvideo_armv5te_s.S \
libavcodec/arm/mpegvideoencdsp_armv6.S \
libavcodec/arm/mpegvideoencdsp_init_arm.c \
libavcodec/arm/mpegvideo_neon.S \
libavcodec/arm/neon.S \
libavcodec/arm/pixblockdsp_armv6.S \
libavcodec/arm/pixblockdsp_init_arm.c \
libavcodec/arm/rdft_neon.S \
libavcodec/arm/rv34dsp_init_arm.c \
libavcodec/arm/rv34dsp_neon.S \
libavcodec/arm/rv40dsp_init_arm.c \
libavcodec/arm/rv40dsp_neon.S \
libavcodec/arm/sbrdsp_init_arm.c \
libavcodec/arm/sbrdsp_neon.S \
libavcodec/arm/simple_idct_arm.S \
libavcodec/arm/simple_idct_armv5te.S \
libavcodec/arm/simple_idct_armv6.S \
libavcodec/arm/simple_idct_neon.S \
libavcodec/arm/startcode_armv6.S \
libavcodec/arm/synth_filter_init_arm.c \
libavcodec/arm/synth_filter_neon.S \
libavcodec/arm/synth_filter_vfp.S \
libavcodec/arm/vc1dsp_init_arm.c \
libavcodec/arm/vc1dsp_init_neon.c \
libavcodec/arm/vc1dsp_neon.S \
libavcodec/arm/videodsp_armv5te.S \
libavcodec/arm/videodsp_init_arm.c \
libavcodec/arm/videodsp_init_armv5te.c \
libavcodec/arm/vorbisdsp_init_arm.c \
libavcodec/arm/vorbisdsp_neon.S \
libavcodec/arm/vp3dsp_init_arm.c \
libavcodec/arm/vp3dsp_neon.S \
libavcodec/arm/vp6dsp_init_arm.c \
libavcodec/arm/vp6dsp_neon.S \
libavcodec/arm/vp8_armv6.S \
libavcodec/arm/vp8dsp_armv6.S \
libavcodec/arm/vp8dsp_init_arm.c \
libavcodec/arm/vp8dsp_init_armv6.c \
libavcodec/arm/vp8dsp_init_neon.c \
libavcodec/arm/vp8dsp_neon.S
FFMPEG_LOCAL_SRC_FILES_armv8-2a := $(FFMPEG_LOCAL_SRC_FILES_armv7-a-neon)
FFMPEG_LOCAL_SRC_FILES_armv8-a := $(FFMPEG_LOCAL_SRC_FILES_armv7-a-neon)
FFMPEG_LIBSWSCALE_SRC_FILES := \
libswscale/arm/swscale.c \
libswscale/arm/output.S \
libswscale/arm/hscale.S \
libswscale/alphablend.c \
libswscale/gamma.c \
libswscale/hscale_fast_bilinear.c \
libswscale/hscale.c \
libswscale/input.c \
libswscale/options.c \
libswscale/output.c \
libswscale/rgb2rgb.c \
libswscale/slice.c \
libswscale/swscale.c \
libswscale/swscale_unscaled.c \
libswscale/arm/swscale_unscaled.c \
libswscale/arm/rgb2yuv_neon_16.S \
libswscale/arm/rgb2yuv_neon_32.S \
libswscale/arm/yuv2rgb_neon.S \
libswscale/utils.c \
libswscale/vscale.c \
libswscale/yuv2rgb.c
ifeq (1, $(shell expr $(PLATFORM_SDK_VERSION) \< 33))
FFMPEG_LIBSWSCALE_SRC_FILES += \
libswscale/arm/rgb2yuv_neon_common.S
endif
FFMPEG_LIBSWRESAMPLE_SRC_FILES := \
libswresample/arm/resample_init.c \
libswresample/arm/resample.S \
libswresample/audioconvert.c \
libswresample/dither.c \
libswresample/options.c \
libswresample/rematrix.c \
libswresample/resample_dsp.c \
libswresample/resample.c \
libswresample/swresample_frame.c \
libswresample/swresample.c \
libswresample/arm/audio_convert_init.c \
libswresample/arm/audio_convert_neon.S
FFMPEG_ADD_SRC_FILES := \
libavutil/spherical.c \
libavformat/hlsplaylist.c \
libavformat/dash.c \
libavcodec/bitstream_filters.c \
libavcodec/vp9_superframe_split_bsf.c \
libavcodec/vp9_superframe_bsf.c \
libavcodec/vp9_raw_reorder_bsf.c \
libavcodec/trace_headers_bsf.c \
libavcodec/cbs.c \
libavcodec/cbs_mpeg2.c \
libavcodec/cbs_h2645.c \
libavcodec/h2645_parse.c \
libavcodec/null_bsf.c \
libavcodec/mpeg2_metadata_bsf.c \
libavcodec/h265_metadata_bsf.c \
libavcodec/hapqa_extract_bsf.c \
libavformat/g726.c \
libavcodec/h264data.c \
libavcodec/mpeg12framerate.c \
libavcodec/vp9data.c \
libavcodec/h264_redundant_pps_bsf.c \
libavcodec/h264_metadata_bsf.c \
libavformat/aixdec.c \
libavcodec/filter_units_bsf.c \
libavformat/wsddec.c \
libavcodec/opustab.c \
libavcodec/extract_extradata_bsf.c \
libavformat/aptxdec.c \
libavformat/codec2.c \
libavformat/dvbtxt.c \
libavformat/fitsdec.c \
libavformat/fitsenc.c \
libavformat/mtaf.c \
libavformat/musx.c \
libavformat/sbcdec.c \
libavformat/sccdec.c \
libavformat/sccenc.c \
libavformat/gdv.c \
libavformat/nspdec.c \
libavformat/s337m.c \
libavformat/sdsdec.c \
libavformat/ty.c \
libavcodec/wmv2data.c \
libavformat/rtpenc_vp9.c \
libavcodec/opus_rc.c \
libavcodec/fits.c \
libavcodec/codec2utils.c \
libavformat/rtpdec_vc2hq.c \
libavformat/rtpdec_rfc4175.c \
libavformat/protocols.c \
libavformat/teeproto.c \
libavformat/prompeg.c \
libavformat/sdxdec.c \
libavformat/rawutils.c \
libavcodec/vp9prob.c \
libavcodec/vp9lpf.c \
libavcodec/vp9block.c \
libavcodec/vp9recon.c \
libavcodec/vp9mvs.c \
libavcodec/arm/hevcdsp_sao_neon.S \
libavcodec/lossless_videoencdsp.c \
libavcodec/utvideodsp.c \
libavcodec/ttaencdsp.c \
libavcodec/arm/rdft_init_arm.c \
libavutil/slicethread.c \
libavcodec/h264_parse.c \
libavcodec/sipr_parser.c \
libavcodec/sbc_parser.c \
libavcodec/xma_parser.c \
libavcodec/opus_pvq.c \
libavcodec/mdct15.c \
libavcodec/sbcdec.c \
libavcodec/qdmc.c \
libavcodec/dstdec.c \
libavcodec/aptx.c \
libavcodec/ylc.c \
libavcodec/xpmdec.c \
libavcodec/bitpacked.c \
libavcodec/truemotion2rt.c \
libavcodec/speedhq.c \
libavcodec/sheervideo.c \
libavcodec/scpr.c \
libavcodec/psd.c \
libavcodec/pixlet.c \
libavcodec/magicyuv.c \
libavcodec/magicyuvenc.c \
libavcodec/m101.c \
libavcodec/hevcdec.c \
libavcodec/gdv.c \
libavcodec/fmvc.c \
libavcodec/clearvideo.c \
libavcodec/mjpegenc_huffman.c \
libavcodec/mlz.c \
libavcodec/dsd.c \
libavcodec/sbcdec_data.c \
libavcodec/sbc.c \
libavcodec/neon/mpegvideo.c \
libavcodec/encode.c \
libavcodec/dirac_vlc.c \
libavcodec/adts_header.c \
libavcodec/cbrt_tablegen_template.c \
libavutil/hwcontext.c \
libavcodec/fitsdec.c \
libavcodec/fitsenc.c \
include $(CLEAR_VARS)
$(warning ffmpeg_ctc end)
ifeq (1, $(shell expr $(PLATFORM_SDK_VERSION) \<= 28))
LOCAL_MODULE := libffmpeg40
else
LOCAL_MODULE := libffmpeg_ctc
endif
ifeq (1, $(shell expr $(PLATFORM_SDK_VERSION) \>= 30))
LOCAL_SYSTEM_EXT_MODULE := true
endif
ifeq (1, $(shell expr $(PLATFORM_SDK_VERSION) \>= 23 \& $(PLATFORM_SDK_VERSION) \< 33))
LOCAL_CLANG_ASFLAGS_arm += -no-integrated-as
LOCAL_CLANG_ASFLAGS_arm64 += -no-integrated-as
endif
LOCAL_MODULE_TAGS := optional
ifeq ($(TARGET_ARCH),arm)
LOCAL_ARM_MODE := arm
endif
LOCAL_C_INCLUDES := $(LOCAL_PATH)/compat/atomics/dummy
LOCAL_C_INCLUDES += $(AML_ALL_INCLUDE_PATH)
LOCAL_CFLAGS := $(FFMPEG_CFLAGS) -DFF_API_AV_GETTIME=0 $(AML_ALL_CFLAGS)
LOCAL_LDFLAGS += $(FFMPEG_LDFLAGS)
LOCAL_WHOLE_STATIC_LIBRARIES := libavformat40
LOCAL_SRC_FILES := \
$(FFMPEG_LIBAVUTIL_SRC_FILES) \
$(FFMPEG_LIBAVCODEC_SRC_FILES) \
${FFMPEG_LOCAL_SRC_FILES_$(TARGET_ARCH_VARIANT)} \
$(FFMPEG_LIBSWSCALE_SRC_FILES) \
$(FFMPEG_LIBSWRESAMPLE_SRC_FILES) \
$(FFMPEG_ADD_SRC_FILES)
LOCAL_SHARED_LIBRARIES := libutils liblog libdl $(AML_ALL_SHARED_LIBRARIES)
include $(BUILD_SHARED_LIBRARY)
ifeq (1, $(shell expr $(PLATFORM_SDK_VERSION) \= 28))
include $(CLEAR_VARS)
$(warning ffmpeg_ctc end)
LOCAL_MODULE := libffmpeg40_static
LOCAL_CLANG_ASFLAGS_arm += -no-integrated-as
LOCAL_CLANG_ASFLAGS_arm64 += -no-integrated-as
LOCAL_MODULE_TAGS := optional
ifeq ($(TARGET_ARCH),arm)
LOCAL_ARM_MODE := arm
endif
LOCAL_C_INCLUDES := $(LOCAL_PATH)/compat/atomics/dummy
LOCAL_C_INCLUDES += $(AML_ALL_INCLUDE_PATH)
LOCAL_CFLAGS := $(FFMPEG_CFLAGS) -DFF_API_AV_GETTIME=0 $(AML_ALL_CFLAGS)
LOCAL_LDFLAGS += $(FFMPEG_LDFLAGS)
LOCAL_WHOLE_STATIC_LIBRARIES := libavformat40
LOCAL_SRC_FILES := \
$(FFMPEG_LIBAVUTIL_SRC_FILES) \
$(FFMPEG_LIBAVCODEC_SRC_FILES) \
${FFMPEG_LOCAL_SRC_FILES_$(TARGET_ARCH_VARIANT)} \
$(FFMPEG_LIBSWSCALE_SRC_FILES) \
$(FFMPEG_LIBSWRESAMPLE_SRC_FILES) \
$(FFMPEG_ADD_SRC_FILES)
LOCAL_SHARED_LIBRARIES := libutils liblog libdl $(AML_ALL_SHARED_LIBRARIES)
include $(BUILD_STATIC_LIBRARY)
endif
###########################################
#add for aml
AML_FFMPEG_PROTO_SRC_FILES := \
$(AML_LIBAVFORMAT_PATH)/tcpproto/addrinfo_reorder.c \
$(AML_LIBAVFORMAT_PATH)/tcpproto/dns_cache.c \
$(AML_LIBAVFORMAT_PATH)/tcpproto/getaddrinfo_nonblock.c \
$(AML_LIBAVFORMAT_PATH)/hls/hls_bandwidth.c
#=============================================
##### libavformat
FFMPEG_LIBAVFORMAT_SRC_FILES := \
$(AML_FFMPEG_PROTO_SRC_FILES) \
libavformat/voc_packet.c \
libavformat/tee_common.c \
libavformat/rtpenc_vc2hq.c \
libavformat/rtmpdigest.c \
libavformat/mov_esds.c \
libavformat/3dostr.c \
libavformat/4xm.c \
libavformat/a64.c \
libavformat/aacdec.c \
libavformat/aadec.c \
libavformat/ac3dec.c \
libavformat/acm.c \
libavformat/act.c \
libavformat/adp.c \
libavformat/ads.c \
libavformat/adtsenc.c \
libavformat/adxdec.c \
libavformat/aea.c \
libavformat/afc.c \
libavformat/aiffdec.c \
libavformat/aiffenc.c \
libavformat/allformats.c \
libavformat/amr.c \
libavformat/anm.c \
libavformat/apc.c \
libavformat/ape.c \
libavformat/apetag.c \
libavformat/apngdec.c \
libavformat/apngenc.c \
libavformat/aqtitledec.c \
libavformat/asfcrypt.c \
libavformat/asfdec_f.c \
libavformat/asfdec_o.c \
libavformat/asfenc.c \
libavformat/asf.c \
libavformat/assdec.c \
libavformat/assenc.c \
libavformat/astdec.c \
libavformat/astenc.c \
libavformat/ast.c \
libavformat/async.c \
libavformat/audiointerleave.c \
libavformat/au.c \
libavformat/avc.c \
libavformat/avidec.c \
libavformat/avienc.c \
libavformat/aviobuf.c \
libavformat/avio.c \
libavformat/aviolpbuf.c \
libavformat/aviolpcache.c \
libavformat/avlanguage.c \
libavformat/avr.c \
libavformat/avs.c \
libavformat/bethsoftvid.c \
libavformat/bfi.c \
libavformat/bink.c \
libavformat/bintext.c \
libavformat/bit.c \
libavformat/bmv.c \
libavformat/boadec.c \
libavformat/brstm.c \
libavformat/c93.c \
libavformat/cache.c \
libavformat/cafdec.c \
libavformat/cafenc.c \
libavformat/caf.c \
libavformat/cavsvideodec.c \
libavformat/cdg.c \
libavformat/cdxl.c \
libavformat/cinedec.c \
libavformat/concatdec.c \
libavformat/concat.c \
libavformat/crcenc.c \
libavformat/crypto.c \
libavformat/cutils.c \
libavformat/dashenc.c \
libavformat/dashdec.c \
libavformat/data_uri.c \
libavformat/dauddec.c \
libavformat/daudenc.c \
libavformat/dcstr.c \
libavformat/dfa.c \
libavformat/diracdec.c \
libavformat/dnxhddec.c \
libavformat/dsfdec.c \
libavformat/dsicin.c \
libavformat/dss.c \
libavformat/dtsdec.c \
libavformat/dtshddec.c \
libavformat/dump.c \
libavformat/dvbsub.c \
libavformat/dxa.c \
libavformat/eacdata.c \
libavformat/electronicarts.c \
libavformat/epafdec.c \
libavformat/ffmetadec.c \
libavformat/ffmetaenc.c \
libavformat/file.c \
libavformat/filmstripdec.c \
libavformat/filmstripenc.c \
libavformat/flacdec.c \
libavformat/flacenc_header.c \
libavformat/flacenc.c \
libavformat/flac_picture.c \
libavformat/flic.c \
libavformat/flvdec.c \
libavformat/flvenc.c \
libavformat/format.c \
libavformat/framecrcenc.c \
libavformat/framehash.c \
libavformat/frmdec.c \
libavformat/fsb.c \
libavformat/ftp.c \
libavformat/g722.c \
libavformat/g723_1.c \
libavformat/g729dec.c \
libavformat/genh.c \
libavformat/gifdec.c \
libavformat/gif.c \
libavformat/gopher.c \
libavformat/gsmdec.c \
libavformat/gxfenc.c \
libavformat/gxf.c \
libavformat/h261dec.c \
libavformat/h263dec.c \
libavformat/h264dec.c \
libavformat/hdsenc.c \
libavformat/hevcdec.c \
libavformat/hevc.c \
libavformat/hlsenc.c \
libavformat/hls.c \
libavformat/hlsproto.c \
libavformat/hnm.c \
libavformat/httpauth.c \
libavformat/http.c \
libavformat/icecast.c \
libavformat/icodec.c \
libavformat/icoenc.c \
libavformat/id3v1.c \
libavformat/id3v2enc.c \
libavformat/id3v2.c \
libavformat/idcin.c \
libavformat/idroqdec.c \
libavformat/idroqenc.c \
libavformat/iff.c \
libavformat/ilbc.c \
libavformat/img2_alias_pix.c \
libavformat/img2_brender_pix.c \
libavformat/img2dec.c \
libavformat/img2enc.c \
libavformat/img2.c \
libavformat/ingenientdec.c \
libavformat/ipmovie.c \
libavformat/ircamdec.c \
libavformat/ircamenc.c \
libavformat/ircam.c \
libavformat/isom.c \
libavformat/iss.c \
libavformat/iv8.c \
libavformat/ivfdec.c \
libavformat/ivfenc.c \
libavformat/jacosubdec.c \
libavformat/jacosubenc.c \
libavformat/jvdec.c \
libavformat/latmenc.c \
libavformat/lmlm4.c \
libavformat/loasdec.c \
libavformat/lrcdec.c \
libavformat/lrcenc.c \
libavformat/lrc.c \
libavformat/lvfdec.c \
libavformat/lxfdec.c \
libavformat/m4vdec.c \
libavformat/matroskadec.c \
libavformat/matroskaenc.c \
libavformat/matroska.c \
libavformat/md5proto.c \
libavformat/metadata.c \
libavformat/mgsts.c \
libavformat/microdvddec.c \
libavformat/microdvdenc.c \
libavformat/mkvtimestamp_v2.c \
libavformat/mlpdec.c \
libavformat/mlvdec.c \
libavformat/mmf.c \
libavformat/mm.c \
libavformat/mmsh.c \
libavformat/mms.c \
libavformat/mmst.c \
libavformat/mov_chan.c \
libavformat/movenccenc.c \
libavformat/movenchint.c \
libavformat/movenc.c \
libavformat/mov.c \
libavformat/mp3dec.c \
libavformat/mp3enc.c \
libavformat/mpc8.c \
libavformat/mpc.c \
libavformat/mpegenc.c \
libavformat/mpeg.c \
libavformat/mpegtsenc.c \
libavformat/mpegts.c \
libavformat/mpegvideodec.c \
libavformat/mpjpegdec.c \
libavformat/mpjpeg.c \
libavformat/mpl2dec.c \
libavformat/mpsubdec.c \
libavformat/msf.c \
libavformat/msnwc_tcp.c \
libavformat/mtv.c \
libavformat/mux.c \
libavformat/mvdec.c \
libavformat/mvi.c \
libavformat/mxfdec.c \
libavformat/mxfenc.c \
libavformat/mxf.c \
libavformat/mxg.c \
libavformat/ncdec.c \
libavformat/network.c \
libavformat/nistspheredec.c \
libavformat/nsvdec.c \
libavformat/nullenc.c \
libavformat/nutdec.c \
libavformat/nutenc.c \
libavformat/nut.c \
libavformat/nuv.c \
libavformat/oggdec.c \
libavformat/oggenc.c \
libavformat/oggparsecelt.c \
libavformat/oggparsedaala.c \
libavformat/oggparsedirac.c \
libavformat/oggparseflac.c \
libavformat/oggparseogm.c \
libavformat/oggparseopus.c \
libavformat/oggparseskeleton.c \
libavformat/oggparsespeex.c \
libavformat/oggparsetheora.c \
libavformat/oggparsevorbis.c \
libavformat/oggparsevp8.c \
libavformat/omadec.c \
libavformat/omaenc.c \
libavformat/oma.c \
libavformat/options.c \
libavformat/os_support.c \
libavformat/paf.c \
libavformat/pcmdec.c \
libavformat/pcmenc.c \
libavformat/pcm.c \
libavformat/pjsdec.c \
libavformat/pmpdec.c \
libavformat/psxstr.c \
libavformat/pva.c \
libavformat/pvfdec.c \
libavformat/qcp.c \
libavformat/qtpalette.c \
libavformat/r3d.c \
libavformat/rawdec.c \
libavformat/rawenc.c \
libavformat/rawvideodec.c \
libavformat/rdt.c \
libavformat/realtextdec.c \
libavformat/redspark.c \
libavformat/replaygain.c \
libavformat/riffdec.c \
libavformat/riffenc.c \
libavformat/riff.c \
libavformat/rl2.c \
libavformat/rmdec.c \
libavformat/rmenc.c \
libavformat/rm.c \
libavformat/rmsipr.c \
libavformat/rpl.c \
libavformat/rsd.c \
libavformat/rsodec.c \
libavformat/rsoenc.c \
libavformat/rso.c \
libavformat/rtmphttp.c \
libavformat/rtmppkt.c \
libavformat/rtmpproto.c \
libavformat/rtpdec_ac3.c \
libavformat/rtpdec_amr.c \
libavformat/rtpdec_asf.c \
libavformat/rtpdec_dv.c \
libavformat/rtpdec_g726.c \
libavformat/rtpdec_h261.c \
libavformat/rtpdec_h263.c \
libavformat/rtpdec_h263_rfc2190.c \
libavformat/rtpdec_h264.c \
libavformat/rtpdec_hevc.c \
libavformat/rtpdec_ilbc.c \
libavformat/rtpdec_jpeg.c \
libavformat/rtpdec_latm.c \
libavformat/rtpdec_mpa_robust.c \
libavformat/rtpdec_mpeg12.c \
libavformat/rtpdec_mpeg4.c \
libavformat/rtpdec_mpegts.c \
libavformat/rtpdec.c \
libavformat/rtpdec_qcelp.c \
libavformat/rtpdec_qdm2.c \
libavformat/rtpdec_qt.c \
libavformat/rtpdec_svq3.c \
libavformat/rtpdec_vp8.c \
libavformat/rtpdec_vp9.c \
libavformat/rtpdec_xiph.c \
libavformat/rtpenc_aac.c \
libavformat/rtpenc_amr.c \
libavformat/rtpenc_chain.c \
libavformat/rtpenc_h261.c \
libavformat/rtpenc_h263.c \
libavformat/rtpenc_h263_rfc2190.c \
libavformat/rtpenc_h264_hevc.c \
libavformat/rtpenc_jpeg.c \
libavformat/rtpenc_latm.c \
libavformat/rtpenc_mpegts.c \
libavformat/rtpenc_mpv.c \
libavformat/rtpenc.c \
libavformat/rtpenc_vp8.c \
libavformat/rtpenc_xiph.c \
libavformat/rtp.c \
libavformat/rtpproto.c \
libavformat/rtspdec.c \
libavformat/rtspenc.c \
libavformat/rtsp.c \
libavformat/samidec.c \
libavformat/sapdec.c \
libavformat/sapenc.c \
libavformat/sauce.c \
libavformat/sbgdec.c \
libavformat/sdp.c \
libavformat/sdr2.c \
libavformat/segafilm.c \
libavformat/segment.c \
libavformat/shortendec.c \
libavformat/sierravmd.c \
libavformat/siff.c \
libavformat/smacker.c \
libavformat/smjpegdec.c \
libavformat/smjpegenc.c \
libavformat/smjpeg.c \
libavformat/smoothstreamingenc.c \
libavformat/smush.c \
libavformat/sol.c \
libavformat/soxdec.c \
libavformat/soxenc.c \
libavformat/spdifdec.c \
libavformat/spdifenc.c \
libavformat/spdif.c \
libavformat/srtdec.c \
libavformat/srtenc.c \
libavformat/srtp.c \
libavformat/srtpproto.c \
libavformat/stldec.c \
libavformat/subfile.c \
libavformat/subtitles.c \
libavformat/subviewer1dec.c \
libavformat/subviewerdec.c \
libavformat/supdec.c \
libavformat/svag.c \
libavformat/swfdec.c \
libavformat/swfenc.c \
libavformat/swf.c \
libavformat/takdec.c \
libavformat/tls_openssl.c \
libavformat/tls.c \
libavformat/tcp.c \
libavformat/tedcaptionsdec.c \
libavformat/tee.c \
libavformat/thp.c \
libavformat/tiertexseq.c \
libavformat/tmv.c \
libavformat/tta.c \
libavformat/tty.c \
libavformat/txd.c \
libavformat/udp.c \
libavformat/uncodedframecrcenc.c \
libavformat/unix.c \
libavformat/urldecode.c \
libavformat/url.c \
libavformat/utils.c \
libavformat/v210.c \
libavformat/vag.c \
libavformat/vc1dec.c \
libavformat/vc1testenc.c \
libavformat/vc1test.c \
libavformat/vivo.c \
libavformat/vocdec.c \
libavformat/vocenc.c \
libavformat/voc.c \
libavformat/vorbiscomment.c \
libavformat/vpk.c \
libavformat/vplayerdec.c \
libavformat/vqf.c \
libavformat/w64.c \
libavformat/wavdec.c \
libavformat/wavenc.c \
libavformat/wc3movie.c \
libavformat/webm_chunk.c \
libavformat/webmdashenc.c \
libavformat/webpenc.c \
libavformat/webvttdec.c \
libavformat/webvttenc.c \
libavformat/westwood_aud.c \
libavformat/westwood_vqa.c \
libavformat/wtv_common.c \
libavformat/wtvdec.c \
libavformat/wtvenc.c \
libavformat/wvdec.c \
libavformat/wvedec.c \
libavformat/wvenc.c \
libavformat/wv.c \
libavformat/xa.c \
libavformat/xmv.c \
libavformat/xvag.c \
libavformat/xwma.c \
libavformat/yop.c \
libavformat/yuv4mpegdec.c \
libavformat/yuv4mpegenc.c
##### libavformat
include $(CLEAR_VARS)
LOCAL_MODULE := libavformat40
ifeq (1, $(shell expr $(PLATFORM_SDK_VERSION) \>= 23 \& $(PLATFORM_SDK_VERSION) \< 33))
LOCAL_CLANG_ASFLAGS_arm += -no-integrated-as
LOCAL_CLANG_ASFLAGS_arm64 += -no-integrated-as
endif
LOCAL_MODULE_TAGS := optional
ifeq ($(TARGET_ARCH),arm)
LOCAL_ARM_MODE := arm
endif
LOCAL_C_INCLUDES := $(LOCAL_PATH)/compat/atomics/dummy
LOCAL_C_INCLUDES += $(AML_ALL_INCLUDE_PATH)
LOCAL_CFLAGS := $(FFMPEG_CFLAGS) -DFF_API_AV_GETTIME=0 $(AML_ALL_CFLAGS)
LOCAL_LDFLAGS += $(FFMPEG_LDFLAGS)
LOCAL_SRC_FILES := \
$(FFMPEG_LIBAVFORMAT_SRC_FILES) \
LOCAL_SHARED_LIBRARIES := libutils liblog libdl $(AML_ALL_SHARED_LIBRARIES)
include $(BUILD_STATIC_LIBRARY)