MMAL_3-15-2015
mmal_encodings.h
1 /*
2 Copyright (c) 2012, Broadcom Europe Ltd
3 All rights reserved.
4 
5 Redistribution and use in source and binary forms, with or without
6 modification, are permitted provided that the following conditions are met:
7  * Redistributions of source code must retain the above copyright
8  notice, this list of conditions and the following disclaimer.
9  * Redistributions in binary form must reproduce the above copyright
10  notice, this list of conditions and the following disclaimer in the
11  documentation and/or other materials provided with the distribution.
12  * Neither the name of the copyright holder nor the
13  names of its contributors may be used to endorse or promote products
14  derived from this software without specific prior written permission.
15 
16 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
17 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
20 DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
21 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
22 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
23 ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
25 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 */
27 
28 #ifndef MMAL_ENCODINGS_H
29 #define MMAL_ENCODINGS_H
30 
31 #include "mmal_common.h"
32 
37 /* @{ */
38 
40 /* @{ */
41 #define MMAL_ENCODING_H264 MMAL_FOURCC('H','2','6','4')
42 #define MMAL_ENCODING_MVC MMAL_FOURCC('M','V','C',' ')
43 #define MMAL_ENCODING_H263 MMAL_FOURCC('H','2','6','3')
44 #define MMAL_ENCODING_MP4V MMAL_FOURCC('M','P','4','V')
45 #define MMAL_ENCODING_MP2V MMAL_FOURCC('M','P','2','V')
46 #define MMAL_ENCODING_MP1V MMAL_FOURCC('M','P','1','V')
47 #define MMAL_ENCODING_WMV3 MMAL_FOURCC('W','M','V','3')
48 #define MMAL_ENCODING_WMV2 MMAL_FOURCC('W','M','V','2')
49 #define MMAL_ENCODING_WMV1 MMAL_FOURCC('W','M','V','1')
50 #define MMAL_ENCODING_WVC1 MMAL_FOURCC('W','V','C','1')
51 #define MMAL_ENCODING_VP8 MMAL_FOURCC('V','P','8',' ')
52 #define MMAL_ENCODING_VP7 MMAL_FOURCC('V','P','7',' ')
53 #define MMAL_ENCODING_VP6 MMAL_FOURCC('V','P','6',' ')
54 #define MMAL_ENCODING_THEORA MMAL_FOURCC('T','H','E','O')
55 #define MMAL_ENCODING_SPARK MMAL_FOURCC('S','P','R','K')
56 #define MMAL_ENCODING_MJPEG MMAL_FOURCC('M','J','P','G')
57 
58 #define MMAL_ENCODING_JPEG MMAL_FOURCC('J','P','E','G')
59 #define MMAL_ENCODING_GIF MMAL_FOURCC('G','I','F',' ')
60 #define MMAL_ENCODING_PNG MMAL_FOURCC('P','N','G',' ')
61 #define MMAL_ENCODING_PPM MMAL_FOURCC('P','P','M',' ')
62 #define MMAL_ENCODING_TGA MMAL_FOURCC('T','G','A',' ')
63 #define MMAL_ENCODING_BMP MMAL_FOURCC('B','M','P',' ')
64 
65 #define MMAL_ENCODING_I420 MMAL_FOURCC('I','4','2','0')
66 #define MMAL_ENCODING_I420_SLICE MMAL_FOURCC('S','4','2','0')
67 #define MMAL_ENCODING_YV12 MMAL_FOURCC('Y','V','1','2')
68 #define MMAL_ENCODING_I422 MMAL_FOURCC('I','4','2','2')
69 #define MMAL_ENCODING_I422_SLICE MMAL_FOURCC('S','4','2','2')
70 #define MMAL_ENCODING_YUYV MMAL_FOURCC('Y','U','Y','V')
71 #define MMAL_ENCODING_YVYU MMAL_FOURCC('Y','V','Y','U')
72 #define MMAL_ENCODING_UYVY MMAL_FOURCC('U','Y','V','Y')
73 #define MMAL_ENCODING_VYUY MMAL_FOURCC('V','Y','U','Y')
74 #define MMAL_ENCODING_NV12 MMAL_FOURCC('N','V','1','2')
75 #define MMAL_ENCODING_NV21 MMAL_FOURCC('N','V','2','1')
76 #define MMAL_ENCODING_ARGB MMAL_FOURCC('A','R','G','B')
77 #define MMAL_ENCODING_RGBA MMAL_FOURCC('R','G','B','A')
78 #define MMAL_ENCODING_ABGR MMAL_FOURCC('A','B','G','R')
79 #define MMAL_ENCODING_BGRA MMAL_FOURCC('B','G','R','A')
80 #define MMAL_ENCODING_RGB16 MMAL_FOURCC('R','G','B','2')
81 #define MMAL_ENCODING_RGB24 MMAL_FOURCC('R','G','B','3')
82 #define MMAL_ENCODING_RGB32 MMAL_FOURCC('R','G','B','4')
83 #define MMAL_ENCODING_BGR16 MMAL_FOURCC('B','G','R','2')
84 #define MMAL_ENCODING_BGR24 MMAL_FOURCC('B','G','R','3')
85 #define MMAL_ENCODING_BGR32 MMAL_FOURCC('B','G','R','4')
86 
91 #define MMAL_ENCODING_YUVUV128 MMAL_FOURCC('S','A','N','D')
92 
96 #define MMAL_ENCODING_OPAQUE MMAL_FOURCC('O','P','Q','V')
97 
100 #define MMAL_ENCODING_EGL_IMAGE MMAL_FOURCC('E','G','L','I')
101 
102 /* }@ */
103 
105 /* @{ */
106 #define MMAL_ENCODING_PCM_UNSIGNED_BE MMAL_FOURCC('P','C','M','U')
107 #define MMAL_ENCODING_PCM_UNSIGNED_LE MMAL_FOURCC('p','c','m','u')
108 #define MMAL_ENCODING_PCM_SIGNED_BE MMAL_FOURCC('P','C','M','S')
109 #define MMAL_ENCODING_PCM_SIGNED_LE MMAL_FOURCC('p','c','m','s')
110 #define MMAL_ENCODING_PCM_FLOAT_BE MMAL_FOURCC('P','C','M','F')
111 #define MMAL_ENCODING_PCM_FLOAT_LE MMAL_FOURCC('p','c','m','f')
112 /* Defines for native endianness */
113 #ifdef MMAL_IS_BIG_ENDIAN
114 #define MMAL_ENCODING_PCM_UNSIGNED MMAL_ENCODING_PCM_UNSIGNED_BE
115 #define MMAL_ENCODING_PCM_SIGNED MMAL_ENCODING_PCM_SIGNED_BE
116 #define MMAL_ENCODING_PCM_FLOAT MMAL_ENCODING_PCM_FLOAT_BE
117 #else
118 #define MMAL_ENCODING_PCM_UNSIGNED MMAL_ENCODING_PCM_UNSIGNED_LE
119 #define MMAL_ENCODING_PCM_SIGNED MMAL_ENCODING_PCM_SIGNED_LE
120 #define MMAL_ENCODING_PCM_FLOAT MMAL_ENCODING_PCM_FLOAT_LE
121 #endif
122 
123 #define MMAL_ENCODING_MP4A MMAL_FOURCC('M','P','4','A')
124 #define MMAL_ENCODING_MPGA MMAL_FOURCC('M','P','G','A')
125 #define MMAL_ENCODING_ALAW MMAL_FOURCC('A','L','A','W')
126 #define MMAL_ENCODING_MULAW MMAL_FOURCC('U','L','A','W')
127 #define MMAL_ENCODING_ADPCM_MS MMAL_FOURCC('M','S',0x0,0x2)
128 #define MMAL_ENCODING_ADPCM_IMA_MS MMAL_FOURCC('M','S',0x0,0x1)
129 #define MMAL_ENCODING_ADPCM_SWF MMAL_FOURCC('A','S','W','F')
130 #define MMAL_ENCODING_WMA1 MMAL_FOURCC('W','M','A','1')
131 #define MMAL_ENCODING_WMA2 MMAL_FOURCC('W','M','A','2')
132 #define MMAL_ENCODING_WMAP MMAL_FOURCC('W','M','A','P')
133 #define MMAL_ENCODING_WMAL MMAL_FOURCC('W','M','A','L')
134 #define MMAL_ENCODING_WMAV MMAL_FOURCC('W','M','A','V')
135 #define MMAL_ENCODING_AMRNB MMAL_FOURCC('A','M','R','N')
136 #define MMAL_ENCODING_AMRWB MMAL_FOURCC('A','M','R','W')
137 #define MMAL_ENCODING_AMRWBP MMAL_FOURCC('A','M','R','P')
138 #define MMAL_ENCODING_AC3 MMAL_FOURCC('A','C','3',' ')
139 #define MMAL_ENCODING_EAC3 MMAL_FOURCC('E','A','C','3')
140 #define MMAL_ENCODING_DTS MMAL_FOURCC('D','T','S',' ')
141 #define MMAL_ENCODING_MLP MMAL_FOURCC('M','L','P',' ')
142 #define MMAL_ENCODING_FLAC MMAL_FOURCC('F','L','A','C')
143 #define MMAL_ENCODING_VORBIS MMAL_FOURCC('V','O','R','B')
144 #define MMAL_ENCODING_SPEEX MMAL_FOURCC('S','P','X',' ')
145 #define MMAL_ENCODING_ATRAC3 MMAL_FOURCC('A','T','R','3')
146 #define MMAL_ENCODING_ATRACX MMAL_FOURCC('A','T','R','X')
147 #define MMAL_ENCODING_ATRACL MMAL_FOURCC('A','T','R','L')
148 #define MMAL_ENCODING_MIDI MMAL_FOURCC('M','I','D','I')
149 #define MMAL_ENCODING_EVRC MMAL_FOURCC('E','V','R','C')
150 #define MMAL_ENCODING_NELLYMOSER MMAL_FOURCC('N','E','L','Y')
151 #define MMAL_ENCODING_QCELP MMAL_FOURCC('Q','C','E','L')
152 #define MMAL_ENCODING_MP4V_DIVX_DRM MMAL_FOURCC('M','4','V','D')
153 /* @} */
154 
155 /* @} MmalEncodings List */
156 
161 /* @{ */
162 
164 /* @{ */
166 #define MMAL_ENCODING_VARIANT_H264_DEFAULT 0
167 
168 #define MMAL_ENCODING_VARIANT_H264_AVC1 MMAL_FOURCC('A','V','C','1')
169 
170 #define MMAL_ENCODING_VARIANT_H264_RAW MMAL_FOURCC('R','A','W',' ')
171 /* @} */
172 
174 /* @{ */
176 #define MMAL_ENCODING_VARIANT_MP4A_DEFAULT 0
177 
178 #define MMAL_ENCODING_VARIANT_MP4A_ADTS MMAL_FOURCC('A','D','T','S')
179 /* @} */
180 
181 /* @} MmalEncodingVariants List */
182 
187 /* @{ */
188 
190 #define MMAL_COLOR_SPACE_UNKNOWN 0
191 
192 #define MMAL_COLOR_SPACE_ITUR_BT601 MMAL_FOURCC('Y','6','0','1')
193 
194 #define MMAL_COLOR_SPACE_ITUR_BT709 MMAL_FOURCC('Y','7','0','9')
195 
196 #define MMAL_COLOR_SPACE_JPEG_JFIF MMAL_FOURCC('Y','J','F','I')
197 
198 #define MMAL_COLOR_SPACE_FCC MMAL_FOURCC('Y','F','C','C')
199 
200 #define MMAL_COLOR_SPACE_SMPTE240M MMAL_FOURCC('Y','2','4','0')
201 
202 #define MMAL_COLOR_SPACE_BT470_2_M MMAL_FOURCC('Y','_','_','M')
203 
204 #define MMAL_COLOR_SPACE_BT470_2_BG MMAL_FOURCC('Y','_','B','G')
205 
206 #define MMAL_COLOR_SPACE_JFIF_Y16_255 MMAL_FOURCC('Y','Y','1','6')
207 /* @} MmalColorSpace List */
208 
209 #endif /* MMAL_ENCODINGS_H */