diff --git a/tests/gtest/avifsvttest.cc b/tests/gtest/avifsvttest.cc index 442c452ca5..23ffde6db0 100644 --- a/tests/gtest/avifsvttest.cc +++ b/tests/gtest/avifsvttest.cc @@ -1,6 +1,7 @@ // Copyright 2025 Google LLC // SPDX-License-Identifier: BSD-2-Clause +#include #include #include @@ -29,7 +30,7 @@ TEST_P(SvtAv1Test, EncodeDecodeStillImage) { ASSERT_NE(avifCodecName(AVIF_CODEC_CHOICE_SVT, AVIF_CODEC_FLAG_CAN_ENCODE), nullptr); if (!testutil::Av1DecoderAvailable()) { - GTEST_SKIP() << "Codec unavailable, skip test."; + GTEST_SKIP() << "Decoder unavailable, skip test."; } // AVIF_CODEC_CHOICE_SVT requires dimensions to be at least 64 pixels. @@ -72,7 +73,7 @@ TEST_P(SvtAv1Test, EncodeDecodeSequence) { ASSERT_NE(avifCodecName(AVIF_CODEC_CHOICE_SVT, AVIF_CODEC_FLAG_CAN_ENCODE), nullptr); if (!testutil::Av1DecoderAvailable()) { - GTEST_SKIP() << "Codec unavailable, skip test."; + GTEST_SKIP() << "Decoder unavailable, skip test."; } std::vector sequence; diff --git a/tests/test_cmd_lossless.sh b/tests/test_cmd_lossless.sh index 6b9091063b..6e6f8b5694 100755 --- a/tests/test_cmd_lossless.sh +++ b/tests/test_cmd_lossless.sh @@ -21,15 +21,18 @@ source $(dirname "$0")/cmd_test_common.sh # Input file paths. INPUT_PNG="${TESTDATA_DIR}/paris_icc_exif_xmp.png" INPUT_GRAY_PNG="${TESTDATA_DIR}/kodim03_grayscale_gamma1.6.png" +INPUT_Y4M="${TESTDATA_DIR}/kodim03_yuv420_8bpc.y4m" # Output file names. ENCODED_FILE="avif_test_cmd_lossless_encoded.avif" DECODED_FILE="avif_test_cmd_lossless_decoded.png" DECODED_FILE_LOSSLESS="avif_test_cmd_lossless_decoded_lossless.png" +OUT_MSG="avif_test_cmd_lossless_out_msg.txt" # Cleanup cleanup() { pushd ${TMP_DIR} - rm -f -- "${ENCODED_FILE}" "${DECODED_FILE}" "${DECODED_FILE_LOSSLESS}" + rm -f -- "${ENCODED_FILE}" "${DECODED_FILE}" "${DECODED_FILE_LOSSLESS}" \ + "${OUT_MSG}" popd } trap cleanup EXIT @@ -68,6 +71,14 @@ pushd ${TMP_DIR} "${AVIFENC}" -y 400 -s 10 -l "${INPUT_GRAY_PNG}" -o "${ENCODED_FILE}" "${AVIFDEC}" "${ENCODED_FILE}" "${DECODED_FILE_LOSSLESS}" "${ARE_IMAGES_EQUAL}" "${INPUT_GRAY_PNG}" "${DECODED_FILE_LOSSLESS}" 0 + + # SVT-AV1 supports 4:2:0 lossless starting with version 3.0.0. + if "${AVIFENC}" --help | grep 'svt \['; then + # Depending on the version, either succeeds or prints an error message. + "${AVIFENC}" -c svt --lossless -s 9 "${INPUT_Y4M}" "${ENCODED_FILE}" + "${AVIFENC}" -c svt --lossless -s 9 "${INPUT_Y4M}" "${ENCODED_FILE}" 2> "${OUT_MSG}" || \ + grep "lossless support was added in version 3" "${OUT_MSG}" + fi popd exit 0