vp9cx.mk revision 68e1c830ade592be74773e249bf94e2bbfb50de7
1ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang##
2ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang##  Copyright (c) 2010 The WebM project authors. All Rights Reserved.
3ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang##
4ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang##  Use of this source code is governed by a BSD-style license
5ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang##  that can be found in the LICENSE file in the root of the source
6ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang##  tree. An additional intellectual property rights grant can be found
7ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang##  in the file PATENTS.  All contributing project authors may
8ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang##  be found in the AUTHORS file in the root of the source tree.
9ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang##
10ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
11ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_EXPORTS += exports_enc
12ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
13ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += $(VP9_COMMON_SRCS-yes)
14ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-no  += $(VP9_COMMON_SRCS-no)
15ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS_REMOVE-yes += $(VP9_COMMON_SRCS_REMOVE-yes)
16ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS_REMOVE-no  += $(VP9_COMMON_SRCS_REMOVE-no)
17ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
18ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += vp9_cx_iface.c
19ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
20ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_bitstream.c
21ba6c59e9d7d7013b3906b6f4230b663422681848Vignesh VenkatasubramanianVP9_CX_SRCS-yes += encoder/vp9_context_tree.c
22ba6c59e9d7d7013b3906b6f4230b663422681848Vignesh VenkatasubramanianVP9_CX_SRCS-yes += encoder/vp9_context_tree.h
232ec72e65689c948e92b826ae1e867bf369e72f13Vignesh VenkatasubramanianVP9_CX_SRCS-yes += encoder/vp9_cost.h
242ec72e65689c948e92b826ae1e867bf369e72f13Vignesh VenkatasubramanianVP9_CX_SRCS-yes += encoder/vp9_cost.c
25ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_dct.c
26ba6c59e9d7d7013b3906b6f4230b663422681848Vignesh VenkatasubramanianVP9_CX_SRCS-$(CONFIG_VP9_TEMPORAL_DENOISING) += encoder/vp9_denoiser.c
27ba6c59e9d7d7013b3906b6f4230b663422681848Vignesh VenkatasubramanianVP9_CX_SRCS-$(CONFIG_VP9_TEMPORAL_DENOISING) += encoder/vp9_denoiser.h
28ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_encodeframe.c
29ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_encodeframe.h
30ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_encodemb.c
31ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_encodemv.c
327ce0a1d1337c01056ba24006efab21f00e179e04Vignesh VenkatasubramanianVP9_CX_SRCS-yes += encoder/vp9_ethread.h
337ce0a1d1337c01056ba24006efab21f00e179e04Vignesh VenkatasubramanianVP9_CX_SRCS-yes += encoder/vp9_ethread.c
342ec72e65689c948e92b826ae1e867bf369e72f13Vignesh VenkatasubramanianVP9_CX_SRCS-yes += encoder/vp9_extend.c
35ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_firstpass.c
36ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_block.h
37ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_bitstream.h
38ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_encodemb.h
39ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_encodemv.h
402ec72e65689c948e92b826ae1e867bf369e72f13Vignesh VenkatasubramanianVP9_CX_SRCS-yes += encoder/vp9_extend.h
41ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_firstpass.h
42ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_lookahead.c
43ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_lookahead.h
44ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_mcomp.h
45ba6c59e9d7d7013b3906b6f4230b663422681848Vignesh VenkatasubramanianVP9_CX_SRCS-yes += encoder/vp9_encoder.h
46ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_quantize.h
47ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_ratectrl.h
48ba6c59e9d7d7013b3906b6f4230b663422681848Vignesh VenkatasubramanianVP9_CX_SRCS-yes += encoder/vp9_rd.h
49ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_rdopt.h
502ec72e65689c948e92b826ae1e867bf369e72f13Vignesh VenkatasubramanianVP9_CX_SRCS-yes += encoder/vp9_pickmode.h
512ec72e65689c948e92b826ae1e867bf369e72f13Vignesh VenkatasubramanianVP9_CX_SRCS-yes += encoder/vp9_svc_layercontext.h
52ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_tokenize.h
53ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_treewriter.h
54ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_mcomp.c
55ba6c59e9d7d7013b3906b6f4230b663422681848Vignesh VenkatasubramanianVP9_CX_SRCS-yes += encoder/vp9_encoder.c
56ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_picklpf.c
57ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_picklpf.h
58ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_quantize.c
59ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_ratectrl.c
60ba6c59e9d7d7013b3906b6f4230b663422681848Vignesh VenkatasubramanianVP9_CX_SRCS-yes += encoder/vp9_rd.c
61ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_rdopt.c
622ec72e65689c948e92b826ae1e867bf369e72f13Vignesh VenkatasubramanianVP9_CX_SRCS-yes += encoder/vp9_pickmode.c
63ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_segmentation.c
64ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_segmentation.h
654fb68e5dd4e93c7599dc905d861de11ac39c5585hkuangVP9_CX_SRCS-yes += encoder/vp9_speed_features.c
664fb68e5dd4e93c7599dc905d861de11ac39c5585hkuangVP9_CX_SRCS-yes += encoder/vp9_speed_features.h
6791037db265ecdd914a26e056cf69207b4f50924ehkuangVP9_CX_SRCS-yes += encoder/vp9_subexp.c
6891037db265ecdd914a26e056cf69207b4f50924ehkuangVP9_CX_SRCS-yes += encoder/vp9_subexp.h
692ec72e65689c948e92b826ae1e867bf369e72f13Vignesh VenkatasubramanianVP9_CX_SRCS-yes += encoder/vp9_svc_layercontext.c
702ec72e65689c948e92b826ae1e867bf369e72f13Vignesh VenkatasubramanianVP9_CX_SRCS-yes += encoder/vp9_resize.c
712ec72e65689c948e92b826ae1e867bf369e72f13Vignesh VenkatasubramanianVP9_CX_SRCS-yes += encoder/vp9_resize.h
727ce0a1d1337c01056ba24006efab21f00e179e04Vignesh VenkatasubramanianVP9_CX_SRCS-$(CONFIG_INTERNAL_STATS) += encoder/vp9_blockiness.c
737ce0a1d1337c01056ba24006efab21f00e179e04Vignesh Venkatasubramanian
74ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_tokenize.c
75ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_treewriter.c
764fb68e5dd4e93c7599dc905d861de11ac39c5585hkuangVP9_CX_SRCS-yes += encoder/vp9_aq_variance.c
774fb68e5dd4e93c7599dc905d861de11ac39c5585hkuangVP9_CX_SRCS-yes += encoder/vp9_aq_variance.h
7868e1c830ade592be74773e249bf94e2bbfb50de7JohannVP9_CX_SRCS-yes += encoder/vp9_aq_360.c
7968e1c830ade592be74773e249bf94e2bbfb50de7JohannVP9_CX_SRCS-yes += encoder/vp9_aq_360.h
804fb68e5dd4e93c7599dc905d861de11ac39c5585hkuangVP9_CX_SRCS-yes += encoder/vp9_aq_cyclicrefresh.c
814fb68e5dd4e93c7599dc905d861de11ac39c5585hkuangVP9_CX_SRCS-yes += encoder/vp9_aq_cyclicrefresh.h
824fb68e5dd4e93c7599dc905d861de11ac39c5585hkuangVP9_CX_SRCS-yes += encoder/vp9_aq_complexity.c
834fb68e5dd4e93c7599dc905d861de11ac39c5585hkuangVP9_CX_SRCS-yes += encoder/vp9_aq_complexity.h
847ce0a1d1337c01056ba24006efab21f00e179e04Vignesh VenkatasubramanianVP9_CX_SRCS-yes += encoder/vp9_skin_detection.c
857ce0a1d1337c01056ba24006efab21f00e179e04Vignesh VenkatasubramanianVP9_CX_SRCS-yes += encoder/vp9_skin_detection.h
8668e1c830ade592be74773e249bf94e2bbfb50de7JohannVP9_CX_SRCS-yes += encoder/vp9_noise_estimate.c
8768e1c830ade592be74773e249bf94e2bbfb50de7JohannVP9_CX_SRCS-yes += encoder/vp9_noise_estimate.h
881184aebb761cbeac9124c37189a80a1a58f04b6bhkuangifeq ($(CONFIG_VP9_POSTPROC),yes)
89ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-$(CONFIG_INTERNAL_STATS) += common/vp9_postproc.h
90ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-$(CONFIG_INTERNAL_STATS) += common/vp9_postproc.c
91ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangendif
92ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_temporal_filter.c
93ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_temporal_filter.h
94ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_mbgraph.c
95ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_mbgraph.h
96ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
97ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-$(HAVE_SSE2) += encoder/x86/vp9_temporal_filter_apply_sse2.asm
987ce0a1d1337c01056ba24006efab21f00e179e04Vignesh VenkatasubramanianVP9_CX_SRCS-$(HAVE_SSE2) += encoder/x86/vp9_quantize_sse2.c
9968e1c830ade592be74773e249bf94e2bbfb50de7JohannVP9_CX_SRCS-$(HAVE_AVX) += encoder/x86/vp9_diamond_search_sad_avx.c
1007ce0a1d1337c01056ba24006efab21f00e179e04Vignesh Venkatasubramanianifeq ($(CONFIG_VP9_HIGHBITDEPTH),yes)
1017ce0a1d1337c01056ba24006efab21f00e179e04Vignesh VenkatasubramanianVP9_CX_SRCS-$(HAVE_SSE2) += encoder/x86/vp9_highbd_block_error_intrin_sse2.c
1027ce0a1d1337c01056ba24006efab21f00e179e04Vignesh Venkatasubramanianendif
103f3bed9137f66ef693bd406e43b17e9a1114f1e14hkuang
1042ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanianifeq ($(CONFIG_USE_X86INC),yes)
10568e1c830ade592be74773e249bf94e2bbfb50de7JohannVP9_CX_SRCS-$(HAVE_SSE2) += encoder/x86/vp9_dct_sse2.asm
106c927526be9a7b72fb5edb3f29c4e8ceabe0ec98aJohannifeq ($(CONFIG_VP9_HIGHBITDEPTH),yes)
107c927526be9a7b72fb5edb3f29c4e8ceabe0ec98aJohannVP9_CX_SRCS-$(HAVE_SSE2) += encoder/x86/vp9_highbd_error_sse2.asm
108c927526be9a7b72fb5edb3f29c4e8ceabe0ec98aJohannVP9_CX_SRCS-$(HAVE_AVX) += encoder/x86/vp9_highbd_error_avx.asm
109c927526be9a7b72fb5edb3f29c4e8ceabe0ec98aJohannelse
110f3bed9137f66ef693bd406e43b17e9a1114f1e14hkuangVP9_CX_SRCS-$(HAVE_SSE2) += encoder/x86/vp9_error_sse2.asm
111f3bed9137f66ef693bd406e43b17e9a1114f1e14hkuangendif
112c927526be9a7b72fb5edb3f29c4e8ceabe0ec98aJohannendif
113f3bed9137f66ef693bd406e43b17e9a1114f1e14hkuang
11491037db265ecdd914a26e056cf69207b4f50924ehkuangifeq ($(ARCH_X86_64),yes)
1157ce0a1d1337c01056ba24006efab21f00e179e04Vignesh Venkatasubramanianifeq ($(CONFIG_USE_X86INC),yes)
116ba6c59e9d7d7013b3906b6f4230b663422681848Vignesh VenkatasubramanianVP9_CX_SRCS-$(HAVE_SSSE3) += encoder/x86/vp9_quantize_ssse3_x86_64.asm
11791037db265ecdd914a26e056cf69207b4f50924ehkuangendif
1187ce0a1d1337c01056ba24006efab21f00e179e04Vignesh Venkatasubramanianendif
119ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
12068e1c830ade592be74773e249bf94e2bbfb50de7JohannVP9_CX_SRCS-$(HAVE_SSE2) += encoder/x86/vp9_dct_intrin_sse2.c
1217ce0a1d1337c01056ba24006efab21f00e179e04Vignesh VenkatasubramanianVP9_CX_SRCS-$(HAVE_SSSE3) += encoder/x86/vp9_dct_ssse3.c
12268e1c830ade592be74773e249bf94e2bbfb50de7Johannifneq ($(CONFIG_VP9_HIGHBITDEPTH),yes)
12368e1c830ade592be74773e249bf94e2bbfb50de7JohannVP9_CX_SRCS-$(HAVE_SSSE3) += encoder/x86/vp9_frame_scale_ssse3.c
12468e1c830ade592be74773e249bf94e2bbfb50de7Johannendif
1257ce0a1d1337c01056ba24006efab21f00e179e04Vignesh Venkatasubramanian
1267ce0a1d1337c01056ba24006efab21f00e179e04Vignesh Venkatasubramanianifeq ($(CONFIG_VP9_TEMPORAL_DENOISING),yes)
1277ce0a1d1337c01056ba24006efab21f00e179e04Vignesh VenkatasubramanianVP9_CX_SRCS-$(HAVE_SSE2) += encoder/x86/vp9_denoiser_sse2.c
1287ce0a1d1337c01056ba24006efab21f00e179e04Vignesh Venkatasubramanianendif
129ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
130ba6c59e9d7d7013b3906b6f4230b663422681848Vignesh VenkatasubramanianVP9_CX_SRCS-$(HAVE_AVX2) += encoder/x86/vp9_error_intrin_avx2.c
131ba6c59e9d7d7013b3906b6f4230b663422681848Vignesh Venkatasubramanian
1327ce0a1d1337c01056ba24006efab21f00e179e04Vignesh Venkatasubramanianifneq ($(CONFIG_VP9_HIGHBITDEPTH),yes)
133ba6c59e9d7d7013b3906b6f4230b663422681848Vignesh VenkatasubramanianVP9_CX_SRCS-$(HAVE_NEON) += encoder/arm/neon/vp9_dct_neon.c
1347ce0a1d1337c01056ba24006efab21f00e179e04Vignesh VenkatasubramanianVP9_CX_SRCS-$(HAVE_NEON) += encoder/arm/neon/vp9_error_neon.c
1357ce0a1d1337c01056ba24006efab21f00e179e04Vignesh Venkatasubramanianendif
136ba6c59e9d7d7013b3906b6f4230b663422681848Vignesh VenkatasubramanianVP9_CX_SRCS-$(HAVE_NEON) += encoder/arm/neon/vp9_quantize_neon.c
1377ce0a1d1337c01056ba24006efab21f00e179e04Vignesh Venkatasubramanian
1387ce0a1d1337c01056ba24006efab21f00e179e04Vignesh VenkatasubramanianVP9_CX_SRCS-$(HAVE_MSA) += encoder/mips/msa/vp9_error_msa.c
1397ce0a1d1337c01056ba24006efab21f00e179e04Vignesh VenkatasubramanianVP9_CX_SRCS-$(HAVE_MSA) += encoder/mips/msa/vp9_fdct4x4_msa.c
1407ce0a1d1337c01056ba24006efab21f00e179e04Vignesh VenkatasubramanianVP9_CX_SRCS-$(HAVE_MSA) += encoder/mips/msa/vp9_fdct8x8_msa.c
1417ce0a1d1337c01056ba24006efab21f00e179e04Vignesh VenkatasubramanianVP9_CX_SRCS-$(HAVE_MSA) += encoder/mips/msa/vp9_fdct16x16_msa.c
1427ce0a1d1337c01056ba24006efab21f00e179e04Vignesh VenkatasubramanianVP9_CX_SRCS-$(HAVE_MSA) += encoder/mips/msa/vp9_fdct_msa.h
1437ce0a1d1337c01056ba24006efab21f00e179e04Vignesh VenkatasubramanianVP9_CX_SRCS-$(HAVE_MSA) += encoder/mips/msa/vp9_temporal_filter_msa.c
1442ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanian
145ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes := $(filter-out $(VP9_CX_SRCS_REMOVE-yes),$(VP9_CX_SRCS-yes))
146