aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/images/SkJpegEncoder.cpp
diff options
context:
space:
mode:
authorGravatar Ben Wagner <benjaminwagner@google.com>2017-10-18 18:09:37 +0000
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-10-18 18:09:47 +0000
commit021e5c70160c9682e8d8ab6e2c36a3cb3f57604a (patch)
treed21021d44fa49985d169bd7906c47f2bbe6a27fd /src/images/SkJpegEncoder.cpp
parent7c4ce9b94b9dd7983d554874f35827cc608aa46c (diff)
Revert "Add an Option for orientation on JPEG encodes"
This reverts commit 5411a60e0d7370a5d47b5049de845a06fe52e98b. Reason for revert: ASAN and Coverage failing: https://chromium-swarm.appspot.com/task?id=394978f3b7d44610 Flutter_Android failing. Original change's description: > Add an Option for orientation on JPEG encodes > > Move Origin to its own header so that SkPixmap and SkJpegEncoder need > not depend on SkCodec. > > Add libexif, which is already used by Android, and use it to write the > orientation. Write a makefile based on the Android.bp in Android, minus > warnings. (libexif has an LGPL license.) > > Add a test that verifies all the orientations work. > > Optionally enable writing the orientation (and therefore including > libexif). Chromium does not currently need it, and Android does not > expose an API that would allow using it. Disable on Windows, where we > still have build errors to fix. > > Bug: skia:7138 > Change-Id: Iaeff44c36aebe0e639666979dc00e1b7594bbeb1 > Reviewed-on: https://skia-review.googlesource.com/60721 > Commit-Queue: Leon Scroggins <scroggo@google.com> > Reviewed-by: Mike Klein <mtklein@chromium.org> > Reviewed-by: Mike Reed <reed@google.com> TBR=mtklein@chromium.org,mtklein@google.com,scroggo@google.com,reed@google.com Change-Id: I05b7ae8d1c5bbd1de1642d9ef024943500256273 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: skia:7138 Reviewed-on: https://skia-review.googlesource.com/61620 Reviewed-by: Ben Wagner <benjaminwagner@google.com> Commit-Queue: Ben Wagner <benjaminwagner@google.com>
Diffstat (limited to 'src/images/SkJpegEncoder.cpp')
-rw-r--r--src/images/SkJpegEncoder.cpp39
1 files changed, 0 insertions, 39 deletions
diff --git a/src/images/SkJpegEncoder.cpp b/src/images/SkJpegEncoder.cpp
index 3f818286a1..9fade2449a 100644
--- a/src/images/SkJpegEncoder.cpp
+++ b/src/images/SkJpegEncoder.cpp
@@ -11,7 +11,6 @@
#include "SkColorData.h"
#include "SkColorSpace_Base.h"
-#include "SkEncodedOrigin.h"
#include "SkImageEncoderFns.h"
#include "SkImageInfoPriv.h"
#include "SkJpegEncoder.h"
@@ -19,12 +18,6 @@
#include "SkStream.h"
#include "SkTemplates.h"
-#ifdef SK_HAS_EXIF_LIBRARY
-#include "libexif/exif-byte-order.h"
-#include "libexif/exif-data.h"
-#include "libexif/exif-format.h"
-#endif
-
#include <stdio.h>
extern "C" {
@@ -220,38 +213,6 @@ std::unique_ptr<SkEncoder> SkJpegEncoder::Make(SkWStream* dst, const SkPixmap& s
jpeg_write_marker(encoderMgr->cinfo(), kICCMarker, markerData->bytes(), markerData->size());
}
-#ifdef SK_HAS_EXIF_LIBRARY
- if (options.fOrigin != kDefault_SkEncodedOrigin) {
- // Create ExifData.
- const auto kByteOrder = EXIF_BYTE_ORDER_INTEL;
- SkAutoTCallVProc<ExifData, exif_data_unref> exif(exif_data_new());
- exif_data_set_option(exif.get(), EXIF_DATA_OPTION_FOLLOW_SPECIFICATION);
- exif_data_set_data_type(exif.get(), EXIF_DATA_TYPE_COMPRESSED);
- exif_data_set_byte_order(exif.get(), kByteOrder);
- exif_data_fix(exif.get());
-
- // Create entry for rotation.
- SkAutoTCallVProc<ExifMem, exif_mem_unref> mem(exif_mem_new_default());
- SkAutoTCallVProc<ExifEntry, exif_entry_unref> entry(exif_entry_new_mem(mem));
- size_t size = exif_format_get_size(EXIF_FORMAT_SHORT);
- entry->data = reinterpret_cast<unsigned char*>(exif_mem_alloc(mem, size));
- entry->size = size;
- entry->tag = EXIF_TAG_ORIENTATION;
- entry->components = 1;
- entry->format = EXIF_FORMAT_SHORT;
- exif_content_add_entry(exif->ifd[EXIF_IFD_0], entry);
- exif_set_short(entry->data, kByteOrder, (ExifShort) options.fOrigin);
-
- // Serialize the data.
- unsigned char* exif_data;
- unsigned int exif_data_len;
- exif_data_save_data(exif.get(), &exif_data, &exif_data_len);
- const uint32_t kExifMarker = JPEG_APP0 + 1;
- jpeg_write_marker(encoderMgr->cinfo(), kExifMarker, exif_data, exif_data_len);
- sk_free(exif_data);
- }
-#endif
-
return std::unique_ptr<SkJpegEncoder>(new SkJpegEncoder(std::move(encoderMgr), src));
}