MMAL_3-15-2015
List of pre-defined encodings

Pre-defined video encodings

#define MMAL_ENCODING_H264   MMAL_FOURCC('H','2','6','4')
 
#define MMAL_ENCODING_MVC   MMAL_FOURCC('M','V','C',' ')
 
#define MMAL_ENCODING_H263   MMAL_FOURCC('H','2','6','3')
 
#define MMAL_ENCODING_MP4V   MMAL_FOURCC('M','P','4','V')
 
#define MMAL_ENCODING_MP2V   MMAL_FOURCC('M','P','2','V')
 
#define MMAL_ENCODING_MP1V   MMAL_FOURCC('M','P','1','V')
 
#define MMAL_ENCODING_WMV3   MMAL_FOURCC('W','M','V','3')
 
#define MMAL_ENCODING_WMV2   MMAL_FOURCC('W','M','V','2')
 
#define MMAL_ENCODING_WMV1   MMAL_FOURCC('W','M','V','1')
 
#define MMAL_ENCODING_WVC1   MMAL_FOURCC('W','V','C','1')
 
#define MMAL_ENCODING_VP8   MMAL_FOURCC('V','P','8',' ')
 
#define MMAL_ENCODING_VP7   MMAL_FOURCC('V','P','7',' ')
 
#define MMAL_ENCODING_VP6   MMAL_FOURCC('V','P','6',' ')
 
#define MMAL_ENCODING_THEORA   MMAL_FOURCC('T','H','E','O')
 
#define MMAL_ENCODING_SPARK   MMAL_FOURCC('S','P','R','K')
 
#define MMAL_ENCODING_MJPEG   MMAL_FOURCC('M','J','P','G')
 
#define MMAL_ENCODING_JPEG   MMAL_FOURCC('J','P','E','G')
 
#define MMAL_ENCODING_GIF   MMAL_FOURCC('G','I','F',' ')
 
#define MMAL_ENCODING_PNG   MMAL_FOURCC('P','N','G',' ')
 
#define MMAL_ENCODING_PPM   MMAL_FOURCC('P','P','M',' ')
 
#define MMAL_ENCODING_TGA   MMAL_FOURCC('T','G','A',' ')
 
#define MMAL_ENCODING_BMP   MMAL_FOURCC('B','M','P',' ')
 
#define MMAL_ENCODING_I420   MMAL_FOURCC('I','4','2','0')
 
#define MMAL_ENCODING_I420_SLICE   MMAL_FOURCC('S','4','2','0')
 
#define MMAL_ENCODING_YV12   MMAL_FOURCC('Y','V','1','2')
 
#define MMAL_ENCODING_I422   MMAL_FOURCC('I','4','2','2')
 
#define MMAL_ENCODING_I422_SLICE   MMAL_FOURCC('S','4','2','2')
 
#define MMAL_ENCODING_YUYV   MMAL_FOURCC('Y','U','Y','V')
 
#define MMAL_ENCODING_YVYU   MMAL_FOURCC('Y','V','Y','U')
 
#define MMAL_ENCODING_UYVY   MMAL_FOURCC('U','Y','V','Y')
 
#define MMAL_ENCODING_VYUY   MMAL_FOURCC('V','Y','U','Y')
 
#define MMAL_ENCODING_NV12   MMAL_FOURCC('N','V','1','2')
 
#define MMAL_ENCODING_NV21   MMAL_FOURCC('N','V','2','1')
 
#define MMAL_ENCODING_ARGB   MMAL_FOURCC('A','R','G','B')
 
#define MMAL_ENCODING_RGBA   MMAL_FOURCC('R','G','B','A')
 
#define MMAL_ENCODING_ABGR   MMAL_FOURCC('A','B','G','R')
 
#define MMAL_ENCODING_BGRA   MMAL_FOURCC('B','G','R','A')
 
#define MMAL_ENCODING_RGB16   MMAL_FOURCC('R','G','B','2')
 
#define MMAL_ENCODING_RGB24   MMAL_FOURCC('R','G','B','3')
 
#define MMAL_ENCODING_RGB32   MMAL_FOURCC('R','G','B','4')
 
#define MMAL_ENCODING_BGR16   MMAL_FOURCC('B','G','R','2')
 
#define MMAL_ENCODING_BGR24   MMAL_FOURCC('B','G','R','3')
 
#define MMAL_ENCODING_BGR32   MMAL_FOURCC('B','G','R','4')
 
#define MMAL_ENCODING_YUVUV128   MMAL_FOURCC('S','A','N','D')
 
#define MMAL_ENCODING_OPAQUE   MMAL_FOURCC('O','P','Q','V')
 
#define MMAL_ENCODING_EGL_IMAGE   MMAL_FOURCC('E','G','L','I')
 

Pre-defined audio encodings

#define MMAL_ENCODING_PCM_UNSIGNED_BE   MMAL_FOURCC('P','C','M','U')
 
#define MMAL_ENCODING_PCM_UNSIGNED_LE   MMAL_FOURCC('p','c','m','u')
 
#define MMAL_ENCODING_PCM_SIGNED_BE   MMAL_FOURCC('P','C','M','S')
 
#define MMAL_ENCODING_PCM_SIGNED_LE   MMAL_FOURCC('p','c','m','s')
 
#define MMAL_ENCODING_PCM_FLOAT_BE   MMAL_FOURCC('P','C','M','F')
 
#define MMAL_ENCODING_PCM_FLOAT_LE   MMAL_FOURCC('p','c','m','f')
 
#define MMAL_ENCODING_PCM_UNSIGNED   MMAL_ENCODING_PCM_UNSIGNED_LE
 
#define MMAL_ENCODING_PCM_SIGNED   MMAL_ENCODING_PCM_SIGNED_LE
 
#define MMAL_ENCODING_PCM_FLOAT   MMAL_ENCODING_PCM_FLOAT_LE
 
#define MMAL_ENCODING_MP4A   MMAL_FOURCC('M','P','4','A')
 
#define MMAL_ENCODING_MPGA   MMAL_FOURCC('M','P','G','A')
 
#define MMAL_ENCODING_ALAW   MMAL_FOURCC('A','L','A','W')
 
#define MMAL_ENCODING_MULAW   MMAL_FOURCC('U','L','A','W')
 
#define MMAL_ENCODING_ADPCM_MS   MMAL_FOURCC('M','S',0x0,0x2)
 
#define MMAL_ENCODING_ADPCM_IMA_MS   MMAL_FOURCC('M','S',0x0,0x1)
 
#define MMAL_ENCODING_ADPCM_SWF   MMAL_FOURCC('A','S','W','F')
 
#define MMAL_ENCODING_WMA1   MMAL_FOURCC('W','M','A','1')
 
#define MMAL_ENCODING_WMA2   MMAL_FOURCC('W','M','A','2')
 
#define MMAL_ENCODING_WMAP   MMAL_FOURCC('W','M','A','P')
 
#define MMAL_ENCODING_WMAL   MMAL_FOURCC('W','M','A','L')
 
#define MMAL_ENCODING_WMAV   MMAL_FOURCC('W','M','A','V')
 
#define MMAL_ENCODING_AMRNB   MMAL_FOURCC('A','M','R','N')
 
#define MMAL_ENCODING_AMRWB   MMAL_FOURCC('A','M','R','W')
 
#define MMAL_ENCODING_AMRWBP   MMAL_FOURCC('A','M','R','P')
 
#define MMAL_ENCODING_AC3   MMAL_FOURCC('A','C','3',' ')
 
#define MMAL_ENCODING_EAC3   MMAL_FOURCC('E','A','C','3')
 
#define MMAL_ENCODING_DTS   MMAL_FOURCC('D','T','S',' ')
 
#define MMAL_ENCODING_MLP   MMAL_FOURCC('M','L','P',' ')
 
#define MMAL_ENCODING_FLAC   MMAL_FOURCC('F','L','A','C')
 
#define MMAL_ENCODING_VORBIS   MMAL_FOURCC('V','O','R','B')
 
#define MMAL_ENCODING_SPEEX   MMAL_FOURCC('S','P','X',' ')
 
#define MMAL_ENCODING_ATRAC3   MMAL_FOURCC('A','T','R','3')
 
#define MMAL_ENCODING_ATRACX   MMAL_FOURCC('A','T','R','X')
 
#define MMAL_ENCODING_ATRACL   MMAL_FOURCC('A','T','R','L')
 
#define MMAL_ENCODING_MIDI   MMAL_FOURCC('M','I','D','I')
 
#define MMAL_ENCODING_EVRC   MMAL_FOURCC('E','V','R','C')
 
#define MMAL_ENCODING_NELLYMOSER   MMAL_FOURCC('N','E','L','Y')
 
#define MMAL_ENCODING_QCELP   MMAL_FOURCC('Q','C','E','L')
 
#define MMAL_ENCODING_MP4V_DIVX_DRM   MMAL_FOURCC('M','4','V','D')
 

Detailed Description

This defines a list of common encodings. This list isn't exhaustive and is only provided as a convenience to avoid clients having to use FourCC codes directly. However components are allowed to define and use their own FourCC codes.

Macro Definition Documentation

#define MMAL_ENCODING_EGL_IMAGE   MMAL_FOURCC('E','G','L','I')

An EGL image handle

#define MMAL_ENCODING_OPAQUE   MMAL_FOURCC('O','P','Q','V')

VideoCore opaque image format, image handles are returned to the host but not the actual image data.

#define MMAL_ENCODING_YUVUV128   MMAL_FOURCC('S','A','N','D')

SAND Video (YUVUV128) format, native format understood by VideoCore. This format is not opaque - if requested you will receive full frames of YUV_UV video.