summaryrefslogtreecommitdiff
path: root/src/gallium/auxiliary/vl/vl_csc.h
diff options
context:
space:
mode:
authorYounes Manton <younes.m@gmail.com>2009-10-01 21:53:17 -0400
committerYounes Manton <younes.m@gmail.com>2009-10-01 22:52:59 -0400
commite00da1476fcdf8e5877fc1e62118080f5c4193f0 (patch)
tree2ffc543f2c8dc702267fabc92ea1d186872f13b2 /src/gallium/auxiliary/vl/vl_csc.h
parent81aa5d717bd0098608e9cc292b316293800c7e11 (diff)
g3dvl: Color space conv interface & vl impl.
Interface is pipe_video_context::set_csc_matrix(). vl_csc.h defines some helpers to generate CSC matrices based on one of the color standard and a user defined ProcAmp (brightness, contrast, saturation, hue).
Diffstat (limited to 'src/gallium/auxiliary/vl/vl_csc.h')
-rw-r--r--src/gallium/auxiliary/vl/vl_csc.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/vl/vl_csc.h b/src/gallium/auxiliary/vl/vl_csc.h
new file mode 100644
index 0000000000..c3b87d279c
--- /dev/null
+++ b/src/gallium/auxiliary/vl/vl_csc.h
@@ -0,0 +1,26 @@
+#ifndef vl_csc_h
+#define vl_csc_h
+
+#include <pipe/p_compiler.h>
+
+struct vl_procamp
+{
+ float brightness;
+ float contrast;
+ float saturation;
+ float hue;
+};
+
+enum VL_CSC_COLOR_STANDARD
+{
+ VL_CSC_COLOR_STANDARD_IDENTITY,
+ VL_CSC_COLOR_STANDARD_BT_601,
+ VL_CSC_COLOR_STANDARD_BT_709
+};
+
+void vl_csc_get_matrix(enum VL_CSC_COLOR_STANDARD cs,
+ struct vl_procamp *procamp,
+ bool full_range,
+ float *matrix);
+
+#endif /* vl_csc_h */