Skip to content

Commit

Permalink
Apply comments and add sh test unit
Browse files Browse the repository at this point in the history
  • Loading branch information
y-guyon committed Feb 24, 2025
1 parent 2272165 commit 021129b
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 3 deletions.
5 changes: 3 additions & 2 deletions tests/gtest/avifsvttest.cc
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// Copyright 2025 Google LLC
// SPDX-License-Identifier: BSD-2-Clause

#include <cstdlib>
#include <tuple>
#include <vector>

Expand Down Expand Up @@ -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.
Expand Down Expand Up @@ -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<ImagePtr> sequence;
Expand Down
13 changes: 12 additions & 1 deletion tests/test_cmd_lossless.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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

0 comments on commit 021129b

Please sign in to comment.