xref: /aosp_15_r20/external/libvpx/test/test.mk (revision fb1b10ab9aebc7c7068eedab379b749d7e3900be)
1LIBVPX_TEST_SRCS-yes += acm_random.h
2LIBVPX_TEST_SRCS-yes += bench.h
3LIBVPX_TEST_SRCS-yes += bench.cc
4LIBVPX_TEST_SRCS-yes += buffer.h
5LIBVPX_TEST_SRCS-yes += clear_system_state.h
6LIBVPX_TEST_SRCS-yes += codec_factory.h
7LIBVPX_TEST_SRCS-yes += md5_helper.h
8LIBVPX_TEST_SRCS-yes += register_state_check.h
9LIBVPX_TEST_SRCS-yes += test.mk
10LIBVPX_TEST_SRCS-yes += init_vpx_test.cc
11LIBVPX_TEST_SRCS-yes += init_vpx_test.h
12LIBVPX_TEST_SRCS-yes += test_libvpx.cc
13LIBVPX_TEST_SRCS-yes += test_vectors.cc
14LIBVPX_TEST_SRCS-yes += test_vectors.h
15LIBVPX_TEST_SRCS-yes += util.h
16LIBVPX_TEST_SRCS-yes += video_source.h
17
18##
19## BLACK BOX TESTS
20##
21## Black box tests only use the public API.
22##
23LIBVPX_TEST_SRCS-yes                   += ../md5_utils.h ../md5_utils.c
24LIBVPX_TEST_SRCS-yes                   += vpx_image_test.cc
25LIBVPX_TEST_SRCS-$(CONFIG_DECODERS)    += ivf_video_source.h
26LIBVPX_TEST_SRCS-$(CONFIG_ENCODERS)    += ../y4minput.h ../y4minput.c
27ifneq ($(CONFIG_REALTIME_ONLY),yes)
28LIBVPX_TEST_SRCS-$(CONFIG_ENCODERS)    += altref_test.cc
29endif
30LIBVPX_TEST_SRCS-$(CONFIG_ENCODERS)    += encode_api_test.cc
31LIBVPX_TEST_SRCS-$(CONFIG_ENCODERS)    += error_resilience_test.cc
32LIBVPX_TEST_SRCS-$(CONFIG_ENCODERS)    += i420_video_source.h
33LIBVPX_TEST_SRCS-$(CONFIG_ENCODERS)    += realtime_test.cc
34LIBVPX_TEST_SRCS-$(CONFIG_ENCODERS)    += resize_test.cc
35LIBVPX_TEST_SRCS-$(CONFIG_ENCODERS)    += y4m_video_source.h
36LIBVPX_TEST_SRCS-$(CONFIG_ENCODERS)    += yuv_video_source.h
37
38ifneq ($(CONFIG_REALTIME_ONLY),yes)
39LIBVPX_TEST_SRCS-$(CONFIG_VP8_ENCODER) += config_test.cc
40endif
41LIBVPX_TEST_SRCS-$(CONFIG_VP8_ENCODER) += cq_test.cc
42LIBVPX_TEST_SRCS-$(CONFIG_VP8_ENCODER) += keyframe_test.cc
43LIBVPX_TEST_SRCS-$(CONFIG_VP8_ENCODER) += vp8_datarate_test.cc
44
45LIBVPX_TEST_SRCS-$(CONFIG_VP9_DECODER) += byte_alignment_test.cc
46LIBVPX_TEST_SRCS-$(CONFIG_VP9_DECODER) += decode_svc_test.cc
47LIBVPX_TEST_SRCS-$(CONFIG_VP9_DECODER) += external_frame_buffer_test.cc
48LIBVPX_TEST_SRCS-$(CONFIG_VP9_DECODER) += user_priv_test.cc
49LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += active_map_refresh_test.cc
50LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += active_map_test.cc
51ifneq ($(CONFIG_REALTIME_ONLY),yes)
52LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += alt_ref_aq_segment_test.cc
53endif
54LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += aq_segment_test.cc
55LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += borders_test.cc
56LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += cpu_speed_test.cc
57LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += frame_size_tests.cc
58LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += vp9_lossless_test.cc
59LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += vp9_end_to_end_test.cc
60LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += decode_corrupted.cc
61LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += vp9_ethread_test.cc
62LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += vp9_motion_vector_test.cc
63LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += level_test.cc
64LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += svc_datarate_test.cc
65LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += svc_test.cc
66LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += svc_test.h
67LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += svc_end_to_end_test.cc
68LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += timestamp_test.cc
69LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += vp9_datarate_test.cc
70ifneq ($(CONFIG_REALTIME_ONLY),yes)
71LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += vp9_ext_ratectrl_test.cc
72endif
73LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += ../vp9/simple_encode.h
74
75LIBVPX_TEST_SRCS-yes                   += decode_test_driver.cc
76LIBVPX_TEST_SRCS-yes                   += decode_test_driver.h
77LIBVPX_TEST_SRCS-$(CONFIG_ENCODERS)    += encode_test_driver.cc
78LIBVPX_TEST_SRCS-yes                   += encode_test_driver.h
79
80## IVF writing.
81LIBVPX_TEST_SRCS-$(CONFIG_ENCODERS)    += ../ivfenc.c ../ivfenc.h
82
83## Y4m parsing.
84LIBVPX_TEST_SRCS-$(CONFIG_ENCODERS)    += y4m_test.cc ../y4menc.c ../y4menc.h
85
86## WebM Parsing
87ifeq ($(CONFIG_WEBM_IO), yes)
88LIBWEBM_PARSER_SRCS += ../third_party/libwebm/mkvparser/mkvparser.cc
89LIBWEBM_PARSER_SRCS += ../third_party/libwebm/mkvparser/mkvreader.cc
90LIBWEBM_PARSER_SRCS += ../third_party/libwebm/mkvparser/mkvparser.h
91LIBWEBM_PARSER_SRCS += ../third_party/libwebm/mkvparser/mkvreader.h
92LIBWEBM_PARSER_SRCS += ../third_party/libwebm/common/webmids.h
93LIBVPX_TEST_SRCS-$(CONFIG_DECODERS)    += $(LIBWEBM_PARSER_SRCS)
94LIBVPX_TEST_SRCS-$(CONFIG_DECODERS)    += ../tools_common.h
95LIBVPX_TEST_SRCS-$(CONFIG_DECODERS)    += ../webmdec.cc
96LIBVPX_TEST_SRCS-$(CONFIG_DECODERS)    += ../webmdec.h
97LIBVPX_TEST_SRCS-$(CONFIG_DECODERS)    += webm_video_source.h
98LIBVPX_TEST_SRCS-$(CONFIG_VP9_DECODER) += vp9_skip_loopfilter_test.cc
99$(BUILD_PFX)third_party/libwebm/%.cc.o: CXXFLAGS += $(LIBWEBM_CXXFLAGS)
100endif
101
102LIBVPX_TEST_SRCS-$(CONFIG_DECODERS)    += decode_api_test.cc
103LIBVPX_TEST_SRCS-$(CONFIG_DECODERS)    += test_vector_test.cc
104
105# Currently we only support decoder perf tests for vp9. Also they read from WebM
106# files, so WebM IO is required.
107ifeq ($(CONFIG_DECODE_PERF_TESTS)$(CONFIG_VP9_DECODER)$(CONFIG_WEBM_IO), \
108      yesyesyes)
109LIBVPX_TEST_SRCS-yes                   += decode_perf_test.cc
110endif
111
112# encode perf tests are vp9 only
113ifeq ($(CONFIG_ENCODE_PERF_TESTS)$(CONFIG_VP9_ENCODER), yesyes)
114LIBVPX_TEST_SRCS-yes += encode_perf_test.cc
115endif
116
117## Multi-codec blackbox tests.
118ifeq ($(findstring yes,$(CONFIG_VP8_DECODER)$(CONFIG_VP9_DECODER)), yes)
119LIBVPX_TEST_SRCS-yes += invalid_file_test.cc
120endif
121
122##
123## WHITE BOX TESTS
124##
125## Whitebox tests invoke functions not exposed via the public API. Certain
126## shared library builds don't make these functions accessible.
127##
128ifeq ($(CONFIG_SHARED),)
129
130## VP8
131ifeq ($(CONFIG_VP8),yes)
132
133# These tests require both the encoder and decoder to be built.
134ifeq ($(CONFIG_VP8_ENCODER)$(CONFIG_VP8_DECODER),yesyes)
135LIBVPX_TEST_SRCS-yes                   += vp8_boolcoder_test.cc
136LIBVPX_TEST_SRCS-yes                   += vp8_fragments_test.cc
137endif
138LIBVPX_TEST_SRCS-$(CONFIG_POSTPROC)    += add_noise_test.cc
139LIBVPX_TEST_SRCS-$(CONFIG_POSTPROC)    += pp_filter_test.cc
140LIBVPX_TEST_SRCS-$(CONFIG_VP8_DECODER) += vp8_decrypt_test.cc
141ifneq (, $(filter yes, $(HAVE_SSE2) $(HAVE_SSSE3) $(HAVE_SSE4_1) $(HAVE_NEON) \
142                       $(HAVE_MSA) $(HAVE_MMI)))
143LIBVPX_TEST_SRCS-$(CONFIG_VP8_ENCODER) += quantize_test.cc
144endif
145LIBVPX_TEST_SRCS-$(CONFIG_VP8_ENCODER) += set_roi.cc
146LIBVPX_TEST_SRCS-$(CONFIG_VP8_ENCODER) += variance_test.cc
147LIBVPX_TEST_SRCS-$(CONFIG_VP8_ENCODER) += vp8_fdct4x4_test.cc
148
149LIBVPX_TEST_SRCS-yes                   += idct_test.cc
150LIBVPX_TEST_SRCS-yes                   += predict_test.cc
151LIBVPX_TEST_SRCS-yes                   += vpx_scale_test.cc
152LIBVPX_TEST_SRCS-yes                   += vpx_scale_test.h
153
154ifeq ($(CONFIG_VP8_ENCODER)$(CONFIG_TEMPORAL_DENOISING),yesyes)
155LIBVPX_TEST_SRCS-$(HAVE_SSE2) += vp8_denoiser_sse2_test.cc
156endif
157
158endif # VP8
159
160## VP9
161ifeq ($(CONFIG_VP9),yes)
162
163# These tests require both the encoder and decoder to be built.
164ifeq ($(CONFIG_VP9_ENCODER)$(CONFIG_VP9_DECODER),yesyes)
165# IDCT test currently depends on FDCT function
166LIBVPX_TEST_SRCS-yes                   += idct8x8_test.cc
167LIBVPX_TEST_SRCS-yes                   += partial_idct_test.cc
168LIBVPX_TEST_SRCS-yes                   += superframe_test.cc
169LIBVPX_TEST_SRCS-yes                   += tile_independence_test.cc
170LIBVPX_TEST_SRCS-yes                   += vp9_boolcoder_test.cc
171LIBVPX_TEST_SRCS-yes                   += vp9_encoder_parms_get_to_decoder.cc
172LIBVPX_TEST_SRCS-yes                   += vp9_roi_test.cc
173endif
174
175LIBVPX_TEST_SRCS-yes                   += convolve_test.cc
176LIBVPX_TEST_SRCS-yes                   += lpf_test.cc
177LIBVPX_TEST_SRCS-yes                   += vp9_intrapred_test.cc
178LIBVPX_TEST_SRCS-$(CONFIG_VP9_DECODER) += vp9_decrypt_test.cc
179LIBVPX_TEST_SRCS-$(CONFIG_VP9_DECODER) += vp9_thread_test.cc
180LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += avg_test.cc
181LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += comp_avg_pred_test.cc
182LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += dct16x16_test.cc
183LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += dct32x32_test.cc
184LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += dct_partial_test.cc
185LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += dct_test.cc
186LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += fdct8x8_test.cc
187LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += hadamard_test.cc
188LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += minmax_test.cc
189LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += vp9_scale_test.cc
190ifneq ($(CONFIG_REALTIME_ONLY),yes)
191LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += yuv_temporal_filter_test.cc
192endif
193LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += variance_test.cc
194ifneq (, $(filter yes, $(HAVE_SSE2) $(HAVE_AVX2) $(HAVE_NEON)))
195LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += vp9_block_error_test.cc
196endif
197LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += vp9_quantize_test.cc
198LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += vp9_subtract_test.cc
199
200ifeq ($(CONFIG_VP9_ENCODER),yes)
201LIBVPX_TEST_SRCS-$(CONFIG_INTERNAL_STATS) += blockiness_test.cc
202LIBVPX_TEST_SRCS-$(CONFIG_INTERNAL_STATS) += consistency_test.cc
203endif
204
205ifeq ($(CONFIG_VP9_ENCODER),yes)
206LIBVPX_TEST_SRCS-$(CONFIG_NON_GREEDY_MV) += non_greedy_mv_test.cc
207endif
208
209ifeq ($(CONFIG_VP9_ENCODER)$(CONFIG_VP9_TEMPORAL_DENOISING),yesyes)
210LIBVPX_TEST_SRCS-yes += vp9_denoiser_test.cc
211endif
212LIBVPX_TEST_SRCS-$(CONFIG_VP9_ENCODER) += vp9_arf_freq_test.cc
213
214ifeq ($(CONFIG_VP9_ENCODER),yes)
215SIMPLE_ENCODE_TEST_SRCS-$(CONFIG_RATE_CTRL) := simple_encode_test.cc
216endif
217
218endif # VP9
219
220## Multi-codec / unconditional whitebox tests.
221
222LIBVPX_TEST_SRCS-$(CONFIG_ENCODERS) += sad_test.cc
223ifneq (, $(filter yes, $(HAVE_NEON) $(HAVE_SSE2) $(HAVE_MSA)))
224LIBVPX_TEST_SRCS-$(CONFIG_ENCODERS) += sum_squares_test.cc
225endif
226
227TEST_INTRA_PRED_SPEED_SRCS-yes := test_intra_pred_speed.cc
228TEST_INTRA_PRED_SPEED_SRCS-yes += ../md5_utils.h ../md5_utils.c
229TEST_INTRA_PRED_SPEED_SRCS-yes += init_vpx_test.cc
230TEST_INTRA_PRED_SPEED_SRCS-yes += init_vpx_test.h
231
232RC_INTERFACE_TEST_SRCS-yes := test_rc_interface.cc
233RC_INTERFACE_TEST_SRCS-$(CONFIG_VP9_ENCODER) += vp9_ratectrl_rtc_test.cc
234RC_INTERFACE_TEST_SRCS-$(CONFIG_VP8_ENCODER) += vp8_ratectrl_rtc_test.cc
235RC_INTERFACE_TEST_SRCS-$(CONFIG_ENCODERS) += encode_test_driver.cc
236RC_INTERFACE_TEST_SRCS-$(CONFIG_ENCODERS) += encode_test_driver.h
237RC_INTERFACE_TEST_SRCS-yes += decode_test_driver.cc
238RC_INTERFACE_TEST_SRCS-yes += decode_test_driver.h
239RC_INTERFACE_TEST_SRCS-yes += codec_factory.h
240
241endif # CONFIG_SHARED
242
243include $(SRC_PATH_BARE)/test/test-data.mk
244