Commit Graph

45 Commits

Author SHA1 Message Date
dec05eba
af54684103 Fix screenshot with region not working correctly for some sizes and possibly crashing 2025-03-13 01:38:26 +01:00
dec05eba
000da7d640 Make image output lossy (use stb image writer), also significantly improves performance for jpeg 2025-02-22 01:05:29 +01:00
dec05eba
26e9029579 Pipewire: support 10-bit formats (where alpha is 2 bits, total 32-bits) 2025-01-27 10:30:31 +01:00
dec05eba
621f253f00 Minor change 2025-01-03 17:14:30 +01:00
dec05eba
c259a19b9d Refactor windowing from egl to window_x11/window_wayland, yolo 2024-12-08 02:17:41 +01:00
dec05eba
02673c4644 Fix portal capture on broken amd drivers: fallback to opengl copy instead of vaapi on known buggy mesa version 2024-11-21 00:25:56 +01:00
dec05eba
f1b4979365 Fix incorrect color format in x11 cursor (bgr instead of rgb) 2024-11-09 02:45:20 +01:00
dec05eba
112640282d Add option to change output resolution (-s) 2024-10-26 20:58:00 +02:00
dec05eba
adddca41d8 Fallback for vaapi copy to opengl copy 2024-09-21 22:10:36 +02:00
dec05eba
95e1971f8f Fix first frame is black 2024-09-21 16:38:15 +02:00
dec05eba
eddb07ac40 Revert recent time framing and performance changes as it affects slower devices badly 2024-09-21 15:43:19 +02:00
dec05eba
85d35bede2 Disable pure vaapi for intel because it doesn't work, will be fixed later if possible 2024-09-17 00:09:03 +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
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
8158a809b7 Move damage tracking to separate file 2024-09-06 23:55:43 +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
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
b1d8346ed9 Move glClear and glx/eglSwapBuffers from capture backends to main 2024-07-26 10:55:24 +02:00
dec05eba
7d719a44c6 Fix hdr capture causing crash when in replay mode 2024-07-23 18:11:38 +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
048b8d21ec Add support for desktop portal capture (-w portal) 2024-07-15 19:02:34 +02:00
dec05eba
a5720df10f Nicer window focus transition for padding handling 2024-07-05 11:55:56 +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
46da55b1ea fm content: make sure to capture frame on damage and then no damage after fps frame timeout 2024-06-21 23:01:00 +02:00
dec05eba
ab78e56872 Add -fm 'content' option to match fps to captured content, only x11 window capture currently supported 2024-06-21 22:18:23 +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
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
799120ab5f Correctly clear cursor in window capture when the cursor is outside the
window
2024-03-21 19:20:00 +01:00
dec05eba
bd37ab44b8 Only update cursor position in window capture if recording cursor 2024-03-11 22:36:55 +01: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
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
6a6bb703bc wip intel 2022-11-30 19:36:33 +01:00
dec05eba
a7e0dbd833 Refactor xcomposite into abstract capture api
Refactor c++ files into c files, more usable
2022-10-16 04:15:09 +02:00