summaryrefslogtreecommitdiffstats
path: root/ext/hermes/rgb2yuv.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/hermes/rgb2yuv.c')
-rw-r--r--ext/hermes/rgb2yuv.c80
1 files changed, 0 insertions, 80 deletions
diff --git a/ext/hermes/rgb2yuv.c b/ext/hermes/rgb2yuv.c
deleted file mode 100644
index 6aa1e805..00000000
--- a/ext/hermes/rgb2yuv.c
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- *
- * rgb2rgb.c, Software RGB to YUV convertor
- * Written by Nick Kurshev.
- * palette & yuv & runtime cpu stuff by Michael (michaelni@gmx.at) (under GPL)
- */
-
-#include "config.h"
-
-#include <math.h>
-#include <stdlib.h>
-
-#include <gst/gst.h>
-
-#define Y_FROM_RGB(r,g,b) ((9798 * (r) + 19235 * (g) + 3736 * (b)) >> 15)
-#define U_FROM_BY(b,y) ((16122 * ((b) - (y))) >> 15) + 128;
-#define V_FROM_RY(r,y) ((25203 * ((r) - (y))) >> 15) + 128;
-
-static void
-gst_colorspace_rgb32_to_yuv (unsigned char *src,
- unsigned char *ydst,
- unsigned char *udst,
- unsigned char *vdst,
- guint width, guint height)
-{
- int y;
- const int chrom_width = width >> 1;
- int Y;
- int b, g, r;
-
- for (y = height; y; y -= 2) {
- int i;
-
- for (i = chrom_width; i; i--) {
- b = *src++;
- g = *src++;
- r = *src++;
- src++;
-
- Y = Y_FROM_RGB (r,g,b);
-
- *ydst++ = Y;
- *udst++ = U_FROM_BY (b,Y);
- *vdst++ = V_FROM_RY (r,Y);
-
- b = *src++;
- g = *src++;
- r = *src++; src++;
-
- *ydst++ = Y_FROM_RGB (r,g,b);
- }
-
- for (i = width; i; i--) {
- b = *src++;
- g = *src++;
- r = *src++; src++;
- *ydst++ = Y_FROM_RGB (r,g,b);
- }
- }
-}
-
-void
-gst_colorspace_rgb32_to_i420 (unsigned char *src, unsigned char *dest, guint width, guint height)
-{
- unsigned char *ydst = dest;
- unsigned char *udst = ydst + (width * height);
- unsigned char *vdst = udst + ((width * height) >> 2);
-
- gst_colorspace_rgb32_to_yuv (src, ydst, udst, vdst, width, height);
-}
-
-void
-gst_colorspace_rgb32_to_yv12 (unsigned char *src, unsigned char *dest, guint width, guint height)
-{
- unsigned char *ydst = dest;
- unsigned char *vdst = ydst + (width * height);
- unsigned char *udst = vdst + ((width * height) >> 2);
-
- gst_colorspace_rgb32_to_yuv (src, ydst, udst, vdst, width, height);
-}