blob: 7d1904aaf7d15fb8a89b3a6e94302c24d2e70ec4 [file] [log] [blame]
John Koleszar0ea50ce2010-05-18 11:58:33 -04001##
John Koleszarc2140b82010-09-09 08:16:39 -04002## Copyright (c) 2010 The WebM project authors. All Rights Reserved.
John Koleszar0ea50ce2010-05-18 11:58:33 -04003##
John Koleszar94c52e42010-06-18 12:39:21 -04004## Use of this source code is governed by a BSD-style license
John Koleszar09202d82010-06-04 16:19:40 -04005## 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
John Koleszar94c52e42010-06-18 12:39:21 -04007## in the file PATENTS. All contributing project authors may
John Koleszar09202d82010-06-04 16:19:40 -04008## be found in the AUTHORS file in the root of the source tree.
John Koleszar0ea50ce2010-05-18 11:58:33 -04009##
10
11
John Koleszar7aa97a32010-06-03 10:29:04 -040012VP8_CX_EXPORTS += exports_enc
13
John Koleszar0ea50ce2010-05-18 11:58:33 -040014VP8_CX_SRCS-yes += $(VP8_COMMON_SRCS-yes)
15VP8_CX_SRCS-no += $(VP8_COMMON_SRCS-no)
16VP8_CX_SRCS_REMOVE-yes += $(VP8_COMMON_SRCS_REMOVE-yes)
17VP8_CX_SRCS_REMOVE-no += $(VP8_COMMON_SRCS_REMOVE-no)
18
19ifeq ($(ARCH_ARM),yes)
20 include $(SRC_PATH_BARE)/$(VP8_PREFIX)vp8cx_arm.mk
21endif
22
Johann7c7801e2012-11-15 16:41:03 -080023VP8_CX_SRCS-yes += vp8cx.mk
John Koleszar0ea50ce2010-05-18 11:58:33 -040024
Johann7c7801e2012-11-15 16:41:03 -080025VP8_CX_SRCS-yes += vp8_cx_iface.c
John Koleszar0ea50ce2010-05-18 11:58:33 -040026
Scott LaVarnway19987dc2011-08-16 16:21:21 -040027VP8_CX_SRCS-yes += encoder/defaultcoefcounts.h
John Koleszar0ea50ce2010-05-18 11:58:33 -040028VP8_CX_SRCS-yes += encoder/bitstream.c
29VP8_CX_SRCS-yes += encoder/boolhuff.c
30VP8_CX_SRCS-yes += encoder/dct.c
31VP8_CX_SRCS-yes += encoder/encodeframe.c
John Koleszar22f56b92012-05-04 09:46:57 -070032VP8_CX_SRCS-yes += encoder/encodeframe.h
John Koleszar0ea50ce2010-05-18 11:58:33 -040033VP8_CX_SRCS-yes += encoder/encodeintra.c
34VP8_CX_SRCS-yes += encoder/encodemb.c
35VP8_CX_SRCS-yes += encoder/encodemv.c
Gaute Strokkenes315e3c22011-02-05 05:29:25 +000036VP8_CX_SRCS-$(CONFIG_MULTITHREAD) += encoder/ethreading.c
John Koleszar0ea50ce2010-05-18 11:58:33 -040037VP8_CX_SRCS-yes += encoder/firstpass.c
John Koleszar0ea50ce2010-05-18 11:58:33 -040038VP8_CX_SRCS-yes += encoder/block.h
39VP8_CX_SRCS-yes += encoder/boolhuff.h
40VP8_CX_SRCS-yes += encoder/bitstream.h
Stefan Holmer9c411432012-03-06 10:48:18 +010041VP8_CX_SRCS-$(CONFIG_TEMPORAL_DENOISING) += encoder/denoising.h
42VP8_CX_SRCS-$(CONFIG_TEMPORAL_DENOISING) += encoder/denoising.c
John Koleszar0ea50ce2010-05-18 11:58:33 -040043VP8_CX_SRCS-yes += encoder/encodeintra.h
44VP8_CX_SRCS-yes += encoder/encodemb.h
45VP8_CX_SRCS-yes += encoder/encodemv.h
46VP8_CX_SRCS-yes += encoder/firstpass.h
John Koleszar88841f12011-04-13 14:00:18 -040047VP8_CX_SRCS-yes += encoder/lookahead.c
48VP8_CX_SRCS-yes += encoder/lookahead.h
John Koleszar0ea50ce2010-05-18 11:58:33 -040049VP8_CX_SRCS-yes += encoder/mcomp.h
50VP8_CX_SRCS-yes += encoder/modecosts.h
51VP8_CX_SRCS-yes += encoder/onyx_int.h
52VP8_CX_SRCS-yes += encoder/pickinter.h
53VP8_CX_SRCS-yes += encoder/psnr.h
54VP8_CX_SRCS-yes += encoder/quantize.h
55VP8_CX_SRCS-yes += encoder/ratectrl.h
56VP8_CX_SRCS-yes += encoder/rdopt.h
57VP8_CX_SRCS-yes += encoder/tokenize.h
58VP8_CX_SRCS-yes += encoder/treewriter.h
John Koleszar0ea50ce2010-05-18 11:58:33 -040059VP8_CX_SRCS-yes += encoder/mcomp.c
60VP8_CX_SRCS-yes += encoder/modecosts.c
61VP8_CX_SRCS-yes += encoder/onyx_if.c
62VP8_CX_SRCS-yes += encoder/pickinter.c
63VP8_CX_SRCS-yes += encoder/picklpf.c
64VP8_CX_SRCS-yes += encoder/psnr.c
65VP8_CX_SRCS-yes += encoder/quantize.c
66VP8_CX_SRCS-yes += encoder/ratectrl.c
67VP8_CX_SRCS-yes += encoder/rdopt.c
John Koleszar80d39232010-08-13 14:50:51 -040068VP8_CX_SRCS-yes += encoder/segmentation.c
69VP8_CX_SRCS-yes += encoder/segmentation.h
Yaowu Xu57ad1892011-04-29 09:37:59 -070070VP8_CX_SRCS-$(CONFIG_INTERNAL_STATS) += encoder/ssim.c
John Koleszar0ea50ce2010-05-18 11:58:33 -040071VP8_CX_SRCS-yes += encoder/tokenize.c
Attila Nagyb35a0db2012-04-16 14:47:40 +030072VP8_CX_SRCS-yes += encoder/dct_value_cost.h
73VP8_CX_SRCS-yes += encoder/dct_value_tokens.h
John Koleszar0ea50ce2010-05-18 11:58:33 -040074VP8_CX_SRCS-yes += encoder/treewriter.c
Yaowu Xu57ad1892011-04-29 09:37:59 -070075VP8_CX_SRCS-$(CONFIG_INTERNAL_STATS) += common/postproc.h
76VP8_CX_SRCS-$(CONFIG_INTERNAL_STATS) += common/postproc.c
Johanne81e30c2010-10-20 16:27:33 -040077VP8_CX_SRCS-yes += encoder/temporal_filter.c
Yunqing Wangaa7335e2011-10-25 15:14:16 -040078VP8_CX_SRCS-$(CONFIG_MULTI_RES_ENCODING) += encoder/mr_dissim.c
79VP8_CX_SRCS-$(CONFIG_MULTI_RES_ENCODING) += encoder/mr_dissim.h
James Zern08348d92013-03-02 13:42:41 -080080VP8_CX_SRCS-yes += encoder/vp8_asm_enc_offsets.c
John Koleszar0ea50ce2010-05-18 11:58:33 -040081
82ifeq ($(CONFIG_REALTIME_ONLY),yes)
83VP8_CX_SRCS_REMOVE-yes += encoder/firstpass.c
Attila Nagy7af0d902011-02-22 10:29:23 +020084VP8_CX_SRCS_REMOVE-yes += encoder/temporal_filter.c
John Koleszar0ea50ce2010-05-18 11:58:33 -040085endif
86
John Koleszar0ea50ce2010-05-18 11:58:33 -040087VP8_CX_SRCS-$(HAVE_MMX) += encoder/x86/dct_mmx.asm
88VP8_CX_SRCS-$(HAVE_MMX) += encoder/x86/subtract_mmx.asm
John Koleszar8aae2462012-01-12 16:55:44 -080089VP8_CX_SRCS-$(HAVE_MMX) += encoder/x86/vp8_enc_stubs_mmx.c
Scott LaVarnwayf1a3b1e2010-06-24 13:11:30 -040090VP8_CX_SRCS-$(HAVE_SSE2) += encoder/x86/dct_sse2.asm
John Koleszar0ea50ce2010-05-18 11:58:33 -040091VP8_CX_SRCS-$(HAVE_SSE2) += encoder/x86/fwalsh_sse2.asm
Johannef8879742013-02-01 16:14:38 -080092VP8_CX_SRCS-$(HAVE_SSE2) += encoder/x86/quantize_sse2.c
Christian Duvivier38ddb422012-05-21 07:54:20 -070093
Johannef8879742013-02-01 16:14:38 -080094# TODO(johann) make this generic
95ifeq ($(HAVE_SSE2),yes)
96vp8/encoder/x86/quantize_sse2.c.o: CFLAGS += -msse2
97vp8/encoder/x86/quantize_sse2.c.d: CFLAGS += -msse2
98endif
99
Christian Duvivier38ddb422012-05-21 07:54:20 -0700100ifeq ($(CONFIG_TEMPORAL_DENOISING),yes)
101VP8_CX_SRCS-$(HAVE_SSE2) += encoder/x86/denoising_sse2.c
102ifeq ($(HAVE_SSE2),yes)
103vp8/encoder/x86/denoising_sse2.c.o: CFLAGS += -msse2
Jim Bankoski3e3fffe2012-11-29 14:24:54 -0800104vp8/encoder/x86/denoising_sse2.c.d: CFLAGS += -msse2
Christian Duvivier38ddb422012-05-21 07:54:20 -0700105endif
106endif
107
Yunqing Wang4db20762010-10-18 14:15:15 -0400108VP8_CX_SRCS-$(HAVE_SSE2) += encoder/x86/subtract_sse2.asm
Johann8b0cf5f2010-12-22 11:23:51 -0500109VP8_CX_SRCS-$(HAVE_SSE2) += encoder/x86/temporal_filter_apply_sse2.asm
John Koleszar8aae2462012-01-12 16:55:44 -0800110VP8_CX_SRCS-$(HAVE_SSE2) += encoder/x86/vp8_enc_stubs_sse2.c
Scott LaVarnwayff4a71f2010-11-01 16:24:15 -0400111VP8_CX_SRCS-$(HAVE_SSSE3) += encoder/x86/quantize_ssse3.asm
Johann508ae1b2011-04-13 16:38:02 -0400112VP8_CX_SRCS-$(HAVE_SSE4_1) += encoder/x86/quantize_sse4.asm
John Koleszar0ea50ce2010-05-18 11:58:33 -0400113VP8_CX_SRCS-$(ARCH_X86)$(ARCH_X86_64) += encoder/x86/quantize_mmx.asm
114VP8_CX_SRCS-$(ARCH_X86)$(ARCH_X86_64) += encoder/x86/encodeopt.asm
John Koleszar5db0eee2011-03-11 11:27:08 -0500115VP8_CX_SRCS-$(ARCH_X86_64) += encoder/x86/ssim_opt.asm
John Koleszar0ea50ce2010-05-18 11:58:33 -0400116
Attila Nagy7af0d902011-02-22 10:29:23 +0200117ifeq ($(CONFIG_REALTIME_ONLY),yes)
118VP8_CX_SRCS_REMOVE-$(HAVE_SSE2) += encoder/x86/temporal_filter_apply_sse2.asm
119endif
120
John Koleszar0ea50ce2010-05-18 11:58:33 -0400121VP8_CX_SRCS-yes := $(filter-out $(VP8_CX_SRCS_REMOVE-yes),$(VP8_CX_SRCS-yes))
John Koleszar7b8dfcb2012-11-06 16:59:01 -0800122
123$(eval $(call asm_offsets_template,\
James Zern08348d92013-03-02 13:42:41 -0800124 vp8_asm_enc_offsets.asm, $(VP8_PREFIX)encoder/vp8_asm_enc_offsets.c))