blob: a53ea29d5236d26a05964169838e8d58ffadd598 [file] [log] [blame]
andrew@webrtc.orgf5a91fd2012-07-23 16:28:02 +00001# Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
xians@google.comd3185fe2011-09-12 12:24:39 +00002#
3# Use of this source code is governed by a BSD-style license
4# that can be found in the LICENSE file in the root of the source
5# tree. An additional intellectual property rights grant can be found
6# in the file PATENTS. All contributing project authors may
7# be found in the AUTHORS file in the root of the source tree.
niklase@google.com470e71d2011-07-07 08:21:25 +00008
9{
andrew@webrtc.orgf5a91fd2012-07-23 16:28:02 +000010 'includes': [
andrew@webrtc.orgd1f3b1a2012-07-27 22:19:16 +000011 '../../../../build/common.gypi',
12 '../test_framework/test_framework.gypi'
andrew@webrtc.orgf5a91fd2012-07-23 16:28:02 +000013 ],
henrikg@webrtc.orgc0ceb822012-10-24 12:34:28 +000014 'variables': {
15 'conditions': [
16 ['build_with_chromium==1', {
17 'use_temporal_layers%': 0,
18 }, {
19 'use_temporal_layers%': 1,
20 }],
21 ],
22 },
niklase@google.com470e71d2011-07-07 08:21:25 +000023 'targets': [
24 {
25 'target_name': 'webrtc_vp8',
wjia@webrtc.orga3c82bf2013-01-18 23:42:21 +000026 'type': 'static_library',
niklase@google.com470e71d2011-07-07 08:21:25 +000027 'dependencies': [
xians@google.comd3185fe2011-09-12 12:24:39 +000028 '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
andrew@webrtc.orgfa418ac2012-09-11 01:34:21 +000029 '<(webrtc_root)/common_video/common_video.gyp:common_video',
niklase@google.com470e71d2011-07-07 08:21:25 +000030 ],
31 'include_dirs': [
andrew@webrtc.orgd1f3b1a2012-07-27 22:19:16 +000032 'include',
stefan@webrtc.org0ee8ba12011-11-25 12:12:43 +000033 '<(webrtc_root)/common_video/interface',
stefan@webrtc.org0ee8ba12011-11-25 12:12:43 +000034 '<(webrtc_root)/modules/video_coding/codecs/interface',
35 '<(webrtc_root)/modules/interface',
niklase@google.com470e71d2011-07-07 08:21:25 +000036 ],
37 'conditions': [
sjlee@webrtc.org4b425082012-09-10 17:58:21 +000038 ['build_libvpx==1', {
39 'dependencies': [
40 '<(DEPTH)/third_party/libvpx/libvpx.gyp:libvpx',
41 ],
42 }],
andrew@webrtc.orgd1f3b1a2012-07-27 22:19:16 +000043 # TODO(mikhal): Investigate this mechanism for handling differences
44 # between the Chromium and standalone builds.
45 # http://code.google.com/p/webrtc/issues/detail?id=201
niklase@google.com470e71d2011-07-07 08:21:25 +000046 ['build_with_chromium==1', {
stefan@webrtc.org0ee8ba12011-11-25 12:12:43 +000047 'defines': [
48 'WEBRTC_LIBVPX_VERSION=960' # Bali
49 ],
sjlee@webrtc.org4b425082012-09-10 17:58:21 +000050 }, {
mikhal@webrtc.org6724cf82011-08-24 00:51:36 +000051 'defines': [
xians@google.comd3185fe2011-09-12 12:24:39 +000052 'WEBRTC_LIBVPX_VERSION=971' # Cayuga
mikhal@webrtc.org6724cf82011-08-24 00:51:36 +000053 ],
henrikg@webrtc.orgc0ceb822012-10-24 12:34:28 +000054 }],
55 ['use_temporal_layers==1', {
stefan@webrtc.org0ae71b92011-12-05 08:42:52 +000056 'sources': [
57 'temporal_layers.h',
58 'temporal_layers.cc',
59 ],
niklase@google.com470e71d2011-07-07 08:21:25 +000060 }],
61 ],
62 'direct_dependent_settings': {
63 'include_dirs': [
andrew@webrtc.orgd1f3b1a2012-07-27 22:19:16 +000064 'include',
stefan@webrtc.org0ee8ba12011-11-25 12:12:43 +000065 '<(webrtc_root)/common_video/interface',
66 '<(webrtc_root)/modules/video_coding/codecs/interface',
niklase@google.com470e71d2011-07-07 08:21:25 +000067 ],
68 },
69 'sources': [
stefan@webrtc.orga4a88f92011-12-02 08:34:05 +000070 'reference_picture_selection.h',
71 'reference_picture_selection.cc',
andrew@webrtc.orgd1f3b1a2012-07-27 22:19:16 +000072 'include/vp8.h',
73 'include/vp8_common_types.h',
pwestin@webrtc.org8d89b582012-09-20 20:49:12 +000074 'vp8_impl.cc',
niklase@google.com470e71d2011-07-07 08:21:25 +000075 ],
kjellander@webrtc.orgfa53d872013-02-04 10:07:17 +000076 # Disable warnings to enable Win64 build, issue 1323.
77 'msvs_disabled_warnings': [
78 4267, # size_t to int truncation.
79 ],
niklase@google.com470e71d2011-07-07 08:21:25 +000080 },
xians@google.com508eba52011-08-08 12:48:13 +000081 ], # targets
mflodman@webrtc.org6af95942012-05-24 13:23:35 +000082 'conditions': [
83 ['include_tests==1', {
xians@google.com508eba52011-08-08 12:48:13 +000084 'targets': [
85 {
stefan@webrtc.org42e78ac2012-05-24 14:36:34 +000086 'target_name': 'vp8_integrationtests',
xians@google.com508eba52011-08-08 12:48:13 +000087 'type': 'executable',
88 'dependencies': [
xians@google.comd3185fe2011-09-12 12:24:39 +000089 'test_framework',
xians@google.com508eba52011-08-08 12:48:13 +000090 'webrtc_vp8',
andrew@webrtc.orgfa418ac2012-09-11 01:34:21 +000091 '<(webrtc_root)/common_video/common_video.gyp:common_video',
xians@google.comd3185fe2011-09-12 12:24:39 +000092 '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
andrew@webrtc.org81cf5e42012-06-27 01:41:54 +000093 '<(webrtc_root)/test/test.gyp:test_support',
94 '<(webrtc_root)/test/test.gyp:test_support_main',
95 '<(DEPTH)/testing/gtest.gyp:gtest',
xians@google.com508eba52011-08-08 12:48:13 +000096 ],
97 'sources': [
xians@google.com508eba52011-08-08 12:48:13 +000098 # source files
mikhal@webrtc.org251f64e2012-12-06 17:56:20 +000099 'test/vp8_impl_unittest.cc',
stefan@webrtc.orga4a88f92011-12-02 08:34:05 +0000100 ],
101 },
102 {
103 'target_name': 'vp8_unittests',
104 'type': 'executable',
105 'dependencies': [
andrew@webrtc.orgf5a91fd2012-07-23 16:28:02 +0000106 'webrtc_vp8',
mikhal@webrtc.org60d25f92012-12-06 16:48:18 +0000107 'test_framework',
stefan@webrtc.orgc5300432012-10-08 07:06:53 +0000108 '<(DEPTH)/testing/gmock.gyp:gmock',
andrew@webrtc.org81cf5e42012-06-27 01:41:54 +0000109 '<(DEPTH)/testing/gtest.gyp:gtest',
andrew@webrtc.orgf5a91fd2012-07-23 16:28:02 +0000110 '<(webrtc_root)/test/test.gyp:test_support_main',
stefan@webrtc.orga4a88f92011-12-02 08:34:05 +0000111 ],
112 'include_dirs': [
andrew@webrtc.org81cf5e42012-06-27 01:41:54 +0000113 '<(DEPTH)/third_party/libvpx/source/libvpx',
stefan@webrtc.orga4a88f92011-12-02 08:34:05 +0000114 ],
115 'sources': [
116 'reference_picture_selection_unittest.cc',
pwestin@webrtc.orgdb221d22011-12-02 11:31:08 +0000117 'temporal_layers_unittest.cc',
xians@google.com508eba52011-08-08 12:48:13 +0000118 ],
sjlee@webrtc.org4b425082012-09-10 17:58:21 +0000119 'conditions': [
120 ['build_libvpx==1', {
121 'dependencies': [
122 '<(DEPTH)/third_party/libvpx/libvpx.gyp:libvpx',
123 ],
124 }],
125 ],
xians@google.com508eba52011-08-08 12:48:13 +0000126 },
mikhal@webrtc.org451aa5d2012-12-07 21:23:02 +0000127 {
128 'target_name': 'vp8_coder',
129 'type': 'executable',
130 'dependencies': [
131 'webrtc_vp8',
132 '<(webrtc_root)/common_video/common_video.gyp:common_video',
133 '<(webrtc_root)/test/metrics.gyp:metrics',
134 '<(DEPTH)/testing/gtest.gyp:gtest',
135 '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
136 '<(webrtc_root)/test/test.gyp:test_support_main',
137 '<(webrtc_root)/tools/tools.gyp:command_line_parser',
138 ],
139 'sources': [
140 'vp8_sequence_coder.cc',
141 ],
142 },
xians@google.com508eba52011-08-08 12:48:13 +0000143 ], # targets
mflodman@webrtc.org6af95942012-05-24 13:23:35 +0000144 }], # include_tests
niklase@google.com470e71d2011-07-07 08:21:25 +0000145 ],
146}