diff options
Diffstat (limited to 'tests/CodecAnimTest.cpp')
-rw-r--r-- | tests/CodecAnimTest.cpp | 36 |
1 files changed, 21 insertions, 15 deletions
diff --git a/tests/CodecAnimTest.cpp b/tests/CodecAnimTest.cpp index b274ee538a..e354ea6cbf 100644 --- a/tests/CodecAnimTest.cpp +++ b/tests/CodecAnimTest.cpp @@ -67,8 +67,9 @@ static bool restore_previous(const SkCodec::FrameInfo& info) { } DEF_TEST(Codec_frames, r) { - #define kOpaque kOpaque_SkAlphaType - #define kUnpremul kUnpremul_SkAlphaType + #define kOpaque SkEncodedInfo::kOpaque_Alpha + #define kUnpremul SkEncodedInfo::kUnpremul_Alpha + #define kBinary SkEncodedInfo::kBinary_Alpha #define kKeep SkCodecAnimation::DisposalMethod::kKeep #define kRestoreBG SkCodecAnimation::DisposalMethod::kRestoreBGColor #define kRestorePrev SkCodecAnimation::DisposalMethod::kRestorePrevious @@ -78,8 +79,8 @@ DEF_TEST(Codec_frames, r) { // One less than fFramecount, since the first frame is always // independent. std::vector<int> fRequiredFrames; - // Same, since the first frame should match getInfo - std::vector<SkAlphaType> fAlphas; + // Same, since the first frame should match getEncodedInfo + std::vector<SkEncodedInfo::Alpha> fAlphas; // The size of this one should match fFrameCount for animated, empty // otherwise. std::vector<int> fDurations; @@ -88,15 +89,15 @@ DEF_TEST(Codec_frames, r) { } gRecs[] = { { "required.gif", 7, { 0, 1, 2, 3, 4, 5 }, - { kOpaque, kUnpremul, kUnpremul, kUnpremul, kUnpremul, kUnpremul }, + { kOpaque, kBinary, kBinary, kBinary, kBinary, kBinary }, { 100, 100, 100, 100, 100, 100, 100 }, 0, { kKeep, kRestoreBG, kKeep, kKeep, kKeep, kRestoreBG, kKeep } }, { "alphabetAnim.gif", 13, { SkCodec::kNone, 0, 0, 0, 0, 5, 6, SkCodec::kNone, SkCodec::kNone, 9, 10, 11 }, - { kUnpremul, kUnpremul, kUnpremul, kUnpremul, kUnpremul, kUnpremul, - kUnpremul, kUnpremul, kUnpremul, kUnpremul, kUnpremul, kUnpremul }, + { kBinary, kBinary, kBinary, kBinary, kBinary, kBinary, + kBinary, kBinary, kBinary, kBinary, kBinary, kBinary }, { 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100 }, 0, { kKeep, kRestorePrev, kRestorePrev, kRestorePrev, kRestorePrev, @@ -115,8 +116,8 @@ DEF_TEST(Codec_frames, r) { { "randPixelsAnim.gif", 13, // required frames { 0, 1, 2, 3, 4, 3, 6, 7, 7, 7, 9, 9 }, - { kUnpremul, kUnpremul, kUnpremul, kUnpremul, kUnpremul, kUnpremul, - kUnpremul, kUnpremul, kUnpremul, kUnpremul, kUnpremul, kUnpremul }, + { kBinary, kBinary, kBinary, kBinary, kBinary, kBinary, + kBinary, kBinary, kBinary, kBinary, kBinary, kBinary }, // durations { 0, 1000, 170, 40, 220, 7770, 90, 90, 90, 90, 90, 90, 90 }, // repetition count @@ -160,6 +161,7 @@ DEF_TEST(Codec_frames, r) { }; #undef kOpaque #undef kUnpremul + #undef kBinary #undef kKeep #undef kRestorePrev #undef kRestoreBG @@ -268,20 +270,22 @@ DEF_TEST(Codec_frames, r) { rec.fName, i, rec.fDurations[i], frameInfo.fDuration); } - auto to_string = [](SkAlphaType alpha) { + auto to_string = [](SkEncodedInfo::Alpha alpha) { switch (alpha) { - case kUnpremul_SkAlphaType: + case SkEncodedInfo::kUnpremul_Alpha: return "unpremul"; - case kOpaque_SkAlphaType: + case SkEncodedInfo::kOpaque_Alpha: return "opaque"; + case SkEncodedInfo::kBinary_Alpha: + return "binary"; default: SkASSERT(false); return "unknown"; } }; - auto expectedAlpha = 0 == i ? codec->getInfo().alphaType() : rec.fAlphas[i-1]; - auto alpha = frameInfo.fAlphaType; + auto expectedAlpha = 0 == i ? codec->getEncodedInfo().alpha() : rec.fAlphas[i-1]; + auto alpha = frameInfo.fAlpha; if (expectedAlpha != alpha) { ERRORF(r, "%s's frame %i has wrong alpha type! expected: %s\tactual: %s", rec.fName, i, to_string(expectedAlpha), to_string(alpha)); @@ -315,7 +319,9 @@ DEF_TEST(Codec_frames, r) { auto decode = [&](SkBitmap* bm, int index, int cachedIndex) { auto decodeInfo = info; if (index > 0) { - decodeInfo = info.makeAlphaType(frameInfos[index].fAlphaType); + auto alphaType = frameInfos[index].fAlpha == SkEncodedInfo::kOpaque_Alpha + ? kOpaque_SkAlphaType : kPremul_SkAlphaType; + decodeInfo = info.makeAlphaType(alphaType); } bm->allocPixels(decodeInfo); if (cachedIndex != SkCodec::kNone) { |