Add a unit test for issue #2979
Based on the PoC in https://github.com/AOMediaCodec/libavif/issues/2979.
diff --git a/tests/gtest/avifaltrtest.cc b/tests/gtest/avifaltrtest.cc
index 2889504..f1c1a01 100644
--- a/tests/gtest/avifaltrtest.cc
+++ b/tests/gtest/avifaltrtest.cc
@@ -70,6 +70,20 @@
EXPECT_EQ(decoder->image->depth, depth);
}
+// Verifies the fix for https://github.com/AOMediaCodec/libavif/issues/2979.
+TEST(AltrTest, ZeroImageContentToDecode) {
+ const std::string file_path =
+ std::string(data_path) + "weld_sato_12B_8B_q0.avif";
+
+ DecoderPtr decoder(avifDecoderCreate());
+ ASSERT_NE(decoder, nullptr);
+ decoder->imageContentToDecode = AVIF_IMAGE_CONTENT_NONE;
+ ImagePtr image(avifImageCreateEmpty());
+ ASSERT_NE(image, nullptr);
+ ASSERT_EQ(avifDecoderReadFile(decoder.get(), image.get(), file_path.c_str()),
+ AVIF_RESULT_NO_CONTENT);
+}
+
//------------------------------------------------------------------------------
} // namespace