summaryrefslogtreecommitdiff
path: root/recordmydesktop/src/yuv_utils.c
diff options
context:
space:
mode:
authorenselic <enselic@f606c939-3180-4ac9-a4b8-4b8779d57d0a>2008-09-13 14:23:12 +0000
committerenselic <enselic@f606c939-3180-4ac9-a4b8-4b8779d57d0a>2008-09-13 14:23:12 +0000
commit5f218bbf324ff0f9b1d3442386647a73b6f75443 (patch)
tree4b05aa4e0f8f4f6a739f84777e8a0aebac6740e6 /recordmydesktop/src/yuv_utils.c
parent8a725405c8014235bf2b5b5010bfcb1003d324aa (diff)
include/recordmydesktop.h: Get rid of YUV data variables (which were
insanely *defined* in this header (like the other globals)). include/rmdmacro.h: Get rid of YUV utility macros. src/initialize_data.c: Get rid of MakeMatrices() and include the new yuv_utils.h. src/yuv_utils.[ch]: New files to host the YUV data variables and the MakeMatrices() function. The globals are now properly defined in the .c and exposed in the .h which also contains the YUV utility macros. src/get_frame.c src/update_image.c: Include the new yuv_utils.h src/Makefile.am: Added yuv_utils.[ch]. git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@533 f606c939-3180-4ac9-a4b8-4b8779d57d0a
Diffstat (limited to 'recordmydesktop/src/yuv_utils.c')
-rw-r--r--recordmydesktop/src/yuv_utils.c55
1 files changed, 55 insertions, 0 deletions
diff --git a/recordmydesktop/src/yuv_utils.c b/recordmydesktop/src/yuv_utils.c
new file mode 100644
index 0000000..e80c5e2
--- /dev/null
+++ b/recordmydesktop/src/yuv_utils.c
@@ -0,0 +1,55 @@
+/******************************************************************************
+* recordMyDesktop *
+*******************************************************************************
+* *
+* Copyright (C) 2006,2007,2008 John Varouhakis *
+* *
+* *
+* This program is free software; you can redistribute it and/or modify *
+* it under the terms of the GNU General Public License as published by *
+* the Free Software Foundation; either version 2 of the License, or *
+* (at your option) any later version. *
+* *
+* This program is distributed in the hope that it will be useful, *
+* but WITHOUT ANY WARRANTY; without even the implied warranty of *
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+* GNU General Public License for more details. *
+* *
+* You should have received a copy of the GNU General Public License *
+* along with this program; if not, write to the Free Software *
+* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
+* *
+* *
+* *
+* For further information contact me at johnvarouhakis@gmail.com *
+******************************************************************************/
+
+#include "yuv_utils.h"
+
+// Keep these global (for performance reasons I assume).
+unsigned char Yr[256], Yg[256], Yb[256],
+ Ur[256], Ug[256], UbVr[256],
+ Vg[256], Vb[256];
+
+void MakeMatrices (void) {
+ int i;
+
+ for (i = 0; i < 256; i++)
+ Yr[i] = (2104.0 * i) / 8192.0 + 8.0;
+ for (i = 0; i < 256; i++)
+ Yg[i] = (4130.0 * i) / 8192.0 + 8.0;
+ for (i = 0; i < 256; i++)
+ Yb[i] = (802.0 * i) / 8192.0;
+
+ for (i = 0; i < 256; i++)
+ Ur[i] = 37.8 - (1204.0 * i) / 8192.0 + 8.0;
+ for (i = 0; i < 256; i++)
+ Ug[i] = 74.2 - (2384.0 * i) / 8192.0 + 8.0;
+ for (i = 0; i < 256; i++)
+ UbVr[i] = (3598.0 * i) / 8192.0 ;
+
+ for (i = 0; i < 256; i++)
+ Vg[i] = 93.8 - (3013.0 * i) / 8192.0 + 8.0;
+ for (i = 0; i < 256; i++)
+ Vb[i] = 18.2 - (585.0 * i) / 8192.0 + 8.0;
+}
© All Rights Reserved