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..41666285c1ba7dd8539f4662b8045fdd5e62ab91 |
--- /dev/null |
+++ b/third_party/openh264/openh264.gyp |
@@ -0,0 +1,179 @@ |
+# 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', |
+ ], |
+ # Default dependencies and defines. |
+ 'variables': { |
+ 'openh264_common_dependencies': [ |
+ ], |
+ 'openh264_defines': [ |
+ # This is supposed to be defined in version.h but isn't for some |
+ # targets (win_chromium_compile_dbg_ng trybot). It's only used for |
+ # debug printing so we fix this issue by give it a default value. |
+ 'VERSION_NUMBER="openh264 v.?.?"', |
+ ], |
+ }, |
+ # Target-specific dependencies and defines. |
+ 'conditions': [ |
+ ['OS=="linux"', {}], |
+ ['OS=="mac"', {}], |
+ ['OS=="ios"', {}], |
+ ['OS=="win"', {}], |
+ ['OS=="android"', { |
+ 'variables': { |
+ 'openh264_common_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', |
+ ], |
+ 'openh264_defines': [ |
+ 'ANDROID_NDK', |
+ ], |
+ }, |
+ }], |
+ ], |
+ 'targets': [ |
+ { |
+ 'target_name': 'openh264_common', |
+ 'type': 'static_library', |
+ 'dependencies': [ |
+ '<@(openh264_common_dependencies)', |
+ ], |
+ 'defines': [ |
+ '<@(openh264_defines)', |
+ ], |
+ 'cflags': [ '-Wno-unused-value', '-fvisibility=default', ], |
+ 'cflags!': [ '-Wheader-hygiene', ], |
+ 'xcode_settings': { |
+ 'WARNING_CFLAGS': [ '-Wno-unused-value', '-fvisibility=default' ], |
+ 'WARNING_CFLAGS!': [ '-Wheader-hygiene', ], |
+ }, |
+ '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)', |
+ ], |
+ 'cflags': [ '-Wno-unused-value', '-fvisibility=default', ], |
+ 'cflags!': [ '-Wheader-hygiene', ], |
+ 'xcode_settings': { |
+ 'WARNING_CFLAGS': [ '-Wno-unused-value', '-fvisibility=default' ], |
+ 'WARNING_CFLAGS!': [ '-Wheader-hygiene', ], |
+ }, |
+ '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)', |
+ ], |
+ 'cflags': [ '-Wno-unused-value', '-fvisibility=default', ], |
+ 'cflags!': [ '-Wheader-hygiene', ], |
+ 'xcode_settings': { |
+ 'WARNING_CFLAGS': [ '-Wno-unused-value', '-fvisibility=default' ], |
+ 'WARNING_CFLAGS!': [ '-Wheader-hygiene', ], |
+ }, |
+ '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)', |
+ # Disables decoder_core.cpp debug prints. |
+ 'CODEC_FOR_TESTBED', |
+ ], |
+ 'cflags': [ '-Wno-unused-value', '-fvisibility=default', ], |
+ 'cflags!': [ '-Wheader-hygiene', ], |
+ 'xcode_settings': { |
+ 'WARNING_CFLAGS': [ '-Wno-unused-value', '-fvisibility=default' ], |
+ 'WARNING_CFLAGS!': [ '-Wheader-hygiene', ], |
+ }, |
+ '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', |
+ } |
+ ], |
+ }], |
+ ], |
+} |