# Copyright 2021 The Cobalt Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

libwebp_dec_sources = [
  "src/dec/alpha_dec.c",
  "src/dec/buffer_dec.c",
  "src/dec/frame_dec.c",
  "src/dec/idec_dec.c",
  "src/dec/io_dec.c",
  "src/dec/quant_dec.c",
  "src/dec/tree_dec.c",
  "src/dec/vp8_dec.c",
  "src/dec/vp8l_dec.c",
  "src/dec/webp_dec.c",
]

libwebp_demux_sources = [
  "src/demux/anim_decode.c",
  "src/demux/demux.c",
]

libwebp_dsp_dec_common_sources = [
  "src/dsp/alpha_processing.c",
  "src/dsp/cpu.c",
  "src/dsp/dec.c",
  "src/dsp/dec_clip_tables.c",
  "src/dsp/filters.c",
  "src/dsp/lossless.c",
  "src/dsp/rescaler.c",
  "src/dsp/upsampling.c",
  "src/dsp/yuv.c",
]

libwebp_dsp_dec_sse41_sources = [
  "src/dsp/alpha_processing_sse41.c",
  "src/dsp/dec_sse41.c",
  "src/dsp/upsampling_sse41.c",
  "src/dsp/yuv_sse41.c",
]

libwebp_dsp_dec_sse2_sources = [
  "src/dsp/alpha_processing_sse2.c",
  "src/dsp/dec_sse2.c",
  "src/dsp/filters_sse2.c",
  "src/dsp/lossless_sse2.c",
  "src/dsp/rescaler_sse2.c",
  "src/dsp/upsampling_sse2.c",
  "src/dsp/yuv_sse2.c",
]

libwebp_dsp_dec_neon_sources = [
  "src/dsp/alpha_processing_neon.c",
  "src/dsp/dec_neon.c",
  "src/dsp/filters_neon.c",
  "src/dsp/lossless_neon.c",
  "src/dsp/rescaler_neon.c",
  "src/dsp/upsampling_neon.c",
  "src/dsp/yuv_neon.c",
]

libwebp_dsp_dec_mips_dsp_r2_sources = [
  "src/dsp/alpha_processing_mips_dsp_r2.c",
  "src/dsp/dec_mips_dsp_r2.c",
  "src/dsp/filters_mips_dsp_r2.c",
  "src/dsp/lossless_mips_dsp_r2.c",
  "src/dsp/rescaler_mips_dsp_r2.c",
  "src/dsp/upsampling_mips_dsp_r2.c",
  "src/dsp/yuv_mips_dsp_r2.c",
]

libwebp_dsp_dec_mips32_sources = [
  "src/dsp/dec_mips32.c",
  "src/dsp/rescaler_mips32.c",
  "src/dsp/yuv_mips32.c",
]

libwebp_dsp_dec_msa_sources = [
  "src/dsp/dec_msa.c",
  "src/dsp/filters_msa.c",
  "src/dsp/lossless_msa.c",
  "src/dsp/rescaler_msa.c",
  "src/dsp/upsampling_msa.c",
]

libwebp_dsp_enc_sources = [
  "src/dsp/cost.c",
  "src/dsp/cost_mips32.c",
  "src/dsp/cost_mips_dsp_r2.c",
  "src/dsp/cost_sse2.c",
  "src/dsp/enc.c",
  "src/dsp/enc_avx2.c",
  "src/dsp/enc_mips32.c",
  "src/dsp/enc_mips_dsp_r2.c",
  "src/dsp/enc_msa.c",
  "src/dsp/enc_neon.c",
  "src/dsp/enc_sse2.c",
  "src/dsp/enc_sse41.c",
  "src/dsp/lossless_enc.c",
  "src/dsp/lossless_enc_mips32.c",
  "src/dsp/lossless_enc_mips_dsp_r2.c",
  "src/dsp/lossless_enc_msa.c",
  "src/dsp/lossless_enc_neon.c",
  "src/dsp/lossless_enc_sse2.c",
  "src/dsp/lossless_enc_sse41.c",
  "src/dsp/ssim.c",
  "src/dsp/ssim_sse2.c",
]

libwebp_enc_sources = [
  "src/enc/alpha_enc.c",
  "src/enc/analysis_enc.c",
  "src/enc/backward_references_cost_enc.c",
  "src/enc/backward_references_enc.c",
  "src/enc/config_enc.c",
  "src/enc/cost_enc.c",
  "src/enc/filter_enc.c",
  "src/enc/frame_enc.c",
  "src/enc/histogram_enc.c",
  "src/enc/iterator_enc.c",
  "src/enc/near_lossless_enc.c",
  "src/enc/picture_csp_enc.c",
  "src/enc/picture_enc.c",
  "src/enc/picture_psnr_enc.c",
  "src/enc/picture_rescale_enc.c",
  "src/enc/picture_tools_enc.c",
  "src/enc/predictor_enc.c",
  "src/enc/quant_enc.c",
  "src/enc/syntax_enc.c",
  "src/enc/token_enc.c",
  "src/enc/tree_enc.c",
  "src/enc/vp8l_enc.c",
  "src/enc/webp_enc.c",
]

libwebp_format_dec_sources = [
  "imageio/image_dec.c",
  "imageio/jpegdec.c",
  "imageio/metadata.c",
  "imageio/pngdec.c",
  "imageio/pnmdec.c",
  "imageio/tiffdec.c",
  "imageio/webpdec.c",
]

libwebp_format_enc_sources = [ "imageio/image_enc.c" ]

libwebp_util_sources = [ "examples/example_util.c" ]

libwebp_image_util_sources = [ "imageio/imageio_util.c" ]

libwebp_mux_sources = [
  "src/mux/anim_encode.c",
  "src/mux/muxedit.c",
  "src/mux/muxinternal.c",
  "src/mux/muxread.c",
]

libwebp_utils_dec_sources = [
  "src/utils/bit_reader_utils.c",
  "src/utils/color_cache_utils.c",
  "src/utils/filters_utils.c",
  "src/utils/huffman_utils.c",
  "src/utils/quant_levels_dec_utils.c",
  "src/utils/random_utils.c",
  "src/utils/rescaler_utils.c",
  "src/utils/thread_utils.c",
  "src/utils/utils.c",
]

libwebp_utils_enc_sources = [
  "src/utils/bit_writer_utils.c",
  "src/utils/huffman_encode_utils.c",
  "src/utils/quant_levels_utils.c",
]

libwebp_extra_sources = [
  "extras/extras.c",
  "extras/quality_estimate.c",
]
