Add hevc_10bit and av1_10bit options for 10bit color range, increase video quality (qp)

This commit is contained in:
dec05eba
2024-08-17 19:55:09 +02:00
parent 1e39dc6286
commit 3ec93bcc41
13 changed files with 365 additions and 271 deletions

View File

@@ -6,6 +6,7 @@
typedef struct {
gsr_egl *egl;
const char *display_to_capture; /* if this is "screen", then the first monitor is captured. A copy is made of this */
gsr_color_depth color_depth;
gsr_color_range color_range;
bool hdr;
bool record_cursor;

View File

@@ -12,7 +12,7 @@ typedef struct {
vec2i size;
bool direct_capture;
bool overclock;
bool hdr;
gsr_color_depth color_depth;
gsr_color_range color_range;
bool record_cursor;
bool use_software_video_encoder;

View File

@@ -5,8 +5,8 @@
typedef struct {
gsr_egl *egl;
gsr_color_depth color_depth;
gsr_color_range color_range;
bool hdr;
bool record_cursor;
bool restore_portal_session;
/* If this is set to NULL then this defaults to $XDG_CONFIG_HOME/gpu-screen-recorder/restore_token ($XDG_CONFIG_HOME defaults to $HOME/.config) */

View File

@@ -12,6 +12,7 @@ typedef struct {
gsr_color_range color_range;
bool record_cursor;
bool track_damage;
gsr_color_depth color_depth;
} gsr_capture_xcomposite_params;
gsr_capture* gsr_capture_xcomposite_create(const gsr_capture_xcomposite_params *params);

View File

@@ -10,6 +10,11 @@ typedef enum {
GSR_COLOR_RANGE_FULL
} gsr_color_range;
typedef enum {
GSR_COLOR_DEPTH_8_BITS,
GSR_COLOR_DEPTH_10_BITS
} gsr_color_depth;
typedef enum {
GSR_SOURCE_COLOR_RGB,
GSR_SOURCE_COLOR_BGR

View File

@@ -8,7 +8,7 @@ typedef struct gsr_egl gsr_egl;
typedef struct {
gsr_egl *egl;
bool overclock;
bool hdr;
gsr_color_depth color_depth;
} gsr_video_encoder_cuda_params;
gsr_video_encoder* gsr_video_encoder_cuda_create(const gsr_video_encoder_cuda_params *params);

View File

@@ -7,7 +7,7 @@ typedef struct gsr_egl gsr_egl;
typedef struct {
gsr_egl *egl;
bool hdr;
gsr_color_depth color_depth;
} gsr_video_encoder_software_params;
gsr_video_encoder* gsr_video_encoder_software_create(const gsr_video_encoder_software_params *params);

View File

@@ -7,7 +7,7 @@ typedef struct gsr_egl gsr_egl;
typedef struct {
gsr_egl *egl;
bool hdr;
gsr_color_depth color_depth;
} gsr_video_encoder_vaapi_params;
gsr_video_encoder* gsr_video_encoder_vaapi_create(const gsr_video_encoder_vaapi_params *params);