My Project
|
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_PARAMETERS_H 00029 #define MMAL_PARAMETERS_H 00030 00031 #include "mmal_common.h" 00032 #include "mmal_parameters_camera.h" 00033 #include "mmal_parameters_video.h" 00034 #include "mmal_parameters_audio.h" 00035 #include "mmal_parameters_clock.h" 00036 00040 /* @{ */ 00041 00043 typedef struct MMAL_PARAMETER_UINT64_T 00044 { 00045 MMAL_PARAMETER_HEADER_T hdr; 00046 00047 uint64_t value; 00048 } MMAL_PARAMETER_UINT64_T; 00049 00051 typedef struct MMAL_PARAMETER_INT64_T 00052 { 00053 MMAL_PARAMETER_HEADER_T hdr; 00054 00055 int64_t value; 00056 } MMAL_PARAMETER_INT64_T; 00057 00059 typedef struct MMAL_PARAMETER_UINT32_T 00060 { 00061 MMAL_PARAMETER_HEADER_T hdr; 00062 00063 uint32_t value; 00064 } MMAL_PARAMETER_UINT32_T; 00065 00067 typedef struct MMAL_PARAMETER_INT32_T 00068 { 00069 MMAL_PARAMETER_HEADER_T hdr; 00070 00071 int32_t value; 00072 } MMAL_PARAMETER_INT32_T; 00073 00075 typedef struct MMAL_PARAMETER_RATIONAL_T { 00076 MMAL_PARAMETER_HEADER_T hdr; 00077 00078 MMAL_RATIONAL_T value; 00079 } MMAL_PARAMETER_RATIONAL_T; 00080 00082 typedef struct MMAL_PARAMETER_BOOLEAN_T 00083 { 00084 MMAL_PARAMETER_HEADER_T hdr; 00085 00086 MMAL_BOOL_T enable; 00087 } MMAL_PARAMETER_BOOLEAN_T; 00088 00090 typedef struct MMAL_PARAMETER_STRING_T 00091 { 00092 MMAL_PARAMETER_HEADER_T hdr; 00093 00094 char str[1]; 00095 } MMAL_PARAMETER_STRING_T; 00096 00098 typedef struct MMAL_PARAMETER_BYTES_T 00099 { 00100 MMAL_PARAMETER_HEADER_T hdr; 00101 00102 uint8_t data[1]; 00103 } MMAL_PARAMETER_BYTES_T; 00104 00106 #define MMAL_FIXED_16_16_ONE (1 << 16) 00107 00109 typedef struct MMAL_PARAMETER_SCALEFACTOR_T 00110 { 00111 MMAL_PARAMETER_HEADER_T hdr; 00112 00113 MMAL_FIXED_16_16_T scale_x; 00114 MMAL_FIXED_16_16_T scale_y; 00115 } MMAL_PARAMETER_SCALEFACTOR_T; 00116 00118 typedef enum MMAL_PARAM_MIRROR_T 00119 { 00120 MMAL_PARAM_MIRROR_NONE, 00121 MMAL_PARAM_MIRROR_VERTICAL, 00122 MMAL_PARAM_MIRROR_HORIZONTAL, 00123 MMAL_PARAM_MIRROR_BOTH, 00124 } MMAL_PARAM_MIRROR_T; 00125 00127 typedef struct MMAL_PARAMETER_MIRROR_T 00128 { 00129 MMAL_PARAMETER_HEADER_T hdr; 00130 00131 MMAL_PARAM_MIRROR_T value; 00132 } MMAL_PARAMETER_MIRROR_T; 00133 00138 typedef struct MMAL_PARAMETER_URI_T 00139 { 00140 MMAL_PARAMETER_HEADER_T hdr; 00141 00142 char uri[1]; 00143 } MMAL_PARAMETER_URI_T; 00144 00149 typedef struct MMAL_PARAMETER_ENCODING_T 00150 { 00151 MMAL_PARAMETER_HEADER_T hdr; 00152 00153 uint32_t encoding[1]; 00154 } MMAL_PARAMETER_ENCODING_T; 00155 00162 typedef struct MMAL_PARAMETER_FRAME_RATE_T { 00163 MMAL_PARAMETER_HEADER_T hdr; 00164 00165 MMAL_RATIONAL_T frame_rate; 00166 } MMAL_PARAMETER_FRAME_RATE_T; 00167 00173 typedef struct MMAL_PARAMETER_CONFIGFILE_T { 00174 MMAL_PARAMETER_HEADER_T hdr; 00175 00176 uint32_t file_size; 00177 } MMAL_PARAMETER_CONFIGFILE_T; 00178 00184 typedef struct MMAL_PARAMETER_CONFIGFILE_CHUNK_T { 00185 MMAL_PARAMETER_HEADER_T hdr; 00186 00187 uint32_t size; 00188 uint32_t offset; 00189 char data[1]; 00190 } MMAL_PARAMETER_CONFIGFILE_CHUNK_T; 00191 00192 /* @} */ 00193 00194 #endif /* MMAL_PARAMETERS_H */