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

Unified Diff: tests/CodecAnimTest.cpp

Issue 2045293002: Add support for multiple frames in SkCodec (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Return metadata in a vector Created 4 years, 3 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
« include/codec/SkCodec.h ('K') | « src/codec/SkGifCodec.cpp ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/CodecAnimTest.cpp
diff --git a/tests/CodecAnimTest.cpp b/tests/CodecAnimTest.cpp
index 397ac39ebe77c381a9ecc11b38190115313f3a33..d81cf8980d1ef582895b85aa021e6e1602ae4db4 100644
--- a/tests/CodecAnimTest.cpp
+++ b/tests/CodecAnimTest.cpp
@@ -52,14 +52,14 @@ DEF_TEST(Codec_frames, r) {
}
const size_t expected = rec.fFrameCount;
- const size_t frameCount = codec->getFrameCount();
+ const auto frameInfos = codec->getFrameInfo();
+ // getFrameInfo returns empty set for non-animated.
+ const size_t frameCount = frameInfos.size() == 0 ? 1 : frameInfos.size();
if (frameCount != expected) {
ERRORF(r, "'%s' expected frame count: %i\tactual: %i", rec.fName, expected, frameCount);
continue;
}
- REPORTER_ASSERT(r, codec->getRequiredFrame(0) == SkCodec::kIndependentFrame);
-
if (rec.fRequiredFrames.size() + 1 != expected) {
ERRORF(r, "'%s' has wrong number entries in fRequiredFrames; expected: %i\tactual: %i",
rec.fName, expected, rec.fRequiredFrames.size());
@@ -71,8 +71,9 @@ DEF_TEST(Codec_frames, r) {
}
// From here on, we are only concerned with animated images.
+ REPORTER_ASSERT(r, frameInfos[0].fRequiredFrame == SkCodec::kIndependentFrame);
for (size_t i = 1; i < frameCount; i++) {
- REPORTER_ASSERT(r, rec.fRequiredFrames[i-1] == codec->getRequiredFrame(i));
+ REPORTER_ASSERT(r, rec.fRequiredFrames[i-1] == frameInfos[i].fRequiredFrame);
}
// Compare decoding in two ways:
@@ -88,7 +89,7 @@ DEF_TEST(Codec_frames, r) {
bm->allocPixels(info);
if (cached) {
// First copy the pixels from the cached frame
- const size_t requiredFrame = codec->getRequiredFrame(index);
+ const size_t requiredFrame = frameInfos[index].fRequiredFrame;
if (requiredFrame != SkCodec::kIndependentFrame) {
const bool success = cachedFrames[requiredFrame].copyTo(bm);
REPORTER_ASSERT(r, success);
@@ -132,7 +133,7 @@ DEF_TEST(Codec_frames, r) {
}
for (size_t i = 0; i < frameCount; i++) {
- REPORTER_ASSERT(r, rec.fDurations[i] == codec->getFrameDuration(i));
+ REPORTER_ASSERT(r, rec.fDurations[i] == frameInfos[i].fDuration);
}
}
}
« include/codec/SkCodec.h ('K') | « src/codec/SkGifCodec.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698