Refactor intra block prediction and reconstruction process
[aom.git] / vp9 / vp9_common.mk
blob2e43c272ab0304a0829634f03763c798547fdde8
1 ##
2 ## Copyright (c) 2010 The WebM project authors. All Rights Reserved.
3 ##
4 ## Use of this source code is governed by a BSD-style license
5 ## that can be found in the LICENSE file in the root of the source
6 ## tree. An additional intellectual property rights grant can be found
7 ## in the file PATENTS. All contributing project authors may
8 ## be found in the AUTHORS file in the root of the source tree.
9 ##
11 VP9_COMMON_SRCS-yes += vp9_common.mk
12 VP9_COMMON_SRCS-yes += vp9_iface_common.h
13 VP9_COMMON_SRCS-yes += common/vp9_ppflags.h
14 VP9_COMMON_SRCS-yes += common/vp9_alloccommon.c
15 VP9_COMMON_SRCS-yes += common/vp9_blockd.c
16 VP9_COMMON_SRCS-yes += common/vp9_convolve.c
17 VP9_COMMON_SRCS-yes += common/vp9_convolve.h
18 VP9_COMMON_SRCS-yes += common/vp9_debugmodes.c
19 VP9_COMMON_SRCS-yes += common/vp9_entropy.c
20 VP9_COMMON_SRCS-yes += common/vp9_entropymode.c
21 VP9_COMMON_SRCS-yes += common/vp9_entropymv.c
22 VP9_COMMON_SRCS-yes += common/vp9_filter.c
23 VP9_COMMON_SRCS-yes += common/vp9_filter.h
24 VP9_COMMON_SRCS-yes += common/vp9_frame_buffers.c
25 VP9_COMMON_SRCS-yes += common/vp9_frame_buffers.h
26 VP9_COMMON_SRCS-yes += common/vp9_idct.c
27 VP9_COMMON_SRCS-yes += common/vp9_alloccommon.h
28 VP9_COMMON_SRCS-yes += common/vp9_blockd.h
29 VP9_COMMON_SRCS-yes += common/vp9_common.h
30 VP9_COMMON_SRCS-yes += common/vp9_entropy.h
31 VP9_COMMON_SRCS-yes += common/vp9_entropymode.h
32 VP9_COMMON_SRCS-yes += common/vp9_entropymv.h
33 VP9_COMMON_SRCS-yes += common/vp9_enums.h
34 VP9_COMMON_SRCS-yes += common/vp9_idct.h
35 VP9_COMMON_SRCS-yes += common/vp9_loopfilter.h
36 VP9_COMMON_SRCS-yes += common/vp9_thread_common.h
37 VP9_COMMON_SRCS-yes += common/vp9_mv.h
38 VP9_COMMON_SRCS-yes += common/vp9_onyxc_int.h
39 VP9_COMMON_SRCS-yes += common/vp9_pred_common.h
40 VP9_COMMON_SRCS-yes += common/vp9_pred_common.c
41 VP9_COMMON_SRCS-yes += common/vp9_prob.h
42 VP9_COMMON_SRCS-yes += common/vp9_prob.c
43 VP9_COMMON_SRCS-yes += common/vp9_quant_common.h
44 VP9_COMMON_SRCS-yes += common/vp9_reconinter.h
45 VP9_COMMON_SRCS-yes += common/vp9_reconintra.h
46 VP9_COMMON_SRCS-yes += common/vp9_rtcd.c
47 VP9_COMMON_SRCS-yes += common/vp9_rtcd_defs.pl
48 VP9_COMMON_SRCS-yes += common/vp9_scale.h
49 VP9_COMMON_SRCS-yes += common/vp9_scale.c
50 VP9_COMMON_SRCS-yes += common/vp9_seg_common.h
51 VP9_COMMON_SRCS-yes += common/vp9_seg_common.c
52 VP9_COMMON_SRCS-yes += common/vp9_systemdependent.h
53 VP9_COMMON_SRCS-yes += common/vp9_textblit.h
54 VP9_COMMON_SRCS-yes += common/vp9_tile_common.h
55 VP9_COMMON_SRCS-yes += common/vp9_tile_common.c
56 VP9_COMMON_SRCS-yes += common/vp9_loopfilter.c
57 VP9_COMMON_SRCS-yes += common/vp9_loopfilter_filters.c
58 VP9_COMMON_SRCS-yes += common/vp9_thread_common.c
59 VP9_COMMON_SRCS-yes += common/vp9_mvref_common.c
60 VP9_COMMON_SRCS-yes += common/vp9_mvref_common.h
61 VP9_COMMON_SRCS-yes += common/vp9_quant_common.c
62 VP9_COMMON_SRCS-yes += common/vp9_reconinter.c
63 VP9_COMMON_SRCS-yes += common/vp9_reconintra.c
64 VP9_COMMON_SRCS-$(CONFIG_POSTPROC_VISUALIZER) += common/vp9_textblit.c
65 VP9_COMMON_SRCS-yes += common/vp9_common_data.c
66 VP9_COMMON_SRCS-yes += common/vp9_common_data.h
67 VP9_COMMON_SRCS-yes += common/vp9_scan.c
68 VP9_COMMON_SRCS-yes += common/vp9_scan.h
70 VP9_COMMON_SRCS-$(ARCH_X86)$(ARCH_X86_64) += common/x86/convolve.h
71 VP9_COMMON_SRCS-$(ARCH_X86)$(ARCH_X86_64) += common/x86/vp9_asm_stubs.c
72 VP9_COMMON_SRCS-$(ARCH_X86)$(ARCH_X86_64) += common/x86/vp9_loopfilter_intrin_sse2.c
73 VP9_COMMON_SRCS-$(HAVE_AVX2) += common/x86/vp9_loopfilter_intrin_avx2.c
74 VP9_COMMON_SRCS-$(CONFIG_VP9_POSTPROC) += common/vp9_postproc.h
75 VP9_COMMON_SRCS-$(CONFIG_VP9_POSTPROC) += common/vp9_postproc.c
76 VP9_COMMON_SRCS-$(CONFIG_VP9_POSTPROC) += common/vp9_mfqe.h
77 VP9_COMMON_SRCS-$(CONFIG_VP9_POSTPROC) += common/vp9_mfqe.c
78 VP9_COMMON_SRCS-$(HAVE_MMX) += common/x86/vp9_loopfilter_mmx.asm
79 VP9_COMMON_SRCS-$(HAVE_SSE2) += common/x86/vp9_subpixel_8t_sse2.asm
80 VP9_COMMON_SRCS-$(HAVE_SSE2) += common/x86/vp9_subpixel_bilinear_sse2.asm
81 VP9_COMMON_SRCS-$(HAVE_SSSE3) += common/x86/vp9_subpixel_8t_ssse3.asm
82 VP9_COMMON_SRCS-$(HAVE_SSSE3) += common/x86/vp9_subpixel_bilinear_ssse3.asm
83 VP9_COMMON_SRCS-$(HAVE_AVX2) += common/x86/vp9_subpixel_8t_intrin_avx2.c
84 VP9_COMMON_SRCS-$(HAVE_SSSE3) += common/x86/vp9_subpixel_8t_intrin_ssse3.c
85 ifeq ($(CONFIG_VP9_POSTPROC),yes)
86 VP9_COMMON_SRCS-$(HAVE_SSE2) += common/x86/vp9_mfqe_sse2.asm
87 VP9_COMMON_SRCS-$(HAVE_SSE2) += common/x86/vp9_postproc_sse2.asm
88 endif
90 ifeq ($(CONFIG_USE_X86INC),yes)
91 VP9_COMMON_SRCS-$(HAVE_SSE2) += common/x86/vp9_copy_sse2.asm
92 VP9_COMMON_SRCS-$(HAVE_SSE2) += common/x86/vp9_intrapred_sse2.asm
93 VP9_COMMON_SRCS-$(HAVE_SSSE3) += common/x86/vp9_intrapred_ssse3.asm
94 endif
96 ifeq ($(CONFIG_VP9_HIGHBITDEPTH),yes)
97 VP9_COMMON_SRCS-$(HAVE_SSE2) += common/x86/vp9_high_loopfilter_intrin_sse2.c
98 VP9_COMMON_SRCS-$(HAVE_SSE2) += common/x86/vp9_high_subpixel_8t_sse2.asm
99 VP9_COMMON_SRCS-$(HAVE_SSE2) += common/x86/vp9_high_subpixel_bilinear_sse2.asm
100 ifeq ($(CONFIG_USE_X86INC),yes)
101 VP9_COMMON_SRCS-$(HAVE_SSE2) += common/x86/vp9_high_intrapred_sse2.asm
102 endif
103 endif
105 # common (c)
106 VP9_COMMON_SRCS-$(HAVE_DSPR2) += common/mips/dspr2/vp9_common_dspr2.h
107 VP9_COMMON_SRCS-$(HAVE_DSPR2) += common/mips/dspr2/vp9_convolve2_avg_dspr2.c
108 VP9_COMMON_SRCS-$(HAVE_DSPR2) += common/mips/dspr2/vp9_convolve2_avg_horiz_dspr2.c
109 VP9_COMMON_SRCS-$(HAVE_DSPR2) += common/mips/dspr2/vp9_convolve2_dspr2.c
110 VP9_COMMON_SRCS-$(HAVE_DSPR2) += common/mips/dspr2/vp9_convolve2_horiz_dspr2.c
111 VP9_COMMON_SRCS-$(HAVE_DSPR2) += common/mips/dspr2/vp9_convolve2_vert_dspr2.c
112 VP9_COMMON_SRCS-$(HAVE_DSPR2) += common/mips/dspr2/vp9_convolve8_avg_dspr2.c
113 VP9_COMMON_SRCS-$(HAVE_DSPR2) += common/mips/dspr2/vp9_convolve8_avg_horiz_dspr2.c
114 VP9_COMMON_SRCS-$(HAVE_DSPR2) += common/mips/dspr2/vp9_convolve8_dspr2.c
115 VP9_COMMON_SRCS-$(HAVE_DSPR2) += common/mips/dspr2/vp9_convolve8_horiz_dspr2.c
116 VP9_COMMON_SRCS-$(HAVE_DSPR2) += common/mips/dspr2/vp9_convolve8_vert_dspr2.c
117 VP9_COMMON_SRCS-$(HAVE_DSPR2) += common/mips/dspr2/vp9_intrapred4_dspr2.c
118 VP9_COMMON_SRCS-$(HAVE_DSPR2) += common/mips/dspr2/vp9_intrapred8_dspr2.c
119 VP9_COMMON_SRCS-$(HAVE_DSPR2) += common/mips/dspr2/vp9_intrapred16_dspr2.c
120 VP9_COMMON_SRCS-$(HAVE_DSPR2) += common/mips/dspr2/vp9_itrans4_dspr2.c
121 VP9_COMMON_SRCS-$(HAVE_DSPR2) += common/mips/dspr2/vp9_itrans8_dspr2.c
122 VP9_COMMON_SRCS-$(HAVE_DSPR2) += common/mips/dspr2/vp9_itrans16_dspr2.c
123 VP9_COMMON_SRCS-$(HAVE_DSPR2) += common/mips/dspr2/vp9_itrans32_cols_dspr2.c
124 VP9_COMMON_SRCS-$(HAVE_DSPR2) += common/mips/dspr2/vp9_itrans32_dspr2.c
125 VP9_COMMON_SRCS-$(HAVE_DSPR2) += common/mips/dspr2/vp9_loopfilter_filters_dspr2.c
126 VP9_COMMON_SRCS-$(HAVE_DSPR2) += common/mips/dspr2/vp9_loopfilter_filters_dspr2.h
127 VP9_COMMON_SRCS-$(HAVE_DSPR2) += common/mips/dspr2/vp9_loopfilter_macros_dspr2.h
128 VP9_COMMON_SRCS-$(HAVE_DSPR2) += common/mips/dspr2/vp9_loopfilter_masks_dspr2.h
129 VP9_COMMON_SRCS-$(HAVE_DSPR2) += common/mips/dspr2/vp9_mbloop_loopfilter_dspr2.c
130 VP9_COMMON_SRCS-$(HAVE_DSPR2) += common/mips/dspr2/vp9_mblpf_horiz_loopfilter_dspr2.c
131 VP9_COMMON_SRCS-$(HAVE_DSPR2) += common/mips/dspr2/vp9_mblpf_vert_loopfilter_dspr2.c
133 # common (msa)
134 VP9_COMMON_SRCS-$(HAVE_MSA) += common/mips/msa/vp9_convolve8_avg_horiz_msa.c
135 VP9_COMMON_SRCS-$(HAVE_MSA) += common/mips/msa/vp9_convolve8_avg_msa.c
136 VP9_COMMON_SRCS-$(HAVE_MSA) += common/mips/msa/vp9_convolve8_avg_vert_msa.c
137 VP9_COMMON_SRCS-$(HAVE_MSA) += common/mips/msa/vp9_convolve8_horiz_msa.c
138 VP9_COMMON_SRCS-$(HAVE_MSA) += common/mips/msa/vp9_convolve8_msa.c
139 VP9_COMMON_SRCS-$(HAVE_MSA) += common/mips/msa/vp9_convolve8_vert_msa.c
140 VP9_COMMON_SRCS-$(HAVE_MSA) += common/mips/msa/vp9_convolve_avg_msa.c
141 VP9_COMMON_SRCS-$(HAVE_MSA) += common/mips/msa/vp9_convolve_copy_msa.c
142 VP9_COMMON_SRCS-$(HAVE_MSA) += common/mips/msa/vp9_convolve_msa.h
143 VP9_COMMON_SRCS-$(HAVE_MSA) += common/mips/msa/vp9_idct4x4_msa.c
144 VP9_COMMON_SRCS-$(HAVE_MSA) += common/mips/msa/vp9_idct8x8_msa.c
145 VP9_COMMON_SRCS-$(HAVE_MSA) += common/mips/msa/vp9_idct16x16_msa.c
146 VP9_COMMON_SRCS-$(HAVE_MSA) += common/mips/msa/vp9_idct32x32_msa.c
147 VP9_COMMON_SRCS-$(HAVE_MSA) += common/mips/msa/vp9_idct_msa.h
148 VP9_COMMON_SRCS-$(HAVE_MSA) += common/mips/msa/vp9_intra_predict_msa.c
149 VP9_COMMON_SRCS-$(HAVE_MSA) += common/mips/msa/vp9_loopfilter_4_msa.c
150 VP9_COMMON_SRCS-$(HAVE_MSA) += common/mips/msa/vp9_loopfilter_8_msa.c
151 VP9_COMMON_SRCS-$(HAVE_MSA) += common/mips/msa/vp9_loopfilter_16_msa.c
152 VP9_COMMON_SRCS-$(HAVE_MSA) += common/mips/msa/vp9_loopfilter_msa.h
154 ifeq ($(CONFIG_VP9_POSTPROC),yes)
155 VP9_COMMON_SRCS-$(HAVE_MSA) += common/mips/msa/vp9_mfqe_msa.c
156 endif
158 VP9_COMMON_SRCS-$(HAVE_SSE2) += common/x86/vp9_idct_intrin_sse2.c
159 VP9_COMMON_SRCS-$(HAVE_SSE2) += common/x86/vp9_idct_intrin_sse2.h
161 ifeq ($(ARCH_X86_64), yes)
162 ifeq ($(CONFIG_USE_X86INC),yes)
163 VP9_COMMON_SRCS-$(HAVE_SSSE3) += common/x86/vp9_idct_ssse3_x86_64.asm
164 endif
165 endif
167 VP9_COMMON_SRCS-$(HAVE_NEON_ASM) += common/arm/neon/vp9_loopfilter_16_neon_asm$(ASM)
168 VP9_COMMON_SRCS-$(HAVE_NEON_ASM) += common/arm/neon/vp9_loopfilter_8_neon_asm$(ASM)
169 VP9_COMMON_SRCS-$(HAVE_NEON_ASM) += common/arm/neon/vp9_mb_lpf_neon$(ASM)
170 VP9_COMMON_SRCS-$(HAVE_NEON_ASM) += common/arm/neon/vp9_save_reg_neon$(ASM)
172 ifneq ($(CONFIG_VP9_HIGHBITDEPTH),yes)
173 VP9_COMMON_SRCS-$(HAVE_NEON) += common/arm/neon/vp9_iht4x4_add_neon.c
174 VP9_COMMON_SRCS-$(HAVE_NEON) += common/arm/neon/vp9_iht8x8_add_neon.c
175 endif
176 VP9_COMMON_SRCS-$(HAVE_NEON) += common/arm/neon/vp9_loopfilter_neon.c
178 # neon with assembly and intrinsics implementations. If both are available
179 # prefer assembly.
180 ifeq ($(HAVE_NEON_ASM), yes)
181 VP9_COMMON_SRCS-yes += common/arm/neon/vp9_convolve8_avg_neon_asm$(ASM)
182 VP9_COMMON_SRCS-yes += common/arm/neon/vp9_convolve8_neon_asm$(ASM)
183 VP9_COMMON_SRCS-yes += common/arm/neon/vp9_convolve_avg_neon_asm$(ASM)
184 VP9_COMMON_SRCS-yes += common/arm/neon/vp9_convolve_neon.c
185 VP9_COMMON_SRCS-yes += common/arm/neon/vp9_copy_neon_asm$(ASM)
186 VP9_COMMON_SRCS-yes += common/arm/neon/vp9_idct16x16_1_add_neon_asm$(ASM)
187 VP9_COMMON_SRCS-yes += common/arm/neon/vp9_idct16x16_add_neon_asm$(ASM)
188 VP9_COMMON_SRCS-yes += common/arm/neon/vp9_idct16x16_neon.c
189 VP9_COMMON_SRCS-yes += common/arm/neon/vp9_idct32x32_1_add_neon_asm$(ASM)
190 VP9_COMMON_SRCS-yes += common/arm/neon/vp9_idct32x32_add_neon_asm$(ASM)
191 VP9_COMMON_SRCS-yes += common/arm/neon/vp9_idct4x4_1_add_neon_asm$(ASM)
192 VP9_COMMON_SRCS-yes += common/arm/neon/vp9_idct4x4_add_neon_asm$(ASM)
193 VP9_COMMON_SRCS-yes += common/arm/neon/vp9_idct8x8_1_add_neon_asm$(ASM)
194 VP9_COMMON_SRCS-yes += common/arm/neon/vp9_idct8x8_add_neon_asm$(ASM)
195 VP9_COMMON_SRCS-yes += common/arm/neon/vp9_loopfilter_4_neon_asm$(ASM)
196 VP9_COMMON_SRCS-yes += common/arm/neon/vp9_reconintra_neon_asm$(ASM)
197 else
198 ifeq ($(HAVE_NEON), yes)
199 VP9_COMMON_SRCS-yes += common/arm/neon/vp9_convolve8_avg_neon.c
200 VP9_COMMON_SRCS-yes += common/arm/neon/vp9_convolve8_neon.c
201 VP9_COMMON_SRCS-yes += common/arm/neon/vp9_convolve_avg_neon.c
202 VP9_COMMON_SRCS-yes += common/arm/neon/vp9_convolve_neon.c
203 VP9_COMMON_SRCS-yes += common/arm/neon/vp9_copy_neon.c
204 VP9_COMMON_SRCS-yes += common/arm/neon/vp9_idct16x16_1_add_neon.c
205 VP9_COMMON_SRCS-yes += common/arm/neon/vp9_idct16x16_add_neon.c
206 VP9_COMMON_SRCS-yes += common/arm/neon/vp9_idct16x16_neon.c
207 VP9_COMMON_SRCS-yes += common/arm/neon/vp9_idct32x32_1_add_neon.c
208 VP9_COMMON_SRCS-yes += common/arm/neon/vp9_idct32x32_add_neon.c
209 VP9_COMMON_SRCS-yes += common/arm/neon/vp9_idct4x4_1_add_neon.c
210 VP9_COMMON_SRCS-yes += common/arm/neon/vp9_idct4x4_add_neon.c
211 VP9_COMMON_SRCS-yes += common/arm/neon/vp9_idct8x8_1_add_neon.c
212 VP9_COMMON_SRCS-yes += common/arm/neon/vp9_idct8x8_add_neon.c
213 VP9_COMMON_SRCS-yes += common/arm/neon/vp9_loopfilter_16_neon.c
214 VP9_COMMON_SRCS-yes += common/arm/neon/vp9_loopfilter_4_neon.c
215 # TODO(johannkoenig): re-enable when chromium build is fixed
216 # # https://code.google.com/p/chromium/issues/detail?id=443839
217 #VP9_COMMON_SRCS-yes += common/arm/neon/vp9_loopfilter_8_neon.c
218 endif # HAVE_NEON
219 endif # HAVE_NEON_ASM
221 VP9_COMMON_SRCS-$(HAVE_NEON) += common/arm/neon/vp9_reconintra_neon.c
223 $(eval $(call rtcd_h_template,vp9_rtcd,vp9/common/vp9_rtcd_defs.pl))