diff options
Diffstat (limited to 'ui/gfx/codec')
-rw-r--r-- | ui/gfx/codec/jpeg_codec_unittest.cc | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/ui/gfx/codec/jpeg_codec_unittest.cc b/ui/gfx/codec/jpeg_codec_unittest.cc index 7a8756a..2327149 100644 --- a/ui/gfx/codec/jpeg_codec_unittest.cc +++ b/ui/gfx/codec/jpeg_codec_unittest.cc @@ -54,6 +54,26 @@ const uint8 kTopSitesMigrationTestImage[] = "\xfa\xff\xda\x00\x0c\x03\x01\x00\x02\x11\x03\x11\x00\x3f\x00\xf9" "\xd2\x8a\x28\xaf\xc3\x0f\xf5\x4c\xff\xd9"; +// A typical Motion JPEG frame which do not have DHT markers. +const uint8 kMotionJPEGFrame[] = + "\xff\xd8\xff\xe0\x00\x10\x4a\x46\x49\x46\x00\x01\x01\x01\x00\x60" + "\x00\x60\x00\x00\xff\xdb\x00\x43\x00\x02\x01\x01\x02\x01\x01\x02" + "\x02\x02\x02\x02\x02\x02\x02\x03\x05\x03\x03\x03\x03\x03\x06\x04" + "\x04\x03\x05\x07\x06\x07\x07\x07\x06\x07\x07\x08\x09\x0b\x09\x08" + "\x08\x0a\x08\x07\x07\x0a\x0d\x0a\x0a\x0b\x0c\x0c\x0c\x0c\x07\x09" + "\x0e\x0f\x0d\x0c\x0e\x0b\x0c\x0c\x0c\xff\xdb\x00\x43\x01\x02\x02" + "\x02\x03\x03\x03\x06\x03\x03\x06\x0c\x08\x07\x08\x0c\x0c\x0c\x0c" + "\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c" + "\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c" + "\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\x0c\xff\xc0" + "\x00\x11\x08\x00\x40\x00\x40\x03\x01\x22\x00\x02\x11\x01\x03\x11" + "\x01\xff\xda\x00\x0c\x03\x01\x00\x02\x11\x03\x11\x00\x3f\x00\xf8" + "\xbe\x8a\x28\xaf\xe5\x33\xfd\xfc\x0a\x28\xa2\x80\x0a\x28\xa2\x80" + "\x0a\x28\xa2\x80\x0a\x28\xa2\x80\x0a\x28\xa2\x80\x0a\x28\xa2\x80" + "\x0a\x28\xa2\x80\x0a\x28\xa2\x80\x0a\x28\xa2\x80\x0a\x28\xa2\x80" + "\x0a\x28\xa2\x80\x0a\x28\xa2\x80\x0a\x28\xa2\x80\x0a\x28\xa2\x80" + "\x0a\x28\xa2\x80\x3f\xff\xd9"; + } // namespace namespace gfx { @@ -214,4 +234,23 @@ TEST(JPEGCodec, InvalidRead) { &outw, &outh); } +// Test that we can decode a motion JPEG frame. +TEST(JPEGCodec, DecodeMotionJPEG) { + std::vector<unsigned char> output; + int outw, outh; + ASSERT_TRUE(JPEGCodec::Decode(kMotionJPEGFrame, + arraysize(kMotionJPEGFrame), + JPEGCodec::FORMAT_RGB, &output, + &outw, &outh)); + EXPECT_EQ(64, outw); + EXPECT_EQ(64, outh); + + ASSERT_TRUE(JPEGCodec::Decode(kMotionJPEGFrame, + arraysize(kMotionJPEGFrame), + JPEGCodec::FORMAT_RGBA, &output, + &outw, &outh)); + EXPECT_EQ(64, outw); + EXPECT_EQ(64, outh); +} + } // namespace gfx |