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#endif /* _XF86_FOURCC_H_ */ 180