From 5f218bbf324ff0f9b1d3442386647a73b6f75443 Mon Sep 17 00:00:00 2001 From: enselic Date: Sat, 13 Sep 2008 14:23:12 +0000 Subject: 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 --- recordmydesktop/src/yuv_utils.c | 55 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 recordmydesktop/src/yuv_utils.c (limited to 'recordmydesktop/src/yuv_utils.c') 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; +} -- cgit v1.2.1