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 420a39d0a697ff3603e8c100300fda363658e10b23James ZernVP9_CX_SRCS-yes += encoder/vp9_frame_scale.c 430a39d0a697ff3603e8c100300fda363658e10b23James ZernVP9_CX_SRCS-yes += encoder/vp9_job_queue.h 44ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_lookahead.c 45ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_lookahead.h 46ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_mcomp.h 470a39d0a697ff3603e8c100300fda363658e10b23James ZernVP9_CX_SRCS-yes += encoder/vp9_multi_thread.c 480a39d0a697ff3603e8c100300fda363658e10b23James ZernVP9_CX_SRCS-yes += encoder/vp9_multi_thread.h 49ba6c59e9d7d7013b3906b6f4230b663422681848Vignesh VenkatasubramanianVP9_CX_SRCS-yes += encoder/vp9_encoder.h 50ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_quantize.h 51ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_ratectrl.h 52ba6c59e9d7d7013b3906b6f4230b663422681848Vignesh VenkatasubramanianVP9_CX_SRCS-yes += encoder/vp9_rd.h 53ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_rdopt.h 542ec72e65689c948e92b826ae1e867bf369e72f13Vignesh VenkatasubramanianVP9_CX_SRCS-yes += encoder/vp9_pickmode.h 552ec72e65689c948e92b826ae1e867bf369e72f13Vignesh VenkatasubramanianVP9_CX_SRCS-yes += encoder/vp9_svc_layercontext.h 56ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_tokenize.h 57ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_treewriter.h 58ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_mcomp.c 59ba6c59e9d7d7013b3906b6f4230b663422681848Vignesh VenkatasubramanianVP9_CX_SRCS-yes += encoder/vp9_encoder.c 60ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_picklpf.c 61ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_picklpf.h 62ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_quantize.c 63ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_ratectrl.c 64ba6c59e9d7d7013b3906b6f4230b663422681848Vignesh VenkatasubramanianVP9_CX_SRCS-yes += encoder/vp9_rd.c 65ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_rdopt.c 662ec72e65689c948e92b826ae1e867bf369e72f13Vignesh VenkatasubramanianVP9_CX_SRCS-yes += encoder/vp9_pickmode.c 67ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_segmentation.c 68ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_segmentation.h 694fb68e5dd4e93c7599dc905d861de11ac39c5585hkuangVP9_CX_SRCS-yes += encoder/vp9_speed_features.c 704fb68e5dd4e93c7599dc905d861de11ac39c5585hkuangVP9_CX_SRCS-yes += encoder/vp9_speed_features.h 7191037db265ecdd914a26e056cf69207b4f50924ehkuangVP9_CX_SRCS-yes += encoder/vp9_subexp.c 7291037db265ecdd914a26e056cf69207b4f50924ehkuangVP9_CX_SRCS-yes += encoder/vp9_subexp.h 732ec72e65689c948e92b826ae1e867bf369e72f13Vignesh VenkatasubramanianVP9_CX_SRCS-yes += encoder/vp9_svc_layercontext.c 742ec72e65689c948e92b826ae1e867bf369e72f13Vignesh VenkatasubramanianVP9_CX_SRCS-yes += encoder/vp9_resize.c 752ec72e65689c948e92b826ae1e867bf369e72f13Vignesh VenkatasubramanianVP9_CX_SRCS-yes += encoder/vp9_resize.h 767ce0a1d1337c01056ba24006efab21f00e179e04Vignesh VenkatasubramanianVP9_CX_SRCS-$(CONFIG_INTERNAL_STATS) += encoder/vp9_blockiness.c 777ce0a1d1337c01056ba24006efab21f00e179e04Vignesh Venkatasubramanian 78ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_tokenize.c 79ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_treewriter.c 804fb68e5dd4e93c7599dc905d861de11ac39c5585hkuangVP9_CX_SRCS-yes += encoder/vp9_aq_variance.c 814fb68e5dd4e93c7599dc905d861de11ac39c5585hkuangVP9_CX_SRCS-yes += encoder/vp9_aq_variance.h 8268e1c830ade592be74773e249bf94e2bbfb50de7JohannVP9_CX_SRCS-yes += encoder/vp9_aq_360.c 8368e1c830ade592be74773e249bf94e2bbfb50de7JohannVP9_CX_SRCS-yes += encoder/vp9_aq_360.h 844fb68e5dd4e93c7599dc905d861de11ac39c5585hkuangVP9_CX_SRCS-yes += encoder/vp9_aq_cyclicrefresh.c 854fb68e5dd4e93c7599dc905d861de11ac39c5585hkuangVP9_CX_SRCS-yes += encoder/vp9_aq_cyclicrefresh.h 864fb68e5dd4e93c7599dc905d861de11ac39c5585hkuangVP9_CX_SRCS-yes += encoder/vp9_aq_complexity.c 874fb68e5dd4e93c7599dc905d861de11ac39c5585hkuangVP9_CX_SRCS-yes += encoder/vp9_aq_complexity.h 887bc9febe8749e98a3812a0dc4380ceae75c29450JohannVP9_CX_SRCS-yes += encoder/vp9_alt_ref_aq.h 897bc9febe8749e98a3812a0dc4380ceae75c29450JohannVP9_CX_SRCS-yes += encoder/vp9_alt_ref_aq.c 907ce0a1d1337c01056ba24006efab21f00e179e04Vignesh VenkatasubramanianVP9_CX_SRCS-yes += encoder/vp9_skin_detection.c 917ce0a1d1337c01056ba24006efab21f00e179e04Vignesh VenkatasubramanianVP9_CX_SRCS-yes += encoder/vp9_skin_detection.h 9268e1c830ade592be74773e249bf94e2bbfb50de7JohannVP9_CX_SRCS-yes += encoder/vp9_noise_estimate.c 9368e1c830ade592be74773e249bf94e2bbfb50de7JohannVP9_CX_SRCS-yes += encoder/vp9_noise_estimate.h 941184aebb761cbeac9124c37189a80a1a58f04b6bhkuangifeq ($(CONFIG_VP9_POSTPROC),yes) 95ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-$(CONFIG_INTERNAL_STATS) += common/vp9_postproc.h 96ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-$(CONFIG_INTERNAL_STATS) += common/vp9_postproc.c 97ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangendif 98ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_temporal_filter.c 99ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_temporal_filter.h 100ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_mbgraph.c 101ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes += encoder/vp9_mbgraph.h 102ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 1030a39d0a697ff3603e8c100300fda363658e10b23James ZernVP9_CX_SRCS-$(HAVE_SSE4_1) += encoder/x86/temporal_filter_sse4.c 1040a39d0a697ff3603e8c100300fda363658e10b23James Zern 1057ce0a1d1337c01056ba24006efab21f00e179e04Vignesh VenkatasubramanianVP9_CX_SRCS-$(HAVE_SSE2) += encoder/x86/vp9_quantize_sse2.c 10668e1c830ade592be74773e249bf94e2bbfb50de7JohannVP9_CX_SRCS-$(HAVE_AVX) += encoder/x86/vp9_diamond_search_sad_avx.c 1077ce0a1d1337c01056ba24006efab21f00e179e04Vignesh Venkatasubramanianifeq ($(CONFIG_VP9_HIGHBITDEPTH),yes) 1087ce0a1d1337c01056ba24006efab21f00e179e04Vignesh VenkatasubramanianVP9_CX_SRCS-$(HAVE_SSE2) += encoder/x86/vp9_highbd_block_error_intrin_sse2.c 1097ce0a1d1337c01056ba24006efab21f00e179e04Vignesh Venkatasubramanianendif 110f3bed9137f66ef693bd406e43b17e9a1114f1e14hkuang 11168e1c830ade592be74773e249bf94e2bbfb50de7JohannVP9_CX_SRCS-$(HAVE_SSE2) += encoder/x86/vp9_dct_sse2.asm 112f3bed9137f66ef693bd406e43b17e9a1114f1e14hkuangVP9_CX_SRCS-$(HAVE_SSE2) += encoder/x86/vp9_error_sse2.asm 113f3bed9137f66ef693bd406e43b17e9a1114f1e14hkuang 11491037db265ecdd914a26e056cf69207b4f50924ehkuangifeq ($(ARCH_X86_64),yes) 115ba6c59e9d7d7013b3906b6f4230b663422681848Vignesh VenkatasubramanianVP9_CX_SRCS-$(HAVE_SSSE3) += encoder/x86/vp9_quantize_ssse3_x86_64.asm 11691037db265ecdd914a26e056cf69207b4f50924ehkuangendif 117ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 11868e1c830ade592be74773e249bf94e2bbfb50de7JohannVP9_CX_SRCS-$(HAVE_SSE2) += encoder/x86/vp9_dct_intrin_sse2.c 1197ce0a1d1337c01056ba24006efab21f00e179e04Vignesh VenkatasubramanianVP9_CX_SRCS-$(HAVE_SSSE3) += encoder/x86/vp9_dct_ssse3.c 12068e1c830ade592be74773e249bf94e2bbfb50de7JohannVP9_CX_SRCS-$(HAVE_SSSE3) += encoder/x86/vp9_frame_scale_ssse3.c 1217ce0a1d1337c01056ba24006efab21f00e179e04Vignesh Venkatasubramanian 1227ce0a1d1337c01056ba24006efab21f00e179e04Vignesh Venkatasubramanianifeq ($(CONFIG_VP9_TEMPORAL_DENOISING),yes) 1237ce0a1d1337c01056ba24006efab21f00e179e04Vignesh VenkatasubramanianVP9_CX_SRCS-$(HAVE_SSE2) += encoder/x86/vp9_denoiser_sse2.c 1240a39d0a697ff3603e8c100300fda363658e10b23James ZernVP9_CX_SRCS-$(HAVE_NEON) += encoder/arm/neon/vp9_denoiser_neon.c 1257ce0a1d1337c01056ba24006efab21f00e179e04Vignesh Venkatasubramanianendif 126ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang 1270a39d0a697ff3603e8c100300fda363658e10b23James ZernVP9_CX_SRCS-$(HAVE_AVX2) += encoder/x86/vp9_error_avx2.c 128ba6c59e9d7d7013b3906b6f4230b663422681848Vignesh Venkatasubramanian 1297ce0a1d1337c01056ba24006efab21f00e179e04Vignesh Venkatasubramanianifneq ($(CONFIG_VP9_HIGHBITDEPTH),yes) 1307ce0a1d1337c01056ba24006efab21f00e179e04Vignesh VenkatasubramanianVP9_CX_SRCS-$(HAVE_NEON) += encoder/arm/neon/vp9_error_neon.c 1317ce0a1d1337c01056ba24006efab21f00e179e04Vignesh Venkatasubramanianendif 1320a39d0a697ff3603e8c100300fda363658e10b23James ZernVP9_CX_SRCS-$(HAVE_NEON) += encoder/arm/neon/vp9_dct_neon.c 133df37111358d02836cb29bbcb9c6e4c95dff90a16JohannVP9_CX_SRCS-$(HAVE_NEON) += encoder/arm/neon/vp9_frame_scale_neon.c 134ba6c59e9d7d7013b3906b6f4230b663422681848Vignesh VenkatasubramanianVP9_CX_SRCS-$(HAVE_NEON) += encoder/arm/neon/vp9_quantize_neon.c 1357ce0a1d1337c01056ba24006efab21f00e179e04Vignesh Venkatasubramanian 1367ce0a1d1337c01056ba24006efab21f00e179e04Vignesh VenkatasubramanianVP9_CX_SRCS-$(HAVE_MSA) += encoder/mips/msa/vp9_error_msa.c 1377ce0a1d1337c01056ba24006efab21f00e179e04Vignesh VenkatasubramanianVP9_CX_SRCS-$(HAVE_MSA) += encoder/mips/msa/vp9_fdct4x4_msa.c 1387ce0a1d1337c01056ba24006efab21f00e179e04Vignesh VenkatasubramanianVP9_CX_SRCS-$(HAVE_MSA) += encoder/mips/msa/vp9_fdct8x8_msa.c 1397ce0a1d1337c01056ba24006efab21f00e179e04Vignesh VenkatasubramanianVP9_CX_SRCS-$(HAVE_MSA) += encoder/mips/msa/vp9_fdct16x16_msa.c 1407ce0a1d1337c01056ba24006efab21f00e179e04Vignesh VenkatasubramanianVP9_CX_SRCS-$(HAVE_MSA) += encoder/mips/msa/vp9_fdct_msa.h 1412ec72e65689c948e92b826ae1e867bf369e72f13Vignesh Venkatasubramanian 142df37111358d02836cb29bbcb9c6e4c95dff90a16Johann# Strip unnecessary files with CONFIG_REALTIME_ONLY 143df37111358d02836cb29bbcb9c6e4c95dff90a16JohannVP9_CX_SRCS_REMOVE-$(CONFIG_REALTIME_ONLY) += encoder/vp9_firstpass.c 144df37111358d02836cb29bbcb9c6e4c95dff90a16JohannVP9_CX_SRCS_REMOVE-$(CONFIG_REALTIME_ONLY) += encoder/vp9_mbgraph.c 145df37111358d02836cb29bbcb9c6e4c95dff90a16JohannVP9_CX_SRCS_REMOVE-$(CONFIG_REALTIME_ONLY) += encoder/vp9_temporal_filter.c 146df37111358d02836cb29bbcb9c6e4c95dff90a16JohannVP9_CX_SRCS_REMOVE-$(CONFIG_REALTIME_ONLY) += encoder/x86/temporal_filter_sse4.c 147df37111358d02836cb29bbcb9c6e4c95dff90a16Johann 148ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP9_CX_SRCS-yes := $(filter-out $(VP9_CX_SRCS_REMOVE-yes),$(VP9_CX_SRCS-yes)) 149