blob: 6ca057ed838cc405c67b7259dace983bd58ea5af [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': [
andrew@webrtc.orgfa418ac2012-09-11 01:34:21 +000028 '<(webrtc_root)/common_video/common_video.gyp:common_video',
stefan@webrtc.orgeb917922013-02-18 14:40:18 +000029 '<(webrtc_root)/modules/video_coding/utility/video_coding_utility.gyp:video_coding_utility',
30 '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
niklase@google.com470e71d2011-07-07 08:21:25 +000031 ],
32 'include_dirs': [
andrew@webrtc.orgd1f3b1a2012-07-27 22:19:16 +000033 'include',
stefan@webrtc.org0ee8ba12011-11-25 12:12:43 +000034 '<(webrtc_root)/common_video/interface',
stefan@webrtc.org0ee8ba12011-11-25 12:12:43 +000035 '<(webrtc_root)/modules/video_coding/codecs/interface',
36 '<(webrtc_root)/modules/interface',
niklase@google.com470e71d2011-07-07 08:21:25 +000037 ],
38 'conditions': [
sjlee@webrtc.org4b425082012-09-10 17:58:21 +000039 ['build_libvpx==1', {
40 'dependencies': [
41 '<(DEPTH)/third_party/libvpx/libvpx.gyp:libvpx',
42 ],
43 }],
andrew@webrtc.orgd1f3b1a2012-07-27 22:19:16 +000044 # TODO(mikhal): Investigate this mechanism for handling differences
45 # between the Chromium and standalone builds.
46 # http://code.google.com/p/webrtc/issues/detail?id=201
niklase@google.com470e71d2011-07-07 08:21:25 +000047 ['build_with_chromium==1', {
stefan@webrtc.org0ee8ba12011-11-25 12:12:43 +000048 'defines': [
49 'WEBRTC_LIBVPX_VERSION=960' # Bali
50 ],
sjlee@webrtc.org4b425082012-09-10 17:58:21 +000051 }, {
mikhal@webrtc.org6724cf82011-08-24 00:51:36 +000052 'defines': [
xians@google.comd3185fe2011-09-12 12:24:39 +000053 'WEBRTC_LIBVPX_VERSION=971' # Cayuga
mikhal@webrtc.org6724cf82011-08-24 00:51:36 +000054 ],
henrikg@webrtc.orgc0ceb822012-10-24 12:34:28 +000055 }],
56 ['use_temporal_layers==1', {
stefan@webrtc.org0ae71b92011-12-05 08:42:52 +000057 'sources': [
stefan@webrtc.orgeb917922013-02-18 14:40:18 +000058 'default_temporal_layers.cc',
59 'default_temporal_layers.h',
stefan@webrtc.org0ae71b92011-12-05 08:42:52 +000060 'temporal_layers.h',
stefan@webrtc.org0ae71b92011-12-05 08:42:52 +000061 ],
niklase@google.com470e71d2011-07-07 08:21:25 +000062 }],
63 ],
64 'direct_dependent_settings': {
65 'include_dirs': [
andrew@webrtc.orgd1f3b1a2012-07-27 22:19:16 +000066 'include',
stefan@webrtc.org0ee8ba12011-11-25 12:12:43 +000067 '<(webrtc_root)/common_video/interface',
68 '<(webrtc_root)/modules/video_coding/codecs/interface',
niklase@google.com470e71d2011-07-07 08:21:25 +000069 ],
70 },
71 'sources': [
stefan@webrtc.orga4a88f92011-12-02 08:34:05 +000072 'reference_picture_selection.h',
73 'reference_picture_selection.cc',
andrew@webrtc.orgd1f3b1a2012-07-27 22:19:16 +000074 'include/vp8.h',
75 'include/vp8_common_types.h',
pwestin@webrtc.org8d89b582012-09-20 20:49:12 +000076 'vp8_impl.cc',
niklase@google.com470e71d2011-07-07 08:21:25 +000077 ],
kjellander@webrtc.orgfa53d872013-02-04 10:07:17 +000078 # Disable warnings to enable Win64 build, issue 1323.
79 'msvs_disabled_warnings': [
80 4267, # size_t to int truncation.
81 ],
niklase@google.com470e71d2011-07-07 08:21:25 +000082 },
xians@google.com508eba52011-08-08 12:48:13 +000083 ], # targets
mflodman@webrtc.org6af95942012-05-24 13:23:35 +000084 'conditions': [
85 ['include_tests==1', {
xians@google.com508eba52011-08-08 12:48:13 +000086 'targets': [
87 {
stefan@webrtc.org42e78ac2012-05-24 14:36:34 +000088 'target_name': 'vp8_integrationtests',
xians@google.com508eba52011-08-08 12:48:13 +000089 'type': 'executable',
90 'dependencies': [
xians@google.comd3185fe2011-09-12 12:24:39 +000091 'test_framework',
xians@google.com508eba52011-08-08 12:48:13 +000092 'webrtc_vp8',
andrew@webrtc.orgfa418ac2012-09-11 01:34:21 +000093 '<(webrtc_root)/common_video/common_video.gyp:common_video',
xians@google.comd3185fe2011-09-12 12:24:39 +000094 '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
andrew@webrtc.org81cf5e42012-06-27 01:41:54 +000095 '<(webrtc_root)/test/test.gyp:test_support',
96 '<(webrtc_root)/test/test.gyp:test_support_main',
97 '<(DEPTH)/testing/gtest.gyp:gtest',
xians@google.com508eba52011-08-08 12:48:13 +000098 ],
99 'sources': [
xians@google.com508eba52011-08-08 12:48:13 +0000100 # source files
mikhal@webrtc.org251f64e2012-12-06 17:56:20 +0000101 'test/vp8_impl_unittest.cc',
stefan@webrtc.orga4a88f92011-12-02 08:34:05 +0000102 ],
103 },
104 {
105 'target_name': 'vp8_unittests',
106 'type': 'executable',
107 'dependencies': [
andrew@webrtc.orgf5a91fd2012-07-23 16:28:02 +0000108 'webrtc_vp8',
mikhal@webrtc.org60d25f92012-12-06 16:48:18 +0000109 'test_framework',
stefan@webrtc.orgc5300432012-10-08 07:06:53 +0000110 '<(DEPTH)/testing/gmock.gyp:gmock',
andrew@webrtc.org81cf5e42012-06-27 01:41:54 +0000111 '<(DEPTH)/testing/gtest.gyp:gtest',
andrew@webrtc.orgf5a91fd2012-07-23 16:28:02 +0000112 '<(webrtc_root)/test/test.gyp:test_support_main',
stefan@webrtc.orga4a88f92011-12-02 08:34:05 +0000113 ],
114 'include_dirs': [
andrew@webrtc.org81cf5e42012-06-27 01:41:54 +0000115 '<(DEPTH)/third_party/libvpx/source/libvpx',
stefan@webrtc.orga4a88f92011-12-02 08:34:05 +0000116 ],
117 'sources': [
stefan@webrtc.orgeb917922013-02-18 14:40:18 +0000118 'default_temporal_layers_unittest.cc',
stefan@webrtc.orga4a88f92011-12-02 08:34:05 +0000119 'reference_picture_selection_unittest.cc',
xians@google.com508eba52011-08-08 12:48:13 +0000120 ],
sjlee@webrtc.org4b425082012-09-10 17:58:21 +0000121 'conditions': [
122 ['build_libvpx==1', {
123 'dependencies': [
124 '<(DEPTH)/third_party/libvpx/libvpx.gyp:libvpx',
125 ],
126 }],
127 ],
xians@google.com508eba52011-08-08 12:48:13 +0000128 },
mikhal@webrtc.org451aa5d2012-12-07 21:23:02 +0000129 {
130 'target_name': 'vp8_coder',
131 'type': 'executable',
132 'dependencies': [
133 'webrtc_vp8',
134 '<(webrtc_root)/common_video/common_video.gyp:common_video',
135 '<(webrtc_root)/test/metrics.gyp:metrics',
136 '<(DEPTH)/testing/gtest.gyp:gtest',
137 '<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
138 '<(webrtc_root)/test/test.gyp:test_support_main',
139 '<(webrtc_root)/tools/tools.gyp:command_line_parser',
140 ],
141 'sources': [
142 'vp8_sequence_coder.cc',
143 ],
144 },
xians@google.com508eba52011-08-08 12:48:13 +0000145 ], # targets
mflodman@webrtc.org6af95942012-05-24 13:23:35 +0000146 }], # include_tests
niklase@google.com470e71d2011-07-07 08:21:25 +0000147 ],
148}