My Project
/home/jvcleave/Desktop/RASPBERRY_PI/userland/interface/mmal/mmal_parameters.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_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 */
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines