# Copyright 2021 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 ffmpeg/chromium/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 ((is_android && current_cpu == "arm" && arm_use_neon) || (is_android && current_cpu == "arm64") || (is_android && current_cpu == "x64") || (is_android && current_cpu == "x86") || (is_mac) || (is_win) || (use_linux_config)) {
  ffmpeg_c_sources += [
    "libavcodec/ac3_parser.c",
    "libavcodec/ac3tab.c",
    "libavcodec/adts_parser.c",
    "libavcodec/allcodecs.c",
    "libavcodec/autorename_libavcodec_flacdec.c",
    "libavcodec/autorename_libavcodec_flacdsp.c",
    "libavcodec/autorename_libavcodec_mpegaudiodsp.c",
    "libavcodec/autorename_libavcodec_utils.c",
    "libavcodec/autorename_libavcodec_vorbisdsp.c",
    "libavcodec/avdct.c",
    "libavcodec/avfft.c",
    "libavcodec/avpacket.c",
    "libavcodec/avpicture.c",
    "libavcodec/bitstream.c",
    "libavcodec/bitstream_filter.c",
    "libavcodec/bitstream_filters.c",
    "libavcodec/bsf.c",
    "libavcodec/codec_desc.c",
    "libavcodec/d3d11va.c",
    "libavcodec/dct.c",
    "libavcodec/dct32_fixed.c",
    "libavcodec/dct32_float.c",
    "libavcodec/decode.c",
    "libavcodec/dirac.c",
    "libavcodec/dv_profile.c",
    "libavcodec/encode.c",
    "libavcodec/fft_fixed_32.c",
    "libavcodec/fft_float.c",
    "libavcodec/fft_init_table.c",
    "libavcodec/flac.c",
    "libavcodec/flac_parser.c",
    "libavcodec/flacdata.c",
    "libavcodec/golomb.c",
    "libavcodec/imgconvert.c",
    "libavcodec/jni.c",
    "libavcodec/libopus.c",
    "libavcodec/libopusdec.c",
    "libavcodec/mathtables.c",
    "libavcodec/mdct_fixed_32.c",
    "libavcodec/mdct_float.c",
    "libavcodec/mediacodec.c",
    "libavcodec/mpeg12framerate.c",
    "libavcodec/mpeg4audio.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/null_bsf.c",
    "libavcodec/options.c",
    "libavcodec/opus.c",
    "libavcodec/opus_parser.c",
    "libavcodec/opus_rc.c",
    "libavcodec/opustab.c",
    "libavcodec/parser.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/rdft.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_options.c",
    "libavformat/autorename_libavformat_pcm.c",
    "libavformat/autorename_libavformat_utils.c",
    "libavformat/avio.c",
    "libavformat/aviobuf.c",
    "libavformat/dump.c",
    "libavformat/flac_picture.c",
    "libavformat/flacdec.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/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/url.c",
    "libavformat/vorbiscomment.c",
    "libavformat/wavdec.c",
    "libavutil/aes.c",
    "libavutil/aes_ctr.c",
    "libavutil/autorename_libavutil_cpu.c",
    "libavutil/autorename_libavutil_fixed_dsp.c",
    "libavutil/autorename_libavutil_float_dsp.c",
    "libavutil/autorename_libavutil_imgutils.c",
    "libavutil/avsscanf.c",
    "libavutil/avstring.c",
    "libavutil/base64.c",
    "libavutil/bprint.c",
    "libavutil/buffer.c",
    "libavutil/camellia.c",
    "libavutil/channel_layout.c",
    "libavutil/color_utils.c",
    "libavutil/crc.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/fifo.c",
    "libavutil/file_open.c",
    "libavutil/film_grain_params.c",
    "libavutil/frame.c",
    "libavutil/hdr_dynamic_metadata.c",
    "libavutil/hwcontext.c",
    "libavutil/integer.c",
    "libavutil/intmath.c",
    "libavutil/lfg.c",
    "libavutil/log.c",
    "libavutil/log2_tab.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/reverse.c",
    "libavutil/samplefmt.c",
    "libavutil/sha.c",
    "libavutil/slicethread.c",
    "libavutil/spherical.c",
    "libavutil/stereo3d.c",
    "libavutil/tea.c",
    "libavutil/threadmessage.c",
    "libavutil/time.c",
    "libavutil/timecode.c",
    "libavutil/twofish.c",
    "libavutil/tx.c",
    "libavutil/tx_double.c",
    "libavutil/tx_float.c",
    "libavutil/tx_int32.c",
    "libavutil/utils.c",
    "libavutil/video_enc_params.c",
  ]
}

