From dd8076044ab3cd22db067b8b8eb4180bf42de44e Mon Sep 17 00:00:00 2001 From: "wjia@google.com" Date: Mon, 18 Jul 2011 21:51:45 +0000 Subject: [PATCH] several fixes for libjpeg related issues: 1. enable usage of libjpeg when libjpeg_turbo is not available; 2. remove forward declaration of some jpeg types since libjpeg and libjpeg_turbo have them defined differently; 3. pull in libjpeg code; Review URL: http://webrtc-codereview.appspot.com/80003 git-svn-id: http://webrtc.googlecode.com/svn/trunk@230 4adac7df-926f-26a2-2b94-8c16560cd09d --- DEPS | 3 ++ .../jpeg/main/source/data_manager.cc | 10 ------ .../jpeg/main/source/data_manager.h | 10 ++---- src/common_video/jpeg/main/source/jpeg.cc | 4 --- src/common_video/jpeg/main/source/jpeg.gyp | 35 ++++++++----------- 5 files changed, 21 insertions(+), 41 deletions(-) diff --git a/DEPS b/DEPS index 39e9d736e..3452ef1a7 100644 --- a/DEPS +++ b/DEPS @@ -30,6 +30,9 @@ deps = { "trunk/third_party/libjpeg_turbo/": Var("chromium_trunk") + "/deps/third_party/libjpeg_turbo@78340", + "trunk/third_party/libjpeg/": + Var("chromium_trunk") + "/src/third_party/libjpeg@" + Var("chromium_revision"), + "trunk/third_party/yasm/": Var("chromium_trunk") + "/src/third_party/yasm@" + Var("chromium_revision"), diff --git a/src/common_video/jpeg/main/source/data_manager.cc b/src/common_video/jpeg/main/source/data_manager.cc index f2836408a..cf8204d48 100644 --- a/src/common_video/jpeg/main/source/data_manager.cc +++ b/src/common_video/jpeg/main/source/data_manager.cc @@ -14,16 +14,6 @@ #include "data_manager.h" -#ifdef ANDROID -extern "C" { -#endif -#include "jpeglib.h" -#ifdef ANDROID -} -#endif -#include "jmorecfg.h" - - namespace webrtc { diff --git a/src/common_video/jpeg/main/source/data_manager.h b/src/common_video/jpeg/main/source/data_manager.h index 56fdb2d1c..07039f562 100644 --- a/src/common_video/jpeg/main/source/data_manager.h +++ b/src/common_video/jpeg/main/source/data_manager.h @@ -16,13 +16,9 @@ #define WEBRTC_COMMON_VIDEO_JPEG_DATA_MANAGER #include - -// jpeg forward declaration -struct jpeg_source_mgr; -typedef unsigned char JOCTET; -typedef int boolean; -typedef struct jpeg_decompress_struct* j_decompress_ptr; -typedef struct jpeg_compress_struct* j_compress_ptr; +extern "C" { +#include "jpeglib.h" +} namespace webrtc { diff --git a/src/common_video/jpeg/main/source/jpeg.cc b/src/common_video/jpeg/main/source/jpeg.cc index 7f2927aa3..ca4ff4c5d 100644 --- a/src/common_video/jpeg/main/source/jpeg.cc +++ b/src/common_video/jpeg/main/source/jpeg.cc @@ -22,13 +22,9 @@ #if defined(WIN32) #include #endif -#ifdef ANDROID extern "C" { -#endif #include "jpeglib.h" -#ifdef ANDROID } -#endif #include diff --git a/src/common_video/jpeg/main/source/jpeg.gyp b/src/common_video/jpeg/main/source/jpeg.gyp index 710b5b6e0..d0878feb1 100644 --- a/src/common_video/jpeg/main/source/jpeg.gyp +++ b/src/common_video/jpeg/main/source/jpeg.gyp @@ -10,6 +10,9 @@ 'includes': [ '../../../../common_settings.gypi', # Common settings ], + 'variables': { + 'use_libjpeg_turbo%': '<(use_libjpeg_turbo)', + }, 'targets': [ { 'target_name': 'webrtc_jpeg', @@ -31,28 +34,20 @@ 'conditions': [ ['build_with_chromium==1', { 'dependencies': [ - '../../../../../libjpeg_turbo/libjpeg.gyp:libjpeg', + '<(libjpeg_gyp_path):libjpeg', ], - 'include_dirs': [ - '../../../../../libjpeg_turbo', + }, { + 'conditions': [ + ['use_libjpeg_turbo==1', { + 'dependencies': [ + '../../../../../third_party/libjpeg_turbo/libjpeg.gyp:libjpeg', + ], + }, { + 'dependencies': [ + '../../../../../third_party/libjpeg/libjpeg.gyp:libjpeg', + ], + }], ], - 'direct_dependent_settings': { - 'include_dirs': [ - '../../../../../libjpeg_turbo', - ], - }, - },{ - 'dependencies': [ - '../../../../../third_party/libjpeg_turbo/libjpeg.gyp:libjpeg', - ], - 'include_dirs': [ - '../../../../third_party/libjpeg_turbo', - ], - 'direct_dependent_settings': { - 'include_dirs': [ - '../../../../third_party/libjpeg_turbo', - ], - }, }], ], 'sources': [