Home | History | Annotate | Line # | Download | only in include
      1 
      2 /*
      3  * Copyright (c) 2000-2003 by The XFree86 Project, Inc.
      4  *
      5  * Permission is hereby granted, free of charge, to any person obtaining a
      6  * copy of this software and associated documentation files (the "Software"),
      7  * to deal in the Software without restriction, including without limitation
      8  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
      9  * and/or sell copies of the Software, and to permit persons to whom the
     10  * Software is furnished to do so, subject to the following conditions:
     11  *
     12  * The above copyright notice and this permission notice shall be included in
     13  * all copies or substantial portions of the Software.
     14  *
     15  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     16  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     17  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
     18  * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
     19  * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
     20  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
     21  * OTHER DEALINGS IN THE SOFTWARE.
     22  *
     23  * Except as contained in this notice, the name of the copyright holder(s)
     24  * and author(s) shall not be used in advertising or otherwise to promote
     25  * the sale, use or other dealings in this Software without prior written
     26  * authorization from the copyright holder(s) and author(s).
     27  */
     28 
     29 /*
     30    This header file contains listings of STANDARD guids for video formats.
     31    Please do not place non-registered, or incomplete entries in this file.
     32    A list of some popular fourcc's are at: http://www.webartz.com/fourcc/
     33    For an explanation of fourcc <-> guid mappings see RFC2361.
     34 */
     35 
     36 #ifndef _XF86_FOURCC_H_
     37 #define _XF86_FOURCC_H_ 1
     38 
     39 #define FOURCC_YUY2 0x32595559
     40 #define XVIMAGE_YUY2 \
     41    { \
     42 	FOURCC_YUY2, \
     43         XvYUV, \
     44 	LSBFirst, \
     45 	{'Y','U','Y','2', \
     46 	  0x00,0x00,0x00,0x10,0x80,0x00,0x00,0xAA,0x00,0x38,0x9B,0x71}, \
     47 	16, \
     48 	XvPacked, \
     49 	1, \
     50 	0, 0, 0, 0, \
     51 	8, 8, 8, \
     52 	1, 2, 2, \
     53 	1, 1, 1, \
     54 	{'Y','U','Y','V', \
     55 	  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, \
     56 	XvTopToBottom \
     57    }
     58 
     59 #define FOURCC_YV12 0x32315659
     60 #define XVIMAGE_YV12 \
     61    { \
     62 	FOURCC_YV12, \
     63         XvYUV, \
     64 	LSBFirst, \
     65 	{'Y','V','1','2', \
     66 	  0x00,0x00,0x00,0x10,0x80,0x00,0x00,0xAA,0x00,0x38,0x9B,0x71}, \
     67 	12, \
     68 	XvPlanar, \
     69 	3, \
     70 	0, 0, 0, 0, \
     71 	8, 8, 8, \
     72 	1, 2, 2, \
     73 	1, 2, 2, \
     74 	{'Y','V','U', \
     75 	  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, \
     76 	XvTopToBottom \
     77    }
     78 
     79 #define FOURCC_I420 0x30323449
     80 #define XVIMAGE_I420 \
     81    { \
     82 	FOURCC_I420, \
     83         XvYUV, \
     84 	LSBFirst, \
     85 	{'I','4','2','0', \
     86 	  0x00,0x00,0x00,0x10,0x80,0x00,0x00,0xAA,0x00,0x38,0x9B,0x71}, \
     87 	12, \
     88 	XvPlanar, \
     89 	3, \
     90 	0, 0, 0, 0, \
     91 	8, 8, 8, \
     92 	1, 2, 2, \
     93 	1, 2, 2, \
     94 	{'Y','U','V', \
     95 	  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, \
     96 	XvTopToBottom \
     97    }
     98 
     99 #define FOURCC_UYVY 0x59565955
    100 #define XVIMAGE_UYVY \
    101    { \
    102 	FOURCC_UYVY, \
    103         XvYUV, \
    104 	LSBFirst, \
    105 	{'U','Y','V','Y', \
    106 	  0x00,0x00,0x00,0x10,0x80,0x00,0x00,0xAA,0x00,0x38,0x9B,0x71}, \
    107 	16, \
    108 	XvPacked, \
    109 	1, \
    110 	0, 0, 0, 0, \
    111 	8, 8, 8, \
    112 	1, 2, 2, \
    113 	1, 1, 1, \
    114 	{'U','Y','V','Y', \
    115 	  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, \
    116 	XvTopToBottom \
    117    }
    118 
    119 #define FOURCC_IA44 0x34344149
    120 #define XVIMAGE_IA44 \
    121    { \
    122         FOURCC_IA44, \
    123         XvYUV, \
    124         LSBFirst, \
    125         {'I','A','4','4', \
    126           0x00,0x00,0x00,0x10,0x80,0x00,0x00,0xAA,0x00,0x38,0x9B,0x71}, \
    127         8, \
    128         XvPacked, \
    129         1, \
    130         0, 0, 0, 0, \
    131         8, 8, 8, \
    132         1, 1, 1, \
    133         1, 1, 1, \
    134         {'A','I', \
    135           0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, \
    136         XvTopToBottom \
    137    }
    138 
    139 #define FOURCC_AI44 0x34344941
    140 #define XVIMAGE_AI44 \
    141    { \
    142         FOURCC_AI44, \
    143         XvYUV, \
    144         LSBFirst, \
    145         {'A','I','4','4', \
    146           0x00,0x00,0x00,0x10,0x80,0x00,0x00,0xAA,0x00,0x38,0x9B,0x71}, \
    147         8, \
    148         XvPacked, \
    149         1, \
    150         0, 0, 0, 0, \
    151         8, 8, 8, \
    152         1, 1, 1, \
    153         1, 1, 1, \
    154         {'I','A', \
    155           0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, \
    156         XvTopToBottom \
    157    }
    158 
    159 #define FOURCC_NV12 0x3231564e
    160 #define XVIMAGE_NV12 \
    161    { \
    162         FOURCC_NV12, \
    163         XvYUV, \
    164         LSBFirst, \
    165         {'N','V','1','2', \
    166           0x00,0x00,0x00,0x10,0x80,0x00,0x00,0xAA,0x00,0x38,0x9B,0x71}, \
    167         12, \
    168         XvPlanar, \
    169         2, \
    170         0, 0, 0, 0, \
    171         8, 8, 8, \
    172         1, 2, 2, \
    173         1, 2, 2, \
    174         {'Y','U','V', \
    175           0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, \
    176         XvTopToBottom \
    177    }
    178 
    179 #define FOURCC_RGBA32 0x34325241
    180 #define XVIMAGE_RGB32 \
    181    { \
    182         FOURCC_RGBA32, \
    183         XvRGB, \
    184 		LSBFirst, \
    185 		{'R','A','2','4', \
    186 		 0x00, 0x00, 0x00,0x10,0x80,0x00,0x00,0xAA,0x00,0x38,0x9B,0x71}, \
    187 		32, \
    188 		XvPacked, \
    189 		1, \
    190 		32, 0xff0000, 0xff00, 0xff, \
    191 		0, 0, 0, \
    192 		0, 0, 0, \
    193 		0, 0, 0, \
    194 		{0,0,0,0, \
    195 		 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, \
    196 		0 \
    197    }
    198 
    199 #define FOURCC_RGB565 0x36314752
    200 #define XVIMAGE_RGB565 \
    201    { \
    202         FOURCC_RGB565, \
    203         XvRGB, \
    204 		LSBFirst, \
    205 		{'R','G','1','6', \
    206 		 0x00, 0x00, 0x00,0x10,0x80,0x00,0x00,0xAA,0x00,0x38,0x9B,0x71}, \
    207 		16, \
    208 		XvPacked, \
    209 		1, \
    210 		16, 0xf800, 0x7e0, 0x1f, \
    211 		0, 0, 0, \
    212 		0, 0, 0, \
    213 		0, 0, 0, \
    214 		{0,0,0,0, \
    215 		 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}, \
    216 		0 \
    217    }
    218 #endif                          /* _XF86_FOURCC_H_ */
    219