Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(164)

Unified Diff: gyp/libjpeg-turbo.gyp

Issue 1180983002: Switch SkJpegCode to libjpeg-turbo (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Rebase 2 Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: gyp/libjpeg-turbo.gyp
diff --git a/gyp/libjpeg-turbo.gyp b/gyp/libjpeg-turbo.gyp
new file mode 100644
index 0000000000000000000000000000000000000000..8743806a32ddb927ade8befa41213e5e9bfb08e5
--- /dev/null
+++ b/gyp/libjpeg-turbo.gyp
@@ -0,0 +1,254 @@
+# Copyright (c) 2012 The Chromium Authors. All rights reserved.
scroggo 2015/06/19 16:11:25 I started to correct this with a Skia copyright (w
msarett 2015/06/22 22:36:04 Yeah I'm certainly adding modifications, but I thi
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+{
+ # This file is not used when use_system_libjpeg==1. Settings for building with
scroggo 2015/06/19 16:11:25 When do we ever want to build with the system libj
msarett 2015/06/22 22:36:04 I don't think we ever do. I need to remove this c
+ # the system libjpeg is in third_party/libjpeg/libjpeg.gyp.
+ 'variables': {
+ 'shared_generated_dir': '<(SHARED_INTERMEDIATE_DIR)/third_party/libjpeg_turbo',
+ 'conditions': [
+ [ 'OS=="win"', {
+ 'object_suffix': 'obj',
+ }, {
+ 'object_suffix': 'o',
+ }],
+ ],
+ },
+ 'targets': [
+ {
+ 'target_name': 'libjpeg-turbo',
+ 'type': 'static_library',
+ 'include_dirs': [
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/',
+ ],
+ 'defines': [
+ 'WITH_SIMD',
+ 'MOTION_JPEG_SUPPORTED',
+ 'NO_GETENV',
+ ],
+ 'cflags': [
+ '-w', # supresses warnings
+ ],
+ 'sources': [
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jaricom.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jcapimin.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jcapistd.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jcarith.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jccoefct.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jccolor.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jcdctmgr.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jchuff.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jchuff.h',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jcinit.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jcmainct.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jcmarker.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jcmaster.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jcomapi.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jconfig.h',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jcparam.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jcphuff.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jcprepct.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jcsample.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jdapimin.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jdapistd.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jdarith.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jdatadst.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jdatasrc.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jdcoefct.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jdcolor.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jdct.h',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jddctmgr.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jdhuff.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jdhuff.h',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jdinput.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jdmainct.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jdmarker.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jdmaster.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jdmerge.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jdphuff.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jdpostct.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jdsample.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jerror.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jerror.h',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jfdctflt.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jfdctfst.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jfdctint.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jidctflt.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jidctfst.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jidctint.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jidctred.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jinclude.h',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jmemmgr.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jmemnobs.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jmemsys.h',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jmorecfg.h',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jpegint.h',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jpeglib.h',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jpeglibmangler.h',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jquant1.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jquant2.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jutils.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jversion.h',
+ ],
+ 'direct_dependent_settings': {
+ 'include_dirs': [
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/',
+ ],
+ },
+ 'msvs_disabled_warnings': [4018, 4101],
+ # VS2010 does not correctly incrementally link obj files generated
+ # from asm files. This flag disables UseLibraryDependencyInputs to
+ # avoid this problem.
+ 'msvs_2010_disable_uldi_when_referenced': 1,
+ 'conditions': [
+ [ 'OS!="win"', {'product_name': 'jpeg_turbo'}],
+ # Add target-specific source files.
+ [ 'skia_arch_type=="x86"', {
+ 'sources': [
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jsimd_i386.c',
+ #'../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jccolext-mmx.asm',
+ #'../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jccolext-sse2.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jccolor-mmx.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jccolor-sse2.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jcgray-mmx.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jcgray-sse2.asm',
+ #'../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jcgryext-mmx.asm',
+ #'../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jcgryext-sse2.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jcsample-mmx.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jcsample-sse2.asm',
+ #'../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jdcolext-mmx.asm',
+ #'../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jdcolext-sse2.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jdcolor-mmx.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jdcolor-sse2.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jdmerge-mmx.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jdmerge-sse2.asm',
+ #'../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jdmrgext-mmx.asm',
+ #'../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jdmrgext-sse2.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jdsample-mmx.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jdsample-sse2.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jfdctflt-3dn.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jfdctflt-sse.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jfdctfst-mmx.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jfdctfst-sse2.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jfdctint-mmx.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jfdctint-sse2.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jidctflt-3dn.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jidctflt-sse2.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jidctflt-sse.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jidctfst-mmx.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jidctfst-sse2.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jidctint-mmx.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jidctint-sse2.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jidctred-mmx.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jidctred-sse2.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jquant-3dn.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jquantf-sse2.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jquanti-sse2.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jquant-mmx.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jquant-sse.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jsimdcpu.asm',
+ ],
+ }],
+ [ 'skia_arch_type=="x86_64"', {
+ 'sources': [
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jsimd_x86_64.c',
+ #'../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jccolext-sse2-64.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jccolor-sse2-64.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jcgray-sse2-64.asm',
+ #'../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jcgryext-sse2-64.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jcsample-sse2-64.asm',
+ #'../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jdcolext-sse2-64.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jdcolor-sse2-64.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jdmerge-sse2-64.asm',
+ #'../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jdmrgext-sse2-64.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jdsample-sse2-64.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jfdctflt-sse-64.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jfdctfst-sse2-64.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jfdctint-sse2-64.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jidctflt-sse2-64.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jidctfst-sse2-64.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jidctint-sse2-64.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jidctred-sse2-64.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jquantf-sse2-64.asm',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jquanti-sse2-64.asm',
+ ],
+ }],
+ # The ARM SIMD implementation can be used for devices that support
+ # the NEON instruction set. This can safely be done dynamically by
+ # probing CPU features at runtime, if you wish.
+ [ 'skia_arch_type=="arm"', {
+ 'conditions': [
+ [ 'arm_version >= 7 and (arm_neon == 1 or arm_neon_optional == 1)', {
+ 'sources': [
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jsimd_arm.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jsimd_arm_neon.S',
+ ],
+ }, {
+ 'sources': [
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jsimd_none.c',
+ ],
+ }]
+ ],
+ }],
+ [ 'skia_arch_type=="arm64"', {
+ 'sources': [
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jsimd_arm64.c',
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/simd/jsimd_arm64_neon.S',
+ ],
+ }],
+ [ 'skia_arch_type=="mipsel" or skia_arch_type=="mips64el"', {
+ 'sources': [
+ '../third_party/libjpeg-turbo/libjpeg-turbo-code/jsimd_none.c',
+ ],
+ }],
+ ],
+ 'variables': {
+ 'yasm_path': '<!(which yasm)',
+ 'conditions': [
+ [ 'skia_arch_type=="x86"', {
+ 'yasm_format': '-felf',
+ 'yasm_flags': [
+ '-D__x86__',
+ '-DELF',
+ '-Ilinux/'
+ ],
+ }, {
+ 'yasm_format': '-felf64',
+ 'yasm_flags': [
+ '-D__x86_64__',
+ '-DELF',
+ '-Ilinux/'
+ ],
+ }],
+ ],
+ },
+ 'rules': [
+ {
+ 'rule_name': 'assemble',
+ 'extension': 'asm',
+ 'conditions': [
+ [ 'skia_arch_type=="x86" or skia_arch_type=="x86_64"', {
+ 'inputs': [ '<(yasm_path)', ],
+ 'outputs': [
+ '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_suffix)',
+ ],
+ 'action': [
+ '<(yasm_path)',
+ '<(yasm_format)',
+ '<@(yasm_flags)',
+ '-DRGBX_FILLER_0XFF',
+ '-DSTRICT_MEMORY_ACCESS',
+ '-Isimd/',
+ '-o', '<(shared_generated_dir)/<(RULE_INPUT_ROOT).<(object_suffix)',
+ '<(RULE_INPUT_PATH)',
+ ],
+ 'process_outputs_as_sources': 1,
+ 'message': 'Building <(RULE_INPUT_ROOT).<(object_suffix)',
+ }],
+ ]
+ },
+ ],
+ },
+ ],
+}
« no previous file with comments | « gyp/codec.gyp ('k') | src/codec/SkJpegCodec.h » ('j') | src/codec/SkJpegCodec.cpp » ('J')

Powered by Google App Engine
This is Rietveld 408576698