Commit 039510e8 authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Greg Kroah-Hartman
Browse files

staging: vc04_services: Re-use generic struct s32_fract



Instead of custom data type re-use generic struct s32_fract.
No changes intended.

Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20220504092915.72021-1-andriy.shevchenko@linux.intel.com


Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 5fe7856a
Loading
Loading
Loading
Loading
+12 −12
Original line number Diff line number Diff line
@@ -1033,9 +1033,9 @@ static int mmal_setup_video_component(struct bcm2835_mmal_dev *dev,
	preview_port->es.video.crop.y = 0;
	preview_port->es.video.crop.width = f->fmt.pix.width;
	preview_port->es.video.crop.height = f->fmt.pix.height;
	preview_port->es.video.frame_rate.num =
	preview_port->es.video.frame_rate.numerator =
				  dev->capture.timeperframe.denominator;
	preview_port->es.video.frame_rate.den =
	preview_port->es.video.frame_rate.denominator =
				  dev->capture.timeperframe.numerator;
	ret = vchiq_mmal_port_set_format(dev->instance, preview_port);

@@ -1084,9 +1084,9 @@ static int mmal_setup_encode_component(struct bcm2835_mmal_dev *dev,
	port->es.video.crop.y = 0;
	port->es.video.crop.width = f->fmt.pix.width;
	port->es.video.crop.height = f->fmt.pix.height;
	port->es.video.frame_rate.num =
	port->es.video.frame_rate.numerator =
		  dev->capture.timeperframe.denominator;
	port->es.video.frame_rate.den =
	port->es.video.frame_rate.denominator =
		  dev->capture.timeperframe.numerator;

	port->format.encoding = mfmt->mmal;
@@ -1225,8 +1225,8 @@ static int mmal_setup_components(struct bcm2835_mmal_dev *dev,
	camera_port->es.video.crop.y = 0;
	camera_port->es.video.crop.width = f->fmt.pix.width;
	camera_port->es.video.crop.height = f->fmt.pix.height;
	camera_port->es.video.frame_rate.num = 0;
	camera_port->es.video.frame_rate.den = 1;
	camera_port->es.video.frame_rate.numerator = 0;
	camera_port->es.video.frame_rate.denominator = 1;
	camera_port->es.video.color_space = MMAL_COLOR_SPACE_JPEG_JFIF;

	ret = vchiq_mmal_port_set_format(dev->instance, camera_port);
@@ -1629,8 +1629,8 @@ static int mmal_init(struct bcm2835_mmal_dev *dev)
	format->es->video.crop.y = 0;
	format->es->video.crop.width = 1024;
	format->es->video.crop.height = 768;
	format->es->video.frame_rate.num = 0; /* Rely on fps_range */
	format->es->video.frame_rate.den = 1;
	format->es->video.frame_rate.numerator = 0; /* Rely on fps_range */
	format->es->video.frame_rate.denominator = 1;

	format = &camera->output[CAM_PORT_VIDEO].format;

@@ -1643,8 +1643,8 @@ static int mmal_init(struct bcm2835_mmal_dev *dev)
	format->es->video.crop.y = 0;
	format->es->video.crop.width = 1024;
	format->es->video.crop.height = 768;
	format->es->video.frame_rate.num = 0; /* Rely on fps_range */
	format->es->video.frame_rate.den = 1;
	format->es->video.frame_rate.numerator = 0; /* Rely on fps_range */
	format->es->video.frame_rate.denominator = 1;

	format = &camera->output[CAM_PORT_CAPTURE].format;

@@ -1656,8 +1656,8 @@ static int mmal_init(struct bcm2835_mmal_dev *dev)
	format->es->video.crop.y = 0;
	format->es->video.crop.width = 2592;
	format->es->video.crop.height = 1944;
	format->es->video.frame_rate.num = 0; /* Rely on fps_range */
	format->es->video.frame_rate.den = 1;
	format->es->video.frame_rate.numerator = 0; /* Rely on fps_range */
	format->es->video.frame_rate.denominator = 1;

	dev->capture.width = format->es->video.width;
	dev->capture.height = format->es->video.height;
+17 −16
Original line number Diff line number Diff line
@@ -154,13 +154,13 @@ static int ctrl_set_rational(struct bcm2835_mmal_dev *dev,
			     struct v4l2_ctrl *ctrl,
			     const struct bcm2835_mmal_v4l2_ctrl *mmal_ctrl)
{
	struct mmal_parameter_rational rational_value;
	struct s32_fract rational_value;
	struct vchiq_mmal_port *control;

	control = &dev->component[COMP_CAMERA]->control;

	rational_value.num = ctrl->val;
	rational_value.den = 100;
	rational_value.numerator = ctrl->val;
	rational_value.denominator = 100;

	return vchiq_mmal_port_parameter_set(dev->instance, control,
					     mmal_ctrl->mmal_id,
@@ -489,9 +489,10 @@ static int ctrl_set_awb_gains(struct bcm2835_mmal_dev *dev,
	else if (ctrl->id == V4L2_CID_BLUE_BALANCE)
		dev->blue_gain = ctrl->val;

	gains.r_gain.num = dev->red_gain;
	gains.b_gain.num = dev->blue_gain;
	gains.r_gain.den = gains.b_gain.den = 1000;
	gains.r_gain.numerator = dev->red_gain;
	gains.r_gain.denominator = 1000;
	gains.b_gain.numerator = dev->blue_gain;
	gains.b_gain.denominator = 1000;

	return vchiq_mmal_port_parameter_set(dev->instance, control,
					     mmal_ctrl->mmal_id,
@@ -1271,26 +1272,26 @@ int set_framerate_params(struct bcm2835_mmal_dev *dev)
	struct mmal_parameter_fps_range fps_range;
	int ret;

	fps_range.fps_high.num = dev->capture.timeperframe.denominator;
	fps_range.fps_high.den = dev->capture.timeperframe.numerator;
	fps_range.fps_high.numerator = dev->capture.timeperframe.denominator;
	fps_range.fps_high.denominator = dev->capture.timeperframe.numerator;

	if ((dev->exposure_mode_active != MMAL_PARAM_EXPOSUREMODE_OFF) &&
	    (dev->exp_auto_priority)) {
		/* Variable FPS. Define min FPS as 1fps. */
		fps_range.fps_low.num = 1;
		fps_range.fps_low.den = 1;
		fps_range.fps_low.numerator = 1;
		fps_range.fps_low.denominator = 1;
	} else {
		/* Fixed FPS - set min and max to be the same */
		fps_range.fps_low.num = fps_range.fps_high.num;
		fps_range.fps_low.den = fps_range.fps_high.den;
		fps_range.fps_low.numerator = fps_range.fps_high.numerator;
		fps_range.fps_low.denominator = fps_range.fps_high.denominator;
	}

	v4l2_dbg(1, bcm2835_v4l2_debug, &dev->v4l2_dev,
		 "Set fps range to %d/%d to %d/%d\n",
		 fps_range.fps_low.num,
		 fps_range.fps_low.den,
		 fps_range.fps_high.num,
		 fps_range.fps_high.den);
		 fps_range.fps_low.numerator,
		 fps_range.fps_low.denominator,
		 fps_range.fps_high.numerator,
		 fps_range.fps_high.denominator);

	ret = vchiq_mmal_port_parameter_set(dev->instance,
					    &dev->component[COMP_CAMERA]->output[CAM_PORT_PREVIEW],
+2 −5
Original line number Diff line number Diff line
@@ -14,6 +14,8 @@
#ifndef MMAL_MSG_COMMON_H
#define MMAL_MSG_COMMON_H

#include <linux/types.h>

enum mmal_msg_status {
	MMAL_MSG_STATUS_SUCCESS = 0, /**< Success */
	MMAL_MSG_STATUS_ENOMEM,      /**< Out of memory */
@@ -40,9 +42,4 @@ struct mmal_rect {
	s32 height; /**< height */
};

struct mmal_rational {
	s32 num;    /**< Numerator */
	s32 den;    /**< Denominator */
};

#endif /* MMAL_MSG_COMMON_H */
+4 −2
Original line number Diff line number Diff line
@@ -14,6 +14,8 @@
#ifndef MMAL_MSG_FORMAT_H
#define MMAL_MSG_FORMAT_H

#include <linux/math.h>

#include "mmal-msg-common.h"

/* MMAL_ES_FORMAT_T */
@@ -30,8 +32,8 @@ struct mmal_video_format {
	u32 width;		/* Width of frame in pixels */
	u32 height;		/* Height of frame in rows of pixels */
	struct mmal_rect crop;	/* Visible region of the frame */
	struct mmal_rational frame_rate;	/* Frame rate */
	struct mmal_rational par;		/* Pixel aspect ratio */
	struct s32_fract frame_rate;	/* Frame rate */
	struct s32_fract par;		/* Pixel aspect ratio */

	/*
	 * FourCC specifying the color space of the video stream. See the
+6 −9
Original line number Diff line number Diff line
@@ -22,6 +22,8 @@
#ifndef MMAL_PARAMETERS_H
#define MMAL_PARAMETERS_H

#include <linux/math.h>

/** Common parameter ID group, used with many types of component. */
#define MMAL_PARAMETER_GROUP_COMMON		(0 << 16)
/** Camera-specific parameter ID group. */
@@ -223,11 +225,6 @@ enum mmal_parameter_camera_type {
	MMAL_PARAMETER_CUSTOM_AWB_GAINS,
};

struct mmal_parameter_rational {
	s32 num;    /**< Numerator */
	s32 den;    /**< Denominator */
};

enum mmal_parameter_camera_config_timestamp_mode {
	MMAL_PARAM_TIMESTAMP_MODE_ZERO = 0, /* Always timestamp frames as 0 */
	MMAL_PARAM_TIMESTAMP_MODE_RAW_STC,  /* Use the raw STC value
@@ -243,9 +240,9 @@ enum mmal_parameter_camera_config_timestamp_mode {

struct mmal_parameter_fps_range {
	/**< Low end of the permitted framerate range */
	struct mmal_parameter_rational	fps_low;
	struct s32_fract	fps_low;
	/**< High end of the permitted framerate range */
	struct mmal_parameter_rational	fps_high;
	struct s32_fract	fps_high;
};

/* camera configuration parameter */
@@ -350,8 +347,8 @@ enum MMAL_PARAM_FLICKERAVOID {
};

struct mmal_parameter_awbgains {
	struct mmal_parameter_rational r_gain;	/**< Red gain */
	struct mmal_parameter_rational b_gain;	/**< Blue gain */
	struct s32_fract r_gain;	/**< Red gain */
	struct s32_fract b_gain;	/**< Blue gain */
};

/** Manner of video rate control */
Loading