if ((is_mac) || (is_win) || (use_linux_config)) {
  ffmpeg_c_sources += [
    "libavcodec/autorename_libavcodec_hpeldsp.c",
    "libavcodec/autorename_libavcodec_videodsp.c",
    "libavcodec/autorename_libavcodec_vp3dsp.c",
    "libavcodec/autorename_libavcodec_vp8dsp.c",
    "libavcodec/h264pred.c",
    "libavcodec/vp3.c",
    "libavcodec/vp3_parser.c",
    "libavcodec/vp56rac.c",
    "libavcodec/vp8.c",
    "libavcodec/vp8_parser.c",
  ]
}

if ((current_cpu == "arm64" && 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_mac && ffmpeg_branding == "Chrome") || (is_win && ffmpeg_branding == "Chrome") || (use_linux_config && ffmpeg_branding == "Chrome") || (use_linux_config && ffmpeg_branding == "ChromeOS")) {
  ffmpeg_c_sources += [
    "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_aacdec.c",
    "libavcodec/autorename_libavcodec_mdct15.c",
    "libavcodec/autorename_libavcodec_sbrdsp.c",
    "libavcodec/cbrt_data.c",
    "libavcodec/kbdwin.c",
    "libavcodec/sinewin.c",
    "libavformat/aacdec.c",
    "libavformat/apetag.c",
    "libavformat/img2.c",
  ]
}

if ((is_mac && ffmpeg_branding == "Chrome") || (is_win && ffmpeg_branding == "Chrome") || (use_linux_config && ffmpeg_branding == "Chrome") || (use_linux_config && ffmpeg_branding == "ChromeOS")) {
  ffmpeg_c_sources += [
    "libavcodec/atsc_a53.c",
    "libavcodec/cabac.c",
    "libavcodec/h2645_parse.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/h264qpel.c",
    "libavcodec/startcode.c",
  ]
}

