0
0
mirror of https://github.com/obsproject/obs-studio.git synced 2024-09-20 04:42:18 +02:00
obs-studio/libobs
tt2468 16f0bb68ae libobs: Add OBS_ENCODER_CAP_SCALING
Adds a new encoder cap which tells libobs that rather than scaling
video frames in software, the encoder is capable of scaling them via
its own (presumably more efficient) means.

An encoder may implement this cap by comparing the VOI of its assigned
`video_t` and the results of `obs_encoder_get_width/height()`. If the
width/height values differ, then the encoder is being asked by libobs
to self-scale, and the resolution in VOI will be the raw frame size,
with the `...get_width/height()` being the intended output resolution
of the encoder.

It is important to note that GPU rescaling mode will take priority
over self-scaling. If GPU rescaling is enabled, the encoder will never
be asked to self-scale.

This is useful for discrete hardware encoders, where they might have
fixed-function video scaling logic that is highly efficient and fast.
Additionally, this feature allows a hardware device which is encoding
a full ABR ladder of tracks to be smart and only copy a video frame
from GPU -> Host -> Device once for the entire ladder, rather than
once for every track.
2024-08-23 14:20:53 -04:00
..
audio-monitoring libobs: Replace circlebuf with deque 2024-01-16 16:45:09 +01:00
callback libobs/callback: Remove unused static-inline function 2024-08-07 17:27:49 -04:00
cmake cmake: Update cross-platform build project management for Windows 2024-08-20 16:00:21 -04:00
data libobs,obs-filters: Use common straight alpha math 2023-11-04 18:12:22 -05:00
graphics libobs/graphics: Add inline qualifier to functions in header files 2024-08-07 17:27:49 -04:00
media-io libobs: Remove compatibility with FFmpeg < 6.1 2024-08-23 13:44:04 -04:00
pkgconfig cmake: Fix pkgconfig generation 2022-07-19 09:28:51 -03:00
util libobs: Also determine WinUI 3 Window 2024-08-17 17:16:06 -07:00
CMakeLists.txt libobs: Remove compatibility with FFmpeg < 6.1 2024-08-23 13:44:04 -04:00
obs-audio-controls.c UI: Update volume meter appearance 2024-06-03 17:20:21 -04:00
obs-audio-controls.h UI: Update volume meter appearance 2024-06-03 17:20:21 -04:00
obs-audio.c libobs: Fix audio doubling with multiple main view mixes 2024-01-25 14:57:03 -05:00
obs-av1.c libobs: Add caption support for AV1 2024-04-26 18:17:34 -07:00
obs-av1.h libobs: Add caption support for AV1 2024-04-26 18:17:34 -07:00
obs-avc.c libobs: Fix obs_parse_avc_header missing high profile parameters 2024-05-10 18:14:27 -04:00
obs-avc.h Update copyrights/names 2023-05-20 01:31:18 -07:00
obs-cocoa.m libobs: Always explicitly check modifiers in macOS hotkey event handler 2024-08-11 09:44:28 +10:00
obs-config.h libobs: Update version to 30.2.2 2024-07-23 11:56:59 -04:00
obs-data.c libobs: Add functions to serialize JSON with default values 2024-05-25 17:29:28 -07:00
obs-data.h libobs: Add functions to serialize JSON with default values 2024-05-25 17:29:28 -07:00
obs-defs.h Update copyrights/names 2023-05-20 01:31:18 -07:00
obs-display.c libobs: Check if adapter can safely fast clear 2023-07-29 16:34:47 -07:00
obs-encoder.c libobs: Add OBS_ENCODER_CAP_SCALING 2024-08-23 14:20:53 -04:00
obs-encoder.h libobs: Add OBS_ENCODER_CAP_SCALING 2024-08-23 14:20:53 -04:00
obs-ffmpeg-compat.h libobs: Remove compatibility with FFmpeg < 6.1 2024-08-23 13:44:04 -04:00
obs-hevc.c Update copyrights/names 2023-05-20 01:31:18 -07:00
obs-hevc.h Update copyrights/names 2023-05-20 01:31:18 -07:00
obs-hotkey-name-map.c libobs: Use uthash for hotkey name map 2023-03-18 10:47:49 +01:00
obs-hotkey.c libobs: Do not send hotkey_bindings_changed if nothing changed 2023-03-18 10:47:50 +01:00
obs-hotkey.h libobs: Deprecate obs_hotkey_enable_strict_modifiers 2022-06-04 16:03:23 -07:00
obs-hotkeys.h libobs: Remove _WIN32 ifdef from enum 2019-11-17 20:30:42 -08:00
obs-interaction.h Update copyrights/names 2023-05-20 01:31:18 -07:00
obs-internal.h libobs: Use weak reference for paired encoders 2024-08-18 22:35:34 -07:00
obs-missing-files.c libobs: Add missing file API to sources 2021-01-17 10:31:58 +13:00
obs-missing-files.h libobs: Add missing file API to sources 2021-01-17 10:31:58 +13:00
obs-module.c libobs: Add OBS_ENCODER_CAP_SCALING 2024-08-23 14:20:53 -04:00
obs-module.h CI: Update to clang-format 16 2023-08-10 16:07:25 -04:00
obs-nal.c Update copyrights/names 2023-05-20 01:31:18 -07:00
obs-nal.h Update copyrights/names 2023-05-20 01:31:18 -07:00
obs-nix-platform.c libobs,libobs-opengl,obs-ffmpeg-mux: Calm deprecation warnings on *nix 2023-01-19 13:08:46 -05:00
obs-nix-platform.h libobs: Do not hide OBS_NIX_PLATFORM_WAYLAND behind ifdef 2023-08-24 13:32:33 -07:00
obs-nix-wayland.c libobs: Add media key support for linux 2022-10-29 16:08:16 -07:00
obs-nix-wayland.h libobs: Add a Wayland platform 2021-02-09 09:39:04 -03:00
obs-nix-x11.c Update copyrights/names 2023-05-20 01:31:18 -07:00
obs-nix-x11.h libobs/nix: Move X11-specific code to obs-nix-x11.c 2021-02-01 19:03:43 -03:00
obs-nix.c libobs: Fix relocatable Linux builds using legacy portable build flag 2024-04-16 12:46:51 -04:00
obs-nix.h libobs/nix: Move X11-specific code to obs-nix-x11.c 2021-02-01 19:03:43 -03:00
obs-output-delay.c libobs: Replace circlebuf with deque 2024-01-16 16:45:09 +01:00
obs-output.c libobs: Use weak reference for paired encoders 2024-08-18 22:35:34 -07:00
obs-output.h libobs: Add support to obs-outputs for multi video encoders 2023-06-14 02:24:54 -07:00
obs-properties.c libobs: Fix crash when plugins delete properties in callback 2023-11-04 23:31:07 -05:00
obs-properties.h libobs,UI: Add properties radio button list 2023-05-20 16:48:23 -07:00
obs-scene.c libobs: Deduplicate audio for nested scenes/groups if not transitioning 2024-05-18 16:44:45 -07:00
obs-scene.h libobs: Mix audio of each source in a scene only once 2024-05-18 16:44:45 -07:00
obs-service.c Update copyrights/names 2023-05-20 01:31:18 -07:00
obs-service.h libobs: Add bearer token to obs_service_connect_info 2023-06-09 20:20:49 -05:00
obs-source-deinterlace.c Update copyrights/names 2023-05-20 01:31:18 -07:00
obs-source-transition.c libobs: Remove unused static-inline functions 2024-08-07 17:27:49 -04:00
obs-source.c libobs: Add source profiler 2024-08-10 23:51:39 -07:00
obs-source.h libobs: Add obs_source_info.filter_add 2023-07-29 16:15:21 -07:00
obs-video-gpu-encode.c libobs: Use weak reference for paired encoders 2024-08-18 22:35:34 -07:00
obs-video.c libobs: Add source profiler 2024-08-10 23:51:39 -07:00
obs-view.c libobs: Add obs_view_enum_video_info 2023-12-02 18:05:55 -06:00
obs-win-crash-handler.c Update copyrights/names 2023-05-20 01:31:18 -07:00
obs-windows.c cmake: Add changes for CMake build framework 3.0 2023-06-29 10:11:32 -04:00
obs.c libobs: Add source profiler 2024-08-10 23:51:39 -07:00
obs.h libobs, UI: Normalize encoder group API 2024-06-17 08:20:01 -07:00
obs.hpp CI: Update to clang-format 16 2023-08-10 16:07:25 -04:00
obsconfig.h.in cmake/libobs: Only set beta/rc increment 2023-10-06 17:21:51 -06:00
obsversion.c.in libobs: Use static library for version string information 2023-05-27 16:48:24 -07:00
obsversion.h libobs: Use static library for version string information 2023-05-27 16:48:24 -07:00