1 /*
2    (c) Copyright 2001-2009  The world wide DirectFB Open Source Community (directfb.org)
3    (c) Copyright 2000-2004  Convergence (integrated media) GmbH
4 
5    All rights reserved.
6 
7    Written by Denis Oliver Kropp <dok@directfb.org>,
8               Andreas Hundt <andi@fischlustig.de>,
9               Sven Neumann <neo@directfb.org>,
10               Ville Syrjälä <syrjala@sci.fi> and
11               Claudio Ciccani <klan@users.sf.net>.
12 
13    This library is free software; you can redistribute it and/or
14    modify it under the terms of the GNU Lesser General Public
15    License as published by the Free Software Foundation; either
16    version 2 of the License, or (at your option) any later version.
17 
18    This library is distributed in the hope that it will be useful,
19    but WITHOUT ANY WARRANTY; without even the implied warranty of
20    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
21    Lesser General Public License for more details.
22 
23    You should have received a copy of the GNU Lesser General Public
24    License along with this library; if not, write to the
25    Free Software Foundation, Inc., 59 Temple Place - Suite 330,
26    Boston, MA 02111-1307, USA.
27 */
28 
29 #ifndef CYBER5KFB_OVERLAY_H
30 #define CYBER5KFB_OVERLAY_H
31 
32 #include "regs.h"
33 
34 #define OVERLAY_YUV422		0	   /*captured data is YUV 422 format*/
35 #define OVERLAY_RGB555		1
36 #define OVERLAY_RGB565		2
37 #define OVERLAY_RGB888		3
38 #define OVERLAY_RGB8888		4
39 #define OVERLAY_RGB8		5
40 #define OVERLAY_RGB4444		6
41 #define OVERLAY_RGB8T		7
42 
43 #define OVERLAY_COLORKEY	0	   /*Overlayed window is of color keying*/
44 #define OVERLAY_WINDOWKEY	1	   /*Overlayed window is of window keying*/
45 
46 #define OVERLAY_WEAVEMODE	0
47 #define OVERLAY_BOBMODE		1
48 
49 
50 #define MEMORY_START_L			0xC0
51 #define MEMORY_START_M			0xC1
52 #define MEMORY_START_H			0xC2
53 #define MEMORY_PITCH_L			0xC3
54 #define MEMORY_PITCH_H			0xC4
55 #define DEST_RECT_LEFT_L		0xC5
56 #define DEST_RECT_LEFT_H		0xC6
57 #define DEST_RECT_RIGHT_L		0xC7
58 #define DEST_RECT_RIGHT_H		0xC8
59 #define DEST_RECT_TOP_L			0xC9
60 #define DEST_RECT_TOP_H			0xCA
61 #define DEST_RECT_BOTTOM_L		0xCB
62 #define DEST_RECT_BOTTOM_H		0xCC
63 #define MEMORY_OFFSET_PHASE		0xCD
64 #define COLOR_CMP_RED			0xCE
65 #define COLOR_CMP_GREEN			0xCF
66 #define COLOR_CMP_BLUE			0xD0
67 #define DDA_X_INIT_L			0xD1
68 #define DDA_X_INIT_H			0xD2
69 #define DDA_X_INC_L				0xD3
70 #define DDA_X_INC_H				0xD4
71 #define DDA_Y_INIT_L			0xD5
72 #define DDA_Y_INIT_H			0xD6
73 #define DDA_Y_INC_L				0xD7
74 #define DDA_Y_INC_H				0xD8
75 #define FIFO_TIMING_CTL_L		0xD9
76 #define FIFO_TIMING_CTL_H		0xDA
77 #define VIDEO_FORMAT			0xDB
78 #define DISP_CTL_I				0xDC
79 #define FIFO_CTL_I				0xDD
80 #define MISC_CTL_I				0xDE
81 
82 void cyber_cleanup_overlay(void);
83 void cyber_init_overlay(void);
84 void cyber_enable_overlay(int enable);
85 void cyber_change_overlay_fifo(void);
86 void cyber_set_overlay_format(int format);
87 void cyber_set_overlay_mode(int mode);
88 void cyber_set_overlay_srcaddr(int addr, int x, int y, int width, int pitch);
89 void cyber_set_overlay_window(int left, int top, int right, int bottom);
90 void cyber_set_overlay_scale( unsigned char bEnableBob, int wSrcXExt, int wDstXExt, int wSrcYExt, int wDstYExt );
91 
92 #endif /* CYBER5KFB_OVERLAY_H */
93