if ((is_android && current_cpu == "x64") || (is_android && current_cpu == "x86") || (is_mac && current_cpu == "x64") || (is_win && current_cpu == "x64") || (is_win && current_cpu == "x86") || (use_linux_config && current_cpu == "x64") || (use_linux_config && current_cpu == "x86")) {
  ffmpeg_c_sources += [
    "libavcodec/x86/autorename_libavcodec_x86_vorbisdsp_init.c",
    "libavcodec/x86/constants.c",
    "libavcodec/x86/dct_init.c",
    "libavcodec/x86/fft_init.c",
    "libavcodec/x86/flacdsp_init.c",
    "libavcodec/x86/mpegaudiodsp.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 ((is_android && current_cpu == "arm64") || (is_mac && current_cpu == "arm64") || (is_win && current_cpu == "arm64") || (use_linux_config && current_cpu == "arm64")) {
  ffmpeg_c_sources += [
    "libavcodec/aarch64/fft_init_aarch64.c",
    "libavcodec/aarch64/mpegaudiodsp_init.c",
    "libavcodec/aarch64/vorbisdsp_init.c",
    "libavutil/aarch64/autorename_libavutil_aarch64_cpu.c",
    "libavutil/aarch64/float_dsp_init.c",
  ]
  ffmpeg_gas_sources += [
    "libavcodec/aarch64/autorename_libavcodec_aarch64_fft_neon.S",
    "libavcodec/aarch64/autorename_libavcodec_aarch64_mdct_neon.S",
    "libavcodec/aarch64/autorename_libavcodec_aarch64_vorbisdsp_neon.S",
    "libavcodec/aarch64/mpegaudiodsp_neon.S",
    "libavutil/aarch64/autorename_libavutil_aarch64_float_dsp_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/fft_init_arm.c",
    "libavcodec/arm/flacdsp_init_arm.c",
    "libavcodec/arm/mpegaudiodsp_init_arm.c",
    "libavcodec/arm/rdft_init_arm.c",
    "libavcodec/arm/vorbisdsp_init_arm.c",
    "libavutil/arm/autorename_libavutil_arm_cpu.c",
    "libavutil/arm/float_dsp_init_arm.c",
    "libavutil/arm/float_dsp_init_vfp.c",
  ]
  ffmpeg_gas_sources += [
    "libavcodec/arm/fft_vfp.S",
    "libavcodec/arm/flacdsp_arm.S",
    "libavcodec/arm/mdct_vfp.S",
    "libavcodec/arm/mpegaudiodsp_fixed_armv6.S",
    "libavutil/arm/float_dsp_vfp.S",
  ]
}

if ((is_android && current_cpu == "x64") || (is_mac && current_cpu == "x64") || (is_win && current_cpu == "x64") || (is_win && current_cpu == "x86") || (use_linux_config && current_cpu == "x64") || (use_linux_config && current_cpu == "x86")) {
  ffmpeg_asm_sources += [
    "libavcodec/x86/dct32.asm",
    "libavcodec/x86/fft.asm",
    "libavcodec/x86/flacdsp.asm",
    "libavcodec/x86/imdct36.asm",
    "libavcodec/x86/vorbisdsp.asm",
    "libavutil/x86/cpuid.asm",
    "libavutil/x86/fixed_dsp.asm",
    "libavutil/x86/float_dsp.asm",
    "libavutil/x86/imgutils.asm",
    "libavutil/x86/lls.asm",
  ]
}

if ((is_mac && current_cpu == "x64") || (is_win && current_cpu == "x64") || (is_win && current_cpu == "x86") || (use_linux_config && current_cpu == "x64") || (use_linux_config && current_cpu == "x86")) {
  ffmpeg_c_sources += [
    "libavcodec/x86/autorename_libavcodec_x86_videodsp_init.c",
    "libavcodec/x86/h264_intrapred_init.c",
    "libavcodec/x86/hpeldsp_init.c",
    "libavcodec/x86/hpeldsp_vp3_init.c",
    "libavcodec/x86/vp3dsp_init.c",
    "libavcodec/x86/vp8dsp_init.c",
  ]
  ffmpeg_asm_sources += [
    "libavcodec/x86/autorename_libavcodec_x86_videodsp.asm",
    "libavcodec/x86/fpel.asm",
    "libavcodec/x86/h264_intrapred.asm",
    "libavcodec/x86/h264_intrapred_10bit.asm",
    "libavcodec/x86/hpeldsp.asm",
    "libavcodec/x86/hpeldsp_vp3.asm",
    "libavcodec/x86/vp3dsp.asm",
    "libavcodec/x86/vp8dsp.asm",
    "libavcodec/x86/vp8dsp_loopfilter.asm",
  ]
}

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 == "x64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "ChromeOS")) {
  ffmpeg_c_sources += [
    "libavcodec/x86/aacpsdsp_init.c",
    "libavcodec/x86/mdct15_init.c",
    "libavcodec/x86/sbrdsp_init.c",
  ]
}

if ((is_android && current_cpu == "arm" && arm_use_neon) || (is_android && current_cpu == "arm64") || (is_android && current_cpu == "x64") || (is_android && current_cpu == "x86")) {
  ffmpeg_c_sources += [
    "compat/strtod.c",
  ]
}

if ((current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "ChromeOS")) {
  ffmpeg_asm_sources += [
    "libavcodec/x86/aacpsdsp.asm",
    "libavcodec/x86/mdct15.asm",
    "libavcodec/x86/sbrdsp.asm",
  ]
}

if (use_linux_config && ffmpeg_branding == "ChromeOS") {
  ffmpeg_c_sources += [
    "libavcodec/acelp_filters.c",
    "libavcodec/acelp_pitch_delay.c",
    "libavcodec/acelp_vectors.c",
    "libavcodec/amrnbdec.c",
    "libavcodec/amrwbdec.c",
    "libavcodec/autorename_libavcodec_blockdsp.c",
    "libavcodec/autorename_libavcodec_idctdsp.c",
    "libavcodec/autorename_libavcodec_me_cmp.c",
    "libavcodec/autorename_libavcodec_mpegvideo.c",
    "libavcodec/autorename_libavcodec_mpegvideodsp.c",
    "libavcodec/autorename_libavcodec_pixblockdsp.c",
    "libavcodec/autorename_libavcodec_qpeldsp.c",
    "libavcodec/autorename_libavcodec_simple_idct.c",
    "libavcodec/autorename_libavcodec_xvididct.c",
    "libavcodec/celp_filters.c",
    "libavcodec/celp_math.c",
    "libavcodec/error_resilience.c",
    "libavcodec/exif.c",
    "libavcodec/fdctdsp.c",
    "libavcodec/gsm_parser.c",
    "libavcodec/gsmdec.c",
    "libavcodec/gsmdec_data.c",
    "libavcodec/h263.c",
    "libavcodec/h263_parser.c",
    "libavcodec/h263data.c",
    "libavcodec/h263dec.c",
    "libavcodec/h263dsp.c",
    "libavcodec/ituh263dec.c",
    "libavcodec/jfdctfst.c",
    "libavcodec/jfdctint.c",
    "libavcodec/jrevdct.c",
    "libavcodec/lsp.c",
    "libavcodec/mpeg4video.c",
    "libavcodec/mpeg4video_parser.c",
    "libavcodec/mpeg4videodec.c",
    "libavcodec/mpeg_er.c",
    "libavcodec/mpegpicture.c",
    "libavcodec/mpegutils.c",
    "libavcodec/mpegvideo_motion.c",
    "libavcodec/mpegvideodata.c",
    "libavcodec/msgsmdec.c",
    "libavcodec/rl.c",
    "libavcodec/tiff_common.c",
    "libavformat/amr.c",
    "libavformat/avidec.c",
  ]
}

if ((use_linux_config && current_cpu == "arm" && arm_use_neon) || (use_linux_config && current_cpu == "arm")) {
  ffmpeg_c_sources += [
    "libavcodec/arm/h264pred_init_arm.c",
    "libavcodec/arm/hpeldsp_init_arm.c",
    "libavcodec/arm/hpeldsp_init_armv6.c",
    "libavcodec/arm/videodsp_init_arm.c",
    "libavcodec/arm/videodsp_init_armv5te.c",
    "libavcodec/arm/vp3dsp_init_arm.c",
    "libavcodec/arm/vp8dsp_init_arm.c",
    "libavcodec/arm/vp8dsp_init_armv6.c",
  ]
  ffmpeg_gas_sources += [
    "libavcodec/arm/hpeldsp_arm.S",
    "libavcodec/arm/hpeldsp_armv6.S",
    "libavcodec/arm/videodsp_armv5te.S",
    "libavcodec/arm/vp8_armv6.S",
    "libavcodec/arm/vp8dsp_armv6.S",
  ]
}

if ((use_linux_config && current_cpu == "mips64el") || (use_linux_config && current_cpu == "mipsel")) {
  ffmpeg_c_sources += [
    "libavcodec/mips/autorename_libavcodec_mips_videodsp_init.c",
    "libavcodec/mips/h264pred_init_mips.c",
    "libavcodec/mips/hpeldsp_init_mips.c",
    "libavcodec/mips/vp3dsp_init_mips.c",
    "libavcodec/mips/vp8dsp_init_mips.c",
    "libavutil/mips/cpu.c",
    "libavutil/mips/float_dsp_mips.c",
  ]
}

if ((is_mac && current_cpu == "arm64") || (is_win && current_cpu == "arm64") || (use_linux_config && current_cpu == "arm64")) {
  ffmpeg_c_sources += [
    "libavcodec/aarch64/h264pred_init.c",
    "libavcodec/aarch64/hpeldsp_init_aarch64.c",
    "libavcodec/aarch64/videodsp_init.c",
    "libavcodec/aarch64/vp8dsp_init_aarch64.c",
  ]
  ffmpeg_gas_sources += [
    "libavcodec/aarch64/autorename_libavcodec_aarch64_h264pred_neon.S",
    "libavcodec/aarch64/autorename_libavcodec_aarch64_hpeldsp_neon.S",
    "libavcodec/aarch64/autorename_libavcodec_aarch64_vp8dsp_neon.S",
    "libavcodec/aarch64/videodsp.S",
  ]
}

