obs-studio/libobs
James Park 69c215345a libobs: Simplify YUV conversion
Currently several shaders need "DrawMatrix" techniques to support the
possibility that the input texture is a "YUV" format. Also, "DrawMatrix"
is overloaded for translation in both directions when it is written for
RGB to "YUV" only.

A cleaner solution is to handle "YUV" to RGB up-front as part of format
conversion, and ensure only RGB inputs reach the other shaders. This is
necessary to someday perform correct scale filtering without the cost of
redundant "YUV" conversions per texture tap.

A necessary prerequisite for this is to add conversion support for
VIDEO_FORMAT_I444, and that is now in place. There was already a hack in
place to cover VIDEO_FORMAT_Y800. All other "YUV" formats already have
conversion functions.

"DrawMatrix" has been removed from shaders that only supported "YUV" to
RGB conversions. It still exists in shaders that perform RGB to "YUV"
conversions, and the implementations have been sanitized accordingly.
2019-04-11 23:00:03 -07:00
..
audio-monitoring UI, libobs, text-freetype2: Add missing pragma once in header files 2019-04-01 02:48:28 -05:00
callback libobs/callback: Add signal reference counting 2018-06-03 15:04:03 -07:00
data libobs: Simplify YUV conversion 2019-04-11 23:00:03 -07:00
graphics libobs/graphics: Support debug markers 2019-04-08 02:05:37 -07:00
media-io libobs: Fix output type specifiers 2019-03-19 18:29:09 +03:00
util libobs: Fix move assignment operator for ComPtr 2019-04-08 02:05:37 -07: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 cmake: Export plugin data destination 2014-09-27 09:41:32 -07:00
LibObsConfigVersion.cmake.in Export libobs cmake target, so external plugins can be built without ugly hacks 2014-05-08 14:43:16 +02:00
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.1.0 2019-04-04 06:46:51 -07: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: UI: Use graphics debug markers 2019-04-08 02:05:37 -07: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 UI: Fix issue where space/esc hotkeys would be blank 2019-03-31 05:10:02 -05:00
obs-hotkey.h UI: Fix issue where space/esc hotkeys would be blank 2019-03-31 05:10:02 -05:00
obs-hotkeys.h libobs: Add <> or \| on RT 102-key as hotkey 2017-06-27 21:35:52 -07:00
obs-interaction.h Add interaction support to libobs 2014-09-15 17:19:37 -05:00
obs-internal.h libobs: Simplify YUV conversion 2019-04-11 23:00:03 -07: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 UI: Fix issue where space/esc hotkeys would be blank 2019-03-31 05:10:02 -05: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 obs_property_float_set_limits 2019-03-16 04:30:33 +01:00
obs-properties.h libobs: Fix property text typo 2018-02-27 05:37:40 -08:00
obs-scene.c libobs: UI: Use graphics debug markers 2019-04-08 02:05:37 -07: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: Simplify YUV conversion 2019-04-11 23:00:03 -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: Simplify YUV conversion 2019-04-11 23:00:03 -07: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: UI: Use graphics debug markers 2019-04-08 02:05:37 -07: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 libobs: Fix invalid max_anisotropy value 2019-03-19 01:26:28 -07:00
obs.h libobs: Fix ABI break 2019-03-22 03:46:42 -07: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