annotate drivers/mga_vid.h @ 32481:983577adcf0e

Fix possible out-of-bounds access.
author reimar
date Sat, 30 Oct 2010 15:29:20 +0000
parents 29dc134ae9b3
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
1 /*
27027
03f571138664 standard license headers for mga_vid
diego
parents: 26830
diff changeset
2 * Matrox MGA G200/G400 YUV Video Interface module Version 0.1.0
03f571138664 standard license headers for mga_vid
diego
parents: 26830
diff changeset
3 * BES == Back End Scaler
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
4 *
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
5 * Copyright (C) 1999 Aaron Holtzman
27027
03f571138664 standard license headers for mga_vid
diego
parents: 26830
diff changeset
6 *
03f571138664 standard license headers for mga_vid
diego
parents: 26830
diff changeset
7 * This file is part of mga_vid.
03f571138664 standard license headers for mga_vid
diego
parents: 26830
diff changeset
8 *
03f571138664 standard license headers for mga_vid
diego
parents: 26830
diff changeset
9 * mga_vid is free software; you can redistribute it and/or modify
03f571138664 standard license headers for mga_vid
diego
parents: 26830
diff changeset
10 * it under the terms of the GNU General Public License as published by
03f571138664 standard license headers for mga_vid
diego
parents: 26830
diff changeset
11 * the Free Software Foundation; either version 2 of the License, or
03f571138664 standard license headers for mga_vid
diego
parents: 26830
diff changeset
12 * (at your option) any later version.
03f571138664 standard license headers for mga_vid
diego
parents: 26830
diff changeset
13 *
03f571138664 standard license headers for mga_vid
diego
parents: 26830
diff changeset
14 * mga_vid is distributed in the hope that it will be useful,
03f571138664 standard license headers for mga_vid
diego
parents: 26830
diff changeset
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
03f571138664 standard license headers for mga_vid
diego
parents: 26830
diff changeset
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
03f571138664 standard license headers for mga_vid
diego
parents: 26830
diff changeset
17 * GNU General Public License for more details.
03f571138664 standard license headers for mga_vid
diego
parents: 26830
diff changeset
18 *
03f571138664 standard license headers for mga_vid
diego
parents: 26830
diff changeset
19 * You should have received a copy of the GNU General Public License along
03f571138664 standard license headers for mga_vid
diego
parents: 26830
diff changeset
20 * with mga_vid; if not, write to the Free Software Foundation, Inc.,
03f571138664 standard license headers for mga_vid
diego
parents: 26830
diff changeset
21 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
22 */
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
23
26829
bfb140f5b62c revert changes 26035 and 26061
attila
parents: 26029
diff changeset
24 #ifndef MGA_VID_H
bfb140f5b62c revert changes 26035 and 26061
attila
parents: 26029
diff changeset
25 #define MGA_VID_H
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
26
32358
29dc134ae9b3 Add necessary #includes to make headers compile standalone.
diego
parents: 27027
diff changeset
27 #include <linux/types.h>
29dc134ae9b3 Add necessary #includes to make headers compile standalone.
diego
parents: 27027
diff changeset
28
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
29 typedef struct mga_vid_config_s
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
30 {
57
baa0a12438eb config interface changed
arpi_esp
parents: 44
diff changeset
31 uint16_t version;
baa0a12438eb config interface changed
arpi_esp
parents: 44
diff changeset
32 uint16_t card_type;
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
33 uint32_t ram_size;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
34 uint32_t src_width;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
35 uint32_t src_height;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
36 uint32_t dest_width;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
37 uint32_t dest_height;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
38 uint32_t x_org;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
39 uint32_t y_org;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
40 uint8_t colkey_on;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
41 uint8_t colkey_red;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
42 uint8_t colkey_green;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
43 uint8_t colkey_blue;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
44 uint32_t format;
57
baa0a12438eb config interface changed
arpi_esp
parents: 44
diff changeset
45 uint32_t frame_size;
baa0a12438eb config interface changed
arpi_esp
parents: 44
diff changeset
46 uint32_t num_frames;
26830
d1c10dce1ee7 sync mga_vid.h to revision 265 from the mga_vid repo
attila
parents: 26829
diff changeset
47 uint32_t capabilities;
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
48 } mga_vid_config_t;
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
49
26830
d1c10dce1ee7 sync mga_vid.h to revision 265 from the mga_vid repo
attila
parents: 26829
diff changeset
50 /* supported FOURCCs */
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
51 #define MGA_VID_FORMAT_YV12 0x32315659
470
8e101a5d9dc2 I420/IYUV support
arpi_esp
parents: 448
diff changeset
52 #define MGA_VID_FORMAT_IYUV (('I'<<24)|('Y'<<16)|('U'<<8)|'V')
8e101a5d9dc2 I420/IYUV support
arpi_esp
parents: 448
diff changeset
53 #define MGA_VID_FORMAT_I420 (('I'<<24)|('4'<<16)|('2'<<8)|'0')
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
54 #define MGA_VID_FORMAT_YUY2 (('Y'<<24)|('U'<<16)|('Y'<<8)|'2')
448
198b46b739d8 qrva eletbe nem kene cvs-t elbaszni inkabb ne nyuljatok hozza baz+
arpi_esp
parents: 57
diff changeset
55 #define MGA_VID_FORMAT_UYVY (('U'<<24)|('Y'<<16)|('V'<<8)|'Y')
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
56
26830
d1c10dce1ee7 sync mga_vid.h to revision 265 from the mga_vid repo
attila
parents: 26829
diff changeset
57 /* ioctl commands */
d1c10dce1ee7 sync mga_vid.h to revision 265 from the mga_vid repo
attila
parents: 26829
diff changeset
58 #define MGA_VID_GET_VERSION _IOR ('J', 1, uint32_t)
d1c10dce1ee7 sync mga_vid.h to revision 265 from the mga_vid repo
attila
parents: 26829
diff changeset
59 #define MGA_VID_CONFIG _IOWR('J', 2, mga_vid_config_t)
d1c10dce1ee7 sync mga_vid.h to revision 265 from the mga_vid repo
attila
parents: 26829
diff changeset
60 #define MGA_VID_ON _IO ('J', 3)
d1c10dce1ee7 sync mga_vid.h to revision 265 from the mga_vid repo
attila
parents: 26829
diff changeset
61 #define MGA_VID_OFF _IO ('J', 4)
d1c10dce1ee7 sync mga_vid.h to revision 265 from the mga_vid repo
attila
parents: 26829
diff changeset
62 #define MGA_VID_FSEL _IOW ('J', 5, uint32_t)
d1c10dce1ee7 sync mga_vid.h to revision 265 from the mga_vid repo
attila
parents: 26829
diff changeset
63 #define MGA_VID_GET_LUMA _IOR ('J', 6, uint32_t)
d1c10dce1ee7 sync mga_vid.h to revision 265 from the mga_vid repo
attila
parents: 26829
diff changeset
64 #define MGA_VID_SET_LUMA _IOW ('J', 7, uint32_t)
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
65
26830
d1c10dce1ee7 sync mga_vid.h to revision 265 from the mga_vid repo
attila
parents: 26829
diff changeset
66 /* card identifiers */
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
67 #define MGA_G200 0x1234
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
68 #define MGA_G400 0x5678
22692
2ccbb18bc99f sync mga_vid.h to the one in the mga_vid repo.
attila
parents: 5013
diff changeset
69 // currently unused, G450 are mapped to MGA_G400
2ccbb18bc99f sync mga_vid.h to the one in the mga_vid repo.
attila
parents: 5013
diff changeset
70 // #define MGA_G450 0x9ABC
2ccbb18bc99f sync mga_vid.h to the one in the mga_vid repo.
attila
parents: 5013
diff changeset
71 #define MGA_G550 0xDEF0
1
3b5f5d1c5041 Initial revision
arpi_esp
parents:
diff changeset
72
26830
d1c10dce1ee7 sync mga_vid.h to revision 265 from the mga_vid repo
attila
parents: 26829
diff changeset
73 /* version of the mga_vid_config struct */
d1c10dce1ee7 sync mga_vid.h to revision 265 from the mga_vid repo
attila
parents: 26829
diff changeset
74 #define MGA_VID_VERSION 0x0202
57
baa0a12438eb config interface changed
arpi_esp
parents: 44
diff changeset
75
26829
bfb140f5b62c revert changes 26035 and 26061
attila
parents: 26029
diff changeset
76 #endif /* MGA_VID_H */