1*0573d397SFrançois Revol /* 2*0573d397SFrançois Revol * Copyright 2009, Haiku Inc. 3*0573d397SFrançois Revol * All rights reserved. Distributed under the terms of the MIT License. 4*0573d397SFrançois Revol */ 5*0573d397SFrançois Revol #ifndef GENERIC_VIDEO_H 6*0573d397SFrançois Revol #define GENERIC_VIDEO_H 7*0573d397SFrançois Revol 8*0573d397SFrançois Revol 9*0573d397SFrançois Revol #include <SupportDefs.h> 10*0573d397SFrançois Revol 11*0573d397SFrançois Revol #ifdef __cplusplus 12*0573d397SFrançois Revol extern "C" { 13*0573d397SFrançois Revol #endif 14*0573d397SFrançois Revol 15*0573d397SFrançois Revol /* blit helpers */ 16*0573d397SFrançois Revol 17*0573d397SFrançois Revol /* platform code is responsible for setting the palette correctly */ 18*0573d397SFrançois Revol void video_blit_image(addr_t frameBuffer, uint32 bytesPerRow, 19*0573d397SFrançois Revol const uint8 *data, uint16 width, uint16 height, uint16 imageWidth, 20*0573d397SFrançois Revol uint16 left, uint16 top); 21*0573d397SFrançois Revol 22*0573d397SFrançois Revol /* platform code must implement 4bit on its own */ 23*0573d397SFrançois Revol void platform_blit4(addr_t frameBuffer, uint32 bytesPerRow, const uint8 *data, 24*0573d397SFrançois Revol uint16 width, uint16 height, uint16 imageWidth, uint16 left, uint16 top); 25*0573d397SFrançois Revol 26*0573d397SFrançois Revol 27*0573d397SFrançois Revol /* Run Length Encoding splash decompression */ 28*0573d397SFrançois Revol 29*0573d397SFrançois Revol void uncompress_24bit_RLE(const uint8 compressed[], uint8 *uncompressed); 30*0573d397SFrançois Revol void uncompress_8bit_RLE(const uint8 compressed[], uint8 *uncompressed); 31*0573d397SFrançois Revol 32*0573d397SFrançois Revol #ifdef __cplusplus 33*0573d397SFrançois Revol } 34*0573d397SFrançois Revol #endif 35*0573d397SFrançois Revol 36*0573d397SFrançois Revol #endif /* GENERIC_VIDEO_H */ 37