diff options
author | Ben Wagner <benjaminwagner@google.com> | 2017-10-18 18:09:37 +0000 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-10-18 18:09:47 +0000 |
commit | 021e5c70160c9682e8d8ab6e2c36a3cb3f57604a (patch) | |
tree | d21021d44fa49985d169bd7906c47f2bbe6a27fd /include | |
parent | 7c4ce9b94b9dd7983d554874f35827cc608aa46c (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 'include')
-rw-r--r-- | include/codec/SkCodec.h | 22 | ||||
-rw-r--r-- | include/codec/SkEncodedOrigin.h | 23 | ||||
-rw-r--r-- | include/encode/SkJpegEncoder.h | 10 |
3 files changed, 17 insertions, 38 deletions
diff --git a/include/codec/SkCodec.h b/include/codec/SkCodec.h index d3035a7a71..6e9c8280b9 100644 --- a/include/codec/SkCodec.h +++ b/include/codec/SkCodec.h @@ -14,7 +14,6 @@ #include "SkColorSpaceXform.h" #include "SkEncodedImageFormat.h" #include "SkEncodedInfo.h" -#include "SkEncodedOrigin.h" #include "SkImageInfo.h" #include "SkPixmap.h" #include "SkSize.h" @@ -171,11 +170,24 @@ public: const SkEncodedInfo& getEncodedInfo() const { return fEncodedInfo; } + enum Origin { + kTopLeft_Origin = 1, // Default + kTopRight_Origin = 2, // Reflected across y-axis + kBottomRight_Origin = 3, // Rotated 180 + kBottomLeft_Origin = 4, // Reflected across x-axis + kLeftTop_Origin = 5, // Reflected across x-axis, Rotated 90 CCW + kRightTop_Origin = 6, // Rotated 90 CW + kRightBottom_Origin = 7, // Reflected across x-axis, Rotated 90 CW + kLeftBottom_Origin = 8, // Rotated 90 CCW + kDefault_Origin = kTopLeft_Origin, + kLast_Origin = kLeftBottom_Origin, + }; + /** * Returns the image orientation stored in the EXIF data. * If there is no EXIF data, or if we cannot read the EXIF data, returns kTopLeft. */ - SkEncodedOrigin getOrigin() const { return fOrigin; } + Origin getOrigin() const { return fOrigin; } /** * Return a size that approximately supports the desired scale factor. @@ -670,7 +682,7 @@ protected: XformFormat srcFormat, std::unique_ptr<SkStream>, sk_sp<SkColorSpace>, - SkEncodedOrigin = kTopLeft_SkEncodedOrigin); + Origin = kTopLeft_Origin); /** * Allows the subclass to set the recommended SkImageInfo @@ -679,7 +691,7 @@ protected: const SkImageInfo&, XformFormat srcFormat, std::unique_ptr<SkStream>, - SkEncodedOrigin = kTopLeft_SkEncodedOrigin); + Origin = kTopLeft_Origin); virtual SkISize onGetScaledDimensions(float /*desiredScale*/) const { // By default, scaling is not supported. @@ -829,7 +841,7 @@ private: const XformFormat fSrcXformFormat; std::unique_ptr<SkStream> fStream; bool fNeedsRewind; - const SkEncodedOrigin fOrigin; + const Origin fOrigin; SkImageInfo fDstInfo; Options fOptions; diff --git a/include/codec/SkEncodedOrigin.h b/include/codec/SkEncodedOrigin.h deleted file mode 100644 index 622ade1555..0000000000 --- a/include/codec/SkEncodedOrigin.h +++ /dev/null @@ -1,23 +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 SkEncodedOrigin_DEFINED -#define SkEncodedOrigin_DEFINED -// These values match the orientation www.exif.org/Exif2-2.PDF. -enum SkEncodedOrigin { - kTopLeft_SkEncodedOrigin = 1, // Default - kTopRight_SkEncodedOrigin = 2, // Reflected across y-axis - kBottomRight_SkEncodedOrigin = 3, // Rotated 180 - kBottomLeft_SkEncodedOrigin = 4, // Reflected across x-axis - kLeftTop_SkEncodedOrigin = 5, // Reflected across x-axis, Rotated 90 CCW - kRightTop_SkEncodedOrigin = 6, // Rotated 90 CW - kRightBottom_SkEncodedOrigin = 7, // Reflected across x-axis, Rotated 90 CW - kLeftBottom_SkEncodedOrigin = 8, // Rotated 90 CCW - kDefault_SkEncodedOrigin = kTopLeft_SkEncodedOrigin, - kLast_SkEncodedOrigin = kLeftBottom_SkEncodedOrigin, -}; -#endif // SkEncodedOrigin_DEFINED diff --git a/include/encode/SkJpegEncoder.h b/include/encode/SkJpegEncoder.h index a094e3fb9c..fd7c204161 100644 --- a/include/encode/SkJpegEncoder.h +++ b/include/encode/SkJpegEncoder.h @@ -9,9 +9,6 @@ #define SkJpegEncoder_DEFINED #include "SkEncoder.h" -#ifdef SK_HAS_EXIF_LIBRARY -#include "SkEncodedOrigin.h" -#endif class SkJpegEncoderMgr; class SkWStream; @@ -65,13 +62,6 @@ public: */ AlphaOption fAlphaOption = AlphaOption::kIgnore; SkTransferFunctionBehavior fBlendBehavior = SkTransferFunctionBehavior::kRespect; - -#ifdef SK_HAS_EXIF_LIBRARY - /** - * Origin to be written to EXIF, if anything other than the default. - */ - SkEncodedOrigin fOrigin = kDefault_SkEncodedOrigin; -#endif }; /** |