MCPcopy Create free account
hub / github.com/PlotJuggler/PlotJuggler / TEST

Function TEST

pj_scene2D/tests/thumbnail_codec_test.cpp:25–38  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

23} // namespace
24
25TEST(ThumbnailCodec, EncodeDecodeRoundtripNoDownscale) {
26 auto src = makeYuv420(64, 48, 0x80); // <= 1280 wide -> no downscale
27 auto thumb = PJ::encodeThumbnailJpeg(src, PJ::kThumbnailMaxWidth, PJ::kThumbnailJpegQuality);
28 ASSERT_FALSE(thumb.jpeg.empty());
29 EXPECT_EQ(thumb.width, 64);
30 EXPECT_EQ(thumb.height, 48);
31
32 auto frame = PJ::decodeThumbnailJpeg(thumb.jpeg.data(), thumb.jpeg.size(), thumb.width, thumb.height);
33 ASSERT_TRUE(frame.has_value());
34 EXPECT_EQ(frame->width, 64);
35 EXPECT_EQ(frame->height, 48);
36 EXPECT_EQ(frame->format, PJ::PixelFormat::kYUV420P);
37 EXPECT_TRUE(frame->isValid());
38}
39
40TEST(ThumbnailCodec, DownscalesAboveCap) {
41 auto src = makeYuv420(3840, 2160, 0x40); // 4K -> cap at 1280 wide

Callers

nothing calls this directly

Calls 7

makeYuv420Function · 0.85
encodeThumbnailJpegFunction · 0.85
decodeThumbnailJpegFunction · 0.85
emptyMethod · 0.45
dataMethod · 0.45
sizeMethod · 0.45
isValidMethod · 0.45

Tested by

no test coverage detected