mirror of
https://github.com/obsproject/obs-studio.git
synced 2024-07-19 17:49:14 +00:00
libobs: UI: Add Area scaling for downscale output
Now that Lanczos downscale blurring has been removed, the Area shader can attempt to fill the void.
This commit is contained in:
parent
6b81f6cd8f
commit
0ea820b277
|
@ -786,6 +786,7 @@ Basic.Settings.Video.DisableAero="Disable Aero"
|
|||
Basic.Settings.Video.DownscaleFilter.Bilinear="Bilinear (Fastest, but blurry if scaling)"
|
||||
Basic.Settings.Video.DownscaleFilter.Bicubic="Bicubic (Sharpened scaling, 16 samples)"
|
||||
Basic.Settings.Video.DownscaleFilter.Lanczos="Lanczos (Sharpened scaling, 36 samples)"
|
||||
Basic.Settings.Video.DownscaleFilter.Area="Area (Weighted sum, 1/2/4 samples)"
|
||||
|
||||
# basic mode 'audio' settings
|
||||
Basic.Settings.Audio="Audio"
|
||||
|
|
|
@ -3447,6 +3447,8 @@ static inline enum obs_scale_type GetScaleType(ConfigFile &basicConfig)
|
|||
return OBS_SCALE_BILINEAR;
|
||||
else if (astrcmpi(scaleTypeStr, "lanczos") == 0)
|
||||
return OBS_SCALE_LANCZOS;
|
||||
else if (astrcmpi(scaleTypeStr, "area") == 0)
|
||||
return OBS_SCALE_AREA;
|
||||
else
|
||||
return OBS_SCALE_BICUBIC;
|
||||
}
|
||||
|
|
|
@ -1333,6 +1333,9 @@ void OBSBasicSettings::LoadDownscaleFilters()
|
|||
ui->downscaleFilter->addItem(
|
||||
QTStr("Basic.Settings.Video.DownscaleFilter.Lanczos"),
|
||||
QT_UTF8("lanczos"));
|
||||
ui->downscaleFilter->addItem(
|
||||
QTStr("Basic.Settings.Video.DownscaleFilter.Area"),
|
||||
QT_UTF8("area"));
|
||||
|
||||
const char *scaleType =
|
||||
config_get_string(main->Config(), "Video", "ScaleType");
|
||||
|
@ -1341,6 +1344,8 @@ void OBSBasicSettings::LoadDownscaleFilters()
|
|||
ui->downscaleFilter->setCurrentIndex(0);
|
||||
else if (astrcmpi(scaleType, "lanczos") == 0)
|
||||
ui->downscaleFilter->setCurrentIndex(2);
|
||||
else if (astrcmpi(scaleType, "area") == 0)
|
||||
ui->downscaleFilter->setCurrentIndex(3);
|
||||
else
|
||||
ui->downscaleFilter->setCurrentIndex(1);
|
||||
}
|
||||
|
|
|
@ -168,6 +168,8 @@ get_scale_effect_internal(struct obs_core_video *video)
|
|||
return video->default_effect;
|
||||
case OBS_SCALE_LANCZOS:
|
||||
return video->lanczos_effect;
|
||||
case OBS_SCALE_AREA:
|
||||
return video->area_effect;
|
||||
case OBS_SCALE_BICUBIC:
|
||||
default:;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue