My Project
/home/jvcleave/Desktop/RASPBERRY_PI/userland/interface/mmal/mmal_encodings.h
00001 /*
00002 Copyright (c) 2012, Broadcom Europe Ltd
00003 All rights reserved.
00004 
00005 Redistribution and use in source and binary forms, with or without
00006 modification, are permitted provided that the following conditions are met:
00007     * Redistributions of source code must retain the above copyright
00008       notice, this list of conditions and the following disclaimer.
00009     * Redistributions in binary form must reproduce the above copyright
00010       notice, this list of conditions and the following disclaimer in the
00011       documentation and/or other materials provided with the distribution.
00012     * Neither the name of the copyright holder nor the
00013       names of its contributors may be used to endorse or promote products
00014       derived from this software without specific prior written permission.
00015 
00016 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
00017 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
00018 WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
00019 DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
00020 DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
00021 (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
00022 LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
00023 ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00024 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
00025 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
00026 */
00027 
00028 #ifndef MMAL_ENCODINGS_H
00029 #define MMAL_ENCODINGS_H
00030 
00031 #include "mmal_common.h"
00032 
00037 /* @{ */
00038 
00040 /* @{ */
00041 #define MMAL_ENCODING_H264             MMAL_FOURCC('H','2','6','4')
00042 #define MMAL_ENCODING_H263             MMAL_FOURCC('H','2','6','3')
00043 #define MMAL_ENCODING_MP4V             MMAL_FOURCC('M','P','4','V')
00044 #define MMAL_ENCODING_MP2V             MMAL_FOURCC('M','P','2','V')
00045 #define MMAL_ENCODING_MP1V             MMAL_FOURCC('M','P','1','V')
00046 #define MMAL_ENCODING_WMV3             MMAL_FOURCC('W','M','V','3')
00047 #define MMAL_ENCODING_WMV2             MMAL_FOURCC('W','M','V','2')
00048 #define MMAL_ENCODING_WMV1             MMAL_FOURCC('W','M','V','1')
00049 #define MMAL_ENCODING_WVC1             MMAL_FOURCC('W','V','C','1')
00050 #define MMAL_ENCODING_VP8              MMAL_FOURCC('V','P','8',' ')
00051 #define MMAL_ENCODING_VP7              MMAL_FOURCC('V','P','7',' ')
00052 #define MMAL_ENCODING_VP6              MMAL_FOURCC('V','P','6',' ')
00053 #define MMAL_ENCODING_THEORA           MMAL_FOURCC('T','H','E','O')
00054 #define MMAL_ENCODING_SPARK            MMAL_FOURCC('S','P','R','K')
00055 
00056 #define MMAL_ENCODING_JPEG             MMAL_FOURCC('J','P','E','G')
00057 #define MMAL_ENCODING_GIF              MMAL_FOURCC('G','I','F',' ')
00058 #define MMAL_ENCODING_PNG              MMAL_FOURCC('P','N','G',' ')
00059 #define MMAL_ENCODING_PPM              MMAL_FOURCC('P','P','M',' ')
00060 #define MMAL_ENCODING_TGA              MMAL_FOURCC('T','G','A',' ')
00061 #define MMAL_ENCODING_BMP              MMAL_FOURCC('B','M','P',' ')
00062 
00063 #define MMAL_ENCODING_I420             MMAL_FOURCC('I','4','2','0')
00064 #define MMAL_ENCODING_I420_SLICE       MMAL_FOURCC('S','4','2','0')
00065 #define MMAL_ENCODING_YV12             MMAL_FOURCC('Y','V','1','2')
00066 #define MMAL_ENCODING_I422             MMAL_FOURCC('I','4','2','2')
00067 #define MMAL_ENCODING_I422_SLICE       MMAL_FOURCC('S','4','2','2')
00068 #define MMAL_ENCODING_YUYV             MMAL_FOURCC('Y','U','Y','V')
00069 #define MMAL_ENCODING_YVYU             MMAL_FOURCC('Y','V','Y','U')
00070 #define MMAL_ENCODING_UYVY             MMAL_FOURCC('U','Y','V','Y')
00071 #define MMAL_ENCODING_VYUY             MMAL_FOURCC('V','Y','U','Y')
00072 #define MMAL_ENCODING_NV12             MMAL_FOURCC('N','V','1','2')
00073 #define MMAL_ENCODING_NV21             MMAL_FOURCC('N','V','2','1')
00074 #define MMAL_ENCODING_ARGB             MMAL_FOURCC('A','R','G','B')
00075 #define MMAL_ENCODING_RGBA             MMAL_FOURCC('R','G','B','A')
00076 #define MMAL_ENCODING_ABGR             MMAL_FOURCC('A','B','G','R')
00077 #define MMAL_ENCODING_BGRA             MMAL_FOURCC('B','G','R','A')
00078 #define MMAL_ENCODING_RGB16            MMAL_FOURCC('R','G','B','2')
00079 #define MMAL_ENCODING_RGB24            MMAL_FOURCC('R','G','B','3')
00080 #define MMAL_ENCODING_RGB32            MMAL_FOURCC('R','G','B','4')
00081 #define MMAL_ENCODING_BGR16            MMAL_FOURCC('B','G','R','2')
00082 #define MMAL_ENCODING_BGR24            MMAL_FOURCC('B','G','R','3')
00083 #define MMAL_ENCODING_BGR32            MMAL_FOURCC('B','G','R','4')
00084 
00089 #define MMAL_ENCODING_YUVUV128         MMAL_FOURCC('S','A','N','D')
00090 
00094 #define MMAL_ENCODING_OPAQUE           MMAL_FOURCC('O','P','Q','V')
00095 
00098 #define MMAL_ENCODING_EGL_IMAGE        MMAL_FOURCC('E','G','L','I')
00099 
00100 /* }@ */
00101 
00103 /* @{ */
00104 #define MMAL_ENCODING_PCM_UNSIGNED_BE  MMAL_FOURCC('P','C','M','U')
00105 #define MMAL_ENCODING_PCM_UNSIGNED_LE  MMAL_FOURCC('p','c','m','u')
00106 #define MMAL_ENCODING_PCM_SIGNED_BE    MMAL_FOURCC('P','C','M','S')
00107 #define MMAL_ENCODING_PCM_SIGNED_LE    MMAL_FOURCC('p','c','m','s')
00108 #define MMAL_ENCODING_PCM_FLOAT_BE     MMAL_FOURCC('P','C','M','F')
00109 #define MMAL_ENCODING_PCM_FLOAT_LE     MMAL_FOURCC('p','c','m','f')
00110 /* Defines for native endianness */
00111 #ifdef MMAL_IS_BIG_ENDIAN
00112 #define MMAL_ENCODING_PCM_UNSIGNED     MMAL_ENCODING_PCM_UNSIGNED_BE
00113 #define MMAL_ENCODING_PCM_SIGNED       MMAL_ENCODING_PCM_SIGNED_BE
00114 #define MMAL_ENCODING_PCM_FLOAT        MMAL_ENCODING_PCM_FLOAT_BE
00115 #else
00116 #define MMAL_ENCODING_PCM_UNSIGNED     MMAL_ENCODING_PCM_UNSIGNED_LE
00117 #define MMAL_ENCODING_PCM_SIGNED       MMAL_ENCODING_PCM_SIGNED_LE
00118 #define MMAL_ENCODING_PCM_FLOAT        MMAL_ENCODING_PCM_FLOAT_LE
00119 #endif
00120 
00121 #define MMAL_ENCODING_MP4A             MMAL_FOURCC('M','P','4','A')
00122 #define MMAL_ENCODING_MPGA             MMAL_FOURCC('M','P','G','A')
00123 #define MMAL_ENCODING_ALAW             MMAL_FOURCC('A','L','A','W')
00124 #define MMAL_ENCODING_MULAW            MMAL_FOURCC('U','L','A','W')
00125 #define MMAL_ENCODING_ADPCM_MS         MMAL_FOURCC('M','S',0x0,0x2)
00126 #define MMAL_ENCODING_ADPCM_IMA_MS     MMAL_FOURCC('M','S',0x0,0x1)
00127 #define MMAL_ENCODING_ADPCM_SWF        MMAL_FOURCC('A','S','W','F')
00128 #define MMAL_ENCODING_WMA1             MMAL_FOURCC('W','M','A','1')
00129 #define MMAL_ENCODING_WMA2             MMAL_FOURCC('W','M','A','2')
00130 #define MMAL_ENCODING_WMAP             MMAL_FOURCC('W','M','A','P')
00131 #define MMAL_ENCODING_WMAL             MMAL_FOURCC('W','M','A','L')
00132 #define MMAL_ENCODING_AMRNB            MMAL_FOURCC('A','M','R','N')
00133 #define MMAL_ENCODING_AMRWB            MMAL_FOURCC('A','M','R','W')
00134 #define MMAL_ENCODING_AMRWBP           MMAL_FOURCC('A','M','R','P')
00135 #define MMAL_ENCODING_AC3              MMAL_FOURCC('A','C','3',' ')
00136 #define MMAL_ENCODING_EAC3             MMAL_FOURCC('E','A','C','3')
00137 #define MMAL_ENCODING_DTS              MMAL_FOURCC('D','T','S',' ')
00138 #define MMAL_ENCODING_MLP              MMAL_FOURCC('M','L','P',' ')
00139 #define MMAL_ENCODING_FLAC             MMAL_FOURCC('F','L','A','C')
00140 #define MMAL_ENCODING_VORBIS           MMAL_FOURCC('V','O','R','B')
00141 #define MMAL_ENCODING_SPEEX            MMAL_FOURCC('S','P','X',' ')
00142 #define MMAL_ENCODING_ATRAC3           MMAL_FOURCC('A','T','R','3')
00143 #define MMAL_ENCODING_ATRACX           MMAL_FOURCC('A','T','R','X')
00144 #define MMAL_ENCODING_ATRACL           MMAL_FOURCC('A','T','R','L')
00145 #define MMAL_ENCODING_MIDI             MMAL_FOURCC('M','I','D','I')
00146 #define MMAL_ENCODING_EVRC             MMAL_FOURCC('E','V','R','C')
00147 #define MMAL_ENCODING_NELLYMOSER       MMAL_FOURCC('N','E','L','Y')
00148 #define MMAL_ENCODING_QCELP            MMAL_FOURCC('Q','C','E','L')
00149 #define MMAL_ENCODING_MP4V_DIVX_DRM    MMAL_FOURCC('M','4','V','D')
00150 /* @} */
00151 
00152 /* @} MmalEncodings List */
00153 
00158 /* @{ */
00159 
00161 /* @{ */
00163 #define MMAL_ENCODING_VARIANT_H264_DEFAULT   0
00164 
00165 #define MMAL_ENCODING_VARIANT_H264_AVC1      MMAL_FOURCC('A','V','C','1')
00166 
00167 #define MMAL_ENCODING_VARIANT_H264_RAW       MMAL_FOURCC('R','A','W',' ')
00168 /* @} */
00169 
00171 /* @{ */
00173 #define MMAL_ENCODING_VARIANT_MP4A_DEFAULT   0
00174 
00175 #define MMAL_ENCODING_VARIANT_MP4A_ADTS      MMAL_FOURCC('A','D','T','S')
00176 /* @} */
00177 
00178 /* @} MmalEncodingVariants List */
00179 
00184 /* @{ */
00185 
00187 #define MMAL_COLOR_SPACE_UNKNOWN       0
00188 
00189 #define MMAL_COLOR_SPACE_ITUR_BT601    MMAL_FOURCC('Y','6','0','1')
00190 
00191 #define MMAL_COLOR_SPACE_ITUR_BT709    MMAL_FOURCC('Y','7','0','9')
00192 
00193 #define MMAL_COLOR_SPACE_JPEG_JFIF     MMAL_FOURCC('Y','J','F','I')
00194 
00195 #define MMAL_COLOR_SPACE_FCC           MMAL_FOURCC('Y','F','C','C')
00196 
00197 #define MMAL_COLOR_SPACE_SMPTE240M     MMAL_FOURCC('Y','2','4','0')
00198 
00199 #define MMAL_COLOR_SPACE_BT470_2_M     MMAL_FOURCC('Y','_','_','M')
00200 
00201 #define MMAL_COLOR_SPACE_BT470_2_BG    MMAL_FOURCC('Y','_','B','G')
00202 
00203 #define MMAL_COLOR_SPACE_JFIF_Y16_255  MMAL_FOURCC('Y','Y','1','6')
00204 /* @} MmalColorSpace List */
00205 
00206 #endif /* MMAL_ENCODINGS_H */
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines