--- colorspace.c 2002/06/12 20:38:40 1.3 +++ colorspace.c 2002/11/26 23:44:10 1.7 @@ -1,42 +1,66 @@ -/************************************************************************** +/***************************************************************************** * - * XVID MPEG-4 VIDEO CODEC - * colorspace conversions + * XVID MPEG-4 VIDEO CODEC + * - colorspace conversion module - * - * 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. + * Copyright(C) 2002 Peter Ross + * 2002 Michael Militzer * - * 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. + * This file is part of XviD, a free MPEG-4 video encoder/decoder * - * 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., 675 Mass Ave, Cambridge, MA 02139, USA. + * XviD 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 + * + * Under section 8 of the GNU General Public License, the copyright + * holders of XVID explicitly forbid distribution in the following + * countries: + * + * - Japan + * - United States of America + * + * Linking XviD statically or dynamically with other modules is making a + * combined work based on XviD. Thus, the terms and conditions of the + * GNU General Public License cover the whole combination. + * + * As a special exception, the copyright holders of XviD give you + * permission to link XviD with independent modules that communicate with + * XviD solely through the VFW1.1 and DShow interfaces, regardless of the + * license terms of these independent modules, and to copy and distribute + * the resulting combined work under terms of your choice, provided that + * every copy of the combined work is accompanied by a complete copy of + * the source code of XviD (the version of XviD used to produce the + * combined work), being distributed under the terms of the GNU General + * Public License plus this exception. An independent module is a module + * which is not derived from or based on XviD. * - * History: + * Note that people who make modified versions of XviD are not obligated + * to grant this special exception for their modified versions; it is + * their choice whether to do so. The GNU General Public License gives + * permission to release a modified version without this exception; this + * exception also makes it possible to release a modified version which + * carries forward this exception. * - * 14.04.2002 added user_to_yuv_c() - * 30.02.2002 out_yuv dst_stride2 fix - * 26.02.2002 rgb555, rgb565 - * 24.11.2001 accuracy improvement to yuyv/vyuy conversion - * 28.10.2001 total rewrite + * $Id: colorspace.c,v 1.7 2002/11/26 23:44:10 edgomez Exp $ * - **************************************************************************/ + ****************************************************************************/ -#include // memcpy +#include /* memcpy */ #include "colorspace.h" -#include "../divx4.h" // DEC_PICTURE +#include "../divx4.h" /* DEC_PICTURE */ -// function pointers +/* function pointers */ /* input */ color_inputFuncPtr rgb555_to_yv12; @@ -118,7 +142,7 @@ for (y = height / 2; y; y--) { - // process one 2x2 block per iteration + /* process one 2x2 block per iteration */ for (x = 0; x < (uint32_t) width; x += 2) { int rgb, r, g, b, r4, g4, b4; @@ -203,7 +227,7 @@ for (y = height / 2; y; y--) { - // process one 2x2 block per iteration + /* process one 2x2 block per iteration */ for (x = 0; x < (uint32_t) width; x += 2) { int rgb, r, g, b, r4, g4, b4; @@ -475,11 +499,11 @@ for (x = width >> 1; x; x--) { *y_out++ = *src++; - //*u_out++ = *src++; + /**u_out++ = *src++; */ *u_out++ = (*(src + width2) + *src) >> 1; src++; *y_out++ = *src++; - //*v_out++ = *src++; + /**v_out++ = *src++; */ *v_out++ = (*(src + width2) + *src) >> 1; src++; @@ -527,9 +551,9 @@ for (x = width >> 1; x; x--) { *u_out++ = *src++; - // *u_out++ = (*(src+width2) + *src++) >> 1; + /* *u_out++ = (*(src+width2) + *src++) >> 1; */ *y_out++ = *src++; - //*v_out++ = *src++; + /**v_out++ = *src++; */ *v_out++ = (*(src + width2) + *src) >> 1; src++; *y_out++ = *src++; @@ -628,7 +652,7 @@ r = g = b = 0; r2 = g2 = b2 = 0; - // process one 2x2 block per iteration + /* process one 2x2 block per iteration */ for (x = 0; x < (uint32_t) width / 2; x++) { int u, v; int b_u, g_uv, r_v, rgb_y; @@ -710,7 +734,7 @@ uint8_t *y_src2 = y_src + y_stride; uint32_t x, y; - if (height < 0) { // flip image? + if (height < 0) { /* flip image? */ height = -height; y_src += (height - 1) * y_stride; y_src2 = y_src - y_stride; @@ -727,7 +751,7 @@ r = g = b = 0; r2 = g2 = b2 = 0; - // process one 2x2 block per iteration + /* process one 2x2 block per iteration */ for (x = 0; x < (uint32_t) width / 2; x++) { int u, v; int b_u, g_uv, r_v, rgb_y; @@ -804,7 +828,7 @@ uint8_t *y_src2 = y_src + y_stride; uint32_t x, y; - if (height < 0) { // flip image? + if (height < 0) { /* flip image? */ height = -height; y_src += (height - 1) * y_stride; y_src2 = y_src - y_stride; @@ -815,7 +839,7 @@ } for (y = height / 2; y; y--) { - // process one 2x2 block per iteration + /* process one 2x2 block per iteration */ for (x = 0; x < (uint32_t) width / 2; x++) { int u, v; int b_u, g_uv, r_v, rgb_y; @@ -901,7 +925,7 @@ uint8_t *y_src2 = y_src + y_stride; uint32_t x, y; - if (height < 0) { // flip image? + if (height < 0) { /* flip image? */ height = -height; y_src += (height - 1) * y_stride; y_src2 = y_src - y_stride; @@ -912,7 +936,7 @@ } for (y = height / 2; y; y--) { - // process one 2x2 block per iteration + /* process one 2x2 block per iteration */ for (x = 0; x < (uint32_t) width / 2; x++) { int u, v; int b_u, g_uv, r_v, rgb_y;