Lines Matching refs:SkCodec

15 #include "include/codec/SkCodec.h"
91 * Test decoding an SkCodec to a particular SkImageInfo.
98 SkCodec::Result expectedResult, const SkMD5::Digest* goodDigest) {
102 SkCodec::Result result = codec->getPixels(info, bm.getPixels(), bm.rowBytes());
122 static void test_incremental_decode(skiatest::Reporter* r, SkCodec* codec, const SkImageInfo& info,
127 REPORTER_ASSERT(r, SkCodec::kSuccess == codec->startIncrementalDecode(info, bm.getPixels(),
130 REPORTER_ASSERT(r, SkCodec::kSuccess == codec->incrementalDecode());
136 static void test_in_stripes(skiatest::Reporter* r, SkCodec* codec, const SkImageInfo& info,
159 SkCodec::Options options;
161 if (SkCodec::kSuccess != codec->startIncrementalDecode(info, bm.getAddr(0, y),
167 if (SkCodec::kSuccess != codec->incrementalDecode()) {
179 const SkImageInfo& info, const SkISize& size, SkCodec::Result expectedResult,
185 SkCodec::Result result = codec->getPixels(info, bm.getPixels(), bm.rowBytes());
216 SkCodec::ResultToString(actualResult),
217 SkCodec::ResultToString(expectedResult));
220 test_info(r, codec, info565, SkCodec::kInvalidConversion, nullptr);
258 SkCodec::kInvalidConversion, nullptr);
286 SkCodec* codec,
295 // Test full image decodes with SkCodec
297 const SkCodec::Result expectedResult = supportsIncomplete ? SkCodec::kIncompleteInput
298 : SkCodec::kSuccess;
315 const SkCodec::Result startResult = codec->startScanlineDecode(info);
319 REPORTER_ASSERT(r, startResult == SkCodec::kSuccess);
328 if (SkCodec::kTopDown_SkScanlineOrder == codec->getScanlineOrder()) {
339 REPORTER_ASSERT(r, codec->startScanlineDecode(info) == SkCodec::kSuccess);
354 SkCodec::Options options;
361 REPORTER_ASSERT(r, partialStartResult == SkCodec::kSuccess);
371 REPORTER_ASSERT(r, startResult == SkCodec::kUnimplemented);
376 SkCodec* codec,
390 SkCodec::Options opts;
405 REPORTER_ASSERT(r, result == SkCodec::kSuccess);
412 REPORTER_ASSERT(r, result == SkCodec::kUnimplemented);
418 std::unique_ptr<SkCodec> codec,
436 const SkCodec::Result expectedResult = supportsIncomplete ? SkCodec::kIncompleteInput
437 : SkCodec::kSuccess;
462 SkMemoryStream::Make(std::move(fullData)), SkCodec::MinBufferedBytesNeeded());
464 std::unique_ptr<SkCodec> codec = SkCodec::MakeFromStream(std::move(bufferedStream));
467 test_info(r, codec.get(), info, SkCodec::kSuccess, &codecDigest);
492 std::unique_ptr<SkCodec> codec;
495 codec = SkCodec::MakeFromData(SkData::MakeFromStream(stream.get(), 2 * length / 3));
497 codec = SkCodec::MakeFromStream(std::move(stream));
591 REPORTER_ASSERT(r, !SkCodec::MakeFromStream(
597 // Ensure that SkCodec::NewFromStream handles freeing the passed in SkStream,
600 // No codec should claim this as their format, so this tests SkCodec::NewFromStream.
621 // Attempting to create an SkCodec or an SkAndroidCodec with null should not
623 REPORTER_ASSERT(r, !SkCodec::MakeFromStream(nullptr));
654 SkCodec::Result result =
656 if (result != SkCodec::kSuccess) {
658 SkCodec::ResultToString(result));
702 REPORTER_ASSERT(r, !SkCodec::MakeFromData(data));
854 // Now read the file with SkCodec.
855 std::unique_ptr<SkCodec> codec(SkCodec::MakeFromData(wStream.detachAsData(), &chunkReader));
865 SkCodec::Result result = codec->getPixels(codec->getInfo(), decodedBm.getPixels(),
867 REPORTER_ASSERT(r, SkCodec::kSuccess == result);
887 REPORTER_ASSERT(r, SkCodec::kSuccess == result);
929 std::unique_ptr<SkCodec> codec(SkCodec::MakeFromStream(
933 test_info(r, codec.get(), codec->getInfo(), SkCodec::kSuccess, nullptr);
948 std::unique_ptr<SkCodec> codec(SkCodec::MakeFromStream(
952 test_info(r, codec.get(), codec->getInfo(), SkCodec::kSuccess, nullptr);
955 codec = SkCodec::MakeFromStream(std::make_unique<LimitedPeekingMemStream>(data, 0));
958 test_info(r, codec.get(), codec->getInfo(), SkCodec::kSuccess, nullptr);
961 // SkCodec's wbmp decoder was initially unnecessarily restrictive.
964 // Test that SkCodec now supports an image with these bits set.
977 // SkCodec should support this.
978 std::unique_ptr<SkCodec> codec(SkCodec::MakeFromData(data));
983 test_info(r, codec.get(), codec->getInfo(), SkCodec::kSuccess, nullptr);
989 // because SkCodec only passes a limited number of bytes to SkWbmpCodec to
996 std::unique_ptr<SkCodec> codec(SkCodec::MakeFromStream(std::move(stream)));
1010 codec = SkCodec::MakeFromStream(std::move(stream));
1039 REPORTER_ASSERT(r, SkCodec::kIncompleteInput == result);
1043 REPORTER_ASSERT(r, SkCodec::kIncompleteInput == result);
1053 REPORTER_ASSERT(r, SkCodec::kSuccess == result);
1058 // This tests two layers of bugs: both SkJpegCodec::readRows and SkCodec::fillIncompleteImage
1062 REPORTER_ASSERT(r, SkCodec::kIncompleteInput == result);
1084 SkCodec::Result result = codec->getAndroidPixels(dstInfo, pixelStorage.get(), rowBytes, &opts);
1085 REPORTER_ASSERT(r, SkCodec::kSuccess == result);
1115 static void check_round_trip(skiatest::Reporter* r, SkCodec* origCodec, const SkImageInfo& info) {
1118 SkCodec::Result result = origCodec->getPixels(info, bm1.getPixels(), bm1.rowBytes());
1119 REPORTER_ASSERT(r, SkCodec::kSuccess == result);
1124 std::unique_ptr<SkCodec> codec(SkCodec::MakeFromData(data));
1131 REPORTER_ASSERT(r, SkCodec::kSuccess == result);
1137 auto codec = SkCodec::MakeFromStream(GetResourceAsStream("images/mandrill_512_q075.jpg"));
1147 codec = SkCodec::MakeFromStream(GetResourceAsStream("images/grayscale.jpg"));
1150 codec = SkCodec::MakeFromStream(GetResourceAsStream("images/yellow_rose.png"));
1168 codec = SkCodec::MakeFromStream(GetResourceAsStream("images/index8.png"));
1185 std::unique_ptr<SkCodec> codec(SkCodec::MakeFromStream(std::move(stream)));
1195 SkCodec::Result result = codec->getPixels(infoF16, bm.getPixels(), bm.rowBytes());
1196 REPORTER_ASSERT(r, SkCodec::kSuccess == result);
1200 REPORTER_ASSERT(r, SkCodec::kSuccess == result);
1202 REPORTER_ASSERT(r, SkCodec::kUnimplemented == result
1203 || SkCodec::kSuccess == result);
1208 REPORTER_ASSERT(r, SkCodec::kSuccess == result);
1210 REPORTER_ASSERT(r, SkCodec::kUnimplemented == result
1211 || SkCodec::kSuccess == result);
1216 REPORTER_ASSERT(r, SkCodec::kSuccess == result);
1219 REPORTER_ASSERT(r, SkCodec::kSuccess == result);
1221 REPORTER_ASSERT(r, SkCodec::kUnimplemented == result);
1226 REPORTER_ASSERT(r, SkCodec::kSuccess == result);
1228 REPORTER_ASSERT(r, SkCodec::kUnimplemented == result);
1238 static void decode_frame(skiatest::Reporter* r, SkCodec* codec, size_t frame) {
1243 SkCodec::Options opts;
1245 REPORTER_ASSERT(r, SkCodec::kSuccess == codec->getPixels(info,
1259 // Note that we cheat and hold on to the stream pointer, but SkCodec will
1260 // take ownership. We will not refer to the stream after the SkCodec
1262 std::unique_ptr<SkCodec> codec(SkCodec::MakeFromStream(std::move(streamObj)));
1341 auto stream = LimitedRewindingStream::Make(file, SkCodec::MinBufferedBytesNeeded());
1347 std::unique_ptr<SkCodec> codec(SkCodec::MakeFromStream(std::move(stream)));
1357 if (SkCodec::kUnimplemented != codec->startIncrementalDecode(info, bm.getPixels(),
1364 SkCodec::Result result = codec->startScanlineDecode(info);
1365 if (SkCodec::kSuccess != result) {
1392 REPORTER_ASSERT(r, result == SkCodec::kSuccess);
1398 REPORTER_ASSERT(r, result == SkCodec::kSuccess);
1409 std::unique_ptr<SkCodec> codec(SkCodec::MakeFromData(SkData::MakeFromStream(stream.get(), 99)));
1419 REPORTER_ASSERT(r, result == SkCodec::kSuccess);
1425 REPORTER_ASSERT(r, result == SkCodec::kIncompleteInput);
1430 SkCodec::Result expectedResult) {
1436 std::unique_ptr<SkCodec> codec(SkCodec::MakeFromStream(std::move(stream)));
1445 test_invalid_images(r, "invalid_images/skbug5887.gif", SkCodec::kErrorInInput);
1446 test_invalid_images(r, "invalid_images/many-progressive-scans.jpg", SkCodec::kInvalidInput);
1447 test_invalid_images(r, "invalid_images/b33251605.bmp", SkCodec::kIncompleteInput);
1448 test_invalid_images(r, "invalid_images/bad_palette.png", SkCodec::kInvalidInput);
1460 std::unique_ptr<SkCodec> codec(SkCodec::MakeFromStream(std::move(stream)));
1547 std::unique_ptr<SkCodec> codec(SkCodec::MakeFromStream(std::move(stream)));
1558 SkCodec::Options opts;
1562 opts.fPriorFrame = reqFrame == i - 1 ? reqFrame : SkCodec::kNoFrame;
1565 if (result != SkCodec::kSuccess) {
1604 std::unique_ptr<SkCodec> srgbCodec(SkCodec::MakeFromData(srgbData));
1613 std::unique_ptr<SkCodec> p3Codec(SkCodec::MakeFromData(p3Data));
1645 std::unique_ptr<SkCodec> codec = SkCodec::MakeFromData(std::move(subset));
1652 test_info(r, codec.get(), codec->getInfo(), SkCodec::kInvalidInput, nullptr);
1751 auto codec = SkAndroidCodec::MakeFromCodec(SkCodec::MakeFromData(data));
1770 if (result != SkCodec::kSuccess) {
1771 ERRORF(r, "failed to decode with error %s", SkCodec::ResultToString(result));
1787 auto codec = SkCodec::MakeFromData(std::move(data));
1791 REPORTER_ASSERT(r, codec->getPixels(bm.pixmap()) == SkCodec::kInvalidConversion);
1836 auto codec = SkCodec::MakeFromData(std::move(data));
1839 test_info(r, codec.get(), info, SkCodec::kSuccess, nullptr);
1860 auto codec = SkCodec::MakeFromData(std::move(data));
1878 if (codec->getPixels(info, bm.getPixels(), bm.rowBytes()) != SkCodec::kSuccess) {