Index: third_party/openh264/openh264.gyp |
diff --git a/third_party/openh264/openh264.gyp b/third_party/openh264/openh264.gyp |
new file mode 100644 |
index 0000000000000000000000000000000000000000..9256941f5f696eca7fbd16dbfb1d11da53f3d52f |
--- /dev/null |
+++ b/third_party/openh264/openh264.gyp |
@@ -0,0 +1,181 @@ |
+# Copyright 2015 The Chromium Authors. All rights reserved. |
+# Use of this source code is governed by a BSD-style license that can be |
+# found in the LICENSE file. |
+ |
+{ |
+ 'conditions': [ |
+ ['build_openh264==1', { |
+ # === Building with OpenH264 === |
+ 'includes': [ |
+ 'openh264.gypi', |
+ ], |
+ 'variables': { |
+ # Defines shared by all openh264 targets. |
+ 'openh264_defines': [ |
+ # This is supposed to be defined in version.h but isn't for some |
+ # windows and mac targets. It's only used for debug printing so we fix |
+ # this issue by give it a default value. |
+ 'VERSION_NUMBER="openh264 v.?.?"', |
torbjorng
2015/11/05 13:18:25
If it isn't defined for some builds, one can safel
hbos_chromium
2015/11/10 14:36:47
I don't like this workaround but I'd rather try to
|
+ ], |
+ 'conditions': [ |
+ # cflags shared by all openh264 targets. |
+ ['OS!="win"', { |
+ 'openh264_cflags_add': [ |
+ '-fvisibility=default', |
torbjorng
2015/11/05 13:18:25
See comment on other file.
|
+ '-w', |
+ ], |
+ }, { |
+ 'openh264_cflags_add': [ |
+ '/w', |
+ ], |
+ }], |
+ # Defines that are specific to target platforms. |
+ ['OS!="android"', { |
+ 'openh264_defines_os': [], |
+ }, { |
+ 'openh264_defines_os': [ |
+ 'ANDROID_NDK', |
+ ], |
+ }], |
+ ], |
+ }, |
+ 'targets': [ |
+ { |
+ 'target_name': 'openh264_common', |
+ 'type': 'static_library', |
+ 'conditions': [ |
+ ['OS=="android"', { |
+ 'dependencies': [ |
+ # Defines "android_get/setCpu..." functions. The original |
+ # OpenH264 build files replaces these using macros for |
+ # "wels_..." versions of the same functions. We do not have |
+ # access to these and use the <cpu-features.h> ones instead. |
+ '<(DEPTH)/build/android/ndk.gyp:cpu_features', |
+ ], |
+ }], |
+ ], |
+ 'defines': [ |
torbjorng
2015/11/05 13:18:25
Presumably, the following block of code could be s
hbos_chromium
2015/11/10 14:36:47
Now using 'target_defaults' instead.
|
+ '<@(openh264_defines)', |
+ '<@(openh264_defines_os)', |
+ ], |
+ 'cflags': [ '<@(openh264_cflags_add)', ], |
+ 'xcode_settings': { |
+ 'WARNING_CFLAGS': [ '<@(openh264_cflags_add)', ], |
+ }, |
+ 'include_dirs': [ |
+ 'src/codec/api/svc', |
+ 'src/codec/common/inc', |
+ 'src/codec/common/src', |
+ ], |
+ 'sources': [ |
+ '<@(openh264_common_sources)', |
+ ], |
+ }, |
+ { |
+ 'target_name': 'openh264_processing', |
+ 'type': 'static_library', |
+ 'dependencies': [ |
+ 'openh264_common', |
+ ], |
+ 'defines': [ |
+ '<@(openh264_defines)', |
+ '<@(openh264_defines_os)', |
+ ], |
+ 'cflags': [ '<@(openh264_cflags_add)', ], |
+ 'xcode_settings': { |
+ 'WARNING_CFLAGS': [ '<@(openh264_cflags_add)', ], |
+ }, |
+ 'include_dirs': [ |
+ 'src/codec/api/svc', |
+ 'src/codec/common/inc', |
+ 'src/codec/common/src', |
+ 'src/codec/processing/interface', |
+ 'src/codec/processing/interface/', |
+ 'src/codec/processing/src/adaptivequantization', |
+ 'src/codec/processing/src/backgrounddetection', |
+ 'src/codec/processing/src/common', |
+ 'src/codec/processing/src/complexityanalysis', |
+ 'src/codec/processing/src/denoise', |
+ 'src/codec/processing/src/downsample', |
+ 'src/codec/processing/src/imagerotate', |
+ 'src/codec/processing/src/scenechangedetection', |
+ 'src/codec/processing/src/scrolldetection', |
+ 'src/codec/processing/src/vaacalc', |
+ ], |
+ 'sources': [ |
+ '<@(openh264_processing_sources)', |
+ ], |
+ }, |
+ { |
+ 'target_name': 'openh264_encoder', |
+ 'type': 'static_library', |
+ 'dependencies': [ |
+ 'openh264_common', |
+ 'openh264_processing', |
+ ], |
+ 'defines': [ |
+ '<@(openh264_defines)', |
+ '<@(openh264_defines_os)', |
+ ], |
+ 'cflags': [ '<@(openh264_cflags_add)', ], |
+ 'xcode_settings': { |
+ 'WARNING_CFLAGS': [ '<@(openh264_cflags_add)', ], |
+ }, |
+ 'include_dirs': [ |
+ 'src/codec/api/svc', |
+ 'src/codec/common/inc', |
+ 'src/codec/common/src', |
+ 'src/codec/encoder/core/inc', |
+ 'src/codec/encoder/core/src', |
+ 'src/codec/encoder/plus/inc', |
+ 'src/codec/encoder/plus/src', |
+ 'src/codec/processing/interface/', |
+ ], |
+ 'sources': [ |
+ '<@(openh264_encoder_sources)', |
+ ], |
+ }, |
+ { |
+ 'target_name': 'openh264_decoder', |
+ 'type': 'static_library', |
+ 'dependencies': [ |
+ 'openh264_common', |
+ 'openh264_processing', |
+ ], |
+ 'defines': [ |
+ '<@(openh264_defines)', |
+ '<@(openh264_defines_os)', |
+ # Disables decoder_core.cpp debug prints. |
+ 'CODEC_FOR_TESTBED', |
+ ], |
+ 'cflags': [ '<@(openh264_cflags_add)', ], |
+ 'xcode_settings': { |
+ 'WARNING_CFLAGS': [ '<@(openh264_cflags_add)', ], |
+ }, |
+ 'include_dirs': [ |
+ 'src/codec/api/svc', |
+ 'src/codec/common/inc', |
+ 'src/codec/common/src', |
+ 'src/codec/decoder/core/inc', |
+ 'src/codec/decoder/core/src', |
+ 'src/codec/decoder/plus/inc', |
+ 'src/codec/decoder/plus/src', |
+ 'src/codec/processing/interface/', |
+ ], |
+ 'sources': [ |
+ '<@(openh264_decoder_sources)', |
+ ], |
+ }, |
+ ], |
+ },{ |
+ # Building without OpenH264. Defining a dummy target because every build |
+ # file needs to have at least one target. |
+ 'targets': [ |
+ { |
+ 'target_name': 'openh264_dummy_target', |
+ 'type': 'none', |
+ } |
+ ], |
+ }], |
+ ], |
+} |