8f4ba76742
This class does scaling by using a scanlineDecoder. getScanlines and skipScanlines are used for y sampling, the swizzler is used for x sampling this class is currently only working for png and jpeg images I will update other Codec types to work soon For SkJpegCodec to implement width wise swizzling it now uses a swizzler. I ran performance tests on this change. Here are the performance test results: https://docs.google.com/a/google.com/spreadsheets/d/1D7-Q_GXD_dI68LZO005NNvb8Wq2Ee0wEBEPG72671yw/edit?usp=sharing BUG=skia: Committed: https://skia.googlesource.com/skia/+/0944100ac89f797714eeae0cf2875e2335ff52ee Committed: https://skia.googlesource.com/skia/+/d518ea7927f9f4e0ed5b4134d1b4f48243855a47 Committed: https://skia.googlesource.com/skia/+/b157917507d4f7d2651f0aeb566d31603cc02240 Review URL: https://codereview.chromium.org/1260673002
94 lines
3.0 KiB
Python
94 lines
3.0 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',
|
|
'libwebp.gyp:libwebp',
|
|
],
|
|
'cflags':[
|
|
# FIXME: This gets around a longjmp warning. See
|
|
# http://build.chromium.org/p/client.skia.compile/builders/Build-Ubuntu-GCC-x86_64-Release-Trybot/builds/113/steps/build%20most/logs/stdio
|
|
'-Wno-clobbered',
|
|
],
|
|
'include_dirs': [
|
|
'../include/codec',
|
|
'../include/private',
|
|
'../src/codec',
|
|
'../src/core',
|
|
],
|
|
'sources': [
|
|
'../src/codec/SkBmpCodec.cpp',
|
|
'../src/codec/SkBmpMaskCodec.cpp',
|
|
'../src/codec/SkBmpRLECodec.cpp',
|
|
'../src/codec/SkBmpStandardCodec.cpp',
|
|
'../src/codec/SkCodec.cpp',
|
|
'../src/codec/SkCodec_libgif.cpp',
|
|
'../src/codec/SkCodec_libico.cpp',
|
|
'../src/codec/SkCodec_libpng.cpp',
|
|
'../src/codec/SkCodec_wbmp.cpp',
|
|
'../src/codec/SkGifInterlaceIter.cpp',
|
|
'../src/codec/SkJpegCodec.cpp',
|
|
'../src/codec/SkJpegDecoderMgr.cpp',
|
|
'../src/codec/SkJpegUtility_codec.cpp',
|
|
'../src/codec/SkMaskSwizzler.cpp',
|
|
'../src/codec/SkMasks.cpp',
|
|
'../src/codec/SkScaledCodec.cpp',
|
|
'../src/codec/SkScanlineDecoder.cpp',
|
|
'../src/codec/SkSwizzler.cpp',
|
|
'../src/codec/SkWebpCodec.cpp',
|
|
],
|
|
'direct_dependent_settings': {
|
|
'include_dirs': [
|
|
'../include/codec',
|
|
],
|
|
},
|
|
'conditions': [
|
|
[ 'skia_android_framework == 1',
|
|
{
|
|
# TODO(djsollen): this is a temporary dependency until we can update
|
|
# the android framework to a more recent version of libpng.
|
|
'dependencies': [
|
|
'libpng.gyp:libpng',
|
|
],
|
|
# TODO(msarett): Add libjpeg-turbo to Android so we can compile SkJpegCodec
|
|
# for the framework.
|
|
'sources!': [
|
|
'../src/codec/SkJpegCodec.cpp',
|
|
'../src/codec/SkJpegDecoderMgr.cpp',
|
|
'../src/codec/SkJpegUtility_codec.cpp',
|
|
],
|
|
}, { # !skia_android_framework
|
|
'dependencies': [
|
|
# TODO(msarett): Add libjpeg-turbo to Android so this can be a global
|
|
# dependency.
|
|
'libjpeg-turbo.gyp:libjpeg-turbo',
|
|
'libpng.gyp:libpng_static',
|
|
],
|
|
'export_dependent_settings': [
|
|
'libjpeg-turbo.gyp:libjpeg-turbo',
|
|
],
|
|
'cflags': [
|
|
'-DTURBO_HAS_SKIP',
|
|
],
|
|
}
|
|
]
|
|
]
|
|
},
|
|
],
|
|
}
|