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

Unified Diff: include/codec/SkEncodedInfo.h

Issue 1895383002: Revert of Add SkEncodedInfo to report properties of encoded image data (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 4 years, 8 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
« no previous file with comments | « include/codec/SkCodec.h ('k') | src/codec/SkBmpCodec.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: include/codec/SkEncodedInfo.h
diff --git a/include/codec/SkEncodedInfo.h b/include/codec/SkEncodedInfo.h
deleted file mode 100644
index f91660529e05a26194fdf8b5084f211133298ab5..0000000000000000000000000000000000000000
--- a/include/codec/SkEncodedInfo.h
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
- * Copyright 2016 Google Inc.
- *
- * Use of this source code is governed by a BSD-style license that can be
- * found in the LICENSE file.
- */
-
-#ifndef SkEncodedInfo_DEFINED
-#define SkEncodedInfo_DEFINED
-
-#include "SkImageInfo.h"
-
-struct SkEncodedInfo {
-public:
-
- enum Alpha {
- kOpaque_Alpha,
- kUnpremul_Alpha,
-
- // Each pixel is either fully opaque or fully transparent.
- // There is no difference between requesting kPremul or kUnpremul.
- kBinary_Alpha,
-
- // Allows us to have a default constructor. Should be treated as
- // invalid.
- kUnknown_Alpha,
- };
-
- /*
- * We strive to make the number of components per pixel obvious through
- * our naming conventions.
- * Ex: kRGB has 3 components. kRGBA has 4 components.
- *
- * This sometimes results in redundant Alpha and Color information.
- * Ex: kRGB images must also be kOpaque.
- */
- enum Color {
- // PNG, WBMP
- kGray_Color,
-
- // PNG
- kGrayAlpha_Color,
-
- // PNG, GIF, BMP
- kPalette_Color,
-
- // PNG, RAW
- kRGB_Color,
- kRGBA_Color,
-
- // BMP
- kBGR_Color,
- kBGRX_Color,
- kBGRA_Color,
-
- // JPEG, WEBP
- kYUV_Color,
-
- // WEBP
- kYUVA_Color,
-
- // JPEG
- // Photoshop actually writes inverted CMYK data into JPEGs, where zero
- // represents 100% ink coverage. For this reason, we treat CMYK JPEGs
- // as having inverted CMYK. libjpeg-turbo warns that this may break
- // other applications, but the CMYK JPEGs we see on the web expect to
- // be treated as inverted CMYK.
- kInvertedCMYK_Color,
- kYCCK_Color,
-
- // Allows us to have a default constructor. Should be treated as
- // invalid.
- kUnknown_Color,
- };
-
- static SkEncodedInfo Make(Color color, Alpha alpha, int bitsPerComponent) {
- SkASSERT(1 == bitsPerComponent ||
- 2 == bitsPerComponent ||
- 4 == bitsPerComponent ||
- 8 == bitsPerComponent ||
- 16 == bitsPerComponent);
-
- switch (color) {
- case kGray_Color:
- SkASSERT(kOpaque_Alpha == alpha);
- break;
- case kGrayAlpha_Color:
- SkASSERT(kOpaque_Alpha != alpha);
- break;
- case kPalette_Color:
- SkASSERT(16 != bitsPerComponent);
- break;
- case kRGB_Color:
- case kBGR_Color:
- case kBGRX_Color:
- SkASSERT(kOpaque_Alpha == alpha);
- SkASSERT(bitsPerComponent >= 8);
- break;
- case kYUV_Color:
- case kInvertedCMYK_Color:
- case kYCCK_Color:
- SkASSERT(kOpaque_Alpha == alpha);
- SkASSERT(8 == bitsPerComponent);
- break;
- case kRGBA_Color:
- SkASSERT(kOpaque_Alpha != alpha);
- SkASSERT(bitsPerComponent >= 8);
- break;
- case kBGRA_Color:
- case kYUVA_Color:
- SkASSERT(kOpaque_Alpha != alpha);
- SkASSERT(8 == bitsPerComponent);
- break;
- default:
- SkASSERT(false);
- break;
- }
-
- return SkEncodedInfo(color, alpha, bitsPerComponent);
- }
-
- /*
- * Returns an SkImageInfo with Skia color and alpha types that are the
- * closest possible match to the encoded info.
- */
- SkImageInfo makeImageInfo(int width, int height) const {
- switch (fColor) {
- case kGray_Color:
- SkASSERT(kOpaque_Alpha == fAlpha);
- return SkImageInfo::Make(width, height, kGray_8_SkColorType, kOpaque_SkAlphaType);
- case kGrayAlpha_Color:
- SkASSERT(kOpaque_Alpha != fAlpha);
- return SkImageInfo::Make(width, height, kN32_SkColorType,
- kUnpremul_SkAlphaType);
- case kPalette_Color: {
- SkAlphaType alphaType = (kOpaque_Alpha == fAlpha) ? kOpaque_SkAlphaType :
- kUnpremul_SkAlphaType;
- return SkImageInfo::Make(width, height, kIndex_8_SkColorType, alphaType);
- }
- case kRGB_Color:
- case kBGR_Color:
- case kBGRX_Color:
- case kYUV_Color:
- case kInvertedCMYK_Color:
- case kYCCK_Color:
- SkASSERT(kOpaque_Alpha == fAlpha);
- return SkImageInfo::Make(width, height, kN32_SkColorType, kOpaque_SkAlphaType);
- case kRGBA_Color:
- case kBGRA_Color:
- case kYUVA_Color:
- SkASSERT(kOpaque_Alpha != fAlpha);
- return SkImageInfo::Make(width, height, kN32_SkColorType, kUnpremul_SkAlphaType);
- default:
- SkASSERT(false);
- return SkImageInfo::MakeUnknown();
- }
- }
-
- SkEncodedInfo()
- : fColor(kUnknown_Color)
- , fAlpha(kUnknown_Alpha)
- , fBitsPerComponent(0)
- {}
-
-private:
-
- SkEncodedInfo(Color color, Alpha alpha, uint8_t bitsPerComponent)
- : fColor(color)
- , fAlpha(alpha)
- , fBitsPerComponent(bitsPerComponent)
- {}
-
- Color fColor;
- Alpha fAlpha;
- uint8_t fBitsPerComponent;
-};
-
-#endif
« no previous file with comments | « include/codec/SkCodec.h ('k') | src/codec/SkBmpCodec.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698