Commit Graph

33 Commits

Author SHA1 Message Date
dec05eba
45ad3695b6 Refactor capture base 2024-03-09 18:54:53 +01:00
dec05eba
a3fedae329 Draw cursor in window capture 2024-03-09 16:59:09 +01:00
dec05eba
5e05bbbbcb Refactor xcomposite
Move common code between cuda/vaapi implementations
into xcomposite file.
This also fixes limited/full range colors on nvidia.
2024-03-09 15:36:45 +01:00
dec05eba
3d9a706528 Set frame size to video codec context size, nicer rgb to nv12 2024-03-08 11:35:30 +01:00
dec05eba
0d89378021 Use opengl capture for nvfbc (prepare for vulkan capture without cuda) 2024-03-08 11:35:26 +01:00
dec05eba
d0c221a233 Refactor kms_vaapi and kms_cuda
Also fixes color metadata, color range and hdr on nvidia wayland.
2024-03-08 11:34:36 +01:00
dec05eba
4d8a9e2e1d Pool size 20 for vaapi 2024-03-08 11:34:36 +01:00
dec05eba
3eb7bae12c Move card path to egl struct, use egl struct for monitor enumeration 2024-02-09 00:23:52 +01:00
dec05eba
348ab70403 Window capture: move window to center of video (if possible) 2024-02-08 19:30:26 +01:00
dec05eba
d1c49f35a5 Window capture: clear background with black color 2024-02-08 19:06:09 +01:00
dec05eba
51154b71be Fix vram leak for reals 2023-10-22 04:56:34 +02:00
dec05eba
2765a5d476 Cleanup debug output 2023-08-11 22:11:41 +02:00
dec05eba
8b0723a4f2 Fix window capture 2023-07-21 19:12:24 +02:00
dec05eba
a1d31a5cf0 Fix capture not working on intel + wayland
Ignore nouveau cards.
Fix lag on start of recording on amd/intel by only loading egl once,
on startup.
2023-07-21 18:56:34 +02:00
dec05eba
a3beaeb0cc Fix green screen sometimes when capturing amd/intel window 2023-07-18 06:00:36 +02:00
dec05eba
0a2806972f Experimental wayland support, test 1 2023-07-18 02:14:27 +02:00
dec05eba
6cff1a49d2 Fix all warnings 2023-05-17 18:49:16 +02:00
dec05eba
e1c613666e kms_vaapi: add cursor capture for amd/intel monitor capture
Always find largest drm buf, to fix some cases
when there are multiple planes and we accidentally
capture a drm buf that isn't the target buf.
We always want the full SCREEN drm buf.
2023-04-22 02:13:11 +02:00
dec05eba
2021456be0 Fix focused window follow failing on vaapi for the first window. Also dont error on fail to focus window 2023-04-22 02:12:04 +02:00
dec05eba
b6227c07f2 Use x11 event loop with XPending instead of XCheckTypedWindowEvent 2023-04-21 20:23:11 +02:00
dec05eba
75ed160122 Implement kms vaapi capture 2023-04-07 05:31:46 +02:00
Steam Deck User
29237c7116 Cleanup xcomposite_drm 2023-04-01 19:01:20 +02:00
Steam Deck User
2f67083915 Use vaapi to do rgb->yuv420p color conversion
Enable window capture for amd/intel.
Properly check if h264/hevc is supported on amd/intel before using
codec.
2023-04-01 16:29:24 +02:00
dec05eba
8c6e526318 Make sure region size for focused window is divisable by 2 2023-03-31 04:37:44 +02:00
dec05eba
d92ecea69e Remove yuv444 for now 2023-03-26 19:04:51 +02:00
dec05eba
5d80bd886c Move video encoding to separate thread, remove pixel_format that doesn't do anything and was bugged 2023-03-26 19:04:51 +02:00
dec05eba
716cb5b448 Add pixfmt yuv420p/yuv444p option to set lossless color 2023-03-26 19:04:51 +02:00
dec05eba
d4b8833fdd Remove unused code 2023-03-26 19:04:51 +02:00
dec05eba
93cb6593a6 Add overclocking option -oc to workaround a NVIDIA driver bug (forcefully set to p2 state when using cuda) 2023-03-17 17:17:14 +01:00
dec05eba
e9b4f66e37 Fix follow focused for the first window and when switching from/to invalid window 2023-02-19 15:56:44 +01:00
dec05eba
a17e8a1a77 Fix crash on error: dont do av_buffer_unref on frame contex because device_ctx frees it as well 2023-01-18 13:26:25 +01:00
dec05eba
4e6fc174fe follow focused 2022-12-20 15:32:42 +01:00
dec05eba
6a6bb703bc wip intel 2022-11-30 19:36:33 +01:00