Added nxglib.h

git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1309 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
patacongo 2008-11-26 15:48:48 +00:00
parent 1979ecdbc0
commit 0a9c6e69a3
5 changed files with 85 additions and 10 deletions

View File

@ -46,6 +46,7 @@
#include <debug.h> #include <debug.h>
#include <nuttx/fb.h> #include <nuttx/fb.h>
#include <nuttx/nxglib.h>
#include "up_arch.h" #include "up_arch.h"
#include "dm320_memorymap.h" #include "dm320_memorymap.h"
@ -1201,7 +1202,7 @@ static int dm320_putcmap(FAR struct fb_vtable_s *vtable, FAR struct fb_cmap_s *c
{ {
/* Convert the RGB to YUV */ /* Convert the RGB to YUV */
rgb2yuv(cmap->red[i], cmap->green[i], cmap->blue[i], &y, &u, &v); nxgl_rgb2yuv(cmap->red[i], cmap->green[i], cmap->blue[i], &y, &u, &v);
/* Program the CLUT */ /* Program the CLUT */

View File

@ -41,9 +41,10 @@
#include <sys/types.h> #include <sys/types.h>
#include <debug.h> #include <debug.h>
#include <fixedmath.h> #include <fixedmath.h>
#include <nuttx/nxglib.h>
/**************************************************************************** /****************************************************************************
* Pre-Processor Definitions * Pre-Processor Definitions
****************************************************************************/ ****************************************************************************/
@ -79,7 +80,7 @@
****************************************************************************/ ****************************************************************************/
/**************************************************************************** /****************************************************************************
* Name: nxglib_rgb2yuv * Name: nxgl_rgb2yuv
* *
* Description: * Description:
* Convert 8-bit RGB triplet to 8-bit YUV triplet * Convert 8-bit RGB triplet to 8-bit YUV triplet
@ -87,7 +88,7 @@
* *
****************************************************************************/ ****************************************************************************/
void nxglib_rgb2yuv(ubyte r, ubyte g, ubyte b, ubyte *y, ubyte *u, ubyte *v) void nxgl_rgb2yuv(ubyte r, ubyte g, ubyte b, ubyte *y, ubyte *u, ubyte *v)
{ {
/* Per the JFIF specification: /* Per the JFIF specification:
* *

View File

@ -41,9 +41,10 @@
#include <sys/types.h> #include <sys/types.h>
#include <debug.h> #include <debug.h>
#include <fixedmath.h> #include <fixedmath.h>
#include <nuttx/nxglib.h>
/**************************************************************************** /****************************************************************************
* Pre-Processor Definitions * Pre-Processor Definitions
****************************************************************************/ ****************************************************************************/
@ -75,7 +76,7 @@
****************************************************************************/ ****************************************************************************/
/**************************************************************************** /****************************************************************************
* Name: nxglib_yuv2rgb * Name: nxgl_yuv2rgb
* *
* Description: * Description:
* Convert 8-bit RGB triplet to 8-bit YUV triplet * Convert 8-bit RGB triplet to 8-bit YUV triplet
@ -83,7 +84,7 @@
* *
****************************************************************************/ ****************************************************************************/
void nxglib_yuv2rgb(ubyte y, ubyte u, ubyte v, ubyte *r, ubyte *g, ubyte *b) void nxgl_yuv2rgb(ubyte y, ubyte u, ubyte v, ubyte *r, ubyte *g, ubyte *b)
{ {
b16_t vm128 = itob16(v) - b16_128P0; b16_t vm128 = itob16(v) - b16_128P0;
b16_t um128 = itob16(u) - b16_128P0; b16_t um128 = itob16(u) - b16_128P0;

View File

@ -33,8 +33,8 @@
* *
****************************************************************************/ ****************************************************************************/
#ifndef __KMALLOC_H #ifndef __INCLUDE_NUTTX_KMALLOC_H
#define __KMALLOC_H #define __INCLUDE_NUTTX_KMALLOC_H
/**************************************************************************** /****************************************************************************
* Included Files * Included Files
@ -91,4 +91,4 @@ KMALLOC_EXTERN void sched_free(FAR void *address);
} }
#endif #endif
#endif /* __KMALLOC_H */ #endif /* __INCLUDE_NUTTX_KMALLOC_H */

72
include/nuttx/nxglib.h Normal file
View File

@ -0,0 +1,72 @@
/****************************************************************************
* include/nuttx/nxglib.h
*
* Copyright (C) 2008 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <spudmonkey@racsa.co.cr>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
* 3. Neither the name NuttX nor the names of its contributors may be
* used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
****************************************************************************/
#ifndef __INCLUDE_NUTTX_NXGLIB_H
#define __INCLUDE_NUTTX_NXGLIB_H
/****************************************************************************
* Included Files
****************************************************************************/
#include <nuttx/config.h>
#include <sys/types.h>
/****************************************************************************
* Public Types
****************************************************************************/
#undef EXTERN
#if defined(__cplusplus)
# define EXTERN extern "C"
extern "C" {
#else
# define EXTERN extern
#endif
/****************************************************************************
* Public Function Prototypes
****************************************************************************/
/* Color conversons */
EXTERN void nxgl_rgb2yuv(ubyte r, ubyte g, ubyte b, ubyte *y, ubyte *u, ubyte *v);
EXTERN void nxgl_yuv2rgb(ubyte y, ubyte u, ubyte v, ubyte *r, ubyte *g, ubyte *b);
#undef EXTERN
#if defined(__cplusplus)
}
#endif
#endif /* __INCLUDE_NUTTX_NXGLIB_H */