linux/drivers/staging/vc04_services/vchiq-mmal/mmal-encodings.h

/* SPDX-License-Identifier: GPL-2.0 */
/*
 * Broadcom BCM2835 V4L2 driver
 *
 * Copyright © 2013 Raspberry Pi (Trading) Ltd.
 *
 * Authors: Vincent Sanders @ Collabora
 *          Dave Stevenson @ Broadcom
 *		(now [email protected])
 *          Simon Mellor @ Broadcom
 *          Luke Diamand @ Broadcom
 */
#ifndef MMAL_ENCODINGS_H
#define MMAL_ENCODINGS_H

#define MMAL_ENCODING_H264
#define MMAL_ENCODING_H263
#define MMAL_ENCODING_MP4V
#define MMAL_ENCODING_MP2V
#define MMAL_ENCODING_MP1V
#define MMAL_ENCODING_WMV3
#define MMAL_ENCODING_WMV2
#define MMAL_ENCODING_WMV1
#define MMAL_ENCODING_WVC1
#define MMAL_ENCODING_VP8
#define MMAL_ENCODING_VP7
#define MMAL_ENCODING_VP6
#define MMAL_ENCODING_THEORA
#define MMAL_ENCODING_SPARK
#define MMAL_ENCODING_MJPEG

#define MMAL_ENCODING_JPEG
#define MMAL_ENCODING_GIF
#define MMAL_ENCODING_PNG
#define MMAL_ENCODING_PPM
#define MMAL_ENCODING_TGA
#define MMAL_ENCODING_BMP

#define MMAL_ENCODING_I420
#define MMAL_ENCODING_I420_SLICE
#define MMAL_ENCODING_YV12
#define MMAL_ENCODING_I422
#define MMAL_ENCODING_I422_SLICE
#define MMAL_ENCODING_YUYV
#define MMAL_ENCODING_YVYU
#define MMAL_ENCODING_UYVY
#define MMAL_ENCODING_VYUY
#define MMAL_ENCODING_NV12
#define MMAL_ENCODING_NV21
#define MMAL_ENCODING_ARGB
#define MMAL_ENCODING_RGBA
#define MMAL_ENCODING_ABGR
#define MMAL_ENCODING_BGRA
#define MMAL_ENCODING_RGB16
#define MMAL_ENCODING_RGB24
#define MMAL_ENCODING_RGB32
#define MMAL_ENCODING_BGR16
#define MMAL_ENCODING_BGR24
#define MMAL_ENCODING_BGR32

/** 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.
 */
#define MMAL_ENCODING_YUVUV128

/** VideoCore opaque image format, image handles are returned to
 * the host but not the actual image data.
 */
#define MMAL_ENCODING_OPAQUE

/** An EGL image handle
 */
#define MMAL_ENCODING_EGL_IMAGE

/* }@ */

/** \name Pre-defined audio encodings */
/* @{ */
#define MMAL_ENCODING_PCM_UNSIGNED_BE
#define MMAL_ENCODING_PCM_UNSIGNED_LE
#define MMAL_ENCODING_PCM_SIGNED_BE
#define MMAL_ENCODING_PCM_SIGNED_LE
#define MMAL_ENCODING_PCM_FLOAT_BE
#define MMAL_ENCODING_PCM_FLOAT_LE

/* Pre-defined H264 encoding variants */

/** ISO 14496-10 Annex B byte stream format */
#define MMAL_ENCODING_VARIANT_H264_DEFAULT
/** ISO 14496-15 AVC stream format */
#define MMAL_ENCODING_VARIANT_H264_AVC1
/** Implicitly delineated NAL units without emulation prevention */
#define MMAL_ENCODING_VARIANT_H264_RAW

/** \defgroup MmalColorSpace List of pre-defined video color spaces
 * This defines a list of common color spaces. 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.
 */
/* @{ */

/** Unknown color space */
#define MMAL_COLOR_SPACE_UNKNOWN
/** ITU-R BT.601-5 [SDTV] */
#define MMAL_COLOR_SPACE_ITUR_BT601
/** ITU-R BT.709-3 [HDTV] */
#define MMAL_COLOR_SPACE_ITUR_BT709
/** JPEG JFIF */
#define MMAL_COLOR_SPACE_JPEG_JFIF
/** Title 47 Code of Federal Regulations (2003) 73.682 (a) (20) */
#define MMAL_COLOR_SPACE_FCC
/** Society of Motion Picture and Television Engineers 240M (1999) */
#define MMAL_COLOR_SPACE_SMPTE240M
/** ITU-R BT.470-2 System M */
#define MMAL_COLOR_SPACE_BT470_2_M
/** ITU-R BT.470-2 System BG */
#define MMAL_COLOR_SPACE_BT470_2_BG
/** JPEG JFIF, but with 16..255 luma */
#define MMAL_COLOR_SPACE_JFIF_Y16_255
/* @} MmalColorSpace List */

#endif /* MMAL_ENCODINGS_H */