forked from Minki/linux
staging: bcm2835-camera: Create struct mmal_es_format_local to mirror struct mmal_es_format
The struct struct mmal_es_format is passed between the firmware which has pointers. A local version of mmal_es_format is also used. Luckly, the two versions are always memberwise copied from each other so simply have different structures for the local and msg versions. Signed-off-by: Michael Zoran <mzoran@crowfest.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
4da14d5922
commit
ad428fc0af
@ -1583,7 +1583,7 @@ static int set_camera_parameters(struct vchiq_mmal_instance *instance,
|
||||
static int __init mmal_init(struct bm2835_mmal_dev *dev)
|
||||
{
|
||||
int ret;
|
||||
struct mmal_es_format *format;
|
||||
struct mmal_es_format_local *format;
|
||||
u32 bool_true = 1;
|
||||
u32 supported_encodings[MAX_SUPPORTED_ENCODINGS];
|
||||
int param_size;
|
||||
|
@ -53,7 +53,7 @@ union mmal_es_specific_format {
|
||||
};
|
||||
|
||||
/** Definition of an elementary stream format (MMAL_ES_FORMAT_T) */
|
||||
struct mmal_es_format {
|
||||
struct mmal_es_format_local {
|
||||
u32 type; /* enum mmal_es_type */
|
||||
|
||||
u32 encoding; /* FourCC specifying encoding of the elementary stream.*/
|
||||
@ -62,10 +62,7 @@ struct mmal_es_format {
|
||||
* stream.
|
||||
*/
|
||||
|
||||
union mmal_es_specific_format *es; /* TODO: pointers in
|
||||
* message serialisation?!?
|
||||
*/
|
||||
/* Type specific
|
||||
union mmal_es_specific_format *es; /* Type specific
|
||||
* information for the
|
||||
* elementary stream
|
||||
*/
|
||||
@ -77,4 +74,26 @@ struct mmal_es_format {
|
||||
u8 *extradata; /**< Codec specific data */
|
||||
};
|
||||
|
||||
/** Remote definition of an elementary stream format (MMAL_ES_FORMAT_T) */
|
||||
struct mmal_es_format {
|
||||
u32 type; /* enum mmal_es_type */
|
||||
|
||||
u32 encoding; /* FourCC specifying encoding of the elementary stream.*/
|
||||
u32 encoding_variant; /* FourCC specifying the specific
|
||||
* encoding variant of the elementary
|
||||
* stream.
|
||||
*/
|
||||
|
||||
u32 es; /* Type specific
|
||||
* information for the
|
||||
* elementary stream
|
||||
*/
|
||||
|
||||
u32 bitrate; /**< Bitrate in bits per second */
|
||||
u32 flags; /**< Flags describing properties of the elementary stream. */
|
||||
|
||||
u32 extradata_size; /**< Size of the codec specific data */
|
||||
u32 extradata; /**< Codec specific data */
|
||||
};
|
||||
|
||||
#endif /* MMAL_MSG_FORMAT_H */
|
||||
|
@ -74,7 +74,7 @@ struct vchiq_mmal_port {
|
||||
struct vchiq_mmal_port_buffer current_buffer;
|
||||
|
||||
/* stream format */
|
||||
struct mmal_es_format format;
|
||||
struct mmal_es_format_local format;
|
||||
/* elementry stream format */
|
||||
union mmal_es_specific_format es;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user