From 0addffbfd3952f766e7f839c210465c9c34b94bd Mon Sep 17 00:00:00 2001 From: Matthew Hoops Date: Tue, 17 May 2011 18:05:40 -0400 Subject: GRAPHICS: Add a YUV to RGB table lookup for use with Theora Based on the video/mpeg_player.* one, which is based on lots of other things (too many to name, go see the file) --- graphics/yuv_to_rgb.h | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 graphics/yuv_to_rgb.h (limited to 'graphics/yuv_to_rgb.h') diff --git a/graphics/yuv_to_rgb.h b/graphics/yuv_to_rgb.h new file mode 100644 index 0000000000..30f64ee570 --- /dev/null +++ b/graphics/yuv_to_rgb.h @@ -0,0 +1,40 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * $URL$ + * $Id$ + * + */ + +#ifndef GRAPHICS_YUV_TO_RGB_H +#define GRAPHICS_YUV_TO_RGB_H + +#include "common/scummsys.h" +#include "graphics/surface.h" + +namespace Graphics { + +struct Surface; + +void convertYUV420ToRGB(Graphics::Surface *dst, const byte *ySrc, const byte *uSrc, const byte *vSrc, int yWidth, int yHeight, int yPitch, int uvPitch); + +} // End of namespace Graphics + +#endif -- cgit v1.2.3 From affb6a38a198d410922492026e5277794a310279 Mon Sep 17 00:00:00 2001 From: Matthew Hoops Date: Wed, 18 May 2011 09:41:08 -0400 Subject: GRAPHICS: Add some docs and sanity checks to the YUV to RGB code --- graphics/yuv_to_rgb.h | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'graphics/yuv_to_rgb.h') diff --git a/graphics/yuv_to_rgb.h b/graphics/yuv_to_rgb.h index 30f64ee570..9b561f2002 100644 --- a/graphics/yuv_to_rgb.h +++ b/graphics/yuv_to_rgb.h @@ -23,6 +23,12 @@ * */ +/** + * @file + * YUV to RGB conversion used in engines: + * - sword25 + */ + #ifndef GRAPHICS_YUV_TO_RGB_H #define GRAPHICS_YUV_TO_RGB_H @@ -33,6 +39,18 @@ namespace Graphics { struct Surface; +/** + * Convert a YUV420 image to an RGB surface + * + * @param dst the destination surface + * @param ySrc the source of the y component + * @param uSrc the source of the u component + * @param vSrc the source of the v component + * @param yWidth the width of the y surface (must be divisible by 2) + * @param yHeight the height of the y surface (must be divisible by 2) + * @param yPitch the pitch of the y surface + * @param uvPitch the pitch of the u and v surfaces + */ void convertYUV420ToRGB(Graphics::Surface *dst, const byte *ySrc, const byte *uSrc, const byte *vSrc, int yWidth, int yHeight, int yPitch, int uvPitch); } // End of namespace Graphics -- cgit v1.2.3