0
0
mirror of https://github.com/obsproject/obs-studio.git synced 2024-09-20 13:08:50 +02:00
obs-studio/libobs
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
..
audio-monitoring libobs/audio-monitoring: Use libobs CFString utils 2018-09-16 22:41:01 +02:00
callback libobs/callback: Add signal reference counting 2018-06-03 15:04:03 -07:00
data Add "Area" scale filter 2019-03-06 20:53:15 -08:00
graphics libobs/graphics: Add NV12 texture support 2019-02-07 17:00:46 -08:00
media-io libobs/media-io: Add frame funcs for separate GPU thread 2019-02-07 17:00:46 -08:00
util libobs: Fix missing mutex unlock from 26dbe54 2019-02-18 23:42:01 +01:00
CMakeLists.txt libobs: Add texture-based encoding support 2019-02-07 17:00:46 -08:00
libobs.pc.in libobs: Add pkgconfig support 2018-09-24 14:25:41 -07:00
LibObsConfig.cmake.in
LibObsConfigVersion.cmake.in
obs-audio-controls.c libobs: Use unaligned store rather than aligned store 2018-05-01 09:26:10 -07:00
obs-audio-controls.h libobs, UI: Add true peak measurements 2018-04-30 03:53:26 -07:00
obs-audio.c libobs: Fix indent 2019-02-12 19:33:13 -08:00
obs-avc.c libobs: Fix bug in AVC encoder packet allocation 2016-12-24 03:44:13 -08:00
obs-avc.h libobs: Add function to extract AVC header/sei 2016-04-19 08:29:24 -07:00
obs-cocoa.c libobs: Add functions to get logical/physical cores 2017-05-06 11:29:27 -07:00
obs-config.h libobs: Update version to 23.0.1 2019-02-26 12:16:06 -08:00
obs-data.c libobs: Add obs_data_array_push_back_array 2018-07-15 17:09:02 -07:00
obs-data.h libobs: Add obs_data_array_push_back_array 2018-07-15 17:09:02 -07:00
obs-defs.h libobs: Add output stop error for "no space left" 2015-09-18 22:04:23 -07:00
obs-display.c libobs: Background color of 0 should not be gray 2018-12-03 04:09:30 -08:00
obs-encoder.c libobs: Add func to get encoder caps by encoder pointer 2019-02-26 08:02:57 -08:00
obs-encoder.h libobs: Add texture-based encoding support 2019-02-07 17:00:46 -08:00
obs-ffmpeg-compat.h libobs: Fix FFmpeg constants 2017-11-16 21:38:37 -08:00
obs-hotkey-name-map.c libobs: Fix warning from mingw 2015-07-11 14:26:48 -07:00
obs-hotkey.c libobs: Add function to save hotkey pair data 2018-08-05 04:21:42 -07:00
obs-hotkey.h libobs: Add function to save hotkey pair data 2018-08-05 04:21:42 -07:00
obs-hotkeys.h libobs: Add <> or \| on RT 102-key as hotkey 2017-06-27 21:35:52 -07:00
obs-interaction.h
obs-internal.h Add "Area" scale filter 2019-03-06 20:53:15 -08:00
obs-module.c libobs: Add texture-based encoding support 2019-02-07 17:00:46 -08:00
obs-module.h libobs: Add post-load module callback 2017-07-21 08:27:31 -07:00
obs-nix.c libobs: Use xcb-xinput when available for events 2018-05-07 21:31:16 -03:00
obs-output-delay.c libobs: Use reference counting for encoder packets 2016-12-08 03:27:39 -08:00
obs-output.c libobs: Fix audio offset not reset for all tracks 2018-11-16 03:56:49 +01:00
obs-output.h libobs: Add multi-track support to non-encoded outputs 2018-10-04 20:32:35 -07:00
obs-properties.c libobs: Fix property text typo 2018-02-27 05:37:40 -08:00
obs-properties.h libobs: Fix property text typo 2018-02-27 05:37:40 -08:00
obs-scene.c Add "Area" scale filter 2019-03-06 20:53:15 -08:00
obs-scene.h libobs: Remove group_sceneitem from obs_scene struct 2018-07-15 19:01:14 -07:00
obs-service.c libobs: Add ability for service to specify its output type 2017-07-14 12:38:46 -07:00
obs-service.h libobs: Add ability for service to specify its output type 2017-07-14 12:38:46 -07:00
obs-source-deinterlace.c libobs: Don't use source flags for async buffering 2017-05-13 23:32:40 -07:00
obs-source-transition.c libobs: Fix audio buffer clear in custom source mixing 2018-01-16 11:56:11 -08:00
obs-source.c libobs: Fix starting timestamp for preloaded frames 2018-12-03 08:44:55 -08:00
obs-source.h UI: Implement stereo balancing 2018-09-07 09:27:14 -05:00
obs-ui.h Fix various typos across multiple modules 2017-04-25 22:39:42 -04:00
obs-video-gpu-encode.c libobs: Fix potential race condition on shutdown 2019-02-12 16:07:14 -08:00
obs-video.c libobs: Fix race conditions 2019-02-12 19:23:24 -08:00
obs-view.c libobs: Hide sources when an obs_view is destroyed 2015-03-02 12:23:25 -08:00
obs-win-crash-handler.c libobs: Log libobs bitness in crash logs 2018-07-31 11:49:35 -04:00
obs-windows.c libobs: Fix Windows Game Mode detection on newer Windows 10 versions 2018-12-26 23:13:37 +01:00
obs.c Add "Area" scale filter 2019-03-06 20:53:15 -08:00
obs.h Add "Area" scale filter 2019-03-06 20:53:15 -08:00
obs.hpp libobs/callback: Add signal reference counting 2018-06-03 15:04:03 -07:00
obsconfig.h.in cmake: Add release candidate versions/cmake variables 2018-08-13 01:19:23 -07:00