blob: 651c4fe81913d94d0b275f64298a7156d73c2fc9 [file] [log] [blame] [edit]
# Copyright 2025 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# NOTE: this file is autogenerated by media/ffmpeg/scripts/generate_gn.py
import("//build/config/arm.gni")
import("ffmpeg_options.gni")
# Declare empty versions of each variable for easier +=ing later.
ffmpeg_c_sources = []
ffmpeg_gas_sources = []
ffmpeg_asm_sources = []
use_linux_config = is_linux || is_chromeos || is_fuchsia
if (current_cpu == "arm64" || current_cpu == "arm64e" || current_cpu == "x64" ||
(is_android && current_cpu == "arm" && arm_use_neon) ||
(is_android && current_cpu == "x86") || is_apple || is_win ||
use_linux_config) {
ffmpeg_c_sources += [
"libavcodec/ac3_channel_layout_tab.c",
"libavcodec/ac3_parser.c",
"libavcodec/adts_parser.c",
"libavcodec/allcodecs.c",
"libavcodec/autorename_libavcodec_flacdsp.c",
"libavcodec/autorename_libavcodec_mpegaudiodsp.c",
"libavcodec/autorename_libavcodec_parser.c",
"libavcodec/autorename_libavcodec_vorbisdsp.c",
"libavcodec/avcodec.c",
"libavcodec/avdct.c",
"libavcodec/bitstream.c",
"libavcodec/bitstream_filters.c",
"libavcodec/bsf.c",
"libavcodec/codec_desc.c",
"libavcodec/codec_par.c",
"libavcodec/d3d11va.c",
"libavcodec/dct32_fixed.c",
"libavcodec/dct32_float.c",
"libavcodec/decode.c",
"libavcodec/dirac.c",
"libavcodec/dv_profile.c",
"libavcodec/encode.c",
"libavcodec/flac.c",
"libavcodec/flac_parser.c",
"libavcodec/flacdata.c",
"libavcodec/flacdec.c",
"libavcodec/get_buffer.c",
"libavcodec/golomb.c",
"libavcodec/imgconvert.c",
"libavcodec/jni.c",
"libavcodec/lcevcdec.c",
"libavcodec/libopus.c",
"libavcodec/libopusdec.c",
"libavcodec/mathtables.c",
"libavcodec/mediacodec.c",
"libavcodec/mpeg12framerate.c",
"libavcodec/mpeg4audio.c",
"libavcodec/mpeg4audio_sample_rates.c",
"libavcodec/mpegaudio.c",
"libavcodec/mpegaudio_parser.c",
"libavcodec/mpegaudiodata.c",
"libavcodec/mpegaudiodec_common.c",
"libavcodec/mpegaudiodec_fixed.c",
"libavcodec/mpegaudiodecheader.c",
"libavcodec/mpegaudiodsp_data.c",
"libavcodec/mpegaudiodsp_fixed.c",
"libavcodec/mpegaudiodsp_float.c",
"libavcodec/mpegaudiotabs.c",
"libavcodec/options.c",
"libavcodec/opus/parse.c",
"libavcodec/opus/parser.c",
"libavcodec/packet.c",
"libavcodec/parsers.c",
"libavcodec/pcm.c",
"libavcodec/profiles.c",
"libavcodec/pthread.c",
"libavcodec/pthread_frame.c",
"libavcodec/pthread_slice.c",
"libavcodec/qsv_api.c",
"libavcodec/raw.c",
"libavcodec/threadprogress.c",
"libavcodec/to_upper4.c",
"libavcodec/utils.c",
"libavcodec/version.c",
"libavcodec/vlc.c",
"libavcodec/vorbis.c",
"libavcodec/vorbis_data.c",
"libavcodec/vorbis_parser.c",
"libavcodec/vorbisdec.c",
"libavcodec/vp9_parser.c",
"libavcodec/xiph.c",
"libavformat/allformats.c",
"libavformat/autorename_libavformat_flacdec.c",
"libavformat/autorename_libavformat_options.c",
"libavformat/autorename_libavformat_pcm.c",
"libavformat/autorename_libavformat_utils.c",
"libavformat/autorename_libavformat_version.c",
"libavformat/avformat.c",
"libavformat/avio.c",
"libavformat/aviobuf.c",
"libavformat/demux.c",
"libavformat/demux_utils.c",
"libavformat/dovi_isom.c",
"libavformat/dump.c",
"libavformat/dv.c",
"libavformat/dvdclut.c",
"libavformat/flac_picture.c",
"libavformat/format.c",
"libavformat/id3v1.c",
"libavformat/id3v2.c",
"libavformat/isom.c",
"libavformat/isom_tags.c",
"libavformat/matroska.c",
"libavformat/matroskadec.c",
"libavformat/metadata.c",
"libavformat/mov.c",
"libavformat/mov_chan.c",
"libavformat/mov_esds.c",
"libavformat/mp3dec.c",
"libavformat/mux.c",
"libavformat/mux_utils.c",
"libavformat/oggdec.c",
"libavformat/oggparseflac.c",
"libavformat/oggparseogm.c",
"libavformat/oggparseopus.c",
"libavformat/oggparseskeleton.c",
"libavformat/oggparsetheora.c",
"libavformat/oggparsevorbis.c",
"libavformat/oggparsevp8.c",
"libavformat/os_support.c",
"libavformat/protocols.c",
"libavformat/qtpalette.c",
"libavformat/rawdec.c",
"libavformat/replaygain.c",
"libavformat/riff.c",
"libavformat/riffdec.c",
"libavformat/rmsipr.c",
"libavformat/seek.c",
"libavformat/url.c",
"libavformat/vorbiscomment.c",
"libavformat/wavdec.c",
"libavutil/aes_ctr.c",
"libavutil/ambient_viewing_environment.c",
"libavutil/autorename_libavutil_aes.c",
"libavutil/autorename_libavutil_cpu.c",
"libavutil/autorename_libavutil_fixed_dsp.c",
"libavutil/autorename_libavutil_float_dsp.c",
"libavutil/autorename_libavutil_imgutils.c",
"libavutil/autorename_libavutil_tx_float.c",
"libavutil/autorename_libavutil_utils.c",
"libavutil/autorename_libavutil_version.c",
"libavutil/avstring.c",
"libavutil/base64.c",
"libavutil/bprint.c",
"libavutil/buffer.c",
"libavutil/camellia.c",
"libavutil/channel_layout.c",
"libavutil/container_fifo.c",
"libavutil/crc.c",
"libavutil/csp.c",
"libavutil/detection_bbox.c",
"libavutil/dict.c",
"libavutil/display.c",
"libavutil/dovi_meta.c",
"libavutil/downmix_info.c",
"libavutil/encryption_info.c",
"libavutil/error.c",
"libavutil/eval.c",
"libavutil/executor.c",
"libavutil/fifo.c",
"libavutil/file_open.c",
"libavutil/film_grain_params.c",
"libavutil/float_scalarproduct.c",
"libavutil/frame.c",
"libavutil/hdr_dynamic_metadata.c",
"libavutil/hdr_dynamic_vivid_metadata.c",
"libavutil/hwcontext.c",
"libavutil/hwcontext_stub.c",
"libavutil/iamf.c",
"libavutil/integer.c",
"libavutil/intmath.c",
"libavutil/lfg.c",
"libavutil/log.c",
"libavutil/log2_tab.c",
"libavutil/lzo.c",
"libavutil/mastering_display_metadata.c",
"libavutil/mathematics.c",
"libavutil/md5.c",
"libavutil/mem.c",
"libavutil/opt.c",
"libavutil/parseutils.c",
"libavutil/pixdesc.c",
"libavutil/pixelutils.c",
"libavutil/random_seed.c",
"libavutil/rational.c",
"libavutil/refstruct.c",
"libavutil/reverse.c",
"libavutil/samplefmt.c",
"libavutil/sha.c",
"libavutil/side_data.c",
"libavutil/slicethread.c",
"libavutil/spherical.c",
"libavutil/stereo3d.c",
"libavutil/tea.c",
"libavutil/threadmessage.c",
"libavutil/time.c",
"libavutil/timecode.c",
"libavutil/timecode_internal.c",
"libavutil/timestamp.c",
"libavutil/twofish.c",
"libavutil/tx.c",
"libavutil/uuid.c",
"libavutil/video_enc_params.c",
"libavutil/video_hint.c",
]
}
if (((current_cpu == "arm64" || current_cpu == "arm64e") &&
ffmpeg_branding == "Chrome") ||
(current_cpu == "x64" && ffmpeg_branding == "Chrome") ||
(is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") ||
(is_apple && ffmpeg_branding == "Chrome") ||
(is_win && ffmpeg_branding == "Chrome") ||
(use_linux_config && ffmpeg_branding == "Chrome")) {
ffmpeg_c_sources += [
"libavcodec/atsc_a53.c",
"libavcodec/autorename_libavcodec_videodsp.c",
"libavcodec/cabac.c",
"libavcodec/h2645_parse.c",
"libavcodec/h2645_sei.c",
"libavcodec/h2645_vui.c",
"libavcodec/h2645data.c",
"libavcodec/h264_cabac.c",
"libavcodec/h264_cavlc.c",
"libavcodec/h264_direct.c",
"libavcodec/h264_loopfilter.c",
"libavcodec/h264_mb.c",
"libavcodec/h264_parse.c",
"libavcodec/h264_parser.c",
"libavcodec/h264_picture.c",
"libavcodec/h264_ps.c",
"libavcodec/h264_refs.c",
"libavcodec/h264_sei.c",
"libavcodec/h264_slice.c",
"libavcodec/h264chroma.c",
"libavcodec/h264data.c",
"libavcodec/h264dec.c",
"libavcodec/h264dsp.c",
"libavcodec/h264idct.c",
"libavcodec/h264pred.c",
"libavcodec/h264qpel.c",
"libavcodec/h274.c",
"libavcodec/startcode.c",
]
}
if (((current_cpu == "arm64" || current_cpu == "arm64e") &&
ffmpeg_branding == "Chrome") ||
(current_cpu == "x64" && ffmpeg_branding == "Chrome") ||
(is_android && current_cpu == "arm" && arm_use_neon &&
ffmpeg_branding == "Chrome") ||
(is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") ||
(is_apple && ffmpeg_branding == "Chrome") ||
(is_win && ffmpeg_branding == "Chrome") ||
(use_linux_config && ffmpeg_branding == "Chrome")) {
ffmpeg_c_sources += [
"libavcodec/aac/aacdec.c",
"libavcodec/aac/aacdec_ac.c",
"libavcodec/aac/aacdec_float.c",
"libavcodec/aac/aacdec_lpd.c",
"libavcodec/aac/aacdec_tab.c",
"libavcodec/aac/aacdec_usac.c",
"libavcodec/aac_ac3_parser.c",
"libavcodec/aac_parser.c",
"libavcodec/aacps_common.c",
"libavcodec/aacps_float.c",
"libavcodec/aacpsdsp_float.c",
"libavcodec/aacsbr.c",
"libavcodec/aactab.c",
"libavcodec/adts_header.c",
"libavcodec/autorename_libavcodec_sbrdsp.c",
"libavcodec/cbrt_data.c",
"libavcodec/kbdwin.c",
"libavcodec/sinewin.c",
"libavformat/apetag.c",
"libavformat/autorename_libavformat_aacdec.c",
"libavformat/img2.c",
]
}
if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") ||
(is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome") ||
(use_linux_config && current_cpu == "x86" && ffmpeg_branding == "Chrome")) {
ffmpeg_asm_sources += [
"libavcodec/x86/aacpsdsp.asm",
"libavcodec/x86/autorename_libavcodec_x86_videodsp.asm",
"libavcodec/x86/fpel.asm",
"libavcodec/x86/h264_chromamc.asm",
"libavcodec/x86/h264_chromamc_10bit.asm",
"libavcodec/x86/h264_deblock.asm",
"libavcodec/x86/h264_deblock_10bit.asm",
"libavcodec/x86/h264_idct.asm",
"libavcodec/x86/h264_idct_10bit.asm",
"libavcodec/x86/h264_intrapred.asm",
"libavcodec/x86/h264_intrapred_10bit.asm",
"libavcodec/x86/h264_qpel_10bit.asm",
"libavcodec/x86/h264_qpel_8bit.asm",
"libavcodec/x86/h264_weight.asm",
"libavcodec/x86/h264_weight_10bit.asm",
"libavcodec/x86/qpel.asm",
"libavcodec/x86/sbrdsp.asm",
]
}
if ((current_cpu == "arm64" || current_cpu == "arm64e") &&
ffmpeg_branding == "Chrome") {
ffmpeg_c_sources += [
"libavcodec/aarch64/aacpsdsp_init_aarch64.c",
"libavcodec/aarch64/autorename_libavcodec_aarch64_videodsp_init.c",
"libavcodec/aarch64/h264chroma_init_aarch64.c",
"libavcodec/aarch64/h264dsp_init_aarch64.c",
"libavcodec/aarch64/h264pred_init.c",
"libavcodec/aarch64/h264qpel_init_aarch64.c",
"libavcodec/aarch64/sbrdsp_init_aarch64.c",
]
ffmpeg_gas_sources += [
"libavcodec/aarch64/autorename_libavcodec_aarch64_aacpsdsp_neon.S",
"libavcodec/aarch64/autorename_libavcodec_aarch64_h264cmc_neon.S",
"libavcodec/aarch64/autorename_libavcodec_aarch64_h264dsp_neon.S",
"libavcodec/aarch64/autorename_libavcodec_aarch64_h264idct_neon.S",
"libavcodec/aarch64/autorename_libavcodec_aarch64_h264pred_neon.S",
"libavcodec/aarch64/autorename_libavcodec_aarch64_h264qpel_neon.S",
"libavcodec/aarch64/autorename_libavcodec_aarch64_hpeldsp_neon.S",
"libavcodec/aarch64/autorename_libavcodec_aarch64_sbrdsp_neon.S",
"libavcodec/aarch64/videodsp.S",
]
}
if (current_cpu == "x64" || (is_win && current_cpu == "x86") ||
(use_linux_config && current_cpu == "x86")) {
ffmpeg_c_sources +=
[ "libavutil/x86/autorename_libavutil_x86_tx_float_init.c" ]
ffmpeg_asm_sources += [
"libavcodec/x86/dct32.asm",
"libavcodec/x86/flacdsp.asm",
"libavcodec/x86/imdct36.asm",
"libavcodec/x86/vorbisdsp.asm",
"libavutil/x86/aes.asm",
"libavutil/x86/cpuid.asm",
"libavutil/x86/fixed_dsp.asm",
"libavutil/x86/float_dsp.asm",
"libavutil/x86/imgutils.asm",
"libavutil/x86/lls.asm",
"libavutil/x86/tx_float.asm",
]
}
if (current_cpu == "x64" || (is_android && current_cpu == "x86") ||
(is_win && current_cpu == "x86") ||
(use_linux_config && current_cpu == "x86")) {
ffmpeg_c_sources += [
"libavcodec/x86/autorename_libavcodec_x86_vorbisdsp_init.c",
"libavcodec/x86/constants.c",
"libavcodec/x86/flacdsp_init.c",
"libavcodec/x86/mpegaudiodsp.c",
"libavutil/x86/aes_init.c",
"libavutil/x86/autorename_libavutil_x86_cpu.c",
"libavutil/x86/autorename_libavutil_x86_float_dsp_init.c",
"libavutil/x86/fixed_dsp_init.c",
"libavutil/x86/imgutils_init.c",
"libavutil/x86/lls_init.c",
]
}
if (current_cpu == "arm64" || current_cpu == "arm64e") {
ffmpeg_c_sources += [
"libavcodec/aarch64/mpegaudiodsp_init.c",
"libavcodec/aarch64/vorbisdsp_init.c",
"libavutil/aarch64/autorename_libavutil_aarch64_cpu.c",
"libavutil/aarch64/float_dsp_init.c",
"libavutil/aarch64/tx_float_init.c",
]
ffmpeg_gas_sources += [
"libavcodec/aarch64/autorename_libavcodec_aarch64_vorbisdsp_neon.S",
"libavcodec/aarch64/mpegaudiodsp_neon.S",
"libavutil/aarch64/autorename_libavutil_aarch64_float_dsp_neon.S",
"libavutil/aarch64/cpu_sve.S",
"libavutil/aarch64/tx_float_neon.S",
]
}
if ((is_android && current_cpu == "arm" && arm_use_neon) ||
(use_linux_config && current_cpu == "arm" && arm_use_neon) ||
(use_linux_config && current_cpu == "arm")) {
ffmpeg_c_sources += [
"libavcodec/arm/flacdsp_init_arm.c",
"libavcodec/arm/mpegaudiodsp_init_arm.c",
"libavcodec/arm/vorbisdsp_init_arm.c",
"libavutil/arm/cpu.c",
"libavutil/arm/float_dsp_init_arm.c",
"libavutil/arm/float_dsp_init_vfp.c",
]
ffmpeg_gas_sources += [
"libavcodec/arm/flacdsp_arm.S",
"libavcodec/arm/mpegaudiodsp_fixed_armv6.S",
"libavutil/arm/float_dsp_vfp.S",
]
}
if ((use_linux_config && current_cpu == "arm" && arm_use_neon &&
ffmpeg_branding == "Chrome") ||
(use_linux_config && current_cpu == "arm" && ffmpeg_branding == "Chrome")) {
ffmpeg_c_sources += [
"libavcodec/arm/h264chroma_init_arm.c",
"libavcodec/arm/h264dsp_init_arm.c",
"libavcodec/arm/h264pred_init_arm.c",
"libavcodec/arm/h264qpel_init_arm.c",
"libavcodec/arm/videodsp_init_arm.c",
"libavcodec/arm/videodsp_init_armv5te.c",
]
ffmpeg_gas_sources += [
"libavcodec/arm/startcode_armv6.S",
"libavcodec/arm/videodsp_armv5te.S",
]
}
if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") ||
(is_android && current_cpu == "x86" && ffmpeg_branding == "Chrome") ||
(is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome") ||
(use_linux_config && current_cpu == "x86" && ffmpeg_branding == "Chrome")) {
ffmpeg_c_sources += [
"libavcodec/x86/aacpsdsp_init.c",
"libavcodec/x86/h264_intrapred_init.c",
"libavcodec/x86/h264_qpel.c",
"libavcodec/x86/h264chroma_init.c",
"libavcodec/x86/h264dsp_init.c",
"libavcodec/x86/sbrdsp_init.c",
"libavcodec/x86/videodsp_init.c",
]
}
if (use_linux_config && current_cpu == "arm" && arm_use_neon &&
ffmpeg_branding == "Chrome") {
ffmpeg_gas_sources += [
"libavcodec/arm/h264cmc_neon.S",
"libavcodec/arm/h264dsp_neon.S",
"libavcodec/arm/h264idct_neon.S",
"libavcodec/arm/h264pred_neon.S",
"libavcodec/arm/h264qpel_neon.S",
"libavcodec/arm/hpeldsp_neon.S",
]
}
if ((is_android && current_cpu == "arm" && arm_use_neon) ||
(use_linux_config && current_cpu == "arm" && arm_use_neon)) {
ffmpeg_c_sources += [ "libavutil/arm/float_dsp_init_neon.c" ]
ffmpeg_gas_sources += [
"libavcodec/arm/vorbisdsp_neon.S",
"libavutil/arm/float_dsp_neon.S",
]
}
if ((is_android && current_cpu == "arm" && arm_use_neon &&
ffmpeg_branding == "Chrome") ||
(use_linux_config && current_cpu == "arm" && arm_use_neon &&
ffmpeg_branding == "Chrome") ||
(use_linux_config && current_cpu == "arm" && ffmpeg_branding == "Chrome")) {
ffmpeg_c_sources += [
"libavcodec/arm/aacpsdsp_init_arm.c",
"libavcodec/arm/sbrdsp_init_arm.c",
]
}
if ((is_android && current_cpu == "arm" && arm_use_neon &&
ffmpeg_branding == "Chrome") ||
(use_linux_config && current_cpu == "arm" && arm_use_neon &&
ffmpeg_branding == "Chrome")) {
ffmpeg_gas_sources += [
"libavcodec/arm/aacpsdsp_neon.S",
"libavcodec/arm/sbrdsp_neon.S",
]
}
if ((is_android && (current_cpu == "arm64" || current_cpu == "arm64e")) ||
(is_android && current_cpu == "arm" && arm_use_neon) ||
(is_android && current_cpu == "x64") ||
(is_android && current_cpu == "x86")) {
ffmpeg_c_sources += [ "compat/strtod.c" ]
}