wip
This commit is contained in:
parent
d6cf3b7354
commit
7d358580a2
6
TODO
6
TODO
@ -79,11 +79,10 @@ First video and audio frame should be posted immediately instead of waiting 1000
|
||||
|
||||
Support vulkan video encoding. That might workaround forced p2 state nvidia driver "bug". Ffmpeg supports vulkan video encoding if it's encoding with --enable-vulkan
|
||||
|
||||
Enable opus/flac again. It's broken right now when merging audio inputs. The audio gets a lot of static noise!
|
||||
|
||||
It may be possible to improve color conversion rgb->yuv shader for color edges by biasing colors to an edge, instead of letting color overlaying with bilinear filtering handle it.
|
||||
|
||||
When webcam is supported mention that nvidia_drm.modeset=1 must be set on nvidia x11 (it's required on wayland so it's not needed there. Or does eglstream work without it??). Check if this really is the case.
|
||||
Support green screen removal, cropping, shader effects in general (circle mask, rounded corners, etc).
|
||||
|
||||
Use vfr on nvidia x11 as well, otherwise network data could slow it down to below target fps and mess it up.
|
||||
|
||||
@ -91,3 +90,6 @@ Preset is set to p5 for now but it should ideally be p6 or p7.
|
||||
This change is needed because for certain sizes of a window (or monitor?) such as 971x780 causes encoding to freeze
|
||||
when using h264 codec. This is a new(?) nvidia driver bug.
|
||||
Maybe dont choose p6 or p7 again? it causes micro stutter for some users (?).
|
||||
|
||||
For low latency, see https://developer.download.nvidia.com/compute/nvenc/v4.0/NVENC_VideoEncoder_API_ProgGuide.pdf (section 7.1).
|
||||
Remove follow focused option.
|
||||
|
@ -136,7 +136,7 @@ static unsigned int load_shader_uv(gsr_shader *shader, gsr_egl *egl, int *rotati
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int loader_framebuffers(gsr_color_conversion *self) {
|
||||
static int load_framebuffers(gsr_color_conversion *self) {
|
||||
const unsigned int draw_buffer = GL_COLOR_ATTACHMENT0;
|
||||
self->params.egl->glGenFramebuffers(MAX_FRAMEBUFFERS, self->framebuffers);
|
||||
|
||||
@ -223,7 +223,7 @@ int gsr_color_conversion_init(gsr_color_conversion *self, const gsr_color_conver
|
||||
}
|
||||
}
|
||||
|
||||
if(loader_framebuffers(self) != 0)
|
||||
if(load_framebuffers(self) != 0)
|
||||
goto err;
|
||||
|
||||
if(create_vertices(self) != 0)
|
||||
@ -232,7 +232,6 @@ int gsr_color_conversion_init(gsr_color_conversion *self, const gsr_color_conver
|
||||
return 0;
|
||||
|
||||
err:
|
||||
self->params.egl->glBindFramebuffer(GL_FRAMEBUFFER, 0);
|
||||
gsr_color_conversion_deinit(self);
|
||||
return -1;
|
||||
}
|
||||
|
@ -572,6 +572,9 @@ bool gsr_egl_start_capture(gsr_egl *self, const char *monitor_to_capture) {
|
||||
if(!gsr_egl_supports_wayland_capture(self))
|
||||
return false;
|
||||
|
||||
if(self->wayland.frame_callback)
|
||||
return false;
|
||||
|
||||
self->wayland.output_to_capture = get_wayland_output_by_name(self, monitor_to_capture);
|
||||
if(!self->wayland.output_to_capture)
|
||||
return false;
|
||||
|
Loading…
Reference in New Issue
Block a user