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
19
20VP9_CX_SRCS-yes += encoder/vp9_bitstream.c
21VP9_CX_SRCS-yes += encoder/vp9_context_tree.c
22VP9_CX_SRCS-yes += encoder/vp9_context_tree.h
23VP9_CX_SRCS-yes += encoder/vp9_cost.h
24VP9_CX_SRCS-yes += encoder/vp9_cost.c
25VP9_CX_SRCS-yes += encoder/vp9_dct.c
26VP9_CX_SRCS-$(CONFIG_VP9_TEMPORAL_DENOISING) += encoder/vp9_denoiser.c
27VP9_CX_SRCS-$(CONFIG_VP9_TEMPORAL_DENOISING) += encoder/vp9_denoiser.h
28VP9_CX_SRCS-yes += encoder/vp9_encodeframe.c
29VP9_CX_SRCS-yes += encoder/vp9_encodeframe.h
30VP9_CX_SRCS-yes += encoder/vp9_encodemb.c
31VP9_CX_SRCS-yes += encoder/vp9_encodemv.c
32VP9_CX_SRCS-yes += encoder/vp9_extend.c
33VP9_CX_SRCS-yes += encoder/vp9_firstpass.c
34VP9_CX_SRCS-yes += encoder/vp9_block.h
35VP9_CX_SRCS-yes += encoder/vp9_writer.h
36VP9_CX_SRCS-yes += encoder/vp9_writer.c
37VP9_CX_SRCS-yes += encoder/vp9_write_bit_buffer.c
38VP9_CX_SRCS-yes += encoder/vp9_write_bit_buffer.h
39VP9_CX_SRCS-yes += encoder/vp9_bitstream.h
40VP9_CX_SRCS-yes += encoder/vp9_encodemb.h
41VP9_CX_SRCS-yes += encoder/vp9_encodemv.h
42VP9_CX_SRCS-yes += encoder/vp9_extend.h
43VP9_CX_SRCS-yes += encoder/vp9_firstpass.h
44VP9_CX_SRCS-yes += encoder/vp9_lookahead.c
45VP9_CX_SRCS-yes += encoder/vp9_lookahead.h
46VP9_CX_SRCS-yes += encoder/vp9_mcomp.h
47VP9_CX_SRCS-yes += encoder/vp9_encoder.h
48VP9_CX_SRCS-yes += encoder/vp9_quantize.h
49VP9_CX_SRCS-yes += encoder/vp9_ratectrl.h
50VP9_CX_SRCS-yes += encoder/vp9_rd.h
51VP9_CX_SRCS-yes += encoder/vp9_rdopt.h
52VP9_CX_SRCS-yes += encoder/vp9_pickmode.h
53VP9_CX_SRCS-yes += encoder/vp9_svc_layercontext.h
54VP9_CX_SRCS-yes += encoder/vp9_tokenize.h
55VP9_CX_SRCS-yes += encoder/vp9_treewriter.h
56VP9_CX_SRCS-yes += encoder/vp9_variance.h
57VP9_CX_SRCS-yes += encoder/vp9_mcomp.c
58VP9_CX_SRCS-yes += encoder/vp9_encoder.c
59VP9_CX_SRCS-yes += encoder/vp9_picklpf.c
60VP9_CX_SRCS-yes += encoder/vp9_picklpf.h
61VP9_CX_SRCS-yes += encoder/vp9_quantize.c
62VP9_CX_SRCS-yes += encoder/vp9_ratectrl.c
63VP9_CX_SRCS-yes += encoder/vp9_rd.c
64VP9_CX_SRCS-yes += encoder/vp9_rdopt.c
65VP9_CX_SRCS-yes += encoder/vp9_pickmode.c
66VP9_CX_SRCS-yes += encoder/vp9_sad.c
67VP9_CX_SRCS-yes += encoder/vp9_segmentation.c
68VP9_CX_SRCS-yes += encoder/vp9_segmentation.h
69VP9_CX_SRCS-yes += encoder/vp9_speed_features.c
70VP9_CX_SRCS-yes += encoder/vp9_speed_features.h
71VP9_CX_SRCS-yes += encoder/vp9_subexp.c
72VP9_CX_SRCS-yes += encoder/vp9_subexp.h
73VP9_CX_SRCS-yes += encoder/vp9_svc_layercontext.c
74VP9_CX_SRCS-yes += encoder/vp9_resize.c
75VP9_CX_SRCS-yes += encoder/vp9_resize.h
76VP9_CX_SRCS-$(CONFIG_INTERNAL_STATS) += encoder/vp9_ssim.c
77VP9_CX_SRCS-$(CONFIG_INTERNAL_STATS) += encoder/vp9_ssim.h
78VP9_CX_SRCS-yes += encoder/vp9_tokenize.c
79VP9_CX_SRCS-yes += encoder/vp9_treewriter.c
80VP9_CX_SRCS-yes += encoder/vp9_variance.c
81VP9_CX_SRCS-yes += encoder/vp9_aq_variance.c
82VP9_CX_SRCS-yes += encoder/vp9_aq_variance.h
83VP9_CX_SRCS-yes += encoder/vp9_aq_cyclicrefresh.c
84VP9_CX_SRCS-yes += encoder/vp9_aq_cyclicrefresh.h
85VP9_CX_SRCS-yes += encoder/vp9_aq_complexity.c
86VP9_CX_SRCS-yes += encoder/vp9_aq_complexity.h
87ifeq ($(CONFIG_VP9_POSTPROC),yes)
88VP9_CX_SRCS-$(CONFIG_INTERNAL_STATS) += common/vp9_postproc.h
89VP9_CX_SRCS-$(CONFIG_INTERNAL_STATS) += common/vp9_postproc.c
90endif
91VP9_CX_SRCS-yes += encoder/vp9_temporal_filter.c
92VP9_CX_SRCS-yes += encoder/vp9_temporal_filter.h
93VP9_CX_SRCS-yes += encoder/vp9_mbgraph.c
94VP9_CX_SRCS-yes += encoder/vp9_mbgraph.h
95
96VP9_CX_SRCS-$(HAVE_AVX2) += encoder/x86/vp9_variance_impl_intrin_avx2.c
97VP9_CX_SRCS-$(HAVE_SSE2) += encoder/x86/vp9_sad4d_sse2.asm
98VP9_CX_SRCS-$(HAVE_AVX2) += encoder/x86/vp9_sad4d_intrin_avx2.c
99VP9_CX_SRCS-$(HAVE_AVX2) += encoder/x86/vp9_subpel_variance_impl_intrin_avx2.c
100VP9_CX_SRCS-$(HAVE_SSE2) += encoder/x86/vp9_temporal_filter_apply_sse2.asm
101VP9_CX_SRCS-$(HAVE_SSE3) += encoder/x86/vp9_sad_sse3.asm
102
103ifeq ($(CONFIG_USE_X86INC),yes)
104VP9_CX_SRCS-$(HAVE_MMX) += encoder/x86/vp9_dct_mmx.asm
105VP9_CX_SRCS-$(HAVE_SSE2) += encoder/x86/vp9_error_sse2.asm
106VP9_CX_SRCS-$(HAVE_SSE2) += encoder/x86/vp9_sad_sse2.asm
107VP9_CX_SRCS-$(HAVE_SSE2) += encoder/x86/vp9_subtract_sse2.asm
108VP9_CX_SRCS-$(HAVE_SSE2) += encoder/x86/vp9_variance_sse2.c
109VP9_CX_SRCS-$(HAVE_SSE2) += encoder/x86/vp9_subpel_variance.asm
110endif
111
112ifeq ($(ARCH_X86_64),yes)
113VP9_CX_SRCS-$(HAVE_SSSE3) += encoder/x86/vp9_quantize_ssse3_x86_64.asm
114VP9_CX_SRCS-$(HAVE_SSSE3) += encoder/x86/vp9_dct_ssse3_x86_64.asm
115endif
116VP9_CX_SRCS-$(HAVE_SSSE3) += encoder/x86/vp9_sad_ssse3.asm
117VP9_CX_SRCS-$(HAVE_SSE4_1) += encoder/x86/vp9_sad_sse4.asm
118VP9_CX_SRCS-$(ARCH_X86_64) += encoder/x86/vp9_ssim_opt_x86_64.asm
119
120VP9_CX_SRCS-$(HAVE_SSE2) += encoder/x86/vp9_dct_sse2.c
121VP9_CX_SRCS-$(HAVE_SSE2) += encoder/x86/vp9_dct32x32_sse2.c
122
123VP9_CX_SRCS-$(HAVE_AVX2) += encoder/x86/vp9_dct32x32_avx2.c
124VP9_CX_SRCS-$(HAVE_AVX2) += encoder/x86/vp9_dct_avx2.c
125VP9_CX_SRCS-$(HAVE_AVX2) += encoder/x86/vp9_error_intrin_avx2.c
126VP9_CX_SRCS-$(HAVE_AVX2) += encoder/x86/vp9_variance_avx2.c
127
128VP9_CX_SRCS-$(HAVE_NEON) += encoder/arm/neon/vp9_sad_neon.c
129VP9_CX_SRCS-$(HAVE_NEON) += encoder/arm/neon/vp9_dct_neon.c
130VP9_CX_SRCS-$(HAVE_NEON) += encoder/arm/neon/vp9_variance_neon.c
131VP9_CX_SRCS-$(HAVE_NEON) += encoder/arm/neon/vp9_quantize_neon.c
132VP9_CX_SRCS-$(HAVE_NEON) += encoder/arm/neon/vp9_subtract_neon.c
133
134VP9_CX_SRCS-yes := $(filter-out $(VP9_CX_SRCS_REMOVE-yes),$(VP9_CX_SRCS-yes))
135