vic: Allow surface to be higher than frame
Touhou Genso Wanderer Lotus Labyrinth R decodes 1920x1080 videos into 1920x1088 surface. Only allow mismatch for height, since larger width would result in increasingly offset rows and somewhat defeat entire purpose of this check.pull/15/head
parent
39cd6306e6
commit
0394e4bb8e
|
|
@ -88,9 +88,10 @@ void Vic::Execute() {
|
||||||
const u64 surface_width = config.surface_width_minus1 + 1;
|
const u64 surface_width = config.surface_width_minus1 + 1;
|
||||||
const u64 surface_height = config.surface_height_minus1 + 1;
|
const u64 surface_height = config.surface_height_minus1 + 1;
|
||||||
if (static_cast<u64>(frame->width) != surface_width ||
|
if (static_cast<u64>(frame->width) != surface_width ||
|
||||||
static_cast<u64>(frame->height) != surface_height) {
|
static_cast<u64>(frame->height) > surface_height) {
|
||||||
// TODO: Properly support multiple video streams with differing frame dimensions
|
// TODO: Properly support multiple video streams with differing frame dimensions
|
||||||
LOG_WARNING(Debug, "Frame dimensions {}x{} do not match expected surface dimensions {}x{}",
|
LOG_WARNING(Debug,
|
||||||
|
"Frame dimensions {}x{} can't be safely decoded into surface dimensions {}x{}",
|
||||||
frame->width, frame->height, surface_width, surface_height);
|
frame->width, frame->height, surface_width, surface_height);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue