146be48730333120a7b939116cef075e61c12c703David 'Digit' Turner/*
246be48730333120a7b939116cef075e61c12c703David 'Digit' Turner    SDL - Simple DirectMedia Layer
346be48730333120a7b939116cef075e61c12c703David 'Digit' Turner    Copyright (C) 1997-2006 Sam Lantinga
446be48730333120a7b939116cef075e61c12c703David 'Digit' Turner
546be48730333120a7b939116cef075e61c12c703David 'Digit' Turner    This library is free software; you can redistribute it and/or
646be48730333120a7b939116cef075e61c12c703David 'Digit' Turner    modify it under the terms of the GNU Lesser General Public
746be48730333120a7b939116cef075e61c12c703David 'Digit' Turner    License as published by the Free Software Foundation; either
846be48730333120a7b939116cef075e61c12c703David 'Digit' Turner    version 2.1 of the License, or (at your option) any later version.
946be48730333120a7b939116cef075e61c12c703David 'Digit' Turner
1046be48730333120a7b939116cef075e61c12c703David 'Digit' Turner    This library is distributed in the hope that it will be useful,
1146be48730333120a7b939116cef075e61c12c703David 'Digit' Turner    but WITHOUT ANY WARRANTY; without even the implied warranty of
1246be48730333120a7b939116cef075e61c12c703David 'Digit' Turner    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
1346be48730333120a7b939116cef075e61c12c703David 'Digit' Turner    Lesser General Public License for more details.
1446be48730333120a7b939116cef075e61c12c703David 'Digit' Turner
1546be48730333120a7b939116cef075e61c12c703David 'Digit' Turner    You should have received a copy of the GNU Lesser General Public
1646be48730333120a7b939116cef075e61c12c703David 'Digit' Turner    License along with this library; if not, write to the Free Software
1746be48730333120a7b939116cef075e61c12c703David 'Digit' Turner    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
1846be48730333120a7b939116cef075e61c12c703David 'Digit' Turner
1946be48730333120a7b939116cef075e61c12c703David 'Digit' Turner    Sam Lantinga
2046be48730333120a7b939116cef075e61c12c703David 'Digit' Turner    slouken@libsdl.org
2146be48730333120a7b939116cef075e61c12c703David 'Digit' Turner*/
2246be48730333120a7b939116cef075e61c12c703David 'Digit' Turner#include "SDL_config.h"
2346be48730333120a7b939116cef075e61c12c703David 'Digit' Turner
2446be48730333120a7b939116cef075e61c12c703David 'Digit' Turner
2546be48730333120a7b939116cef075e61c12c703David 'Digit' Turner#ifndef __SDL_SYS_YUV_H__
2646be48730333120a7b939116cef075e61c12c703David 'Digit' Turner#define __SDL_SYS_YUV_H__
2746be48730333120a7b939116cef075e61c12c703David 'Digit' Turner
2846be48730333120a7b939116cef075e61c12c703David 'Digit' Turner/* This is the BeOS implementation of YUV video overlays */
2946be48730333120a7b939116cef075e61c12c703David 'Digit' Turner
3046be48730333120a7b939116cef075e61c12c703David 'Digit' Turner#include "SDL_video.h"
3146be48730333120a7b939116cef075e61c12c703David 'Digit' Turner#include "SDL_lowvideo.h"
3246be48730333120a7b939116cef075e61c12c703David 'Digit' Turner
3346be48730333120a7b939116cef075e61c12c703David 'Digit' Turnerextern "C" {
3446be48730333120a7b939116cef075e61c12c703David 'Digit' Turner
3546be48730333120a7b939116cef075e61c12c703David 'Digit' Turnerstruct private_yuvhwdata
3646be48730333120a7b939116cef075e61c12c703David 'Digit' Turner{
3746be48730333120a7b939116cef075e61c12c703David 'Digit' Turner/*  FRAMEDATA* CurrentFrameData;
3846be48730333120a7b939116cef075e61c12c703David 'Digit' Turner    FRAMEDATA* FrameData0;
3946be48730333120a7b939116cef075e61c12c703David 'Digit' Turner    FRAMEDATA* FrameData1;
4046be48730333120a7b939116cef075e61c12c703David 'Digit' Turner    PgScalerProps_t   props;
4146be48730333120a7b939116cef075e61c12c703David 'Digit' Turner    PgScalerCaps_t    caps;
4246be48730333120a7b939116cef075e61c12c703David 'Digit' Turner    PgVideoChannel_t* channel;
4346be48730333120a7b939116cef075e61c12c703David 'Digit' Turner    PhArea_t CurrentViewPort;
4446be48730333120a7b939116cef075e61c12c703David 'Digit' Turner    PhPoint_t CurrentWindowPos;
4546be48730333120a7b939116cef075e61c12c703David 'Digit' Turner    long format;
4646be48730333120a7b939116cef075e61c12c703David 'Digit' Turner    int scaler_on;
4746be48730333120a7b939116cef075e61c12c703David 'Digit' Turner    int current;
4846be48730333120a7b939116cef075e61c12c703David 'Digit' Turner    long YStride;
4946be48730333120a7b939116cef075e61c12c703David 'Digit' Turner    long VStride;
5046be48730333120a7b939116cef075e61c12c703David 'Digit' Turner    long UStride;
5146be48730333120a7b939116cef075e61c12c703David 'Digit' Turner    int ischromakey;
5246be48730333120a7b939116cef075e61c12c703David 'Digit' Turner    long chromakey;
5346be48730333120a7b939116cef075e61c12c703David 'Digit' Turner    int forcedredraw;
5446be48730333120a7b939116cef075e61c12c703David 'Digit' Turner    unsigned long State;
5546be48730333120a7b939116cef075e61c12c703David 'Digit' Turner    long flags;
5646be48730333120a7b939116cef075e61c12c703David 'Digit' Turner*/
5746be48730333120a7b939116cef075e61c12c703David 'Digit' Turner	SDL_Surface *display;
5846be48730333120a7b939116cef075e61c12c703David 'Digit' Turner	BView *bview;
5946be48730333120a7b939116cef075e61c12c703David 'Digit' Turner	bool first_display;
6046be48730333120a7b939116cef075e61c12c703David 'Digit' Turner	BBitmap *bbitmap;
6146be48730333120a7b939116cef075e61c12c703David 'Digit' Turner    int locked;
6246be48730333120a7b939116cef075e61c12c703David 'Digit' Turner};
6346be48730333120a7b939116cef075e61c12c703David 'Digit' Turner
6446be48730333120a7b939116cef075e61c12c703David 'Digit' Turnerextern BBitmap * BE_GetOverlayBitmap(BRect bounds, color_space cs);
6546be48730333120a7b939116cef075e61c12c703David 'Digit' Turnerextern SDL_Overlay* BE_CreateYUVOverlay(_THIS, int width, int height, Uint32 format, SDL_Surface* display);
6646be48730333120a7b939116cef075e61c12c703David 'Digit' Turnerextern int BE_LockYUVOverlay(_THIS, SDL_Overlay* overlay);
6746be48730333120a7b939116cef075e61c12c703David 'Digit' Turnerextern void BE_UnlockYUVOverlay(_THIS, SDL_Overlay* overlay);
6846be48730333120a7b939116cef075e61c12c703David 'Digit' Turnerextern int BE_DisplayYUVOverlay(_THIS, SDL_Overlay* overlay, SDL_Rect* src, SDL_Rect* dst);
6946be48730333120a7b939116cef075e61c12c703David 'Digit' Turnerextern void BE_FreeYUVOverlay(_THIS, SDL_Overlay* overlay);
7046be48730333120a7b939116cef075e61c12c703David 'Digit' Turner
7146be48730333120a7b939116cef075e61c12c703David 'Digit' Turner};
7246be48730333120a7b939116cef075e61c12c703David 'Digit' Turner
7346be48730333120a7b939116cef075e61c12c703David 'Digit' Turner#endif /* __SDL_PH_YUV_H__ */
74