91c22b2ea6
This was adapted from: https://codereview.chromium.org/1530933003 Subset Decode Runtime (Original / Optimized) on Nexus 6P TopLeft 0.51x TopRight 0.56x Middle 0.71x BottomLeft 0.79x BottomRight 0.79x BUG=skia:4256 GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1719073002 Review URL: https://codereview.chromium.org/1719073002
148 lines
4.5 KiB
Python
148 lines
4.5 KiB
Python
# Copyright 2015 Google Inc.
|
|
#
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
# Copyright 2015 Google Inc.
|
|
#
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
# GYP file for codec project.
|
|
{
|
|
'targets': [
|
|
{
|
|
'target_name': 'codec',
|
|
'product_name': 'skia_codec',
|
|
'type': 'static_library',
|
|
'standalone_static_library': 1,
|
|
'dependencies': [
|
|
'core.gyp:*',
|
|
'giflib.gyp:giflib',
|
|
'libjpeg-turbo-selector.gyp:libjpeg-turbo-selector',
|
|
'libpng.gyp:libpng',
|
|
'libwebp.gyp:libwebp',
|
|
],
|
|
'cflags':[
|
|
# FIXME: This gets around a warning: "Argument might be clobbered by longjmp".
|
|
'-Wno-clobbered -Wno-error',
|
|
],
|
|
'include_dirs': [
|
|
'../include/codec',
|
|
'../include/private',
|
|
'../src/codec',
|
|
'../src/core',
|
|
'../src/utils',
|
|
],
|
|
'sources': [
|
|
'../src/codec/SkAndroidCodec.cpp',
|
|
'../src/codec/SkBmpCodec.cpp',
|
|
'../src/codec/SkBmpMaskCodec.cpp',
|
|
'../src/codec/SkBmpRLECodec.cpp',
|
|
'../src/codec/SkBmpStandardCodec.cpp',
|
|
'../src/codec/SkCodec.cpp',
|
|
'../src/codec/SkGifCodec.cpp',
|
|
'../src/codec/SkIcoCodec.cpp',
|
|
'../src/codec/SkJpegCodec.cpp',
|
|
'../src/codec/SkJpegDecoderMgr.cpp',
|
|
'../src/codec/SkJpegUtility_codec.cpp',
|
|
'../src/codec/SkMaskSwizzler.cpp',
|
|
'../src/codec/SkMasks.cpp',
|
|
'../src/codec/SkPngCodec.cpp',
|
|
'../src/codec/SkSampler.cpp',
|
|
'../src/codec/SkSampledCodec.cpp',
|
|
'../src/codec/SkSwizzler.cpp',
|
|
'../src/codec/SkWbmpCodec.cpp',
|
|
'../src/codec/SkWebpAdapterCodec.cpp',
|
|
'../src/codec/SkWebpCodec.cpp',
|
|
|
|
'../src/codec/SkCodecImageGenerator.cpp',
|
|
'../src/ports/SkImageGenerator_skia.cpp',
|
|
],
|
|
'direct_dependent_settings': {
|
|
'include_dirs': [
|
|
'../include/codec',
|
|
],
|
|
},
|
|
'defines': [
|
|
# Turn on all of the codecs, since we know that we have all of the
|
|
# necessary dependencies. Clients that are missing some of the
|
|
# required decoding libraries may choose to turn the codecs on or
|
|
# off individually.
|
|
'SK_CODEC_DECODES_GIF',
|
|
'SK_CODEC_DECODES_JPEG',
|
|
'SK_CODEC_DECODES_PNG',
|
|
'SK_CODEC_DECODES_WEBP',
|
|
|
|
# Turn on libjpeg-turbo optimizations since we know that the
|
|
# appropriate version of libjpeg-turbo is present.
|
|
'TURBO_HAS_SKIP',
|
|
'TURBO_HAS_565',
|
|
],
|
|
'conditions': [
|
|
['skia_codec_decodes_raw', {
|
|
'dependencies': [
|
|
'raw_codec',
|
|
],
|
|
},],
|
|
['skia_android_framework == 0', {
|
|
'defines': [
|
|
# TODO (msarett): Add this optimization to Android.
|
|
# https://buganizer.corp.google.com/u/0/issues/27290496
|
|
'TURBO_HAS_CROP',
|
|
],
|
|
},],
|
|
],
|
|
}, {
|
|
# RAW codec needs exceptions. Due to that, it is a separate target. Its usage can be
|
|
# controlled by skia_codec_decodes_raw flag.
|
|
'target_name': 'raw_codec',
|
|
'product_name': 'raw_codec',
|
|
'type': 'static_library',
|
|
'dependencies': [
|
|
'core.gyp:*',
|
|
'dng_sdk.gyp:dng_sdk-selector',
|
|
'libjpeg-turbo-selector.gyp:libjpeg-turbo-selector',
|
|
'piex.gyp:piex-selector',
|
|
],
|
|
'cflags':[
|
|
'-fexceptions',
|
|
],
|
|
'msvs_settings': {
|
|
'VCCLCompilerTool': {
|
|
# Need this because we are handling exception in SkRawCodec, which will trigger warning
|
|
# C4530. Add this flag as suggested by the compiler.
|
|
'AdditionalOptions': ['/EHsc', ],
|
|
},
|
|
},
|
|
'include_dirs': [
|
|
'../include/codec',
|
|
'../include/private',
|
|
'../src/codec',
|
|
'../src/core',
|
|
],
|
|
'sources': [
|
|
'../src/codec/SkRawAdapterCodec.cpp',
|
|
'../src/codec/SkRawCodec.cpp',
|
|
],
|
|
'direct_dependent_settings': {
|
|
'include_dirs': [
|
|
'../include/codec',
|
|
],
|
|
},
|
|
'conditions': [
|
|
['skia_arch_type == "x86" or skia_arch_type == "arm"', {
|
|
'defines': [
|
|
'qDNGBigEndian=0',
|
|
],
|
|
}],
|
|
['skia_os == "ios" or skia_os == "mac"', {
|
|
'xcode_settings': {
|
|
'OTHER_CFLAGS': ['-fexceptions'],
|
|
'OTHER_CPLUSPLUSFLAGS': ['-fexceptions'],
|
|
},
|
|
}],
|
|
],
|
|
},
|
|
],
|
|
}
|