Skip to content

Commit 74485e2

Browse files
committed
Add test sample
1 parent de6b03d commit 74485e2

File tree

2 files changed

+46
-0
lines changed

2 files changed

+46
-0
lines changed

assets/tests/l15_to_l18.bin

213 Bytes
Binary file not shown.

src/tests/rpu.rs

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1134,3 +1134,49 @@ fn profile20_apple() -> Result<()> {
11341134

11351135
Ok(())
11361136
}
1137+
1138+
#[test]
1139+
fn l15_to_l18() -> Result<()> {
1140+
let (original_data, dovi_rpu) = _parse_file(PathBuf::from("./assets/tests/l15_to_l18.bin"))?;
1141+
assert_eq!(dovi_rpu.dovi_profile, 8);
1142+
let parsed_data = dovi_rpu.write_hevc_unspec62_nalu()?;
1143+
1144+
assert_eq!(&original_data[4..], &parsed_data[2..]);
1145+
1146+
let vdr_dm_data = dovi_rpu.vdr_dm_data.as_ref().unwrap();
1147+
1148+
let l15_meta = vdr_dm_data.get_block(15).unwrap();
1149+
if let ExtMetadataBlock::Level15(b) = l15_meta {
1150+
assert_eq!(b.confidence, 244);
1151+
assert_eq!(b.precision_rendering_strength, 245);
1152+
assert_eq!(b.d_contrast_plus_one_no_pr, 253);
1153+
assert_eq!(b.revision, 1);
1154+
}
1155+
1156+
let l16_meta = vdr_dm_data.get_block(16).unwrap();
1157+
if let ExtMetadataBlock::Level16(b) = l16_meta {
1158+
assert_eq!(b.revision, 1);
1159+
assert_eq!(b.count, 2);
1160+
assert_eq!(b.params.len(), 2);
1161+
assert_eq!(b.params[0].max_d_saturation_plus_one, 234);
1162+
assert_eq!(b.params[1].precision_rendering_strength, 128);
1163+
}
1164+
1165+
let l17_meta = vdr_dm_data.get_block(17).unwrap();
1166+
if let ExtMetadataBlock::Level17(b) = l17_meta {
1167+
assert_eq!(b.mid_boost, 128);
1168+
assert_eq!(b.shadow_drop, 252);
1169+
assert_eq!(b.contrast_boost, 64);
1170+
assert_eq!(b.intensity_indicator_pq, 3696);
1171+
assert_eq!(b.revision, 1);
1172+
}
1173+
1174+
let l18_meta = vdr_dm_data.get_block(18).unwrap();
1175+
if let ExtMetadataBlock::Level18(b) = l18_meta {
1176+
assert_eq!(b.surround_luminance_pq, 3696);
1177+
assert_eq!(b.max_preserved_luminance_pq, 3699);
1178+
assert_eq!(b.revision, 1);
1179+
}
1180+
1181+
Ok(())
1182+
}

0 commit comments

Comments
 (0)