1 /* 2 SDL - Simple DirectMedia Layer 3 Copyright (C) 1997-2012 Sam Lantinga 4 5 This library is free software; you can redistribute it and/or 6 modify it under the terms of the GNU Lesser General Public 7 License as published by the Free Software Foundation; either 8 version 2.1 of the License, or (at your option) any later version. 9 10 This library is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 Lesser General Public License for more details. 14 15 You should have received a copy of the GNU Lesser General Public 16 License along with this library; if not, write to the Free Software 17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 19 Sam Lantinga 20 slouken@libsdl.org 21 */ 22 #include "SDL_config.h" 23 24 25 #ifndef __SDL_SYS_YUV_H__ 26 #define __SDL_SYS_YUV_H__ 27 28 /* This is the BeOS implementation of YUV video overlays */ 29 30 #include "SDL_video.h" 31 #include "SDL_lowvideo.h" 32 33 extern "C" { 34 35 struct private_yuvhwdata 36 { 37 /* FRAMEDATA* CurrentFrameData; 38 FRAMEDATA* FrameData0; 39 FRAMEDATA* FrameData1; 40 PgScalerProps_t props; 41 PgScalerCaps_t caps; 42 PgVideoChannel_t* channel; 43 PhArea_t CurrentViewPort; 44 PhPoint_t CurrentWindowPos; 45 long format; 46 int scaler_on; 47 int current; 48 long YStride; 49 long VStride; 50 long UStride; 51 int ischromakey; 52 long chromakey; 53 int forcedredraw; 54 unsigned long State; 55 long flags; 56 */ 57 SDL_Surface *display; 58 BView *bview; 59 bool first_display; 60 BBitmap *bbitmap; 61 int locked; 62 }; 63 64 extern BBitmap * BE_GetOverlayBitmap(BRect bounds, color_space cs); 65 extern SDL_Overlay* BE_CreateYUVOverlay(_THIS, int width, int height, Uint32 format, SDL_Surface* display); 66 extern int BE_LockYUVOverlay(_THIS, SDL_Overlay* overlay); 67 extern void BE_UnlockYUVOverlay(_THIS, SDL_Overlay* overlay); 68 extern int BE_DisplayYUVOverlay(_THIS, SDL_Overlay* overlay, SDL_Rect* src, SDL_Rect* dst); 69 extern void BE_FreeYUVOverlay(_THIS, SDL_Overlay* overlay); 70 71 }; 72 73 #endif /* __SDL_PH_YUV_H__ */ 74