aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/capture/kms_vaapi.h3
-rw-r--r--include/capture/xcomposite_vaapi.h2
-rw-r--r--include/color_conversion.h10
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 {