diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/capture/kms_vaapi.h | 3 | ||||
-rw-r--r-- | include/capture/xcomposite_vaapi.h | 2 | ||||
-rw-r--r-- | include/color_conversion.h | 10 |
3 files changed, 14 insertions, 1 deletions
diff --git a/include/capture/kms_vaapi.h b/include/capture/kms_vaapi.h index 26cda2c..b7fbb81 100644 --- a/include/capture/kms_vaapi.h +++ b/include/capture/kms_vaapi.h @@ -3,6 +3,7 @@ #include "../vec2.h" #include "../utils.h" +#include "../color_conversion.h" #include "capture.h" typedef struct _XDisplay Display; @@ -13,6 +14,8 @@ typedef struct { gsr_gpu_info gpu_inf; const char *card_path; /* reference */ bool wayland; + bool hdr; + gsr_color_range color_range; } gsr_capture_kms_vaapi_params; gsr_capture* gsr_capture_kms_vaapi_create(const gsr_capture_kms_vaapi_params *params); diff --git a/include/capture/xcomposite_vaapi.h b/include/capture/xcomposite_vaapi.h index e80c60a..ba234ec 100644 --- a/include/capture/xcomposite_vaapi.h +++ b/include/capture/xcomposite_vaapi.h @@ -4,6 +4,7 @@ #include "capture.h" #include "../egl.h" #include "../vec2.h" +#include "../color_conversion.h" #include <X11/X.h> typedef struct _XDisplay Display; @@ -15,6 +16,7 @@ typedef struct { bool follow_focused; /* If this is set then |window| is ignored */ vec2i region_size; /* This is currently only used with |follow_focused| */ const char *card_path; /* reference */ + gsr_color_range color_range; } gsr_capture_xcomposite_vaapi_params; gsr_capture* gsr_capture_xcomposite_vaapi_create(const gsr_capture_xcomposite_vaapi_params *params); diff --git a/include/color_conversion.h b/include/color_conversion.h index d84d548..d8e660e 100644 --- a/include/color_conversion.h +++ b/include/color_conversion.h @@ -5,12 +5,18 @@ #include "vec2.h" typedef enum { + GSR_COLOR_RANGE_LIMITED, + GSR_COLOR_RANGE_FULL +} gsr_color_range; + +typedef enum { GSR_SOURCE_COLOR_RGB } gsr_source_color; typedef enum { GSR_DESTINATION_COLOR_BGR, - GSR_DESTINATION_COLOR_NV12 /* YUV420, BT709, limited */ + GSR_DESTINATION_COLOR_NV12, /* YUV420, BT709, 8-bit */ + GSR_DESTINATION_COLOR_P010 /* YUV420, BT2020, 10-bit */ } gsr_destination_color; typedef struct { @@ -21,6 +27,8 @@ typedef struct { unsigned int destination_textures[2]; int num_destination_textures; + + gsr_color_range color_range; } gsr_color_conversion_params; typedef struct { |