filmcraft/crates/h264/tests/conformance.rs

54 lines
1.0 KiB
Rust

//! Bit-exactness against ffmpeg's decoder on libx264-generated fixtures (skipped when ffmpeg is absent).
mod common;
macro_rules! fixture_tests {
($($name:ident),* $(,)?) => {
$(
#[test]
fn $name() {
match common::check_fixture(stringify!($name)) {
Ok(true) => {}
Ok(false) => eprintln!("skipped {}", stringify!($name)),
Err(e) => panic!("{e}"),
}
}
)*
};
}
fixture_tests!(
intra_cavlc,
intra_cavlc_noise,
intra_cavlc_8x8,
intra_cavlc_cqm,
p_cavlc_nodeblock,
baseline_qcif,
baseline_cif_noise,
cavlc_b,
cavlc_b_temporal,
cavlc_weightp,
slices4_cavlc,
qp1_cavlc,
main_cabac_b,
high_720p,
high_1080p,
crop_1918x1078,
bpyramid,
weightp2,
weightb,
direct_temporal,
direct_spatial,
ref4,
no_deblock,
deblock_m2_2,
cqm_jvt,
slices4,
keyint10,
open_gop,
constrained_intra,
no8x8dct,
qp50,
qp1,
);