if ((current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS")) {
  ffmpeg_c_sources += [
    "libavcodec/aarch64/aacpsdsp_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_sbrdsp_neon.S",
  ]
}

if ((is_mac && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS")) {
  ffmpeg_c_sources += [
    "libavcodec/aarch64/h264chroma_init_aarch64.c",
    "libavcodec/aarch64/h264dsp_init_aarch64.c",
    "libavcodec/aarch64/h264qpel_init_aarch64.c",
  ]
  ffmpeg_gas_sources += [
    "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_h264qpel_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" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm" && ffmpeg_branding == "ChromeOS")) {
  ffmpeg_c_sources += [
    "libavcodec/arm/aacpsdsp_init_arm.c",
    "libavcodec/arm/sbrdsp_init_arm.c",
  ]
}

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/fft_neon.S",
    "libavcodec/arm/mdct_neon.S",
    "libavcodec/arm/rdft_neon.S",
    "libavcodec/arm/vorbisdsp_neon.S",
    "libavutil/arm/float_dsp_neon.S",
  ]
}

if ((use_linux_config && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "arm" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm" && ffmpeg_branding == "ChromeOS")) {
  ffmpeg_c_sources += [
    "libavcodec/arm/h264chroma_init_arm.c",
    "libavcodec/arm/h264dsp_init_arm.c",
    "libavcodec/arm/h264qpel_init_arm.c",
  ]
  ffmpeg_gas_sources += [
    "libavcodec/arm/startcode_armv6.S",
  ]
}

if ((is_mac && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (is_win && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x64" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "ChromeOS")) {
  ffmpeg_c_sources += [
    "libavcodec/x86/h264_qpel.c",
    "libavcodec/x86/h264chroma_init.c",
    "libavcodec/x86/h264dsp_init.c",
  ]
  ffmpeg_asm_sources += [
    "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_qpel_10bit.asm",
    "libavcodec/x86/h264_qpel_8bit.asm",
    "libavcodec/x86/h264_weight.asm",
    "libavcodec/x86/h264_weight_10bit.asm",
    "libavcodec/x86/qpel.asm",
  ]
}

if ((use_linux_config && current_cpu == "mips64el" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "mips64el" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "mipsel" && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS")) {
  ffmpeg_c_sources += [
    "libavcodec/mips/aacdec_mips.c",
    "libavcodec/mips/aacpsdsp_mips.c",
    "libavcodec/mips/aacsbr_mips.c",
    "libavcodec/mips/h264chroma_init_mips.c",
    "libavcodec/mips/h264dsp_init_mips.c",
    "libavcodec/mips/h264qpel_init_mips.c",
    "libavcodec/mips/sbrdsp_mips.c",
  ]
}

if (use_linux_config && current_cpu == "arm" && arm_use_neon) {
  ffmpeg_c_sources += [
    "libavcodec/arm/hpeldsp_init_neon.c",
    "libavcodec/arm/vp8dsp_init_neon.c",
  ]
  ffmpeg_gas_sources += [
    "libavcodec/arm/h264pred_neon.S",
    "libavcodec/arm/hpeldsp_neon.S",
    "libavcodec/arm/vp3dsp_neon.S",
    "libavcodec/arm/vp8dsp_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" && arm_use_neon && ffmpeg_branding == "ChromeOS")) {
  ffmpeg_gas_sources += [
    "libavcodec/arm/aacpsdsp_neon.S",
    "libavcodec/arm/sbrdsp_neon.S",
  ]
}

if ((use_linux_config && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "arm" && ffmpeg_branding == "ChromeOS")) {
  ffmpeg_c_sources += [
    "libavcodec/arm/blockdsp_init_arm.c",
    "libavcodec/arm/idctdsp_init_arm.c",
    "libavcodec/arm/idctdsp_init_armv5te.c",
    "libavcodec/arm/idctdsp_init_armv6.c",
    "libavcodec/arm/me_cmp_init_arm.c",
    "libavcodec/arm/mpegvideo_arm.c",
    "libavcodec/arm/mpegvideo_armv5te.c",
    "libavcodec/arm/pixblockdsp_init_arm.c",
  ]
  ffmpeg_gas_sources += [
    "libavcodec/arm/idctdsp_arm.S",
    "libavcodec/arm/idctdsp_armv6.S",
    "libavcodec/arm/jrevdct_arm.S",
    "libavcodec/arm/me_cmp_armv6.S",
    "libavcodec/arm/mpegvideo_armv5te_s.S",
    "libavcodec/arm/pixblockdsp_armv6.S",
    "libavcodec/arm/simple_idct_arm.S",
    "libavcodec/arm/simple_idct_armv5te.S",
    "libavcodec/arm/simple_idct_armv6.S",
  ]
}

if ((use_linux_config && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS")) {
  ffmpeg_c_sources += [
    "libavcodec/neon/autorename_libavcodec_neon_mpegvideo.c",
  ]
}

if ((use_linux_config && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "Chrome") || (use_linux_config && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS")) {
  ffmpeg_gas_sources += [
    "libavcodec/arm/h264cmc_neon.S",
    "libavcodec/arm/h264dsp_neon.S",
    "libavcodec/arm/h264idct_neon.S",
    "libavcodec/arm/h264qpel_neon.S",
  ]
}

if (use_linux_config && current_cpu == "mips64el") {
  ffmpeg_c_sources += [
    "libavcodec/mips/fft_mips.c",
    "libavcodec/mips/mpegaudiodsp_mips_float.c",
  ]
}

if ((use_linux_config && current_cpu == "mips64el" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "mipsel" && ffmpeg_branding == "ChromeOS")) {
  ffmpeg_c_sources += [
    "libavcodec/mips/blockdsp_init_mips.c",
    "libavcodec/mips/h263dsp_init_mips.c",
    "libavcodec/mips/idctdsp_init_mips.c",
    "libavcodec/mips/me_cmp_init_mips.c",
    "libavcodec/mips/mpegvideo_init_mips.c",
    "libavcodec/mips/pixblockdsp_init_mips.c",
    "libavcodec/mips/qpeldsp_init_mips.c",
    "libavcodec/mips/xvididct_init_mips.c",
  ]
}

if ((use_linux_config && current_cpu == "x64" && ffmpeg_branding == "ChromeOS") || (use_linux_config && current_cpu == "x86" && ffmpeg_branding == "ChromeOS")) {
  ffmpeg_c_sources += [
    "libavcodec/x86/blockdsp_init.c",
    "libavcodec/x86/fdct.c",
    "libavcodec/x86/fdctdsp_init.c",
    "libavcodec/x86/h263dsp_init.c",
    "libavcodec/x86/idctdsp_init.c",
    "libavcodec/x86/me_cmp_init.c",
    "libavcodec/x86/mpegvideo.c",
    "libavcodec/x86/mpegvideodsp.c",
    "libavcodec/x86/pixblockdsp_init.c",
    "libavcodec/x86/qpeldsp_init.c",
    "libavcodec/x86/xvididct_init.c",
  ]
  ffmpeg_asm_sources += [
    "libavcodec/x86/blockdsp.asm",
    "libavcodec/x86/h263_loopfilter.asm",
    "libavcodec/x86/idctdsp.asm",
    "libavcodec/x86/me_cmp.asm",
    "libavcodec/x86/pixblockdsp.asm",
    "libavcodec/x86/qpeldsp.asm",
    "libavcodec/x86/simple_idct.asm",
    "libavcodec/x86/simple_idct10.asm",
    "libavcodec/x86/xvididct.asm",
  ]
}

if (use_linux_config && current_cpu == "arm64" && ffmpeg_branding == "ChromeOS") {
  ffmpeg_c_sources += [
    "libavcodec/aarch64/idctdsp_init_aarch64.c",
    "libavcodec/aarch64/pixblockdsp_init_aarch64.c",
  ]
  ffmpeg_gas_sources += [
    "libavcodec/aarch64/autorename_libavcodec_aarch64_pixblockdsp_neon.S",
    "libavcodec/aarch64/autorename_libavcodec_aarch64_simple_idct_neon.S",
  ]
}

if (use_linux_config && current_cpu == "arm" && arm_use_neon && ffmpeg_branding == "ChromeOS") {
  ffmpeg_c_sources += [
    "libavcodec/arm/blockdsp_init_neon.c",
    "libavcodec/arm/idctdsp_init_neon.c",
  ]
  ffmpeg_gas_sources += [
    "libavcodec/arm/blockdsp_neon.S",
    "libavcodec/arm/idctdsp_neon.S",
    "libavcodec/arm/mpegvideo_neon.S",
    "libavcodec/arm/pixblockdsp_neon.S",
    "libavcodec/arm/simple_idct_neon.S",
  ]
}

if (use_linux_config && current_cpu == "mips64el" && ffmpeg_branding == "ChromeOS") {
  ffmpeg_c_sources += [
    "libavcodec/mips/acelp_filters_mips.c",
    "libavcodec/mips/acelp_vectors_mips.c",
    "libavcodec/mips/amrwbdec_mips.c",
    "libavcodec/mips/celp_filters_mips.c",
    "libavcodec/mips/celp_math_mips.c",
  ]
}

