From: Steinar H. Gunderson Date: Sun, 28 Jul 2019 22:13:00 +0000 (+0200) Subject: Fix missing hq parameter. X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=948f8e6c91f29c80a4239eb66ae81706de87bcd0;p=ultimatescore Fix missing hq parameter. --- diff --git a/nageru/ultimate.lua b/nageru/ultimate.lua index b609c06..65c64b3 100644 --- a/nageru/ultimate.lua +++ b/nageru/ultimate.lua @@ -238,17 +238,17 @@ function needs_scale(signals, signal_num, width, height) return (signals:get_width(signal_num) ~= width or signals:get_height(signal_num) ~= height) end -function set_scale_parameters_if_needed(scene_or_input, signals, signal_num, width, height) +function set_scale_parameters_if_needed(scene, signals, signal_num, width, height, hq) if needs_scale(signals, signal_num, width, height) then if hq then - scene_or_input.resample_effect:choose(ResampleEffect) -- High-quality resampling. + scene.resample_effect:choose(ResampleEffect) -- High-quality resampling. else - scene_or_input.resample_effect:choose(ResizeEffect) -- Low-quality resampling. + scene.resample_effect:choose(ResizeEffect) -- Low-quality resampling. end - scene_or_input.resample_effect:set_int("width", width) - scene_or_input.resample_effect:set_int("height", height) + scene.resample_effect:set_int("width", width) + scene.resample_effect:set_int("height", height) else - scene_or_input.resample_effect:disable() + scene.resample_effect:disable() end end @@ -748,13 +748,13 @@ function get_scene(num, t, width, height, signals) if state.transition_type == ZOOM_TRANSITION then -- Transition in or out of SBS. sbs_scene.input0.overlay.overlay_effect:enable_if(state.overlay_enabled) - prepare_sbs_scene(state, sbs_scene, calc_zoom_progress(t), state.transition_type, state.transition_src_signal, state.transition_dst_signal, width, height, input_resolution) + prepare_sbs_scene(state, sbs_scene, calc_zoom_progress(t), state.transition_type, state.transition_src_signal, state.transition_dst_signal, width, height, input_resolution, true) prepare_overlay_live(state, sbs_scene, t, 1.0) return sbs_scene.scene elseif state.transition_type == NO_TRANSITION and state.live_signal_num == SBS_SIGNAL_NUM then -- Static SBS view. sbs_scene.input0.overlay.overlay_effect:enable_if(state.overlay_enabled) - prepare_sbs_scene(state, sbs_scene, 0.0, NO_TRANSITION, 0, SBS_SIGNAL_NUM, width, height, input_resolution) + prepare_sbs_scene(state, sbs_scene, 0.0, NO_TRANSITION, 0, SBS_SIGNAL_NUM, width, height, input_resolution, true) prepare_overlay_live(state, sbs_scene, t, 1.0) return sbs_scene.scene elseif state.transition_type == FADE_TRANSITION then @@ -764,7 +764,7 @@ function get_scene(num, t, width, height, signals) if state.stinger_in_progress then stinger_scene.overlay.overlay_effect:enable_if(overlay_really_enabled) stinger_scene.input:display(state.live_signal_num) - set_scale_parameters_if_needed(stinger_scene, signals, state.live_signal_num, width, height) + set_scale_parameters_if_needed(stinger_scene, signals, state.live_signal_num, width, height, true) set_neutral_color_from_signal(state, stinger_scene.wb_effect, state.live_signal_num) stinger_scene.stinger_input:display(stinger_images[state.stinger_frame]) @@ -791,7 +791,7 @@ function get_scene(num, t, width, height, signals) else simple_scene.overlay.overlay_effect:enable_if(overlay_really_enabled) simple_scene.input:display(state.live_signal_num) - set_scale_parameters_if_needed(simple_scene, signals, state.live_signal_num, width, height) + set_scale_parameters_if_needed(simple_scene, signals, state.live_signal_num, width, height, true) set_neutral_color_from_signal(state, simple_scene.wb_effect, state.live_signal_num) prepare_overlay_live(state, simple_scene, t, 1.0) return simple_scene.scene @@ -825,14 +825,14 @@ function get_scene(num, t, width, height, signals) local signal_num = num - 2 simple_scene.overlay.overlay_effect:enable_if(show_overlay) simple_scene.input:display(signal_num) - set_scale_parameters_if_needed(simple_scene, signals, signal_num, width, height) + set_scale_parameters_if_needed(simple_scene, signals, signal_num, width, height, false) set_neutral_color_from_signal(state, simple_scene.wb_effect, signal_num) prepare_overlay_static(simple_scene, t) return simple_scene.scene end if num == SBS_SIGNAL_NUM + 2 then sbs_scene.input0.overlay.overlay_effect:enable_if(show_overlay) - prepare_sbs_scene(state, sbs_scene, 0.0, NO_TRANSITION, 0, SBS_SIGNAL_NUM, width, height, input_resolution) + prepare_sbs_scene(state, sbs_scene, 0.0, NO_TRANSITION, 0, SBS_SIGNAL_NUM, width, height, input_resolution, false) return sbs_scene.scene end if num == STATIC_SIGNAL_NUM + 2 then @@ -872,7 +872,7 @@ function pos_from_top_left(x, y, width, height, screen_width, screen_height) } end -function prepare_sbs_scene(state, scene, t, transition_type, src_signal, dst_signal, screen_width, screen_height, input_resolution) +function prepare_sbs_scene(state, scene, t, transition_type, src_signal, dst_signal, screen_width, screen_height, input_resolution, hq) scene.input0.input:display(0) scene.input1.input:display(4) set_neutral_color(scene.input0.wb_effect, state.neutral_colors[1]) @@ -908,8 +908,8 @@ function prepare_sbs_scene(state, scene, t, transition_type, src_signal, dst_sig end -- NOTE: input_resolution is not 1-indexed, unlike usual Lua arrays. - place_rectangle_with_affine(scene.input0, pos0, affine_param, screen_width, screen_height, input_resolution[0].width, input_resolution[0].height) - place_rectangle_with_affine(scene.input1, pos1, affine_param, screen_width, screen_height, input_resolution[1].width, input_resolution[1].height) + place_rectangle_with_affine(scene.input0, pos0, affine_param, screen_width, screen_height, input_resolution[0].width, input_resolution[0].height, hq) + place_rectangle_with_affine(scene.input1, pos1, affine_param, screen_width, screen_height, input_resolution[1].width, input_resolution[1].height, hq) end -- Find the transformation that changes the first rectangle to the second one. @@ -924,13 +924,13 @@ function find_affine_param(a, b) } end -function place_rectangle_with_affine(input, pos, aff, screen_width, screen_height, input_width, input_height) +function place_rectangle_with_affine(input, pos, aff, screen_width, screen_height, input_width, input_height, hq) local x0 = pos.x0 * aff.sx + aff.tx local x1 = pos.x1 * aff.sx + aff.tx local y0 = pos.y0 * aff.sy + aff.ty local y1 = pos.y1 * aff.sy + aff.ty - place_rectangle(input, x0, y0, x1, y1, screen_width, screen_height, input_width, input_height) + place_rectangle(input, x0, y0, x1, y1, screen_width, screen_height, input_width, input_height, hq) end function place_rectangle(input, x0, y0, x1, y1, screen_width, screen_height, input_width, input_height, hq)