aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/codec
diff options
context:
space:
mode:
authorGravatar Derek Sollenberger <djsollen@google.com>2017-03-22 18:54:25 +0000
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-03-22 18:54:30 +0000
commitdda14b9b7ac13dba9214f484fc6270b3ccf4b68b (patch)
tree04975df7bad9c9c75c9fcf0aa52f2e3dac2a7716 /src/codec
parent70131b97f97f97d6fbcf4545b97827dfe8509654 (diff)
Revert "Add support for writing icc profiles to the jpeg encoder"
This reverts commit 4ef01482025e2e629e35458aa214436d3b4138e8. Reason for revert: This breaks the android autoroller. Original change's description: > Add support for writing icc profiles to the jpeg encoder > > Also, share the impl for skjpeg_error_mgr between the > jpeg decoder and encoder. They are already identical > anyway. > > BUG=skia: > > Change-Id: I4d67f28126388fef3057d62b6e0b203e21ed4afb > Reviewed-on: https://skia-review.googlesource.com/10011 > Reviewed-by: Leon Scroggins <scroggo@google.com> > Commit-Queue: Matt Sarett <msarett@google.com> > TBR=msarett@google.com,scroggo@google.com,reviews@skia.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=skia: Change-Id: Idbb9918370e8384e39d6b7d1c3bcd9545ce4cfd1 Reviewed-on: https://skia-review.googlesource.com/10017 Reviewed-by: Derek Sollenberger <djsollen@google.com> Commit-Queue: Derek Sollenberger <djsollen@google.com>
Diffstat (limited to 'src/codec')
-rw-r--r--src/codec/SkJpegCodec.cpp13
-rw-r--r--src/codec/SkJpegPriv.h36
-rw-r--r--src/codec/SkJpegUtility.h8
3 files changed, 15 insertions, 42 deletions
diff --git a/src/codec/SkJpegCodec.cpp b/src/codec/SkJpegCodec.cpp
index 624bc25845..55ee3b5dbc 100644
--- a/src/codec/SkJpegCodec.cpp
+++ b/src/codec/SkJpegCodec.cpp
@@ -44,7 +44,9 @@ static uint32_t get_endian_int(const uint8_t* data, bool littleEndian) {
}
const uint32_t kExifHeaderSize = 14;
+const uint32_t kICCHeaderSize = 14;
const uint32_t kExifMarker = JPEG_APP0 + 1;
+const uint32_t kICCMarker = JPEG_APP0 + 2;
static bool is_orientation_marker(jpeg_marker_struct* marker, SkCodec::Origin* orientation) {
if (kExifMarker != marker->marker || marker->data_length < kExifHeaderSize) {
@@ -110,10 +112,11 @@ static SkCodec::Origin get_exif_orientation(jpeg_decompress_struct* dinfo) {
}
static bool is_icc_marker(jpeg_marker_struct* marker) {
- if (kICCMarker != marker->marker || marker->data_length < kICCMarkerHeaderSize) {
+ if (kICCMarker != marker->marker || marker->data_length < kICCHeaderSize) {
return false;
}
+ static const uint8_t kICCSig[] { 'I', 'C', 'C', '_', 'P', 'R', 'O', 'F', 'I', 'L', 'E', '\0' };
return !memcmp(marker->data, kICCSig, sizeof(kICCSig));
}
@@ -157,8 +160,8 @@ static sk_sp<SkData> get_icc_profile(jpeg_decompress_struct* dinfo) {
return nullptr;
}
markerSequence[markerIndex] = marker;
- SkASSERT(marker->data_length >= kICCMarkerHeaderSize);
- totalBytes += marker->data_length - kICCMarkerHeaderSize;
+ SkASSERT(marker->data_length >= kICCHeaderSize);
+ totalBytes += marker->data_length - kICCHeaderSize;
}
}
@@ -177,8 +180,8 @@ static sk_sp<SkData> get_icc_profile(jpeg_decompress_struct* dinfo) {
return nullptr;
}
- void* src = SkTAddOffset<void>(marker->data, kICCMarkerHeaderSize);
- size_t bytes = marker->data_length - kICCMarkerHeaderSize;
+ void* src = SkTAddOffset<void>(marker->data, kICCHeaderSize);
+ size_t bytes = marker->data_length - kICCHeaderSize;
memcpy(dst, src, bytes);
dst = SkTAddOffset<void>(dst, bytes);
}
diff --git a/src/codec/SkJpegPriv.h b/src/codec/SkJpegPriv.h
deleted file mode 100644
index e4e5b12763..0000000000
--- a/src/codec/SkJpegPriv.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright 2017 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-
-#ifndef SkJpegPriv_DEFINED
-#define SkJpegPriv_DEFINED
-
-#include "SkStream.h"
-
-#include <setjmp.h>
-// stdio is needed for jpeglib
-#include <stdio.h>
-
-extern "C" {
- #include "jpeglib.h"
- #include "jerror.h"
-}
-
-static constexpr uint32_t kICCMarker = JPEG_APP0 + 2;
-static constexpr uint32_t kICCMarkerHeaderSize = 14;
-static constexpr uint8_t kICCSig[] = {
- 'I', 'C', 'C', '_', 'P', 'R', 'O', 'F', 'I', 'L', 'E', '\0',
-};
-
-/*
- * Error handling struct
- */
-struct skjpeg_error_mgr : jpeg_error_mgr {
- jmp_buf fJmpBuf;
-};
-
-#endif
diff --git a/src/codec/SkJpegUtility.h b/src/codec/SkJpegUtility.h
index 33f4fbda8b..43391017b5 100644
--- a/src/codec/SkJpegUtility.h
+++ b/src/codec/SkJpegUtility.h
@@ -9,7 +9,6 @@
#ifndef SkJpegUtility_codec_DEFINED
#define SkJpegUtility_codec_DEFINED
-#include "SkJpegPriv.h"
#include "SkStream.h"
#include <setjmp.h>
@@ -22,6 +21,13 @@ extern "C" {
}
/*
+ * Error handling struct
+ */
+struct skjpeg_error_mgr : jpeg_error_mgr {
+ jmp_buf fJmpBuf;
+};
+
+/*
* Error handling function
*/
void skjpeg_err_exit(j_common_ptr cinfo);