diff --git a/include/color_conversion.h b/include/color_conversion.h index c43238a..e536352 100644 --- a/include/color_conversion.h +++ b/include/color_conversion.h @@ -60,7 +60,7 @@ typedef struct { int gsr_color_conversion_init(gsr_color_conversion *self, const gsr_color_conversion_params *params); void gsr_color_conversion_deinit(gsr_color_conversion *self); -void gsr_color_conversion_draw(gsr_color_conversion *self, unsigned int texture_id, vec2i destination_pos, vec2i destination_size, vec2i source_pos, vec2i source_size, vec2i texture_size, gsr_rotation rotation, gsr_source_color source_color, bool external_texture, bool alpha_blending); +void gsr_color_conversion_draw(gsr_color_conversion *self, unsigned int texture_id, vec2i destination_pos, vec2i destination_size, vec2i source_pos, vec2i source_size, vec2i texture_size, gsr_rotation rotation, gsr_source_color source_color, bool external_texture); void gsr_color_conversion_clear(gsr_color_conversion *self); void gsr_color_conversion_read_destination_texture(gsr_color_conversion *self, int destination_texture_index, int x, int y, int width, int height, unsigned int color_format, unsigned int data_format, void *pixels); diff --git a/src/capture/kms.c b/src/capture/kms.c index 0e9784c..988c163 100644 --- a/src/capture/kms.c +++ b/src/capture/kms.c @@ -508,7 +508,7 @@ static void render_drm_cursor(gsr_capture_kms *self, gsr_color_conversion *color gsr_color_conversion_draw(color_conversion, self->cursor_texture_id, cursor_pos, (vec2i){cursor_size.x * scale.x, cursor_size.y * scale.y}, (vec2i){0, 0}, cursor_size, cursor_size, - gsr_monitor_rotation_to_rotation(rotation), GSR_SOURCE_COLOR_RGB, cursor_texture_id_is_external, true); + gsr_monitor_rotation_to_rotation(rotation), GSR_SOURCE_COLOR_RGB, cursor_texture_id_is_external); self->params.egl->glDisable(GL_SCISSOR_TEST); } @@ -536,7 +536,7 @@ static void render_x11_cursor(gsr_capture_kms *self, gsr_color_conversion *color gsr_color_conversion_draw(color_conversion, self->x11_cursor.texture_id, cursor_pos, (vec2i){self->x11_cursor.size.x * scale.x, self->x11_cursor.size.y * scale.y}, (vec2i){0, 0}, self->x11_cursor.size, self->x11_cursor.size, - GSR_ROT_0, GSR_SOURCE_COLOR_RGB, false, true); + GSR_ROT_0, GSR_SOURCE_COLOR_RGB, false); self->params.egl->glDisable(GL_SCISSOR_TEST); } @@ -654,7 +654,7 @@ static int gsr_capture_kms_capture(gsr_capture *cap, gsr_capture_metadata *captu gsr_color_conversion_draw(color_conversion, self->external_texture_fallback ? self->external_input_texture_id : self->input_texture_id, target_pos, output_size, capture_pos, self->capture_size, (vec2i){ drm_fd->width, drm_fd->height }, - gsr_monitor_rotation_to_rotation(rotation), GSR_SOURCE_COLOR_RGB, self->external_texture_fallback, false); + gsr_monitor_rotation_to_rotation(rotation), GSR_SOURCE_COLOR_RGB, self->external_texture_fallback); if(self->params.record_cursor) { gsr_kms_response_item *cursor_drm_fd = find_cursor_drm_if_on_monitor(self, drm_fd->connector_id, capture_is_combined_plane); diff --git a/src/capture/nvfbc.c b/src/capture/nvfbc.c index 9f41f85..17978fd 100644 --- a/src/capture/nvfbc.c +++ b/src/capture/nvfbc.c @@ -363,7 +363,7 @@ static int gsr_capture_nvfbc_capture(gsr_capture *cap, gsr_capture_metadata *cap gsr_color_conversion_draw(color_conversion, self->setup_params.dwTextures[grab_params.dwTextureIndex], target_pos, (vec2i){output_size.x, output_size.y}, self->params.region_position, frame_size, original_frame_size, - GSR_ROT_0, GSR_SOURCE_COLOR_BGR, false, false); + GSR_ROT_0, GSR_SOURCE_COLOR_BGR, false); //self->params.egl->glFlush(); //self->params.egl->glFinish(); diff --git a/src/capture/portal.c b/src/capture/portal.c index 4dcdbfd..4604794 100644 --- a/src/capture/portal.c +++ b/src/capture/portal.c @@ -373,7 +373,7 @@ static int gsr_capture_portal_capture(gsr_capture *cap, gsr_capture_metadata *ca gsr_color_conversion_draw(color_conversion, self->pipewire_data.using_external_image ? self->texture_map.external_texture_id : self->texture_map.texture_id, target_pos, output_size, (vec2i){self->pipewire_data.region.x, self->pipewire_data.region.y}, (vec2i){self->pipewire_data.region.width, self->pipewire_data.region.height}, actual_texture_size, - gsr_monitor_rotation_to_rotation(self->pipewire_data.rotation), GSR_SOURCE_COLOR_RGB, self->pipewire_data.using_external_image, fourcc_alpha); + gsr_monitor_rotation_to_rotation(self->pipewire_data.rotation), GSR_SOURCE_COLOR_RGB, self->pipewire_data.using_external_image); if(self->params.record_cursor && self->texture_map.cursor_texture_id > 0 && self->pipewire_data.cursor_region.width > 0) { const vec2d scale = { @@ -394,7 +394,7 @@ static int gsr_capture_portal_capture(gsr_capture *cap, gsr_capture_metadata *ca (vec2i){0, 0}, (vec2i){self->pipewire_data.cursor_region.width, self->pipewire_data.cursor_region.height}, (vec2i){self->pipewire_data.cursor_region.width, self->pipewire_data.cursor_region.height}, - gsr_monitor_rotation_to_rotation(self->pipewire_data.rotation), GSR_SOURCE_COLOR_RGB, false, true); + gsr_monitor_rotation_to_rotation(self->pipewire_data.rotation), GSR_SOURCE_COLOR_RGB, false); self->params.egl->glDisable(GL_SCISSOR_TEST); } diff --git a/src/capture/xcomposite.c b/src/capture/xcomposite.c index dfb987e..b4e8ca7 100644 --- a/src/capture/xcomposite.c +++ b/src/capture/xcomposite.c @@ -244,7 +244,7 @@ static int gsr_capture_xcomposite_capture(gsr_capture *cap, gsr_capture_metadata gsr_color_conversion_draw(color_conversion, window_texture_get_opengl_texture_id(&self->window_texture), target_pos, output_size, (vec2i){0, 0}, self->texture_size, self->texture_size, - GSR_ROT_0, GSR_SOURCE_COLOR_RGB, false, false); + GSR_ROT_0, GSR_SOURCE_COLOR_RGB, false); if(self->params.record_cursor && self->cursor.visible) { const vec2d scale = { @@ -265,7 +265,7 @@ static int gsr_capture_xcomposite_capture(gsr_capture *cap, gsr_capture_metadata gsr_color_conversion_draw(color_conversion, self->cursor.texture_id, cursor_pos, (vec2i){self->cursor.size.x * scale.x, self->cursor.size.y * scale.y}, (vec2i){0, 0}, self->cursor.size, self->cursor.size, - GSR_ROT_0, GSR_SOURCE_COLOR_RGB, false, true); + GSR_ROT_0, GSR_SOURCE_COLOR_RGB, false); } //self->params.egl->glFlush(); diff --git a/src/capture/ximage.c b/src/capture/ximage.c index 9b02907..b119ca6 100644 --- a/src/capture/ximage.c +++ b/src/capture/ximage.c @@ -160,7 +160,7 @@ static int gsr_capture_ximage_capture(gsr_capture *cap, gsr_capture_metadata *ca gsr_color_conversion_draw(color_conversion, self->texture_id, target_pos, output_size, (vec2i){0, 0}, self->capture_size, self->capture_size, - GSR_ROT_0, GSR_SOURCE_COLOR_RGB, false, false); + GSR_ROT_0, GSR_SOURCE_COLOR_RGB, false); if(self->params.record_cursor && self->cursor.visible) { const vec2d scale = { @@ -181,7 +181,7 @@ static int gsr_capture_ximage_capture(gsr_capture *cap, gsr_capture_metadata *ca gsr_color_conversion_draw(color_conversion, self->cursor.texture_id, cursor_pos, (vec2i){self->cursor.size.x * scale.x, self->cursor.size.y * scale.y}, (vec2i){0, 0}, self->cursor.size, self->cursor.size, - GSR_ROT_0, GSR_SOURCE_COLOR_RGB, false, true); + GSR_ROT_0, GSR_SOURCE_COLOR_RGB, false); self->params.egl->glDisable(GL_SCISSOR_TEST); } diff --git a/src/color_conversion.c b/src/color_conversion.c index 1ac8338..4c327df 100644 --- a/src/color_conversion.c +++ b/src/color_conversion.c @@ -39,10 +39,6 @@ " 0.060118, 0.429412, -0.038049, 0.000000,\n" \ " 0.062745, 0.500000, 0.500000, 1.000000);\n" -static int max_int(int a, int b) { - return a > b ? a : b; -} - static const char* color_format_range_get_transform_matrix(gsr_destination_color color_format, gsr_color_range color_range) { switch(color_format) { case GSR_DESTINATION_COLOR_NV12: { @@ -573,7 +569,7 @@ static void gsr_color_conversion_draw_graphics(gsr_color_conversion *self, unsig self->params.egl->glBindFramebuffer(GL_FRAMEBUFFER, 0); } -void gsr_color_conversion_draw(gsr_color_conversion *self, unsigned int texture_id, vec2i destination_pos, vec2i destination_size, vec2i source_pos, vec2i source_size, vec2i texture_size, gsr_rotation rotation, gsr_source_color source_color, bool external_texture, bool alpha_blending) { +void gsr_color_conversion_draw(gsr_color_conversion *self, unsigned int texture_id, vec2i destination_pos, vec2i destination_size, vec2i source_pos, vec2i source_size, vec2i texture_size, gsr_rotation rotation, gsr_source_color source_color, bool external_texture) { assert(!external_texture || self->params.load_external_image_shader); if(external_texture && !self->params.load_external_image_shader) { fprintf(stderr, "gsr error: gsr_color_conversion_draw: external texture not loaded\n"); diff --git a/src/main.cpp b/src/main.cpp index c2cfe61..92e7660 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -3821,7 +3821,7 @@ int main(int argc, char **argv) { gsr_color_conversion_draw(&color_conversion, plugins.texture, {0, 0}, {capture_metadata.width, capture_metadata.height}, {0, 0}, {capture_metadata.width, capture_metadata.height}, - {capture_metadata.width, capture_metadata.height}, GSR_ROT_0, GSR_SOURCE_COLOR_RGB, false, true); + {capture_metadata.width, capture_metadata.height}, GSR_ROT_0, GSR_SOURCE_COLOR_RGB, false); } if(capture_has_synchronous_task) {