obs-studio/plugins/obs-ffmpeg
Kurt Kartaltepe 01b61fafbf obs-ffmpeg: Release encode texture early
During high graphics thread pressure it can take a significant time to
acquire the graphics lock. This change releases the OpenGL texture after
rendering to avoid the 2nd lock after sending the frame to FFmpeg. This
improves 99%-tile/100%-tile and median encode in a near encoder overload
scenario, and modestly raises the ceiling before encoder overload in my
test scene.

Master:
min=0 ms, median=4.29 ms, max=33.072 ms, 99th percentile=8.877 ms
min=0 ms, median=4.438 ms, max=77.157 ms, 99th percentile=9.853 ms
min=0 ms, median=4.527 ms, max=57.292 ms, 99th percentile=9.282 ms

This commit:
min=0.97 ms, median=3.009 ms, max=13.215 ms, 99th percentile=5.899 ms
min=1.181 ms, median=2.91 ms, max=9.854 ms, 99th percentile=5.56 ms
min=0.461 ms, median=3.013 ms, max=10.693 ms, 99th percentile=5.871 ms
2024-05-02 18:15:01 -04:00
..
cmake obs-ffmpeg: Implement texture encoding for VAAPI 2024-04-20 17:03:54 -07:00
data/locale Update translations from Crowdin 2024-03-12 18:11:06 +00:00
ffmpeg-mux obs-ffmpeg: Fix incompatible-pointer-types with FFmpeg 7 2024-04-06 16:59:52 -07:00
obs-amf-test cmake: Add changes for CMake build framework 3.0 2023-06-29 10:11:32 -04:00
obs-nvenc-test cmake: Fix configuration errors with Windows legacy path 2023-06-30 11:56:57 -04:00
CMakeLists.txt obs-ffmpeg: Implement texture encoding for VAAPI 2024-04-20 17:03:54 -07:00
obs-ffmpeg-audio-encoders.c plugins: Set keyframe flag on encoded audio packets 2024-04-13 17:04:48 -07:00
obs-ffmpeg-av1.c Update copyrights/names 2023-05-20 01:31:18 -07:00
obs-ffmpeg-compat.h obs-ffmpeg: Remove legacy FFmpeg compatibility 2023-07-12 15:57:43 -04:00
obs-ffmpeg-config.h.in obs-ffmpeg: Add HEVC support to NVENC 2022-04-28 08:59:53 -07:00
obs-ffmpeg-formats.h libobs,UI: Add P216/P416 pixel formats 2023-02-21 18:48:44 +01:00
obs-ffmpeg-hls-mux.c obs-ffmpeg: Replace circlebuf with deque 2024-01-16 16:45:10 +01:00
obs-ffmpeg-logging.c obs-ffmpeg: Separate logging code 2019-07-09 10:07:24 -07:00
obs-ffmpeg-mpegts.c obs-ffmpeg: Fix incompatible-pointer-types with FFmpeg 7 2024-04-06 16:59:52 -07:00
obs-ffmpeg-mux.c obs-ffmpeg: Fix output path logging 2024-04-24 16:03:14 -04:00
obs-ffmpeg-mux.h obs-ffmpeg: Replace circlebuf with deque 2024-01-16 16:45:10 +01:00
obs-ffmpeg-nvenc.c obs-ffmpeg: Add native non-texture NVENC implementation 2024-03-31 02:05:40 -07:00
obs-ffmpeg-output.c obs-ffmpeg: Fix HDR metadata not being written when using FFmpeg 6.1+ 2024-03-14 17:12:20 -04:00
obs-ffmpeg-output.h obs-ffmpeg: Set audio stream title for FFmpeg record output 2024-01-26 22:28:36 -05:00
obs-ffmpeg-rist.h Update source code formatting with clang-format 17.0.3 2024-03-11 15:55:30 -04:00
obs-ffmpeg-source.c obs-ffmpeg: Remove mpegts format override for SRT and RIST 2024-04-10 18:45:45 -04:00
obs-ffmpeg-srt.h obs-ffmpeg: Do not include sys/timeb.h on non-Windows system 2023-08-26 16:52:52 -07:00
obs-ffmpeg-url.h Update source code formatting with clang-format 17.0.3 2024-03-11 15:55:30 -04:00
obs-ffmpeg-vaapi.c obs-ffmpeg: Release encode texture early 2024-05-02 18:15:01 -04:00
obs-ffmpeg-video-encoders.c obs-ffmpeg: Set framerate for AVCodecContext outputs 2023-04-03 23:28:31 +00:00
obs-ffmpeg-video-encoders.h deps,libobs,plugins: Fix discarded-qualifiers warnings with FFmpeg 5 2022-07-22 08:50:36 -04:00
obs-ffmpeg.c obs-ffmpeg: Implement texture encoding for VAAPI 2024-04-20 17:03:54 -07:00
obs-nvenc-helpers.c obs-ffmpeg: Add Linux NVENC texture encoder 2024-03-31 02:33:07 -07:00
obs-nvenc-ver.h Update copyrights/names 2023-05-20 01:31:18 -07:00
obs-nvenc.c obs-ffmpeg: Fix unused variable in native NVENC 2024-04-16 11:15:22 -04:00
obs-nvenc.h obs-ffmpeg: Add Linux NVENC texture encoder 2024-03-31 02:33:07 -07:00
texture-amf-opts.hpp obs-ffmpeg: Add AMF AV1 encoder 2022-11-18 18:18:08 -08:00
texture-amf.cpp obs-ffmpeg: Use video_output_info in amf_create_encoder() 2024-04-13 17:00:26 -07:00
vaapi-utils.c plugins: Fix compile errors introduced by CMake build framework 3.0 2024-04-13 23:48:38 -04:00
vaapi-utils.h obs-ffmpeg: Add AV1 support for VA-API 2024-01-23 15:19:44 -05:00