190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber##
2f71323e297a928af368937089d3ed71239786f86Andreas Huber##  Copyright (c) 2010 The WebM project authors. All Rights Reserved.
390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber##
4f71323e297a928af368937089d3ed71239786f86Andreas Huber##  Use of this source code is governed by a BSD-style license
5f71323e297a928af368937089d3ed71239786f86Andreas Huber##  that can be found in the LICENSE file in the root of the source
6f71323e297a928af368937089d3ed71239786f86Andreas Huber##  tree. An additional intellectual property rights grant can be found
7f71323e297a928af368937089d3ed71239786f86Andreas Huber##  in the file PATENTS.  All contributing project authors may
8f71323e297a928af368937089d3ed71239786f86Andreas Huber##  be found in the AUTHORS file in the root of the source tree.
990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber##
1090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber
1190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber
12f71323e297a928af368937089d3ed71239786f86Andreas HuberVP8_CX_EXPORTS += exports_enc
13f71323e297a928af368937089d3ed71239786f86Andreas Huber
1490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS-yes += $(VP8_COMMON_SRCS-yes)
1590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS-no  += $(VP8_COMMON_SRCS-no)
1690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS_REMOVE-yes += $(VP8_COMMON_SRCS_REMOVE-yes)
1790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS_REMOVE-no  += $(VP8_COMMON_SRCS_REMOVE-no)
1890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber
1990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huberifeq ($(ARCH_ARM),yes)
2090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber  include $(SRC_PATH_BARE)/$(VP8_PREFIX)vp8cx_arm.mk
2190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huberendif
2290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber
231b362b15af34006e6a11974088a46d42b903418eJohannVP8_CX_SRCS-yes += vp8cx.mk
2490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber
251b362b15af34006e6a11974088a46d42b903418eJohannVP8_CX_SRCS-yes += vp8_cx_iface.c
2690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber
271b362b15af34006e6a11974088a46d42b903418eJohannVP8_CX_SRCS-yes += encoder/defaultcoefcounts.h
2890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS-yes += encoder/bitstream.c
2990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS-yes += encoder/boolhuff.c
3090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS-yes += encoder/dct.c
3190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS-yes += encoder/encodeframe.c
321b362b15af34006e6a11974088a46d42b903418eJohannVP8_CX_SRCS-yes += encoder/encodeframe.h
3390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS-yes += encoder/encodeintra.c
3490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS-yes += encoder/encodemb.c
3590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS-yes += encoder/encodemv.c
3679f15823c34ae1e423108295e416213200bb280fAndreas HuberVP8_CX_SRCS-$(CONFIG_MULTITHREAD) += encoder/ethreading.c
3790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS-yes += encoder/firstpass.c
3890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS-yes += encoder/block.h
3990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS-yes += encoder/boolhuff.h
4090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS-yes += encoder/bitstream.h
411b362b15af34006e6a11974088a46d42b903418eJohannVP8_CX_SRCS-$(CONFIG_TEMPORAL_DENOISING) += encoder/denoising.h
421b362b15af34006e6a11974088a46d42b903418eJohannVP8_CX_SRCS-$(CONFIG_TEMPORAL_DENOISING) += encoder/denoising.c
4390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS-yes += encoder/encodeintra.h
4490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS-yes += encoder/encodemb.h
4590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS-yes += encoder/encodemv.h
4690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS-yes += encoder/firstpass.h
471b362b15af34006e6a11974088a46d42b903418eJohannVP8_CX_SRCS-yes += encoder/lookahead.c
481b362b15af34006e6a11974088a46d42b903418eJohannVP8_CX_SRCS-yes += encoder/lookahead.h
4990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS-yes += encoder/mcomp.h
5090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS-yes += encoder/modecosts.h
5190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS-yes += encoder/onyx_int.h
5290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS-yes += encoder/pickinter.h
5390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS-yes += encoder/quantize.h
5490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS-yes += encoder/ratectrl.h
5590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS-yes += encoder/rdopt.h
5690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS-yes += encoder/tokenize.h
5790d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS-yes += encoder/treewriter.h
5890d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS-yes += encoder/mcomp.c
5990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS-yes += encoder/modecosts.c
6090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS-yes += encoder/onyx_if.c
6190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS-yes += encoder/pickinter.c
6290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS-yes += encoder/picklpf.c
6390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS-yes += encoder/quantize.c
6490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS-yes += encoder/ratectrl.c
6590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS-yes += encoder/rdopt.c
66f71323e297a928af368937089d3ed71239786f86Andreas HuberVP8_CX_SRCS-yes += encoder/segmentation.c
67f71323e297a928af368937089d3ed71239786f86Andreas HuberVP8_CX_SRCS-yes += encoder/segmentation.h
681b362b15af34006e6a11974088a46d42b903418eJohannVP8_CX_SRCS-$(CONFIG_INTERNAL_STATS) += encoder/ssim.c
6990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS-yes += encoder/tokenize.c
701b362b15af34006e6a11974088a46d42b903418eJohannVP8_CX_SRCS-yes += encoder/dct_value_cost.h
711b362b15af34006e6a11974088a46d42b903418eJohannVP8_CX_SRCS-yes += encoder/dct_value_tokens.h
7290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS-yes += encoder/treewriter.c
731b362b15af34006e6a11974088a46d42b903418eJohannVP8_CX_SRCS-$(CONFIG_INTERNAL_STATS) += common/postproc.h
741b362b15af34006e6a11974088a46d42b903418eJohannVP8_CX_SRCS-$(CONFIG_INTERNAL_STATS) += common/postproc.c
75538f6170b788de7408b06efc6613dc98579aa6a6Andreas HuberVP8_CX_SRCS-yes += encoder/temporal_filter.c
761b362b15af34006e6a11974088a46d42b903418eJohannVP8_CX_SRCS-$(CONFIG_MULTI_RES_ENCODING) += encoder/mr_dissim.c
771b362b15af34006e6a11974088a46d42b903418eJohannVP8_CX_SRCS-$(CONFIG_MULTI_RES_ENCODING) += encoder/mr_dissim.h
78ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP8_CX_SRCS-yes += encoder/vp8_asm_enc_offsets.c
7990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber
8090d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huberifeq ($(CONFIG_REALTIME_ONLY),yes)
8190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS_REMOVE-yes += encoder/firstpass.c
8279f15823c34ae1e423108295e416213200bb280fAndreas HuberVP8_CX_SRCS_REMOVE-yes += encoder/temporal_filter.c
8390d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huberendif
8490d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas Huber
8590d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS-$(HAVE_MMX) += encoder/x86/dct_mmx.asm
8690d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS-$(HAVE_MMX) += encoder/x86/subtract_mmx.asm
871b362b15af34006e6a11974088a46d42b903418eJohannVP8_CX_SRCS-$(HAVE_MMX) += encoder/x86/vp8_enc_stubs_mmx.c
88f71323e297a928af368937089d3ed71239786f86Andreas HuberVP8_CX_SRCS-$(HAVE_SSE2) += encoder/x86/dct_sse2.asm
8990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS-$(HAVE_SSE2) += encoder/x86/fwalsh_sse2.asm
90ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuangVP8_CX_SRCS-$(HAVE_SSE2) += encoder/x86/quantize_sse2.c
911b362b15af34006e6a11974088a46d42b903418eJohann
921b362b15af34006e6a11974088a46d42b903418eJohannifeq ($(CONFIG_TEMPORAL_DENOISING),yes)
931b362b15af34006e6a11974088a46d42b903418eJohannVP8_CX_SRCS-$(HAVE_SSE2) += encoder/x86/denoising_sse2.c
941b362b15af34006e6a11974088a46d42b903418eJohannendif
951b362b15af34006e6a11974088a46d42b903418eJohann
96538f6170b788de7408b06efc6613dc98579aa6a6Andreas HuberVP8_CX_SRCS-$(HAVE_SSE2) += encoder/x86/subtract_sse2.asm
9779f15823c34ae1e423108295e416213200bb280fAndreas HuberVP8_CX_SRCS-$(HAVE_SSE2) += encoder/x86/temporal_filter_apply_sse2.asm
981b362b15af34006e6a11974088a46d42b903418eJohannVP8_CX_SRCS-$(HAVE_SSE2) += encoder/x86/vp8_enc_stubs_sse2.c
99538f6170b788de7408b06efc6613dc98579aa6a6Andreas HuberVP8_CX_SRCS-$(HAVE_SSSE3) += encoder/x86/quantize_ssse3.asm
1001b362b15af34006e6a11974088a46d42b903418eJohannVP8_CX_SRCS-$(HAVE_SSE4_1) += encoder/x86/quantize_sse4.asm
10190d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS-$(ARCH_X86)$(ARCH_X86_64) += encoder/x86/quantize_mmx.asm
10290d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS-$(ARCH_X86)$(ARCH_X86_64) += encoder/x86/encodeopt.asm
10379f15823c34ae1e423108295e416213200bb280fAndreas HuberVP8_CX_SRCS-$(ARCH_X86_64) += encoder/x86/ssim_opt.asm
10479f15823c34ae1e423108295e416213200bb280fAndreas Huber
10579f15823c34ae1e423108295e416213200bb280fAndreas Huberifeq ($(CONFIG_REALTIME_ONLY),yes)
10679f15823c34ae1e423108295e416213200bb280fAndreas HuberVP8_CX_SRCS_REMOVE-$(HAVE_SSE2) += encoder/x86/temporal_filter_apply_sse2.asm
10779f15823c34ae1e423108295e416213200bb280fAndreas Huberendif
10879f15823c34ae1e423108295e416213200bb280fAndreas Huber
10990d3ed91ae9228e1c8bab561b6138d4cb8c1e4fdAndreas HuberVP8_CX_SRCS-yes := $(filter-out $(VP8_CX_SRCS_REMOVE-yes),$(VP8_CX_SRCS-yes))
110ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang
111ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang$(eval $(call asm_offsets_template,\
112ba164dffc5a6795bce97fae02b51ccf3330e15e4hkuang         vp8_asm_enc_offsets.asm, $(VP8_PREFIX)encoder/vp8_asm_enc_offsets.c))
113