Commit Graph

47 Commits

Author SHA1 Message Date
dec05eba
09fa00d4a7 kms: allow capture higher than monitor framerate on wayland 2024-09-16 23:31:53 +02:00
dec05eba
25b7b4e84e Pure vaapi capture (for capture target) and opengl composition for cursor only when capturing window and portal as well, clear background on resize for monitor capture 2024-09-16 23:31:53 +02:00
dec05eba
4bcf976a71 Improve capture performance on amd/intel when using monitor capture: capture display frame using purely vaapi unless the monitor is rotated 2024-09-16 23:31:53 +02:00
dec05eba
714561987e Properly damage if moving cursor
Only damage if cursor is inside the target area
2024-09-14 02:27:48 +02:00
dec05eba
8acb346382 Set update fps to video fps, on x11 sync video to damage tracking 2024-09-14 01:15:01 +02:00
dec05eba
954a41de9c Explicit glFlush/glFinish before and after render operations to fix tearing and stutter on amd 2024-09-06 12:41:14 +02:00
dec05eba
1fca7080eb comment 2024-08-19 19:22:05 +02:00
dec05eba
d52b775674 Fix kms capture crash on wayland if x11 is not available (always the case in the flatpak) 2024-08-18 17:59:09 +02:00
dec05eba
1e39dc6286 Refactor kms capture 2024-08-16 23:20:04 +02:00
dec05eba
da4925b23e Allow capture of external monitors on a laptop with dedicated gpu (prime) on x11, fix cursor not visible on some wayland compositors (hyprland) with multiple monitors 2024-08-16 19:37:00 +02:00
dec05eba
0b9d232ce8 Fix crash, use opengl es instead of opengl desktop 2024-08-15 08:21:54 +02:00
dec05eba
8e3014aa97 Use external texture target for external texture 2024-08-15 08:12:44 +02:00
dec05eba
ffb8c6af3b Allow prime-run capture on laptop with external gpu when the iGPU
doesn't have any monitor to capture.
Fix prime-run desktop portal capture broken (fallback to external
texture).
Fallback to external texture in kms capture.
2024-08-15 08:09:23 +02:00
dec05eba
a9b7618be7 Debug test again 2024-08-15 07:13:13 +02:00
dec05eba
c240cd111e Debug output test 2024-08-15 06:40:11 +02:00
dec05eba
36951238be Fix possible capture lag (especially with desktop portal capture) 2024-08-08 02:03:03 +02:00
dec05eba
7bee923938 Compressed plane now works, update readme and remove warning 2024-08-04 17:50:52 +02:00
dec05eba
b1d8346ed9 Move glClear and glx/eglSwapBuffers from capture backends to main 2024-07-26 10:55:24 +02:00
dec05eba
af4f9b805a Fix variable shadow warnings 2024-07-25 13:58:10 +02:00
dec05eba
7d719a44c6 Fix hdr capture causing crash when in replay mode 2024-07-23 18:11:38 +02:00
dec05eba
e9343cce91 Fix pipewire capture on amd (fallback to no drm modifiers if eglCreateImage fails), might happen because of a buggy desktop portal/pipewire implementation 2024-07-22 17:20:09 +02:00
dec05eba
c257b8a909 Use modifiers in kms capture on amd too 2024-07-22 05:10:39 +02:00
dec05eba
b5b4d6b2bd Fix portal capture on intel, support multiple planes in one egl image (might fix capture on intel iris) 2024-07-22 04:58:41 +02:00
dec05eba
37107bac8d Fix deskto portal capture on nvidia (add missing modifiers) 2024-07-22 01:24:23 +02:00
dec05eba
f9a41041ec Fix HDR capture (HDR metadata is now correct). Note that HDR capture is only available on Wayland and when recording a monitor without the desktop portal option 2024-07-21 19:12:06 +02:00
dec05eba
637d306a24 Stop recording when pipewire target window is closed or when pressing close in the desktop environments record button 2024-07-19 22:08:04 +02:00
dec05eba
a3b773a963 Show warning when capture monitor on intel and the plane is compressed. The warning tells the user to capture on x11 instead or use -w portal option 2024-07-15 21:55:16 +02:00
dec05eba
048b8d21ec Add support for desktop portal capture (-w portal) 2024-07-15 19:02:34 +02:00
dec05eba
6c5acf2da6 Use GL_TEXTURE_EXTERNAL_OES for cursor texture on kms nvidia 2024-07-05 12:00:01 +02:00
dec05eba
56e9d15e0f Fix capture incorrect alignment with cpu encoding for some window sizes 2024-07-05 11:34:34 +02:00
dec05eba
b9fa7f2fa2 Separate video encoding method from capture method
With this instead of kms_cuda/kms_vaapi/kms_software and
xcomposite_cuda/xcomposite_vaapi/xcomposite_software there
is now only kms and xcomposite.
2024-07-05 10:33:47 +02:00
dec05eba
62d61fda12 Add support for software video encoding with '-encoder cpu' option, currently h264 only 2024-07-04 01:35:03 +02:00
dec05eba
a2082c50a5 revert temp 2024-06-23 01:05:06 +02:00
dec05eba
d21ada4b19 temp 2024-06-23 01:02:40 +02:00
dec05eba
b3acabbf34 AMD: align av1 to extra padding because of hardware bug 2024-06-19 00:05:23 +02:00
dec05eba
3e2e2444d9 Properly cut out cursor outside video area when dealing with hevc amd padding 2024-06-14 02:05:54 +02:00
dec05eba
e43934e2d2 Remove video_alignment_padding variable, replace with putting capture content in the center with frame resolution and capture resolution diff 2024-06-10 18:41:05 +02:00
dec05eba
adbd5d9766 Take amd hevc video alignment padding into consideration to move video content to center of video with black bars on all sides instead of only right/bottom 2024-06-10 17:51:09 +02:00
dec05eba
e4832f3d64 Revert "Fix screen capture on intel arc gpu (on x11 and wayland)"
This reverts commit f8453bcaa4.
2024-06-10 16:44:04 +02:00
dec05eba
c17a717326 Workaround amd driver bug: hevc ffmpeg/mesa misaligned resolution causing glitched video output on right/bottom side 2024-06-10 12:44:40 +02:00
dec05eba
f8453bcaa4 Fix screen capture on intel arc gpu (on x11 and wayland) 2024-06-09 23:35:48 +02:00
dec05eba
ba096a3ba7 Add -cursor option to not record cursor 2024-03-11 19:01:46 +01:00
dec05eba
f3c32a880a Fix cursor capture in nvidia wayland, hdr, clear background immediately in window capture 2024-03-10 20:59:17 +01:00
dec05eba
45ad3695b6 Refactor capture base 2024-03-09 18:54:53 +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