SDL_sysyuv.h revision 9682c8870b8ff5e4ac2e4c70b759f791c6f38c1f
11510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org/* 21510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org SDL - Simple DirectMedia Layer 31510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org Copyright (C) 1997-2012 Sam Lantinga 41510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org 51510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org This library is free software; you can redistribute it and/or 61510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org modify it under the terms of the GNU Lesser General Public 71510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org License as published by the Free Software Foundation; either 81510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org version 2.1 of the License, or (at your option) any later version. 91510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org 101510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org This library is distributed in the hope that it will be useful, 111510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org but WITHOUT ANY WARRANTY; without even the implied warranty of 121510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 131510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org Lesser General Public License for more details. 141510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org 151510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org You should have received a copy of the GNU Lesser General Public 161510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org License along with this library; if not, write to the Free Software 171510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 181510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org 191510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org Sam Lantinga 201510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org slouken@libsdl.org 211510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org*/ 221510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org#include "SDL_config.h" 231510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org 241510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org 251510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org#ifndef __SDL_SYS_YUV_H__ 261510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org#define __SDL_SYS_YUV_H__ 271510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org 282904d1a42292be3056c2dd3f98822f8e1470fa72machenbach@chromium.org/* This is the BeOS implementation of YUV video overlays */ 292904d1a42292be3056c2dd3f98822f8e1470fa72machenbach@chromium.org 301510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org#include "SDL_video.h" 311510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org#include "SDL_lowvideo.h" 321510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org 331510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.orgextern "C" { 341510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org 351510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.orgstruct private_yuvhwdata 361510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org{ 371510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org/* FRAMEDATA* CurrentFrameData; 381510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org FRAMEDATA* FrameData0; 391510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org FRAMEDATA* FrameData1; 401510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org PgScalerProps_t props; 411510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org PgScalerCaps_t caps; 421510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org PgVideoChannel_t* channel; 431510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org PhArea_t CurrentViewPort; 441510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org PhPoint_t CurrentWindowPos; 451510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org long format; 461510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org int scaler_on; 471510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org int current; 481510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org long YStride; 491510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org long VStride; 501510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org long UStride; 511510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org int ischromakey; 521510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org long chromakey; 531510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org int forcedredraw; 541510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org unsigned long State; 551510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org long flags; 561510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org*/ 571510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org SDL_Surface *display; 581510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org BView *bview; 591510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org bool first_display; 601510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org BBitmap *bbitmap; 611510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org int locked; 621510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org}; 631510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org 641510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.orgextern BBitmap * BE_GetOverlayBitmap(BRect bounds, color_space cs); 651510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.orgextern SDL_Overlay* BE_CreateYUVOverlay(_THIS, int width, int height, Uint32 format, SDL_Surface* display); 661510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.orgextern int BE_LockYUVOverlay(_THIS, SDL_Overlay* overlay); 671510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.orgextern void BE_UnlockYUVOverlay(_THIS, SDL_Overlay* overlay); 681510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.orgextern int BE_DisplayYUVOverlay(_THIS, SDL_Overlay* overlay, SDL_Rect* src, SDL_Rect* dst); 691510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.orgextern void BE_FreeYUVOverlay(_THIS, SDL_Overlay* overlay); 701510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org 711510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org}; 721510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org 731510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org#endif /* __SDL_PH_YUV_H__ */ 741510d58cbcf57c82a10e7d390bfe21a7ae68ba43mstarzinger@chromium.org