blob: 35466ac88b0c22656ab3d19099187fcbc0df8e9c [file] [log] [blame]
Yaowu Xuf883b422016-08-30 14:01:10 -07001##
Yaowu Xu9c01aa12016-09-01 14:32:49 -07002## Copyright (c) 2016, Alliance for Open Media. All rights reserved
Yaowu Xuf883b422016-08-30 14:01:10 -07003##
Yaowu Xu9c01aa12016-09-01 14:32:49 -07004## This source code is subject to the terms of the BSD 2 Clause License and
5## the Alliance for Open Media Patent License 1.0. If the BSD 2 Clause License
6## was not distributed with this source code in the LICENSE file, you can
7## obtain it at www.aomedia.org/license/software. If the Alliance for Open
8## Media Patent License 1.0 was not distributed with this source code in the
9## PATENTS file, you can obtain it at www.aomedia.org/license/patent.
Yaowu Xuf883b422016-08-30 14:01:10 -070010##
11
12AV1_COMMON_SRCS-yes += av1_common.mk
13AV1_COMMON_SRCS-yes += av1_iface_common.h
Yaowu Xuf883b422016-08-30 14:01:10 -070014AV1_COMMON_SRCS-yes += common/alloccommon.c
Tom Finegan17ce8b12017-02-08 12:46:31 -080015AV1_COMMON_SRCS-yes += common/av1_loopfilter.c
16AV1_COMMON_SRCS-yes += common/av1_loopfilter.h
Yaowu Xuf883b422016-08-30 14:01:10 -070017AV1_COMMON_SRCS-yes += common/blockd.c
18AV1_COMMON_SRCS-yes += common/debugmodes.c
Yaowu Xuf883b422016-08-30 14:01:10 -070019AV1_COMMON_SRCS-yes += common/entropy.c
20AV1_COMMON_SRCS-yes += common/entropymode.c
21AV1_COMMON_SRCS-yes += common/entropymv.c
22AV1_COMMON_SRCS-yes += common/frame_buffers.c
23AV1_COMMON_SRCS-yes += common/frame_buffers.h
24AV1_COMMON_SRCS-yes += common/alloccommon.h
25AV1_COMMON_SRCS-yes += common/blockd.h
26AV1_COMMON_SRCS-yes += common/common.h
Monty Montgomery02078a32017-07-11 21:22:29 -040027AV1_COMMON_SRCS-yes += common/daala_tx.c
28AV1_COMMON_SRCS-yes += common/daala_tx.h
Yaowu Xuf883b422016-08-30 14:01:10 -070029AV1_COMMON_SRCS-yes += common/entropy.h
30AV1_COMMON_SRCS-yes += common/entropymode.h
31AV1_COMMON_SRCS-yes += common/entropymv.h
32AV1_COMMON_SRCS-yes += common/enums.h
33AV1_COMMON_SRCS-yes += common/filter.h
34AV1_COMMON_SRCS-yes += common/filter.c
35AV1_COMMON_SRCS-yes += common/idct.h
36AV1_COMMON_SRCS-yes += common/idct.c
Yaowu Xuf883b422016-08-30 14:01:10 -070037AV1_COMMON_SRCS-yes += common/thread_common.h
James Zernfd2b1b82017-02-24 18:56:44 -080038AV1_COMMON_SRCS-$(CONFIG_LV_MAP) += common/txb_common.h
Angie Chiangfe2ad262017-03-21 11:09:13 -070039AV1_COMMON_SRCS-$(CONFIG_LV_MAP) += common/txb_common.c
Yaowu Xuf883b422016-08-30 14:01:10 -070040AV1_COMMON_SRCS-yes += common/mv.h
41AV1_COMMON_SRCS-yes += common/onyxc_int.h
42AV1_COMMON_SRCS-yes += common/pred_common.h
43AV1_COMMON_SRCS-yes += common/pred_common.c
44AV1_COMMON_SRCS-yes += common/quant_common.h
45AV1_COMMON_SRCS-yes += common/reconinter.h
46AV1_COMMON_SRCS-yes += common/reconintra.h
47AV1_COMMON_SRCS-yes += common/av1_rtcd.c
48AV1_COMMON_SRCS-yes += common/av1_rtcd_defs.pl
49AV1_COMMON_SRCS-yes += common/scale.h
50AV1_COMMON_SRCS-yes += common/scale.c
51AV1_COMMON_SRCS-yes += common/seg_common.h
52AV1_COMMON_SRCS-yes += common/seg_common.c
53AV1_COMMON_SRCS-yes += common/tile_common.h
54AV1_COMMON_SRCS-yes += common/tile_common.c
Yaowu Xuf883b422016-08-30 14:01:10 -070055AV1_COMMON_SRCS-yes += common/thread_common.c
56AV1_COMMON_SRCS-yes += common/mvref_common.c
57AV1_COMMON_SRCS-yes += common/mvref_common.h
58AV1_COMMON_SRCS-yes += common/quant_common.c
59AV1_COMMON_SRCS-yes += common/reconinter.c
60AV1_COMMON_SRCS-yes += common/reconintra.c
Fergus Simpsond0565002017-03-27 16:51:52 -070061AV1_COMMON_SRCS-yes += common/resize.c
62AV1_COMMON_SRCS-yes += common/resize.h
Yaowu Xuf883b422016-08-30 14:01:10 -070063AV1_COMMON_SRCS-yes += common/common_data.h
64AV1_COMMON_SRCS-yes += common/scan.c
65AV1_COMMON_SRCS-yes += common/scan.h
James Zern9fa47582016-05-10 19:28:35 -070066# TODO(angiebird) the forward transform belongs under encoder/
Yaowu Xuf883b422016-08-30 14:01:10 -070067AV1_COMMON_SRCS-yes += common/av1_txfm.h
68AV1_COMMON_SRCS-yes += common/av1_fwd_txfm1d.h
69AV1_COMMON_SRCS-yes += common/av1_fwd_txfm1d.c
70AV1_COMMON_SRCS-yes += common/av1_inv_txfm1d.h
71AV1_COMMON_SRCS-yes += common/av1_inv_txfm1d.c
72AV1_COMMON_SRCS-yes += common/av1_fwd_txfm2d.c
Sarah Parkereec47e62017-05-15 20:49:22 -070073AV1_COMMON_SRCS-yes += common/av1_fwd_txfm1d_cfg.h
Yaowu Xuf883b422016-08-30 14:01:10 -070074AV1_COMMON_SRCS-yes += common/av1_inv_txfm2d.c
Sarah Parkereec47e62017-05-15 20:49:22 -070075AV1_COMMON_SRCS-yes += common/av1_inv_txfm1d_cfg.h
Yi Luo04cef492017-07-11 16:51:50 -070076AV1_COMMON_SRCS-$(HAVE_AVX2) += common/x86/convolve_avx2.c
Yaowu Xuf883b422016-08-30 14:01:10 -070077AV1_COMMON_SRCS-$(HAVE_SSSE3) += common/x86/av1_convolve_ssse3.c
Rupert Swarbrick98dc22b2017-10-04 09:45:51 +010078ifeq ($(CONFIG_CONVOLVE_ROUND)x$(CONFIG_COMPOUND_ROUND),yesx)
79AV1_COMMON_SRCS-$(HAVE_SSE4_1) += common/x86/av1_convolve_scale_sse4.c
80endif
Sebastien Alaiwan71e87842017-04-12 16:03:28 +020081ifeq ($(CONFIG_HIGHBITDEPTH),yes)
Yaowu Xuf883b422016-08-30 14:01:10 -070082AV1_COMMON_SRCS-$(HAVE_SSE4_1) += common/x86/av1_highbd_convolve_sse4.c
Yaowu Xuf883b422016-08-30 14:01:10 -070083endif
Yaowu Xu6557ea92016-10-31 16:33:36 -070084AV1_COMMON_SRCS-yes += common/convolve.c
85AV1_COMMON_SRCS-yes += common/convolve.h
David Barkerce110cc2017-02-22 10:38:59 +000086ifeq ($(CONFIG_LOOP_RESTORATION),yes)
87AV1_COMMON_SRCS-yes += common/restoration.h
88AV1_COMMON_SRCS-yes += common/restoration.c
89AV1_COMMON_SRCS-$(HAVE_SSE4_1) += common/x86/selfguided_sse4.c
90endif
Joe Young89d321f2017-09-14 15:59:43 -070091ifeq ($(CONFIG_INTRA_EDGE),yes)
92AV1_COMMON_SRCS-$(HAVE_SSE4_1) += common/x86/intra_edge_sse4.c
93endif
Yue Chen235133a2016-09-29 12:12:47 -070094ifeq (yes,$(filter $(CONFIG_GLOBAL_MOTION) $(CONFIG_WARPED_MOTION),yes))
Yaowu Xuf883b422016-08-30 14:01:10 -070095AV1_COMMON_SRCS-yes += common/warped_motion.h
96AV1_COMMON_SRCS-yes += common/warped_motion.c
97endif
Jean-Marc Valin01435132017-02-18 14:12:53 -050098ifeq ($(CONFIG_CDEF),yes)
Steinar Midtskogen59782122017-07-20 08:49:43 +020099ifeq ($(CONFIG_CDEF_SINGLEPASS),yes)
100AV1_COMMON_SRCS-$(HAVE_AVX2) += common/cdef_block_avx2.c
101else
Yaowu Xuf883b422016-08-30 14:01:10 -0700102AV1_COMMON_SRCS-yes += common/clpf.c
Steinar Midtskogenbe668e92016-08-05 12:12:38 +0200103AV1_COMMON_SRCS-yes += common/clpf_simd.h
104AV1_COMMON_SRCS-$(HAVE_SSE2) += common/clpf_sse2.c
105AV1_COMMON_SRCS-$(HAVE_SSSE3) += common/clpf_ssse3.c
Steinar Midtskogenf250e202016-10-18 07:56:52 +0200106AV1_COMMON_SRCS-$(HAVE_SSE4_1) += common/clpf_sse4.c
Steinar Midtskogenbe668e92016-08-05 12:12:38 +0200107AV1_COMMON_SRCS-$(HAVE_NEON) += common/clpf_neon.c
Steinar Midtskogen59782122017-07-20 08:49:43 +0200108endif
Steinar Midtskogen94de0aa2017-08-02 10:30:12 +0200109AV1_COMMON_SRCS-$(HAVE_SSE2) += common/cdef_block_sse2.c
110AV1_COMMON_SRCS-$(HAVE_SSSE3) += common/cdef_block_ssse3.c
111AV1_COMMON_SRCS-$(HAVE_SSE4_1) += common/cdef_block_sse4.c
112AV1_COMMON_SRCS-$(HAVE_NEON) += common/cdef_block_neon.c
113AV1_COMMON_SRCS-yes += common/cdef_block.c
114AV1_COMMON_SRCS-yes += common/cdef_block.h
115AV1_COMMON_SRCS-yes += common/cdef_block_simd.h
Steinar Midtskogena9d41e82017-03-17 12:48:15 +0100116AV1_COMMON_SRCS-yes += common/cdef.c
117AV1_COMMON_SRCS-yes += common/cdef.h
Yaowu Xuf883b422016-08-30 14:01:10 -0700118endif
119AV1_COMMON_SRCS-yes += common/odintrin.c
120AV1_COMMON_SRCS-yes += common/odintrin.h
121
Luc Trudeauf8164152017-04-11 16:20:51 -0400122ifeq ($(CONFIG_CFL),yes)
123AV1_COMMON_SRCS-yes += common/cfl.h
124AV1_COMMON_SRCS-yes += common/cfl.c
125endif
126
Rupert Swarbrickc0cea7f2017-08-22 14:06:56 +0100127ifeq ($(CONFIG_MOTION_VAR),yes)
128AV1_COMMON_SRCS-yes += common/obmc.h
129endif
130
Yushin Cho77bba8d2016-11-04 16:36:56 -0700131ifeq ($(CONFIG_PVQ),yes)
132# PVQ from daala
133AV1_COMMON_SRCS-yes += common/pvq.c
Yushin Cho77bba8d2016-11-04 16:36:56 -0700134AV1_COMMON_SRCS-yes += common/partition.c
135AV1_COMMON_SRCS-yes += common/partition.h
136AV1_COMMON_SRCS-yes += common/zigzag4.c
137AV1_COMMON_SRCS-yes += common/zigzag8.c
138AV1_COMMON_SRCS-yes += common/zigzag16.c
139AV1_COMMON_SRCS-yes += common/zigzag32.c
140AV1_COMMON_SRCS-yes += common/zigzag.h
141AV1_COMMON_SRCS-yes += common/generic_code.c
Yushin Cho77bba8d2016-11-04 16:36:56 -0700142AV1_COMMON_SRCS-yes += common/pvq_state.c
Yushin Cho77bba8d2016-11-04 16:36:56 -0700143AV1_COMMON_SRCS-yes += common/laplace_tables.c
Michael Bebenita3a88de82017-02-23 18:49:44 -0800144AV1_COMMON_SRCS-$(HAVE_SSE4_1) += common/x86/pvq_sse4.c
145AV1_COMMON_SRCS-$(HAVE_SSE4_1) += common/x86/pvq_sse4.h
Yushin Cho77bba8d2016-11-04 16:36:56 -0700146endif
Yushin Chod8059d52017-03-01 10:08:14 -0800147ifneq ($(findstring yes,$(CONFIG_PVQ)$(CONFIG_DAALA_DIST)$(CONFIG_XIPHRC)),)
James Zernfd2b1b82017-02-24 18:56:44 -0800148AV1_COMMON_SRCS-yes += common/pvq.h
Yushin Chod8059d52017-03-01 10:08:14 -0800149AV1_COMMON_SRCS-yes += common/pvq_state.h
150AV1_COMMON_SRCS-yes += common/generic_code.h
James Zernfd2b1b82017-02-24 18:56:44 -0800151endif
Yushin Cho77bba8d2016-11-04 16:36:56 -0700152
Yaowu Xuf883b422016-08-30 14:01:10 -0700153# common (msa)
Tom Finegan17ce8b12017-02-08 12:46:31 -0800154AV1_COMMON_SRCS-$(HAVE_MSA) += common/mips/msa/av1_idct4x4_msa.c
155AV1_COMMON_SRCS-$(HAVE_MSA) += common/mips/msa/av1_idct8x8_msa.c
156AV1_COMMON_SRCS-$(HAVE_MSA) += common/mips/msa/av1_idct16x16_msa.c
Yaowu Xuf883b422016-08-30 14:01:10 -0700157
158AV1_COMMON_SRCS-$(HAVE_SSE2) += common/x86/idct_intrin_sse2.c
Yi Luo73172002016-10-28 10:52:04 -0700159AV1_COMMON_SRCS-$(HAVE_AVX2) += common/x86/hybrid_inv_txfm_avx2.c
160
James Zern9fa47582016-05-10 19:28:35 -0700161ifeq ($(CONFIG_AV1_ENCODER),yes)
Yaowu Xuf883b422016-08-30 14:01:10 -0700162AV1_COMMON_SRCS-$(HAVE_SSE4_1) += common/x86/av1_txfm1d_sse4.h
163AV1_COMMON_SRCS-$(HAVE_SSE4_1) += common/x86/av1_fwd_txfm1d_sse4.c
164AV1_COMMON_SRCS-$(HAVE_SSE4_1) += common/x86/av1_fwd_txfm2d_sse4.c
James Zern9fa47582016-05-10 19:28:35 -0700165endif
Yi Luo51281092017-06-26 16:36:15 -0700166
Yaowu Xuf883b422016-08-30 14:01:10 -0700167AV1_COMMON_SRCS-$(HAVE_SSE4_1) += common/x86/highbd_txfm_utility_sse4.h
Yi Luo3bd83772017-01-10 10:11:49 -0800168AV1_COMMON_SRCS-$(HAVE_SSE4_1) += common/x86/highbd_inv_txfm_sse4.c
169AV1_COMMON_SRCS-$(HAVE_AVX2) += common/x86/highbd_inv_txfm_avx2.c
Yaowu Xuf883b422016-08-30 14:01:10 -0700170
Sebastien Alaiwan71e87842017-04-12 16:03:28 +0200171ifneq ($(CONFIG_HIGHBITDEPTH),yes)
Yaowu Xuf883b422016-08-30 14:01:10 -0700172AV1_COMMON_SRCS-$(HAVE_NEON) += common/arm/neon/iht4x4_add_neon.c
173AV1_COMMON_SRCS-$(HAVE_NEON) += common/arm/neon/iht8x8_add_neon.c
174endif
175
hui su5db97432016-10-14 16:10:14 -0700176ifeq ($(CONFIG_FILTER_INTRA),yes)
hui su9ff41342016-10-18 16:31:57 -0700177AV1_COMMON_SRCS-$(HAVE_SSE4_1) += common/x86/filterintra_sse4.c
Yaowu Xuf883b422016-08-30 14:01:10 -0700178endif
179
David Barkerd5dfa962017-01-10 15:06:08 +0000180ifneq ($(findstring yes,$(CONFIG_GLOBAL_MOTION) $(CONFIG_WARPED_MOTION)),)
181AV1_COMMON_SRCS-$(HAVE_SSE2) += common/x86/warp_plane_sse2.c
David Barkerd8a423c2017-04-19 10:32:43 +0100182AV1_COMMON_SRCS-$(HAVE_SSSE3) += common/x86/warp_plane_ssse3.c
Sebastien Alaiwan71e87842017-04-12 16:03:28 +0200183ifeq ($(CONFIG_HIGHBITDEPTH),yes)
David Barker521383a2017-04-05 14:07:12 +0100184AV1_COMMON_SRCS-$(HAVE_SSSE3) += common/x86/highbd_warp_plane_ssse3.c
185endif
David Barkerd5dfa962017-01-10 15:06:08 +0000186endif
187
David Barker8295c7c2017-06-02 15:21:43 +0100188ifeq ($(CONFIG_CONVOLVE_ROUND),yes)
189AV1_COMMON_SRCS-$(HAVE_SSE2) += common/x86/convolve_2d_sse2.c
190ifeq ($(CONFIG_HIGHBITDEPTH),yes)
191AV1_COMMON_SRCS-$(HAVE_SSSE3) += common/x86/highbd_convolve_2d_ssse3.c
192endif
193endif
194
Wei-Ting Lind0279222017-08-03 15:20:48 -0700195
hui suef125a02017-07-31 12:56:15 -0700196ifeq ($(CONFIG_Q_ADAPT_PROBS),yes)
197AV1_COMMON_SRCS-yes += common/token_cdfs.h
198endif
199
Wei-Ting Lind0279222017-08-03 15:20:48 -0700200ifeq ($(CONFIG_NCOBMC_ADAPT_WEIGHT),yes)
201AV1_COMMON_SRCS-yes += common/ncobmc_kernels.h
202AV1_COMMON_SRCS-yes += common/ncobmc_kernels.c
203endif
204
Yaowu Xuf883b422016-08-30 14:01:10 -0700205$(eval $(call rtcd_h_template,av1_rtcd,av1/common/av1_rtcd_defs.pl))