0
0
mirror of https://github.com/obsproject/obs-studio.git synced 2024-09-20 13:08:50 +02:00
obs-studio/libobs/data
James Park 7d811499e0 Add "Area" scale filter
This new scale filter computes pixels by weighing the coverage area of
source pixels over the target pixel. This algorithm works well for both
upsampling and downsampling, but was mainly designed to upscale
high-quality low-resolution sources like RGB/HDMI retro consoles. I've
heard of people using odd workarounds like scaling up to very high
resolutions before scaling back down to preserve pixel shartpness. This
algorithm directly addresses this use-case in a much more direct
fashion.

The Area scale filter does a better job of preserving the thickness of
thin features than the Point filter.

The Area scale filter does not look at source pixels that lie outside
of the target pixel, leading to a much sharper image than Bilinear,
Bicubic, and Lanczos filters.

This filter should interpolate pixels in linear space, but OBS is not
equipped to do that at the moment.

libobs: Add GPU effect, and wire up scene serialization.

obs-filters: Add Area as an option for scale_filter.

UI: Add Area as an option for both scene items, and canvas downscaling.
2019-03-06 20:53:15 -08:00
..
area.effect Add "Area" scale filter 2019-03-06 20:53:15 -08:00
bicubic_scale.effect libobs: Add optional ultrawide -> wide scaling techniques 2017-01-30 05:59:17 -08:00
bilinear_lowres_scale.effect libobs: Don't use 'output' as a keyword in shader 2015-04-10 09:58:04 -07:00
default_rect.effect libobs: Remove need for DrawMatrix technique in effects 2016-03-21 21:22:26 -07:00
default.effect Move all data into the subdir it belongs to 2014-07-19 01:38:41 +02:00
deinterlace_base.effect libobs: Fix field order of retro/linear 2x shaders 2016-04-24 01:21:30 -07:00
deinterlace_blend_2x.effect libobs: Add deinterlacing API functions 2016-03-21 21:22:32 -07:00
deinterlace_blend.effect libobs: Add deinterlacing API functions 2016-03-21 21:22:32 -07:00
deinterlace_discard_2x.effect libobs: Add deinterlacing API functions 2016-03-21 21:22:32 -07:00
deinterlace_discard.effect libobs: Add deinterlacing API functions 2016-03-21 21:22:32 -07:00
deinterlace_linear_2x.effect libobs: Add deinterlacing API functions 2016-03-21 21:22:32 -07:00
deinterlace_linear.effect libobs: Add deinterlacing API functions 2016-03-21 21:22:32 -07:00
deinterlace_yadif_2x.effect libobs: Add deinterlacing API functions 2016-03-21 21:22:32 -07:00
deinterlace_yadif.effect libobs: Add deinterlacing API functions 2016-03-21 21:22:32 -07:00
format_conversion.effect libobs: Use NV12 textures when available 2019-02-07 17:00:46 -08:00
lanczos_scale.effect libobs: Add optional ultrawide -> wide scaling techniques 2017-01-30 05:59:17 -08:00
opaque.effect libobs: Add obs_get_opaque_effect function 2015-03-22 19:18:04 -07:00
premultiplied_alpha.effect libobs: Add premultiplied alpha base effect 2016-03-26 21:41:49 -07:00
repeat.effect UI: Add scene item canvas overflow to preview 2019-02-08 20:38:53 +13:00
solid.effect libobs: Add random shader 2017-05-06 11:29:24 -07:00