Mercurial > sdl-ios-xcode
diff src/video/bwindow/SDL_sysyuv.h @ 756:10332c6fad2e
te: Mon, 15 Dec 2003 08:25:14 -0800 PST
From: "Andrew Bachmann"
Subject: libSDL patches for beos video
I created some patches to SDL:
1. YUV overlay support
2. maintain high refresh rate when changing resolutions to a lower resolution
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Tue, 16 Dec 2003 13:04:44 +0000 |
parents | |
children | b8d311d90021 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/video/bwindow/SDL_sysyuv.h Tue Dec 16 13:04:44 2003 +0000 @@ -0,0 +1,77 @@ +/* + SDL - Simple DirectMedia Layer + Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002 Sam Lantinga + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library 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 + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this library; if not, write to the Free + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + Sam Lantinga + slouken@libsdl.org +*/ + + +#ifndef __SDL_SYS_YUV_H__ +#define __SDL_SYS_YUV_H__ + +#ifdef SAVE_RCSID +static char rcsid = + "@(#) $Id$"; +#endif /* SAVE_RCSID */ + +/* This is the BeOS implementation of YUV video overlays */ + +#include "SDL_video.h" +#include "SDL_lowvideo.h" + +extern "C" { + +struct private_yuvhwdata +{ +/* FRAMEDATA* CurrentFrameData; + FRAMEDATA* FrameData0; + FRAMEDATA* FrameData1; + PgScalerProps_t props; + PgScalerCaps_t caps; + PgVideoChannel_t* channel; + PhArea_t CurrentViewPort; + PhPoint_t CurrentWindowPos; + long format; + int scaler_on; + int current; + long YStride; + long VStride; + long UStride; + int ischromakey; + long chromakey; + int forcedredraw; + unsigned long State; + long flags; +*/ + SDL_Surface *display; + BView *bview; + bool first_display; + BBitmap *bbitmap; + int locked; +}; + +extern BBitmap * BE_GetOverlayBitmap(BRect bounds, color_space cs); +extern SDL_Overlay* BE_CreateYUVOverlay(_THIS, int width, int height, Uint32 format, SDL_Surface* display); +extern int BE_LockYUVOverlay(_THIS, SDL_Overlay* overlay); +extern void BE_UnlockYUVOverlay(_THIS, SDL_Overlay* overlay); +extern int BE_DisplayYUVOverlay(_THIS, SDL_Overlay* overlay, SDL_Rect* dstrect); +extern void BE_FreeYUVOverlay(_THIS, SDL_Overlay* overlay); + +}; + +#endif /* __SDL_PH_YUV_H__ */