aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/codec/SkCodec.cpp
diff options
context:
space:
mode:
authorGravatar Mike Klein <mtklein@google.com>2017-08-17 13:33:56 +0000
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-08-17 13:34:07 +0000
commitdb68a426b6ba3a0fa1cace25ac306037eb7413a6 (patch)
tree6a928b31410abb8d866ed8c5289d7243e5020155 /src/codec/SkCodec.cpp
parentbe1b071753538584c34257ce6eb17dcb78ef7d35 (diff)
Revert "skia: add heif decoding support"
This reverts commit c2a954290dc3888f877a047098b84c24363895fb. Reason for revert: both Android and Google3 rolls cannot compile. Android cannot cast std::unique_ptr<T> to T*, Google3 cannot find HeifDecoderAPI.h. Original change's description: > skia: add heif decoding support > > Bug: b/64077740 > Change-Id: I11e0243bcc4c21c0aa5aa29a719dd0fcba7ae6f7 > Reviewed-on: https://skia-review.googlesource.com/35123 > Reviewed-by: Chong Zhang <chz@google.com> > Reviewed-by: Leon Scroggins <scroggo@google.com> > Commit-Queue: Chong Zhang <chz@google.com> > Commit-Queue: Leon Scroggins <scroggo@google.com> TBR=scroggo@google.com,chz@google.com Change-Id: Id98f025e63daec50408186000453d1695170f7a8 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: b/64077740 Reviewed-on: https://skia-review.googlesource.com/35741 Reviewed-by: Mike Klein <mtklein@google.com> Commit-Queue: Mike Klein <mtklein@google.com>
Diffstat (limited to 'src/codec/SkCodec.cpp')
-rw-r--r--src/codec/SkCodec.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/codec/SkCodec.cpp b/src/codec/SkCodec.cpp
index 7dc10854d2..2b6108250c 100644
--- a/src/codec/SkCodec.cpp
+++ b/src/codec/SkCodec.cpp
@@ -23,7 +23,6 @@
#include "SkStream.h"
#include "SkWbmpCodec.h"
#include "SkWebpCodec.h"
-#include "SkHeifCodec.h"
struct DecoderProc {
bool (*IsFormat)(const void*, size_t);
@@ -42,12 +41,13 @@ static const DecoderProc gDecoderProcs[] = {
{ SkIcoCodec::IsIco, SkIcoCodec::MakeFromStream },
#endif
{ SkBmpCodec::IsBmp, SkBmpCodec::MakeFromStream },
- { SkWbmpCodec::IsWbmp, SkWbmpCodec::MakeFromStream },
-#ifdef SK_HAS_HEIF_LIBRARY
- { SkHeifCodec::IsHeif, SkHeifCodec::MakeFromStream },
-#endif
+ { SkWbmpCodec::IsWbmp, SkWbmpCodec::MakeFromStream }
};
+size_t SkCodec::MinBufferedBytesNeeded() {
+ return WEBP_VP8_HEADER_SIZE;
+}
+
std::unique_ptr<SkCodec> SkCodec::MakeFromStream(std::unique_ptr<SkStream> stream,
Result* outResult, SkPngChunkReader* chunkReader) {
Result resultStorage;
@@ -60,7 +60,9 @@ std::unique_ptr<SkCodec> SkCodec::MakeFromStream(std::unique_ptr<SkStream> strea
return nullptr;
}
- constexpr size_t bytesToRead = MinBufferedBytesNeeded();
+ // 14 is enough to read all of the supported types.
+ const size_t bytesToRead = 14;
+ SkASSERT(bytesToRead <= MinBufferedBytesNeeded());
char buffer[bytesToRead];
size_t bytesRead = stream->peek(buffer, bytesToRead);