vcvt.h

00001 /* 
00002    (C) 2001 Nemosoft Unv.    nemosoft@smcc.demon.nl
00003    
00004    This program is free software; you can redistribute it and/or modify
00005    it under the terms of the GNU General Public License as published by
00006    the Free Software Foundation; either version 2 of the License, or
00007    (at your option) any later version.
00008 
00009    This program is distributed in the hope that it will be useful,
00010    but WITHOUT ANY WARRANTY; without even the implied warranty of
00011    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012    GNU General Public License for more details.
00013 
00014    You should have received a copy of the GNU General Public License
00015    along with this program; if not, write to the Free Software
00016    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00017 
00018 */
00019 
00020 
00021 /* 'Viewport' conversion routines. These functions convert from one colour
00022    space to another, taking into account that the source image has a smaller
00023    size than the view, and is placed inside the view:
00024 
00025         +-------view.x------------+
00026         |                         |
00027         |     +---image.x---+     |
00028         |     |             |     |
00029         |     |             |     |
00030         |     +-------------+     |
00031         |                         |
00032         +-------------------------+
00033 
00034    The image should always be smaller than the view. The offset (top-left
00035    corner of the image) should be precomputed, so you can place the image 
00036    anywhere in the view.
00037 
00038    The functions take these parameters:
00039    - width      image width (in pixels)
00040    - height     image height (in pixels)
00041    - plus       view width (in pixels)
00042    *src         pointer at start of image
00043    *dst         pointer at offset (!) in view
00044 */
00045 
00046 
00047 #ifndef VCVT_H
00048 #define VCVT_H
00049 
00050 #ifdef __cplusplus
00051 extern "C" {
00052 #endif
00053 
00054 /* Functions in vcvt_i386.S/vcvt_c.c */
00055 /* 4:2:0 YUV interlaced to RGB/BGR */
00056 void vcvt_420i_bgr24(int width, int height, int plus, void *src, void *dst);
00057 void vcvt_420i_rgb24(int width, int height, int plus, void *src, void *dst);
00058 void vcvt_420i_bgr32(int width, int height, int plus, void *src, void *dst);
00059 void vcvt_420i_rgb32(int width, int height, int plus, void *src, void *dst);
00060 
00061 
00062 /* Go from 420i to other yuv formats */
00063 void vcvt_420i_420p(int width, int height, int plus, void *src, void *dsty, void *dstu, void *dstv);
00064 void vcvt_420i_yuyv(int width, int height, int plus, void *src, void *dst);
00065 
00066 #if 0
00067 #endif
00068 
00069 #ifdef __cplusplus
00070 }
00071 #endif
00072 
00073 #endif

Generated on Sat Oct 27 09:21:04 2007 for QastroCam by  doxygen 1.5.1