xref: /aosp_15_r20/external/libvpx/vp9/vp9cx.mk (revision fb1b10ab9aebc7c7068eedab379b749d7e3900be)
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##
10
11VP9_CX_EXPORTS += exports_enc
12
13VP9_CX_SRCS-yes += $(VP9_COMMON_SRCS-yes)
14VP9_CX_SRCS-no  += $(VP9_COMMON_SRCS-no)
15VP9_CX_SRCS_REMOVE-yes += $(VP9_COMMON_SRCS_REMOVE-yes)
16VP9_CX_SRCS_REMOVE-no  += $(VP9_COMMON_SRCS_REMOVE-no)
17
18VP9_CX_SRCS-yes += vp9_cx_iface.c
19VP9_CX_SRCS-yes += vp9_cx_iface.h
20
21VP9_CX_SRCS-yes += encoder/vp9_bitstream.c
22VP9_CX_SRCS-yes += encoder/vp9_context_tree.c
23VP9_CX_SRCS-yes += encoder/vp9_context_tree.h
24VP9_CX_SRCS-yes += encoder/vp9_cost.h
25VP9_CX_SRCS-yes += encoder/vp9_cost.c
26VP9_CX_SRCS-yes += encoder/vp9_dct.c
27VP9_CX_SRCS-$(CONFIG_VP9_TEMPORAL_DENOISING) += encoder/vp9_denoiser.c
28VP9_CX_SRCS-$(CONFIG_VP9_TEMPORAL_DENOISING) += encoder/vp9_denoiser.h
29VP9_CX_SRCS-yes += encoder/vp9_encodeframe.c
30VP9_CX_SRCS-yes += encoder/vp9_encodeframe.h
31VP9_CX_SRCS-yes += encoder/vp9_encodemb.c
32VP9_CX_SRCS-yes += encoder/vp9_encodemv.c
33VP9_CX_SRCS-yes += encoder/vp9_ethread.h
34VP9_CX_SRCS-yes += encoder/vp9_ethread.c
35VP9_CX_SRCS-yes += encoder/vp9_extend.c
36VP9_CX_SRCS-yes += encoder/vp9_firstpass.c
37VP9_CX_SRCS-yes += encoder/vp9_block.h
38VP9_CX_SRCS-yes += encoder/vp9_bitstream.h
39VP9_CX_SRCS-yes += encoder/vp9_encodemb.h
40VP9_CX_SRCS-yes += encoder/vp9_encodemv.h
41VP9_CX_SRCS-yes += encoder/vp9_extend.h
42VP9_CX_SRCS-yes += encoder/vp9_firstpass.h
43VP9_CX_SRCS-yes += encoder/vp9_firstpass_stats.h
44VP9_CX_SRCS-yes += encoder/vp9_frame_scale.c
45VP9_CX_SRCS-yes += encoder/vp9_job_queue.h
46VP9_CX_SRCS-yes += encoder/vp9_lookahead.c
47VP9_CX_SRCS-yes += encoder/vp9_lookahead.h
48VP9_CX_SRCS-yes += encoder/vp9_mcomp.h
49VP9_CX_SRCS-yes += encoder/vp9_multi_thread.c
50VP9_CX_SRCS-yes += encoder/vp9_multi_thread.h
51VP9_CX_SRCS-yes += encoder/vp9_encoder.h
52VP9_CX_SRCS-yes += encoder/vp9_quantize.h
53VP9_CX_SRCS-yes += encoder/vp9_ratectrl.h
54VP9_CX_SRCS-yes += encoder/vp9_rd.h
55VP9_CX_SRCS-yes += encoder/vp9_rdopt.h
56VP9_CX_SRCS-yes += encoder/vp9_pickmode.h
57VP9_CX_SRCS-yes += encoder/vp9_svc_layercontext.h
58VP9_CX_SRCS-yes += encoder/vp9_tokenize.h
59VP9_CX_SRCS-yes += encoder/vp9_treewriter.h
60VP9_CX_SRCS-yes += encoder/vp9_mcomp.c
61VP9_CX_SRCS-yes += encoder/vp9_encoder.c
62VP9_CX_SRCS-yes += encoder/vp9_picklpf.c
63VP9_CX_SRCS-yes += encoder/vp9_picklpf.h
64VP9_CX_SRCS-yes += encoder/vp9_quantize.c
65VP9_CX_SRCS-yes += encoder/vp9_ratectrl.c
66VP9_CX_SRCS-yes += encoder/vp9_rd.c
67VP9_CX_SRCS-yes += encoder/vp9_rdopt.c
68VP9_CX_SRCS-yes += encoder/vp9_pickmode.c
69VP9_CX_SRCS-yes += encoder/vp9_partition_models.h
70VP9_CX_SRCS-yes += encoder/vp9_segmentation.c
71VP9_CX_SRCS-yes += encoder/vp9_segmentation.h
72VP9_CX_SRCS-yes += encoder/vp9_speed_features.c
73VP9_CX_SRCS-yes += encoder/vp9_speed_features.h
74VP9_CX_SRCS-yes += encoder/vp9_subexp.c
75VP9_CX_SRCS-yes += encoder/vp9_subexp.h
76VP9_CX_SRCS-yes += encoder/vp9_svc_layercontext.c
77VP9_CX_SRCS-yes += encoder/vp9_resize.c
78VP9_CX_SRCS-yes += encoder/vp9_resize.h
79VP9_CX_SRCS-$(CONFIG_INTERNAL_STATS) += encoder/vp9_blockiness.c
80VP9_CX_SRCS-$(CONFIG_INTERNAL_STATS) += encoder/vp9_blockiness.h
81VP9_CX_SRCS-$(CONFIG_NON_GREEDY_MV) += encoder/vp9_non_greedy_mv.c
82VP9_CX_SRCS-$(CONFIG_NON_GREEDY_MV) += encoder/vp9_non_greedy_mv.h
83
84VP9_CX_SRCS-yes += encoder/vp9_tokenize.c
85VP9_CX_SRCS-yes += encoder/vp9_treewriter.c
86VP9_CX_SRCS-yes += encoder/vp9_aq_variance.c
87VP9_CX_SRCS-yes += encoder/vp9_aq_variance.h
88VP9_CX_SRCS-yes += encoder/vp9_aq_360.c
89VP9_CX_SRCS-yes += encoder/vp9_aq_360.h
90VP9_CX_SRCS-yes += encoder/vp9_aq_cyclicrefresh.c
91VP9_CX_SRCS-yes += encoder/vp9_aq_cyclicrefresh.h
92VP9_CX_SRCS-yes += encoder/vp9_aq_complexity.c
93VP9_CX_SRCS-yes += encoder/vp9_aq_complexity.h
94VP9_CX_SRCS-yes += encoder/vp9_alt_ref_aq.h
95VP9_CX_SRCS-yes += encoder/vp9_alt_ref_aq.c
96VP9_CX_SRCS-yes += encoder/vp9_skin_detection.c
97VP9_CX_SRCS-yes += encoder/vp9_skin_detection.h
98VP9_CX_SRCS-yes += encoder/vp9_noise_estimate.c
99VP9_CX_SRCS-yes += encoder/vp9_noise_estimate.h
100VP9_CX_SRCS-yes += encoder/vp9_ext_ratectrl.c
101VP9_CX_SRCS-yes += encoder/vp9_ext_ratectrl.h
102ifeq ($(CONFIG_VP9_POSTPROC),yes)
103VP9_CX_SRCS-$(CONFIG_INTERNAL_STATS) += common/vp9_postproc.h
104VP9_CX_SRCS-$(CONFIG_INTERNAL_STATS) += common/vp9_postproc.c
105endif
106VP9_CX_SRCS-yes += encoder/vp9_temporal_filter.c
107VP9_CX_SRCS-yes += encoder/vp9_temporal_filter.h
108VP9_CX_SRCS-yes += encoder/vp9_tpl_model.c
109VP9_CX_SRCS-yes += encoder/vp9_tpl_model.h
110VP9_CX_SRCS-yes += encoder/vp9_mbgraph.c
111VP9_CX_SRCS-yes += encoder/vp9_mbgraph.h
112
113VP9_CX_SRCS-$(HAVE_SSE4_1) += encoder/x86/temporal_filter_sse4.c
114VP9_CX_SRCS-$(HAVE_SSE4_1) += encoder/vp9_temporal_filter_constants.h
115VP9_CX_SRCS-$(HAVE_NEON) += encoder/arm/neon/vp9_temporal_filter_neon.c
116VP9_CX_SRCS-$(HAVE_NEON) += encoder/vp9_temporal_filter_constants.h
117
118VP9_CX_SRCS-$(HAVE_SSE2) += encoder/x86/vp9_quantize_sse2.c
119VP9_CX_SRCS-$(HAVE_SSSE3) += encoder/x86/vp9_quantize_ssse3.c
120VP9_CX_SRCS-$(HAVE_AVX2) += encoder/x86/vp9_quantize_avx2.c
121VP9_CX_SRCS-$(HAVE_NEON) += encoder/arm/neon/vp9_diamond_search_sad_neon.c
122ifeq ($(CONFIG_VP9_HIGHBITDEPTH),yes)
123VP9_CX_SRCS-$(HAVE_SSE2) += encoder/x86/vp9_highbd_block_error_intrin_sse2.c
124VP9_CX_SRCS-$(HAVE_SSE4_1) += encoder/x86/highbd_temporal_filter_sse4.c
125VP9_CX_SRCS-$(HAVE_NEON) += encoder/arm/neon/vp9_highbd_temporal_filter_neon.c
126endif
127
128VP9_CX_SRCS-$(HAVE_SSE2) += encoder/x86/vp9_dct_sse2.asm
129VP9_CX_SRCS-$(HAVE_SSE2) += encoder/x86/vp9_error_sse2.asm
130
131VP9_CX_SRCS-$(HAVE_SSE2) += encoder/x86/vp9_dct_intrin_sse2.c
132VP9_CX_SRCS-$(HAVE_SSSE3) += encoder/x86/vp9_frame_scale_ssse3.c
133VP9_CX_SRCS-$(HAVE_NEON) += encoder/arm/neon/vp9_dct_neon.c
134
135ifeq ($(CONFIG_VP9_TEMPORAL_DENOISING),yes)
136VP9_CX_SRCS-$(HAVE_SSE2) += encoder/x86/vp9_denoiser_sse2.c
137VP9_CX_SRCS-$(HAVE_NEON) += encoder/arm/neon/vp9_denoiser_neon.c
138endif
139
140VP9_CX_SRCS-$(HAVE_AVX2) += encoder/x86/vp9_error_avx2.c
141
142VP9_CX_SRCS-$(HAVE_NEON) += encoder/arm/neon/vp9_error_neon.c
143VP9_CX_SRCS-$(HAVE_SVE)  += encoder/arm/neon/vp9_error_sve.c
144VP9_CX_SRCS-$(HAVE_NEON) += encoder/arm/neon/vp9_frame_scale_neon.c
145VP9_CX_SRCS-$(HAVE_NEON) += encoder/arm/neon/vp9_quantize_neon.c
146ifeq ($(CONFIG_VP9_HIGHBITDEPTH),yes)
147VP9_CX_SRCS-$(HAVE_NEON) += encoder/arm/neon/vp9_highbd_error_neon.c
148endif
149
150VP9_CX_SRCS-$(HAVE_MSA) += encoder/mips/msa/vp9_error_msa.c
151
152ifneq ($(CONFIG_VP9_HIGHBITDEPTH),yes)
153VP9_CX_SRCS-$(HAVE_MSA) += encoder/mips/msa/vp9_fdct4x4_msa.c
154VP9_CX_SRCS-$(HAVE_MSA) += encoder/mips/msa/vp9_fdct8x8_msa.c
155VP9_CX_SRCS-$(HAVE_MSA) += encoder/mips/msa/vp9_fdct16x16_msa.c
156VP9_CX_SRCS-$(HAVE_MSA) += encoder/mips/msa/vp9_fdct_msa.h
157endif  # !CONFIG_VP9_HIGHBITDEPTH
158
159VP9_CX_SRCS-$(HAVE_VSX) += encoder/ppc/vp9_quantize_vsx.c
160
161# Strip unnecessary files with CONFIG_REALTIME_ONLY
162VP9_CX_SRCS_REMOVE-$(CONFIG_REALTIME_ONLY) += encoder/vp9_firstpass.c
163VP9_CX_SRCS_REMOVE-$(CONFIG_REALTIME_ONLY) += encoder/vp9_mbgraph.c
164VP9_CX_SRCS_REMOVE-$(CONFIG_REALTIME_ONLY) += encoder/vp9_temporal_filter.c
165VP9_CX_SRCS_REMOVE-$(CONFIG_REALTIME_ONLY) += encoder/x86/temporal_filter_sse4.c
166VP9_CX_SRCS_REMOVE-$(CONFIG_REALTIME_ONLY) += encoder/vp9_temporal_filter_constants.h
167VP9_CX_SRCS_REMOVE-$(CONFIG_REALTIME_ONLY) += encoder/x86/highbd_temporal_filter_sse4.c
168VP9_CX_SRCS_REMOVE-$(CONFIG_REALTIME_ONLY) += encoder/arm/neon/vp9_temporal_filter_neon.c
169VP9_CX_SRCS_REMOVE-$(CONFIG_REALTIME_ONLY) += encoder/arm/neon/vp9_highbd_temporal_filter_neon.c
170VP9_CX_SRCS_REMOVE-$(CONFIG_REALTIME_ONLY) += encoder/vp9_alt_ref_aq.h
171VP9_CX_SRCS_REMOVE-$(CONFIG_REALTIME_ONLY) += encoder/vp9_alt_ref_aq.c
172VP9_CX_SRCS_REMOVE-$(CONFIG_REALTIME_ONLY) += encoder/vp9_aq_variance.c
173VP9_CX_SRCS_REMOVE-$(CONFIG_REALTIME_ONLY) += encoder/vp9_aq_variance.h
174VP9_CX_SRCS_REMOVE-$(CONFIG_REALTIME_ONLY) += encoder/vp9_aq_360.c
175VP9_CX_SRCS_REMOVE-$(CONFIG_REALTIME_ONLY) += encoder/vp9_aq_360.h
176VP9_CX_SRCS_REMOVE-$(CONFIG_REALTIME_ONLY) += encoder/vp9_aq_complexity.c
177VP9_CX_SRCS_REMOVE-$(CONFIG_REALTIME_ONLY) += encoder/vp9_aq_complexity.h
178
179VP9_CX_SRCS-yes := $(filter-out $(VP9_CX_SRCS_REMOVE-yes),$(VP9_CX_SRCS-yes))
180