[babl] extensions/cairo: implement rgb8 to cairo32, speeding up RGB linear half display
- From: Øyvind Kolås <ok src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [babl] extensions/cairo: implement rgb8 to cairo32, speeding up RGB linear half display
- Date: Fri, 16 Dec 2016 00:02:04 +0000 (UTC)
commit 4b699e935577d83c063eaa95ccf32563d586e7aa
Author: Øyvind Kolås <pippin gimp org>
Date: Fri Dec 16 01:01:43 2016 +0100
extensions/cairo: implement rgb8 to cairo32, speeding up RGB linear half display
extensions/cairo.c | 22 ++++++++++++++++++++++
1 files changed, 22 insertions(+), 0 deletions(-)
---
diff --git a/extensions/cairo.c b/extensions/cairo.c
index 2d807cb..457b938 100644
--- a/extensions/cairo.c
+++ b/extensions/cairo.c
@@ -125,6 +125,24 @@ conv_rgbA8_cairo32_le (unsigned char *src, unsigned char *dst, long samples)
return samples;
}
+static inline long
+conv_rgb8_cairo32_le (unsigned char *src, unsigned char *dst, long samples)
+{
+ long n = samples;
+ while (n--)
+ {
+ unsigned char red = *src++;
+ unsigned char green = *src++;
+ unsigned char blue = *src++;
+
+ *dst++ = blue;
+ *dst++ = green;
+ *dst++ = red;
+ *dst++ = 0xff;
+ }
+ return samples;
+}
+
@@ -305,6 +323,10 @@ init (void)
babl_conversion_new (babl_format ("R'G'B'A u8"), f32, "linear",
conv_rgbA8_cairo32_le, NULL);
+
+ babl_conversion_new (babl_format ("R'G'B' u8"), f32, "linear",
+ conv_rgb8_cairo32_le, NULL);
+
babl_conversion_new (babl_format ("Y'A u8"), f32, "linear",
conv_yA8_cairo32_le, NULL);
babl_conversion_new (babl_format ("Y'A u16"), f32, "linear",
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]