libde265: add tests.test-corpus-decode

based on libde265's own test files
This commit is contained in:
Robert Scott 2023-04-13 23:42:13 +01:00
parent 99910f07fb
commit 95e44ea668
2 changed files with 56 additions and 2 deletions

View file

@ -5,6 +5,8 @@
, autoreconfHook
, pkg-config
, callPackage
# for passthru.tests
, imagemagick
, libheif
@ -12,7 +14,7 @@
, gst_all_1
}:
stdenv.mkDerivation rec {
stdenv.mkDerivation (finalAttrs: rec {
version = "1.0.11";
pname = "libde265";
@ -43,6 +45,10 @@ stdenv.mkDerivation rec {
passthru.tests = {
inherit imagemagick libheif imlib2Full;
inherit (gst_all_1) gst-plugins-bad;
test-corpus-decode = callPackage ./test-corpus-decode.nix {
libde265 = finalAttrs.finalPackage;
};
};
meta = {
@ -52,4 +58,4 @@ stdenv.mkDerivation rec {
platforms = lib.platforms.unix;
maintainers = with lib.maintainers; [ gebner ];
};
}
})

View file

@ -0,0 +1,48 @@
{ lib
, stdenv
, fetchFromGitHub
, libde265
}:
stdenv.mkDerivation {
pname = "libde265-test-corpus-decode";
version = "unstable-2020-02-19";
src = fetchFromGitHub {
owner = "strukturag";
repo = "libde265-data";
rev = "bdfdfdbe682f514c5185c270c74eac42731a7fa8";
sha256 = "sha256-fOgu7vMoyH30Zzbkfm4a6JVDZtYLO/0R2syC2Wux+Z8=";
};
dontConfigure = true;
dontBuild = true;
doCheck = true;
nativeCheckInputs = [ libde265 ];
# based on invocations in https://github.com/strukturag/libde265/blob/0b1752abff97cb542941d317a0d18aa50cb199b1/scripts/ci-run.sh
checkPhase = ''
echo "Single-threaded:"
find . -name '*.bin' | while read f; do
echo "Decoding $f"
dec265 -q -c $f
dec265 -0 -q -c $f
dec265 -q --disable-deblocking --disable-sao $f
done
echo "Multi-threaded:"
find RandomAccess/ -name '*.bin' | while read f; do
echo "Decoding $f"
dec265 -t 4 -q -c $f
dec265 -t 4 -0 -q -c $f
dec265 -t 4 -q --disable-deblocking --disable-sao $f
done
'';
# a larger corpus of files can be found
# as an ubuntu package libde265-teststreams @
# https://launchpad.net/~strukturag/+archive/ubuntu/libde265/+packages
# but it is *much* larger
installPhase = ''
touch $out
'';
}