libhevc-mirror/tests/common/common.cmake
Harish Mahendrakar 4a8c3163e3
Some checks failed
CMake / build (cmake, aarch64-linux-gnu-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch64_toolchain.cmake, aarch64-linux-gnu-g++, ubuntu-latest-cross-aarch64-cmake, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, arm-linux-gnueabihf-gcc, -DCMAKE_TOOLCHAIN_FILE=../cmake/toolchains/aarch32_toolchain.cmake, arm-linux-gnueabihf-g++, ubuntu-latest-cross-aarch32-cmake, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, clang, , clang++, macos-latest-clang-cmake, macos-latest) (push) Has been cancelled
CMake / build (cmake, clang, , clang++, ubuntu-24.04-arm-clang-cmake, ubuntu-24.04-arm) (push) Has been cancelled
CMake / build (cmake, clang, , clang++, ubuntu-latest-clang-cmake, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, clang, -DSANITIZE=fuzzer-no-link,address, clang++, ubuntu-latest-clang-cmake-asan-fuzzer, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, clang, -G Ninja, clang++, ubuntu-latest-clang-cmake-ninja, ubuntu-latest) (push) Has been cancelled
CMake / build (cmake, gcc, , g++, ubuntu-latest-gcc-cmake, ubuntu-latest) (push) Has been cancelled
Add initial tests for decoder and encoder
Encoder tests currently do not dump recon as ihevce_plugin doesn't yet support recon dump.
This will be enabled once the recon dump is supported.

Decoder tests currently validate just a few files from big buck bunny.

Use "ctest" run all the tests when using cmake.
This downloads the required media files and uses them in the tests.

If running the tests directly using the test binaries, then download the media files
and export HEVC_TEST_DIR to the extracted folder before running the binaries directly.
2026-07-27 13:15:45 -07:00

96 lines
2.4 KiB
CMake

enable_testing()
libhevc_add_gtest_executable(
ihevc_luma_inter_pred_test
SOURCES ${HEVC_ROOT}/tests/common/ihevc_luma_inter_pred_test.cc
)
libhevc_add_gtest_executable(
ihevc_chroma_inter_pred_test
SOURCES ${HEVC_ROOT}/tests/common/ihevc_chroma_inter_pred_test.cc
)
libhevc_add_gtest_executable(
ihevc_luma_intra_pred_test
SOURCES ${HEVC_ROOT}/tests/common/ihevc_luma_intra_pred_test.cc
)
libhevc_add_gtest_executable(
ihevc_chroma_intra_pred_test
SOURCES ${HEVC_ROOT}/tests/common/ihevc_chroma_intra_pred_test.cc
)
libhevc_add_gtest_executable(
ihevc_itrans_res_test
SOURCES ${HEVC_ROOT}/tests/common/ihevc_itrans_res_test.cc
)
libhevc_add_gtest_executable(
ihevc_itrans_recon_test
SOURCES ${HEVC_ROOT}/tests/common/ihevc_itrans_recon_test.cc
)
libhevc_add_gtest_executable(
ihevc_chroma_itrans_recon_test
SOURCES ${HEVC_ROOT}/tests/common/ihevc_chroma_itrans_recon_test.cc
)
libhevc_add_gtest_executable(
ihevc_itrans_test
SOURCES ${HEVC_ROOT}/tests/common/ihevc_itrans_test.cc
)
libhevc_add_gtest_executable(
ihevc_recon_test
SOURCES ${HEVC_ROOT}/tests/common/ihevc_recon_test.cc
)
libhevc_add_gtest_executable(
ihevc_chroma_recon_test
SOURCES ${HEVC_ROOT}/tests/common/ihevc_chroma_recon_test.cc
)
libhevc_add_gtest_executable(
ihevc_weighted_pred_test
SOURCES ${HEVC_ROOT}/tests/common/ihevc_weighted_pred_test.cc
)
libhevc_add_gtest_executable(
ihevc_mem_fns_test
SOURCES ${HEVC_ROOT}/tests/common/ihevc_mem_fns_test.cc
)
libhevc_add_gtest_executable(
ihevc_padding_test
SOURCES ${HEVC_ROOT}/tests/common/ihevc_padding_test.cc
)
libhevc_add_gtest_executable(
ihevc_sao_test
SOURCES ${HEVC_ROOT}/tests/common/ihevc_sao_test.cc
)
libhevc_add_gtest_executable(
ihevc_deblk_test
SOURCES ${HEVC_ROOT}/tests/common/ihevc_deblk_test.cc
)
include(GoogleTest)
if(CMAKE_CROSSCOMPILING AND NOT CMAKE_CROSSCOMPILING_EMULATOR AND CMAKE_VERSION VERSION_GREATER_EQUAL "3.18")
set(HEVC_GTEST_DISCOVERY_MODE DISCOVERY_MODE PRE_TEST)
else()
set(HEVC_GTEST_DISCOVERY_MODE)
endif()
include("${HEVC_ROOT}/tests/common/helpers.cmake")
include(FetchContent)
FetchContent_Declare(
hevc_test_data
URL "https://storage.googleapis.com/android_media/external/libhevc/tests/HevcTestRes-1.0.zip"
)
FetchContent_MakeAvailable(hevc_test_data)
include("${HEVC_ROOT}/tests/decoder/DecHelper.cmake")
include("${HEVC_ROOT}/tests/encoder/EncHelper.cmake")