filename | src/video.h |
changeset | 94:8d80d9c7cc7d |
prev | 65:9f124c245fc6 |
next | 103:9b9cfc5855e0 |
author | nkeynes |
date | Sun Feb 05 04:05:27 2006 +0000 (17 years ago) |
permissions | -rw-r--r-- |
last change | Video code reshuffle to start getting real video happening. Implement colourspace conversions Various tweaks |
view | annotate | diff | log | raw |
1 /**
2 * $Id: video.h,v 1.4 2006-02-05 04:05:27 nkeynes Exp $
3 *
4 * The PC side of the video support (responsible for actually displaying /
5 * rendering frames)
6 *
7 * Copyright (c) 2005 Nathan Keynes.
8 *
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; either version 2 of the License, or
12 * (at your option) any later version.
13 *
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
18 */
20 #ifndef dream_video_H
21 #define dream_video_H
23 #include <stdint.h>
24 #include <glib.h>
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
30 #define COLFMT_RGB15 0x00000000
31 #define COLFMT_RGB16 0x00000004
32 #define COLFMT_RGB24 0x00000008
33 #define COLFMT_RGB32 0x0000000C
35 typedef struct video_buffer {
36 uint32_t hres;
37 uint32_t vres;
38 uint32_t rowstride;
39 int colour_format;
40 char *data;
41 } *video_buffer_t;
43 typedef struct video_driver {
44 char *name;
45 gboolean (*set_output_format)( uint32_t hres, uint32_t vres,
46 int colour_fmt );
47 gboolean (*display_frame)( video_buffer_t buffer );
48 gboolean (*display_blank_frame)( uint32_t rgb );
49 } *video_driver_t;
52 void video_open( void );
53 void video_update_frame( void );
54 void video_update_size( int, int, int );
56 extern uint32_t pvr2_frame_counter;
58 extern struct video_driver video_gtk_driver;
60 #ifdef __cplusplus
61 }
62 #endif
63 #endif
.