test(probe): add HDR probe fixtures
ci / web (pull_request) Successful in 1m1s
ci / rust (pull_request) Successful in 1m21s
e2e / e2e (pull_request) Successful in 1m48s

This commit is contained in:
Miguel Palhas
2026-08-22 21:35:56 +01:00
parent 5a1cf999b6
commit 93da5e4360
4 changed files with 36 additions and 0 deletions
Binary file not shown.
Binary file not shown.
+22
View File
@@ -86,6 +86,28 @@ async fn hdr10_comes_from_the_transfer_function() {
assert_eq!(file.media.hdr, HdrFormat::Hdr10);
}
#[tokio::test]
async fn hlg_comes_from_the_transfer_function() {
let file = Prober::new()
.probe(fixture("hlg-720p.mkv"))
.await
.expect("the fixture is readable");
assert_eq!(file.video_codec, "hevc");
assert_eq!(file.media.hdr, HdrFormat::Hlg);
}
#[tokio::test]
async fn ten_bit_hevc_without_hdr_transfer_is_sdr() {
let file = Prober::new()
.probe(fixture("sdr-10bit-hevc-720p.mkv"))
.await
.expect("the fixture is readable");
assert_eq!(file.video_codec, "hevc");
assert_eq!(file.media.hdr, HdrFormat::Sdr);
}
#[tokio::test]
async fn dolby_vision_profile_5_is_reported_as_a_number() {
let file = Prober::new()
+14
View File
@@ -55,6 +55,20 @@ ffmpeg -hide_banner -loglevel error -y \
-c:v libx265 -preset ultrafast -crf 51 \
"$out/hdr10-2160p.mkv"
# HLG and SDR both use HEVC here so transfer function, rather than codec bit
# depth, is what distinguishes their probe results.
ffmpeg -hide_banner -loglevel error -y \
-f lavfi -i "color=c=black:s=1280x720:r=24:d=1" -an \
-vf "format=yuv420p10le,setparams=color_primaries=bt2020:color_trc=arib-std-b67:colorspace=bt2020nc" \
-c:v libx265 -preset ultrafast -crf 51 \
"$out/hlg-720p.mkv"
ffmpeg -hide_banner -loglevel error -y \
-f lavfi -i "color=c=black:s=1280x720:r=24:d=1" -an \
-vf "format=yuv420p10le" \
-c:v libx265 -preset ultrafast -crf 51 \
"$out/sdr-10bit-hevc-720p.mkv"
# HEVC base layer for the two Dolby Vision clips.
ffmpeg -hide_banner -loglevel error -y \
-f lavfi -i "color=c=black:s=1280x720:r=24:d=1" -an \