staging: bcm2835-camera: Reduce length of enum names
We have numerous lines over 80 chars, or oddly split. Many of these are due to using long enum names such as MMAL_COMPONENT_CAMERA. Reduce the length of these enum names. Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org> Signed-off-by: Stefan Wahren <wahrenst@gmx.net> Acked-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Acked-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Родитель
db9c9ee4c2
Коммит
3485507fc2
|
@ -80,7 +80,7 @@ static struct mmal_fmt formats[] = {
|
||||||
.flags = 0,
|
.flags = 0,
|
||||||
.mmal = MMAL_ENCODING_I420,
|
.mmal = MMAL_ENCODING_I420,
|
||||||
.depth = 12,
|
.depth = 12,
|
||||||
.mmal_component = MMAL_COMPONENT_CAMERA,
|
.mmal_component = COMP_CAMERA,
|
||||||
.ybbp = 1,
|
.ybbp = 1,
|
||||||
.remove_padding = 1,
|
.remove_padding = 1,
|
||||||
}, {
|
}, {
|
||||||
|
@ -89,7 +89,7 @@ static struct mmal_fmt formats[] = {
|
||||||
.flags = 0,
|
.flags = 0,
|
||||||
.mmal = MMAL_ENCODING_YUYV,
|
.mmal = MMAL_ENCODING_YUYV,
|
||||||
.depth = 16,
|
.depth = 16,
|
||||||
.mmal_component = MMAL_COMPONENT_CAMERA,
|
.mmal_component = COMP_CAMERA,
|
||||||
.ybbp = 2,
|
.ybbp = 2,
|
||||||
.remove_padding = 0,
|
.remove_padding = 0,
|
||||||
}, {
|
}, {
|
||||||
|
@ -98,7 +98,7 @@ static struct mmal_fmt formats[] = {
|
||||||
.flags = 0,
|
.flags = 0,
|
||||||
.mmal = MMAL_ENCODING_RGB24,
|
.mmal = MMAL_ENCODING_RGB24,
|
||||||
.depth = 24,
|
.depth = 24,
|
||||||
.mmal_component = MMAL_COMPONENT_CAMERA,
|
.mmal_component = COMP_CAMERA,
|
||||||
.ybbp = 3,
|
.ybbp = 3,
|
||||||
.remove_padding = 0,
|
.remove_padding = 0,
|
||||||
}, {
|
}, {
|
||||||
|
@ -107,7 +107,7 @@ static struct mmal_fmt formats[] = {
|
||||||
.flags = V4L2_FMT_FLAG_COMPRESSED,
|
.flags = V4L2_FMT_FLAG_COMPRESSED,
|
||||||
.mmal = MMAL_ENCODING_JPEG,
|
.mmal = MMAL_ENCODING_JPEG,
|
||||||
.depth = 8,
|
.depth = 8,
|
||||||
.mmal_component = MMAL_COMPONENT_IMAGE_ENCODE,
|
.mmal_component = COMP_IMAGE_ENCODE,
|
||||||
.ybbp = 0,
|
.ybbp = 0,
|
||||||
.remove_padding = 0,
|
.remove_padding = 0,
|
||||||
}, {
|
}, {
|
||||||
|
@ -116,7 +116,7 @@ static struct mmal_fmt formats[] = {
|
||||||
.flags = V4L2_FMT_FLAG_COMPRESSED,
|
.flags = V4L2_FMT_FLAG_COMPRESSED,
|
||||||
.mmal = MMAL_ENCODING_H264,
|
.mmal = MMAL_ENCODING_H264,
|
||||||
.depth = 8,
|
.depth = 8,
|
||||||
.mmal_component = MMAL_COMPONENT_VIDEO_ENCODE,
|
.mmal_component = COMP_VIDEO_ENCODE,
|
||||||
.ybbp = 0,
|
.ybbp = 0,
|
||||||
.remove_padding = 0,
|
.remove_padding = 0,
|
||||||
}, {
|
}, {
|
||||||
|
@ -125,7 +125,7 @@ static struct mmal_fmt formats[] = {
|
||||||
.flags = V4L2_FMT_FLAG_COMPRESSED,
|
.flags = V4L2_FMT_FLAG_COMPRESSED,
|
||||||
.mmal = MMAL_ENCODING_MJPEG,
|
.mmal = MMAL_ENCODING_MJPEG,
|
||||||
.depth = 8,
|
.depth = 8,
|
||||||
.mmal_component = MMAL_COMPONENT_VIDEO_ENCODE,
|
.mmal_component = COMP_VIDEO_ENCODE,
|
||||||
.ybbp = 0,
|
.ybbp = 0,
|
||||||
.remove_padding = 0,
|
.remove_padding = 0,
|
||||||
}, {
|
}, {
|
||||||
|
@ -134,7 +134,7 @@ static struct mmal_fmt formats[] = {
|
||||||
.flags = 0,
|
.flags = 0,
|
||||||
.mmal = MMAL_ENCODING_YVYU,
|
.mmal = MMAL_ENCODING_YVYU,
|
||||||
.depth = 16,
|
.depth = 16,
|
||||||
.mmal_component = MMAL_COMPONENT_CAMERA,
|
.mmal_component = COMP_CAMERA,
|
||||||
.ybbp = 2,
|
.ybbp = 2,
|
||||||
.remove_padding = 0,
|
.remove_padding = 0,
|
||||||
}, {
|
}, {
|
||||||
|
@ -143,7 +143,7 @@ static struct mmal_fmt formats[] = {
|
||||||
.flags = 0,
|
.flags = 0,
|
||||||
.mmal = MMAL_ENCODING_VYUY,
|
.mmal = MMAL_ENCODING_VYUY,
|
||||||
.depth = 16,
|
.depth = 16,
|
||||||
.mmal_component = MMAL_COMPONENT_CAMERA,
|
.mmal_component = COMP_CAMERA,
|
||||||
.ybbp = 2,
|
.ybbp = 2,
|
||||||
.remove_padding = 0,
|
.remove_padding = 0,
|
||||||
}, {
|
}, {
|
||||||
|
@ -152,7 +152,7 @@ static struct mmal_fmt formats[] = {
|
||||||
.flags = 0,
|
.flags = 0,
|
||||||
.mmal = MMAL_ENCODING_UYVY,
|
.mmal = MMAL_ENCODING_UYVY,
|
||||||
.depth = 16,
|
.depth = 16,
|
||||||
.mmal_component = MMAL_COMPONENT_CAMERA,
|
.mmal_component = COMP_CAMERA,
|
||||||
.ybbp = 2,
|
.ybbp = 2,
|
||||||
.remove_padding = 0,
|
.remove_padding = 0,
|
||||||
}, {
|
}, {
|
||||||
|
@ -161,7 +161,7 @@ static struct mmal_fmt formats[] = {
|
||||||
.flags = 0,
|
.flags = 0,
|
||||||
.mmal = MMAL_ENCODING_NV12,
|
.mmal = MMAL_ENCODING_NV12,
|
||||||
.depth = 12,
|
.depth = 12,
|
||||||
.mmal_component = MMAL_COMPONENT_CAMERA,
|
.mmal_component = COMP_CAMERA,
|
||||||
.ybbp = 1,
|
.ybbp = 1,
|
||||||
.remove_padding = 1,
|
.remove_padding = 1,
|
||||||
}, {
|
}, {
|
||||||
|
@ -170,7 +170,7 @@ static struct mmal_fmt formats[] = {
|
||||||
.flags = 0,
|
.flags = 0,
|
||||||
.mmal = MMAL_ENCODING_BGR24,
|
.mmal = MMAL_ENCODING_BGR24,
|
||||||
.depth = 24,
|
.depth = 24,
|
||||||
.mmal_component = MMAL_COMPONENT_CAMERA,
|
.mmal_component = COMP_CAMERA,
|
||||||
.ybbp = 3,
|
.ybbp = 3,
|
||||||
.remove_padding = 0,
|
.remove_padding = 0,
|
||||||
}, {
|
}, {
|
||||||
|
@ -179,7 +179,7 @@ static struct mmal_fmt formats[] = {
|
||||||
.flags = 0,
|
.flags = 0,
|
||||||
.mmal = MMAL_ENCODING_YV12,
|
.mmal = MMAL_ENCODING_YV12,
|
||||||
.depth = 12,
|
.depth = 12,
|
||||||
.mmal_component = MMAL_COMPONENT_CAMERA,
|
.mmal_component = COMP_CAMERA,
|
||||||
.ybbp = 1,
|
.ybbp = 1,
|
||||||
.remove_padding = 1,
|
.remove_padding = 1,
|
||||||
}, {
|
}, {
|
||||||
|
@ -188,7 +188,7 @@ static struct mmal_fmt formats[] = {
|
||||||
.flags = 0,
|
.flags = 0,
|
||||||
.mmal = MMAL_ENCODING_NV21,
|
.mmal = MMAL_ENCODING_NV21,
|
||||||
.depth = 12,
|
.depth = 12,
|
||||||
.mmal_component = MMAL_COMPONENT_CAMERA,
|
.mmal_component = COMP_CAMERA,
|
||||||
.ybbp = 1,
|
.ybbp = 1,
|
||||||
.remove_padding = 1,
|
.remove_padding = 1,
|
||||||
}, {
|
}, {
|
||||||
|
@ -197,7 +197,7 @@ static struct mmal_fmt formats[] = {
|
||||||
.flags = 0,
|
.flags = 0,
|
||||||
.mmal = MMAL_ENCODING_BGRA,
|
.mmal = MMAL_ENCODING_BGRA,
|
||||||
.depth = 32,
|
.depth = 32,
|
||||||
.mmal_component = MMAL_COMPONENT_CAMERA,
|
.mmal_component = COMP_CAMERA,
|
||||||
.ybbp = 4,
|
.ybbp = 4,
|
||||||
.remove_padding = 0,
|
.remove_padding = 0,
|
||||||
},
|
},
|
||||||
|
@ -313,7 +313,7 @@ static void buffer_cleanup(struct vb2_buffer *vb)
|
||||||
static inline bool is_capturing(struct bm2835_mmal_dev *dev)
|
static inline bool is_capturing(struct bm2835_mmal_dev *dev)
|
||||||
{
|
{
|
||||||
return dev->capture.camera_port ==
|
return dev->capture.camera_port ==
|
||||||
&dev->component[MMAL_COMPONENT_CAMERA]->output[MMAL_CAMERA_PORT_CAPTURE];
|
&dev->component[COMP_CAMERA]->output[CAM_PORT_CAPTURE];
|
||||||
}
|
}
|
||||||
|
|
||||||
static void buffer_cb(struct vchiq_mmal_instance *instance,
|
static void buffer_cb(struct vchiq_mmal_instance *instance,
|
||||||
|
@ -412,7 +412,7 @@ static int enable_camera(struct bm2835_mmal_dev *dev)
|
||||||
if (!dev->camera_use_count) {
|
if (!dev->camera_use_count) {
|
||||||
ret = vchiq_mmal_port_parameter_set(
|
ret = vchiq_mmal_port_parameter_set(
|
||||||
dev->instance,
|
dev->instance,
|
||||||
&dev->component[MMAL_COMPONENT_CAMERA]->control,
|
&dev->component[COMP_CAMERA]->control,
|
||||||
MMAL_PARAMETER_CAMERA_NUM, &dev->camera_num,
|
MMAL_PARAMETER_CAMERA_NUM, &dev->camera_num,
|
||||||
sizeof(dev->camera_num));
|
sizeof(dev->camera_num));
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
|
@ -423,7 +423,7 @@ static int enable_camera(struct bm2835_mmal_dev *dev)
|
||||||
|
|
||||||
ret = vchiq_mmal_component_enable(
|
ret = vchiq_mmal_component_enable(
|
||||||
dev->instance,
|
dev->instance,
|
||||||
dev->component[MMAL_COMPONENT_CAMERA]);
|
dev->component[COMP_CAMERA]);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
v4l2_err(&dev->v4l2_dev,
|
v4l2_err(&dev->v4l2_dev,
|
||||||
"Failed enabling camera, ret %d\n", ret);
|
"Failed enabling camera, ret %d\n", ret);
|
||||||
|
@ -455,7 +455,7 @@ static int disable_camera(struct bm2835_mmal_dev *dev)
|
||||||
ret =
|
ret =
|
||||||
vchiq_mmal_component_disable(
|
vchiq_mmal_component_disable(
|
||||||
dev->instance,
|
dev->instance,
|
||||||
dev->component[MMAL_COMPONENT_CAMERA]);
|
dev->component[COMP_CAMERA]);
|
||||||
if (ret < 0) {
|
if (ret < 0) {
|
||||||
v4l2_err(&dev->v4l2_dev,
|
v4l2_err(&dev->v4l2_dev,
|
||||||
"Failed disabling camera, ret %d\n", ret);
|
"Failed disabling camera, ret %d\n", ret);
|
||||||
|
@ -463,7 +463,7 @@ static int disable_camera(struct bm2835_mmal_dev *dev)
|
||||||
}
|
}
|
||||||
vchiq_mmal_port_parameter_set(
|
vchiq_mmal_port_parameter_set(
|
||||||
dev->instance,
|
dev->instance,
|
||||||
&dev->component[MMAL_COMPONENT_CAMERA]->control,
|
&dev->component[COMP_CAMERA]->control,
|
||||||
MMAL_PARAMETER_CAMERA_NUM, &i,
|
MMAL_PARAMETER_CAMERA_NUM, &i,
|
||||||
sizeof(i));
|
sizeof(i));
|
||||||
}
|
}
|
||||||
|
@ -515,7 +515,7 @@ static int start_streaming(struct vb2_queue *vq, unsigned int count)
|
||||||
/* if the preview is not already running, wait for a few frames for AGC
|
/* if the preview is not already running, wait for a few frames for AGC
|
||||||
* to settle down.
|
* to settle down.
|
||||||
*/
|
*/
|
||||||
if (!dev->component[MMAL_COMPONENT_PREVIEW]->enabled)
|
if (!dev->component[COMP_PREVIEW]->enabled)
|
||||||
msleep(300);
|
msleep(300);
|
||||||
|
|
||||||
/* enable the connection from camera to encoder (if applicable) */
|
/* enable the connection from camera to encoder (if applicable) */
|
||||||
|
@ -737,9 +737,9 @@ static int vidioc_s_fmt_vid_overlay(struct file *file, void *priv,
|
||||||
vidioc_try_fmt_vid_overlay(file, priv, f);
|
vidioc_try_fmt_vid_overlay(file, priv, f);
|
||||||
|
|
||||||
dev->overlay = f->fmt.win;
|
dev->overlay = f->fmt.win;
|
||||||
if (dev->component[MMAL_COMPONENT_PREVIEW]->enabled) {
|
if (dev->component[COMP_PREVIEW]->enabled) {
|
||||||
set_overlay_params(dev,
|
set_overlay_params(dev,
|
||||||
&dev->component[MMAL_COMPONENT_PREVIEW]->input[0]);
|
&dev->component[COMP_PREVIEW]->input[0]);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -752,12 +752,12 @@ static int vidioc_overlay(struct file *file, void *f, unsigned int on)
|
||||||
struct vchiq_mmal_port *src;
|
struct vchiq_mmal_port *src;
|
||||||
struct vchiq_mmal_port *dst;
|
struct vchiq_mmal_port *dst;
|
||||||
|
|
||||||
if ((on && dev->component[MMAL_COMPONENT_PREVIEW]->enabled) ||
|
if ((on && dev->component[COMP_PREVIEW]->enabled) ||
|
||||||
(!on && !dev->component[MMAL_COMPONENT_PREVIEW]->enabled))
|
(!on && !dev->component[COMP_PREVIEW]->enabled))
|
||||||
return 0; /* already in requested state */
|
return 0; /* already in requested state */
|
||||||
|
|
||||||
src =
|
src =
|
||||||
&dev->component[MMAL_COMPONENT_CAMERA]->output[MMAL_CAMERA_PORT_PREVIEW];
|
&dev->component[COMP_CAMERA]->output[CAM_PORT_PREVIEW];
|
||||||
|
|
||||||
if (!on) {
|
if (!on) {
|
||||||
/* disconnect preview ports and disable component */
|
/* disconnect preview ports and disable component */
|
||||||
|
@ -769,14 +769,14 @@ static int vidioc_overlay(struct file *file, void *f, unsigned int on)
|
||||||
if (ret >= 0)
|
if (ret >= 0)
|
||||||
ret = vchiq_mmal_component_disable(
|
ret = vchiq_mmal_component_disable(
|
||||||
dev->instance,
|
dev->instance,
|
||||||
dev->component[MMAL_COMPONENT_PREVIEW]);
|
dev->component[COMP_PREVIEW]);
|
||||||
|
|
||||||
disable_camera(dev);
|
disable_camera(dev);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* set preview port format and connect it to output */
|
/* set preview port format and connect it to output */
|
||||||
dst = &dev->component[MMAL_COMPONENT_PREVIEW]->input[0];
|
dst = &dev->component[COMP_PREVIEW]->input[0];
|
||||||
|
|
||||||
ret = vchiq_mmal_port_set_format(dev->instance, src);
|
ret = vchiq_mmal_port_set_format(dev->instance, src);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
|
@ -791,7 +791,7 @@ static int vidioc_overlay(struct file *file, void *f, unsigned int on)
|
||||||
|
|
||||||
ret = vchiq_mmal_component_enable(
|
ret = vchiq_mmal_component_enable(
|
||||||
dev->instance,
|
dev->instance,
|
||||||
dev->component[MMAL_COMPONENT_PREVIEW]);
|
dev->component[COMP_PREVIEW]);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
@ -812,7 +812,7 @@ static int vidioc_g_fbuf(struct file *file, void *fh,
|
||||||
*/
|
*/
|
||||||
struct bm2835_mmal_dev *dev = video_drvdata(file);
|
struct bm2835_mmal_dev *dev = video_drvdata(file);
|
||||||
struct vchiq_mmal_port *preview_port =
|
struct vchiq_mmal_port *preview_port =
|
||||||
&dev->component[MMAL_COMPONENT_CAMERA]->output[MMAL_CAMERA_PORT_PREVIEW];
|
&dev->component[COMP_CAMERA]->output[CAM_PORT_PREVIEW];
|
||||||
|
|
||||||
a->capability = V4L2_FBUF_CAP_EXTERNOVERLAY |
|
a->capability = V4L2_FBUF_CAP_EXTERNOVERLAY |
|
||||||
V4L2_FBUF_CAP_GLOBAL_ALPHA;
|
V4L2_FBUF_CAP_GLOBAL_ALPHA;
|
||||||
|
@ -1014,27 +1014,29 @@ static int mmal_setup_components(struct bm2835_mmal_dev *dev,
|
||||||
}
|
}
|
||||||
/* format dependent port setup */
|
/* format dependent port setup */
|
||||||
switch (mfmt->mmal_component) {
|
switch (mfmt->mmal_component) {
|
||||||
case MMAL_COMPONENT_CAMERA:
|
case COMP_CAMERA:
|
||||||
/* Make a further decision on port based on resolution */
|
/* Make a further decision on port based on resolution */
|
||||||
if (f->fmt.pix.width <= max_video_width &&
|
if (f->fmt.pix.width <= max_video_width &&
|
||||||
f->fmt.pix.height <= max_video_height)
|
f->fmt.pix.height <= max_video_height)
|
||||||
camera_port = port =
|
camera_port = port =
|
||||||
&dev->component[MMAL_COMPONENT_CAMERA]->output[MMAL_CAMERA_PORT_VIDEO];
|
&dev->component[COMP_CAMERA]->
|
||||||
|
output[CAM_PORT_VIDEO];
|
||||||
else
|
else
|
||||||
camera_port = port =
|
camera_port = port =
|
||||||
&dev->component[MMAL_COMPONENT_CAMERA]->output[MMAL_CAMERA_PORT_CAPTURE];
|
&dev->component[COMP_CAMERA]->
|
||||||
|
output[CAM_PORT_CAPTURE];
|
||||||
break;
|
break;
|
||||||
case MMAL_COMPONENT_IMAGE_ENCODE:
|
case COMP_IMAGE_ENCODE:
|
||||||
encode_component = dev->component[MMAL_COMPONENT_IMAGE_ENCODE];
|
encode_component = dev->component[COMP_IMAGE_ENCODE];
|
||||||
port = &dev->component[MMAL_COMPONENT_IMAGE_ENCODE]->output[0];
|
port = &dev->component[COMP_IMAGE_ENCODE]->output[0];
|
||||||
camera_port =
|
camera_port =
|
||||||
&dev->component[MMAL_COMPONENT_CAMERA]->output[MMAL_CAMERA_PORT_CAPTURE];
|
&dev->component[COMP_CAMERA]->output[CAM_PORT_CAPTURE];
|
||||||
break;
|
break;
|
||||||
case MMAL_COMPONENT_VIDEO_ENCODE:
|
case COMP_VIDEO_ENCODE:
|
||||||
encode_component = dev->component[MMAL_COMPONENT_VIDEO_ENCODE];
|
encode_component = dev->component[COMP_VIDEO_ENCODE];
|
||||||
port = &dev->component[MMAL_COMPONENT_VIDEO_ENCODE]->output[0];
|
port = &dev->component[COMP_VIDEO_ENCODE]->output[0];
|
||||||
camera_port =
|
camera_port =
|
||||||
&dev->component[MMAL_COMPONENT_CAMERA]->output[MMAL_CAMERA_PORT_VIDEO];
|
&dev->component[COMP_CAMERA]->output[CAM_PORT_VIDEO];
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
|
@ -1074,13 +1076,13 @@ static int mmal_setup_components(struct bm2835_mmal_dev *dev,
|
||||||
|
|
||||||
ret = vchiq_mmal_port_set_format(dev->instance, camera_port);
|
ret = vchiq_mmal_port_set_format(dev->instance, camera_port);
|
||||||
|
|
||||||
if (!ret &&
|
if (!ret
|
||||||
camera_port ==
|
&& camera_port ==
|
||||||
&dev->component[MMAL_COMPONENT_CAMERA]->output[MMAL_CAMERA_PORT_VIDEO]) {
|
&dev->component[COMP_CAMERA]->output[CAM_PORT_VIDEO]) {
|
||||||
bool overlay_enabled =
|
bool overlay_enabled =
|
||||||
!!dev->component[MMAL_COMPONENT_PREVIEW]->enabled;
|
!!dev->component[COMP_PREVIEW]->enabled;
|
||||||
struct vchiq_mmal_port *preview_port =
|
struct vchiq_mmal_port *preview_port =
|
||||||
&dev->component[MMAL_COMPONENT_CAMERA]->output[MMAL_CAMERA_PORT_PREVIEW];
|
&dev->component[COMP_CAMERA]->output[CAM_PORT_PREVIEW];
|
||||||
/* Preview and encode ports need to match on resolution */
|
/* Preview and encode ports need to match on resolution */
|
||||||
if (overlay_enabled) {
|
if (overlay_enabled) {
|
||||||
/* Need to disable the overlay before we can update
|
/* Need to disable the overlay before we can update
|
||||||
|
@ -1111,7 +1113,7 @@ static int mmal_setup_components(struct bm2835_mmal_dev *dev,
|
||||||
ret = vchiq_mmal_port_connect_tunnel(
|
ret = vchiq_mmal_port_connect_tunnel(
|
||||||
dev->instance,
|
dev->instance,
|
||||||
preview_port,
|
preview_port,
|
||||||
&dev->component[MMAL_COMPONENT_PREVIEW]->input[0]);
|
&dev->component[COMP_PREVIEW]->input[0]);
|
||||||
if (!ret)
|
if (!ret)
|
||||||
ret = vchiq_mmal_port_enable(dev->instance,
|
ret = vchiq_mmal_port_enable(dev->instance,
|
||||||
preview_port,
|
preview_port,
|
||||||
|
@ -1165,11 +1167,11 @@ static int mmal_setup_components(struct bm2835_mmal_dev *dev,
|
||||||
port->format.encoding_variant = 0;
|
port->format.encoding_variant = 0;
|
||||||
/* Set any encoding specific parameters */
|
/* Set any encoding specific parameters */
|
||||||
switch (mfmt->mmal_component) {
|
switch (mfmt->mmal_component) {
|
||||||
case MMAL_COMPONENT_VIDEO_ENCODE:
|
case COMP_VIDEO_ENCODE:
|
||||||
port->format.bitrate =
|
port->format.bitrate =
|
||||||
dev->capture.encode_bitrate;
|
dev->capture.encode_bitrate;
|
||||||
break;
|
break;
|
||||||
case MMAL_COMPONENT_IMAGE_ENCODE:
|
case COMP_IMAGE_ENCODE:
|
||||||
/* Could set EXIF parameters here */
|
/* Could set EXIF parameters here */
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -1538,14 +1540,14 @@ static int mmal_init(struct bm2835_mmal_dev *dev)
|
||||||
|
|
||||||
/* get the camera component ready */
|
/* get the camera component ready */
|
||||||
ret = vchiq_mmal_component_init(dev->instance, "ril.camera",
|
ret = vchiq_mmal_component_init(dev->instance, "ril.camera",
|
||||||
&dev->component[MMAL_COMPONENT_CAMERA]);
|
&dev->component[COMP_CAMERA]);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
goto unreg_mmal;
|
goto unreg_mmal;
|
||||||
|
|
||||||
camera = dev->component[MMAL_COMPONENT_CAMERA];
|
camera = dev->component[COMP_CAMERA];
|
||||||
if (camera->outputs < MMAL_CAMERA_PORT_COUNT) {
|
if (camera->outputs < CAM_PORT_COUNT) {
|
||||||
v4l2_err(&dev->v4l2_dev, "%s: too few camera outputs %d needed %d\n",
|
v4l2_err(&dev->v4l2_dev, "%s: too few camera outputs %d needed %d\n",
|
||||||
__func__, camera->outputs, MMAL_CAMERA_PORT_COUNT);
|
__func__, camera->outputs, CAM_PORT_COUNT);
|
||||||
ret = -EINVAL;
|
ret = -EINVAL;
|
||||||
goto unreg_camera;
|
goto unreg_camera;
|
||||||
}
|
}
|
||||||
|
@ -1567,7 +1569,7 @@ static int mmal_init(struct bm2835_mmal_dev *dev)
|
||||||
dev->rgb_bgr_swapped = true;
|
dev->rgb_bgr_swapped = true;
|
||||||
param_size = sizeof(supported_encodings);
|
param_size = sizeof(supported_encodings);
|
||||||
ret = vchiq_mmal_port_parameter_get(dev->instance,
|
ret = vchiq_mmal_port_parameter_get(dev->instance,
|
||||||
&camera->output[MMAL_CAMERA_PORT_CAPTURE],
|
&camera->output[CAM_PORT_CAPTURE],
|
||||||
MMAL_PARAMETER_SUPPORTED_ENCODINGS,
|
MMAL_PARAMETER_SUPPORTED_ENCODINGS,
|
||||||
&supported_encodings,
|
&supported_encodings,
|
||||||
¶m_size);
|
¶m_size);
|
||||||
|
@ -1588,7 +1590,7 @@ static int mmal_init(struct bm2835_mmal_dev *dev)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
format = &camera->output[MMAL_CAMERA_PORT_PREVIEW].format;
|
format = &camera->output[CAM_PORT_PREVIEW].format;
|
||||||
|
|
||||||
format->encoding = MMAL_ENCODING_OPAQUE;
|
format->encoding = MMAL_ENCODING_OPAQUE;
|
||||||
format->encoding_variant = MMAL_ENCODING_I420;
|
format->encoding_variant = MMAL_ENCODING_I420;
|
||||||
|
@ -1602,7 +1604,7 @@ static int mmal_init(struct bm2835_mmal_dev *dev)
|
||||||
format->es->video.frame_rate.num = 0; /* Rely on fps_range */
|
format->es->video.frame_rate.num = 0; /* Rely on fps_range */
|
||||||
format->es->video.frame_rate.den = 1;
|
format->es->video.frame_rate.den = 1;
|
||||||
|
|
||||||
format = &camera->output[MMAL_CAMERA_PORT_VIDEO].format;
|
format = &camera->output[CAM_PORT_VIDEO].format;
|
||||||
|
|
||||||
format->encoding = MMAL_ENCODING_OPAQUE;
|
format->encoding = MMAL_ENCODING_OPAQUE;
|
||||||
format->encoding_variant = MMAL_ENCODING_I420;
|
format->encoding_variant = MMAL_ENCODING_I420;
|
||||||
|
@ -1616,7 +1618,7 @@ static int mmal_init(struct bm2835_mmal_dev *dev)
|
||||||
format->es->video.frame_rate.num = 0; /* Rely on fps_range */
|
format->es->video.frame_rate.num = 0; /* Rely on fps_range */
|
||||||
format->es->video.frame_rate.den = 1;
|
format->es->video.frame_rate.den = 1;
|
||||||
|
|
||||||
format = &camera->output[MMAL_CAMERA_PORT_CAPTURE].format;
|
format = &camera->output[CAM_PORT_CAPTURE].format;
|
||||||
|
|
||||||
format->encoding = MMAL_ENCODING_OPAQUE;
|
format->encoding = MMAL_ENCODING_OPAQUE;
|
||||||
|
|
||||||
|
@ -1640,49 +1642,49 @@ static int mmal_init(struct bm2835_mmal_dev *dev)
|
||||||
/* get the preview component ready */
|
/* get the preview component ready */
|
||||||
ret = vchiq_mmal_component_init(
|
ret = vchiq_mmal_component_init(
|
||||||
dev->instance, "ril.video_render",
|
dev->instance, "ril.video_render",
|
||||||
&dev->component[MMAL_COMPONENT_PREVIEW]);
|
&dev->component[COMP_PREVIEW]);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
goto unreg_camera;
|
goto unreg_camera;
|
||||||
|
|
||||||
if (dev->component[MMAL_COMPONENT_PREVIEW]->inputs < 1) {
|
if (dev->component[COMP_PREVIEW]->inputs < 1) {
|
||||||
ret = -EINVAL;
|
ret = -EINVAL;
|
||||||
v4l2_err(&dev->v4l2_dev, "%s: too few input ports %d needed %d\n",
|
v4l2_err(&dev->v4l2_dev, "%s: too few input ports %d needed %d\n",
|
||||||
__func__, dev->component[MMAL_COMPONENT_PREVIEW]->inputs, 1);
|
__func__, dev->component[COMP_PREVIEW]->inputs, 1);
|
||||||
goto unreg_preview;
|
goto unreg_preview;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* get the image encoder component ready */
|
/* get the image encoder component ready */
|
||||||
ret = vchiq_mmal_component_init(
|
ret = vchiq_mmal_component_init(
|
||||||
dev->instance, "ril.image_encode",
|
dev->instance, "ril.image_encode",
|
||||||
&dev->component[MMAL_COMPONENT_IMAGE_ENCODE]);
|
&dev->component[COMP_IMAGE_ENCODE]);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
goto unreg_preview;
|
goto unreg_preview;
|
||||||
|
|
||||||
if (dev->component[MMAL_COMPONENT_IMAGE_ENCODE]->inputs < 1) {
|
if (dev->component[COMP_IMAGE_ENCODE]->inputs < 1) {
|
||||||
ret = -EINVAL;
|
ret = -EINVAL;
|
||||||
v4l2_err(&dev->v4l2_dev, "%s: too few input ports %d needed %d\n",
|
v4l2_err(&dev->v4l2_dev, "%s: too few input ports %d needed %d\n",
|
||||||
__func__, dev->component[MMAL_COMPONENT_IMAGE_ENCODE]->inputs,
|
__func__, dev->component[COMP_IMAGE_ENCODE]->inputs,
|
||||||
1);
|
1);
|
||||||
goto unreg_image_encoder;
|
goto unreg_image_encoder;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* get the video encoder component ready */
|
/* get the video encoder component ready */
|
||||||
ret = vchiq_mmal_component_init(dev->instance, "ril.video_encode",
|
ret = vchiq_mmal_component_init(dev->instance, "ril.video_encode",
|
||||||
&dev->component[MMAL_COMPONENT_VIDEO_ENCODE]);
|
&dev->component[COMP_VIDEO_ENCODE]);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
goto unreg_image_encoder;
|
goto unreg_image_encoder;
|
||||||
|
|
||||||
if (dev->component[MMAL_COMPONENT_VIDEO_ENCODE]->inputs < 1) {
|
if (dev->component[COMP_VIDEO_ENCODE]->inputs < 1) {
|
||||||
ret = -EINVAL;
|
ret = -EINVAL;
|
||||||
v4l2_err(&dev->v4l2_dev, "%s: too few input ports %d needed %d\n",
|
v4l2_err(&dev->v4l2_dev, "%s: too few input ports %d needed %d\n",
|
||||||
__func__, dev->component[MMAL_COMPONENT_VIDEO_ENCODE]->inputs,
|
__func__, dev->component[COMP_VIDEO_ENCODE]->inputs,
|
||||||
1);
|
1);
|
||||||
goto unreg_vid_encoder;
|
goto unreg_vid_encoder;
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
struct vchiq_mmal_port *encoder_port =
|
struct vchiq_mmal_port *encoder_port =
|
||||||
&dev->component[MMAL_COMPONENT_VIDEO_ENCODE]->output[0];
|
&dev->component[COMP_VIDEO_ENCODE]->output[0];
|
||||||
encoder_port->format.encoding = MMAL_ENCODING_H264;
|
encoder_port->format.encoding = MMAL_ENCODING_H264;
|
||||||
ret = vchiq_mmal_port_set_format(dev->instance,
|
ret = vchiq_mmal_port_set_format(dev->instance,
|
||||||
encoder_port);
|
encoder_port);
|
||||||
|
@ -1693,12 +1695,12 @@ static int mmal_init(struct bm2835_mmal_dev *dev)
|
||||||
|
|
||||||
vchiq_mmal_port_parameter_set(
|
vchiq_mmal_port_parameter_set(
|
||||||
dev->instance,
|
dev->instance,
|
||||||
&dev->component[MMAL_COMPONENT_VIDEO_ENCODE]->control,
|
&dev->component[COMP_VIDEO_ENCODE]->control,
|
||||||
MMAL_PARAMETER_VIDEO_IMMUTABLE_INPUT,
|
MMAL_PARAMETER_VIDEO_IMMUTABLE_INPUT,
|
||||||
&enable, sizeof(enable));
|
&enable, sizeof(enable));
|
||||||
|
|
||||||
vchiq_mmal_port_parameter_set(dev->instance,
|
vchiq_mmal_port_parameter_set(dev->instance,
|
||||||
&dev->component[MMAL_COMPONENT_VIDEO_ENCODE]->control,
|
&dev->component[COMP_VIDEO_ENCODE]->control,
|
||||||
MMAL_PARAMETER_MINIMISE_FRAGMENTATION,
|
MMAL_PARAMETER_MINIMISE_FRAGMENTATION,
|
||||||
&enable,
|
&enable,
|
||||||
sizeof(enable));
|
sizeof(enable));
|
||||||
|
@ -1716,23 +1718,23 @@ unreg_vid_encoder:
|
||||||
pr_err("Cleanup: Destroy video encoder\n");
|
pr_err("Cleanup: Destroy video encoder\n");
|
||||||
vchiq_mmal_component_finalise(
|
vchiq_mmal_component_finalise(
|
||||||
dev->instance,
|
dev->instance,
|
||||||
dev->component[MMAL_COMPONENT_VIDEO_ENCODE]);
|
dev->component[COMP_VIDEO_ENCODE]);
|
||||||
|
|
||||||
unreg_image_encoder:
|
unreg_image_encoder:
|
||||||
pr_err("Cleanup: Destroy image encoder\n");
|
pr_err("Cleanup: Destroy image encoder\n");
|
||||||
vchiq_mmal_component_finalise(
|
vchiq_mmal_component_finalise(
|
||||||
dev->instance,
|
dev->instance,
|
||||||
dev->component[MMAL_COMPONENT_IMAGE_ENCODE]);
|
dev->component[COMP_IMAGE_ENCODE]);
|
||||||
|
|
||||||
unreg_preview:
|
unreg_preview:
|
||||||
pr_err("Cleanup: Destroy video render\n");
|
pr_err("Cleanup: Destroy video render\n");
|
||||||
vchiq_mmal_component_finalise(dev->instance,
|
vchiq_mmal_component_finalise(dev->instance,
|
||||||
dev->component[MMAL_COMPONENT_PREVIEW]);
|
dev->component[COMP_PREVIEW]);
|
||||||
|
|
||||||
unreg_camera:
|
unreg_camera:
|
||||||
pr_err("Cleanup: Destroy camera\n");
|
pr_err("Cleanup: Destroy camera\n");
|
||||||
vchiq_mmal_component_finalise(dev->instance,
|
vchiq_mmal_component_finalise(dev->instance,
|
||||||
dev->component[MMAL_COMPONENT_CAMERA]);
|
dev->component[COMP_CAMERA]);
|
||||||
|
|
||||||
unreg_mmal:
|
unreg_mmal:
|
||||||
vchiq_mmal_finalise(dev->instance);
|
vchiq_mmal_finalise(dev->instance);
|
||||||
|
@ -1788,19 +1790,19 @@ static void bcm2835_cleanup_instance(struct bm2835_mmal_dev *dev)
|
||||||
dev->capture.encode_component);
|
dev->capture.encode_component);
|
||||||
}
|
}
|
||||||
vchiq_mmal_component_disable(dev->instance,
|
vchiq_mmal_component_disable(dev->instance,
|
||||||
dev->component[MMAL_COMPONENT_CAMERA]);
|
dev->component[COMP_CAMERA]);
|
||||||
|
|
||||||
vchiq_mmal_component_finalise(dev->instance,
|
vchiq_mmal_component_finalise(dev->instance,
|
||||||
dev->component[MMAL_COMPONENT_VIDEO_ENCODE]);
|
dev->component[COMP_VIDEO_ENCODE]);
|
||||||
|
|
||||||
vchiq_mmal_component_finalise(dev->instance,
|
vchiq_mmal_component_finalise(dev->instance,
|
||||||
dev->component[MMAL_COMPONENT_IMAGE_ENCODE]);
|
dev->component[COMP_IMAGE_ENCODE]);
|
||||||
|
|
||||||
vchiq_mmal_component_finalise(dev->instance,
|
vchiq_mmal_component_finalise(dev->instance,
|
||||||
dev->component[MMAL_COMPONENT_PREVIEW]);
|
dev->component[COMP_PREVIEW]);
|
||||||
|
|
||||||
vchiq_mmal_component_finalise(dev->instance,
|
vchiq_mmal_component_finalise(dev->instance,
|
||||||
dev->component[MMAL_COMPONENT_CAMERA]);
|
dev->component[COMP_CAMERA]);
|
||||||
|
|
||||||
v4l2_ctrl_handler_free(&dev->ctrl_handler);
|
v4l2_ctrl_handler_free(&dev->ctrl_handler);
|
||||||
|
|
||||||
|
|
|
@ -16,18 +16,18 @@
|
||||||
#define V4L2_CTRL_COUNT 29 /* number of v4l controls */
|
#define V4L2_CTRL_COUNT 29 /* number of v4l controls */
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
MMAL_COMPONENT_CAMERA = 0,
|
COMP_CAMERA = 0,
|
||||||
MMAL_COMPONENT_PREVIEW,
|
COMP_PREVIEW,
|
||||||
MMAL_COMPONENT_IMAGE_ENCODE,
|
COMP_IMAGE_ENCODE,
|
||||||
MMAL_COMPONENT_VIDEO_ENCODE,
|
COMP_VIDEO_ENCODE,
|
||||||
MMAL_COMPONENT_COUNT
|
COMP_COUNT
|
||||||
};
|
};
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
MMAL_CAMERA_PORT_PREVIEW = 0,
|
CAM_PORT_PREVIEW = 0,
|
||||||
MMAL_CAMERA_PORT_VIDEO,
|
CAM_PORT_VIDEO,
|
||||||
MMAL_CAMERA_PORT_CAPTURE,
|
CAM_PORT_CAPTURE,
|
||||||
MMAL_CAMERA_PORT_COUNT
|
CAM_PORT_COUNT
|
||||||
};
|
};
|
||||||
|
|
||||||
#define PREVIEW_LAYER 2
|
#define PREVIEW_LAYER 2
|
||||||
|
@ -61,7 +61,7 @@ struct bm2835_mmal_dev {
|
||||||
|
|
||||||
/* allocated mmal instance and components */
|
/* allocated mmal instance and components */
|
||||||
struct vchiq_mmal_instance *instance;
|
struct vchiq_mmal_instance *instance;
|
||||||
struct vchiq_mmal_component *component[MMAL_COMPONENT_COUNT];
|
struct vchiq_mmal_component *component[COMP_COUNT];
|
||||||
int camera_use_count;
|
int camera_use_count;
|
||||||
|
|
||||||
struct v4l2_window overlay;
|
struct v4l2_window overlay;
|
||||||
|
|
|
@ -177,7 +177,7 @@ static int ctrl_set_rational(struct bm2835_mmal_dev *dev,
|
||||||
struct mmal_parameter_rational rational_value;
|
struct mmal_parameter_rational rational_value;
|
||||||
struct vchiq_mmal_port *control;
|
struct vchiq_mmal_port *control;
|
||||||
|
|
||||||
control = &dev->component[MMAL_COMPONENT_CAMERA]->control;
|
control = &dev->component[COMP_CAMERA]->control;
|
||||||
|
|
||||||
rational_value.num = ctrl->val;
|
rational_value.num = ctrl->val;
|
||||||
rational_value.den = 100;
|
rational_value.den = 100;
|
||||||
|
@ -195,7 +195,7 @@ static int ctrl_set_value(struct bm2835_mmal_dev *dev,
|
||||||
u32 u32_value;
|
u32 u32_value;
|
||||||
struct vchiq_mmal_port *control;
|
struct vchiq_mmal_port *control;
|
||||||
|
|
||||||
control = &dev->component[MMAL_COMPONENT_CAMERA]->control;
|
control = &dev->component[COMP_CAMERA]->control;
|
||||||
|
|
||||||
u32_value = ctrl->val;
|
u32_value = ctrl->val;
|
||||||
|
|
||||||
|
@ -220,7 +220,7 @@ static int ctrl_set_iso(struct bm2835_mmal_dev *dev,
|
||||||
dev->manual_iso_enabled =
|
dev->manual_iso_enabled =
|
||||||
(ctrl->val == V4L2_ISO_SENSITIVITY_MANUAL);
|
(ctrl->val == V4L2_ISO_SENSITIVITY_MANUAL);
|
||||||
|
|
||||||
control = &dev->component[MMAL_COMPONENT_CAMERA]->control;
|
control = &dev->component[COMP_CAMERA]->control;
|
||||||
|
|
||||||
if (dev->manual_iso_enabled)
|
if (dev->manual_iso_enabled)
|
||||||
u32_value = dev->iso;
|
u32_value = dev->iso;
|
||||||
|
@ -239,7 +239,7 @@ static int ctrl_set_value_ev(struct bm2835_mmal_dev *dev,
|
||||||
s32 s32_value;
|
s32 s32_value;
|
||||||
struct vchiq_mmal_port *control;
|
struct vchiq_mmal_port *control;
|
||||||
|
|
||||||
control = &dev->component[MMAL_COMPONENT_CAMERA]->control;
|
control = &dev->component[COMP_CAMERA]->control;
|
||||||
|
|
||||||
s32_value = (ctrl->val - 12) * 2; /* Convert from index to 1/6ths */
|
s32_value = (ctrl->val - 12) * 2; /* Convert from index to 1/6ths */
|
||||||
|
|
||||||
|
@ -256,7 +256,7 @@ static int ctrl_set_rotate(struct bm2835_mmal_dev *dev,
|
||||||
u32 u32_value;
|
u32 u32_value;
|
||||||
struct vchiq_mmal_component *camera;
|
struct vchiq_mmal_component *camera;
|
||||||
|
|
||||||
camera = dev->component[MMAL_COMPONENT_CAMERA];
|
camera = dev->component[COMP_CAMERA];
|
||||||
|
|
||||||
u32_value = ((ctrl->val % 360) / 90) * 90;
|
u32_value = ((ctrl->val % 360) / 90) * 90;
|
||||||
|
|
||||||
|
@ -290,7 +290,7 @@ static int ctrl_set_flip(struct bm2835_mmal_dev *dev,
|
||||||
else
|
else
|
||||||
dev->vflip = ctrl->val;
|
dev->vflip = ctrl->val;
|
||||||
|
|
||||||
camera = dev->component[MMAL_COMPONENT_CAMERA];
|
camera = dev->component[COMP_CAMERA];
|
||||||
|
|
||||||
if (dev->hflip && dev->vflip)
|
if (dev->hflip && dev->vflip)
|
||||||
u32_value = MMAL_PARAM_MIRROR_BOTH;
|
u32_value = MMAL_PARAM_MIRROR_BOTH;
|
||||||
|
@ -327,7 +327,7 @@ static int ctrl_set_exposure(struct bm2835_mmal_dev *dev,
|
||||||
struct vchiq_mmal_port *control;
|
struct vchiq_mmal_port *control;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
control = &dev->component[MMAL_COMPONENT_CAMERA]->control;
|
control = &dev->component[COMP_CAMERA]->control;
|
||||||
|
|
||||||
if (mmal_ctrl->mmal_id == MMAL_PARAMETER_SHUTTER_SPEED) {
|
if (mmal_ctrl->mmal_id == MMAL_PARAMETER_SHUTTER_SPEED) {
|
||||||
/* V4L2 is in 100usec increments.
|
/* V4L2 is in 100usec increments.
|
||||||
|
@ -402,7 +402,7 @@ static int ctrl_set_metering_mode(struct bm2835_mmal_dev *dev,
|
||||||
struct vchiq_mmal_port *control;
|
struct vchiq_mmal_port *control;
|
||||||
u32 u32_value = dev->metering_mode;
|
u32 u32_value = dev->metering_mode;
|
||||||
|
|
||||||
control = &dev->component[MMAL_COMPONENT_CAMERA]->control;
|
control = &dev->component[COMP_CAMERA]->control;
|
||||||
|
|
||||||
return vchiq_mmal_port_parameter_set(dev->instance, control,
|
return vchiq_mmal_port_parameter_set(dev->instance, control,
|
||||||
mmal_ctrl->mmal_id,
|
mmal_ctrl->mmal_id,
|
||||||
|
@ -418,7 +418,7 @@ static int ctrl_set_flicker_avoidance(struct bm2835_mmal_dev *dev,
|
||||||
u32 u32_value;
|
u32 u32_value;
|
||||||
struct vchiq_mmal_port *control;
|
struct vchiq_mmal_port *control;
|
||||||
|
|
||||||
control = &dev->component[MMAL_COMPONENT_CAMERA]->control;
|
control = &dev->component[COMP_CAMERA]->control;
|
||||||
|
|
||||||
switch (ctrl->val) {
|
switch (ctrl->val) {
|
||||||
case V4L2_CID_POWER_LINE_FREQUENCY_DISABLED:
|
case V4L2_CID_POWER_LINE_FREQUENCY_DISABLED:
|
||||||
|
@ -447,7 +447,7 @@ static int ctrl_set_awb_mode(struct bm2835_mmal_dev *dev,
|
||||||
u32 u32_value;
|
u32 u32_value;
|
||||||
struct vchiq_mmal_port *control;
|
struct vchiq_mmal_port *control;
|
||||||
|
|
||||||
control = &dev->component[MMAL_COMPONENT_CAMERA]->control;
|
control = &dev->component[COMP_CAMERA]->control;
|
||||||
|
|
||||||
switch (ctrl->val) {
|
switch (ctrl->val) {
|
||||||
case V4L2_WHITE_BALANCE_MANUAL:
|
case V4L2_WHITE_BALANCE_MANUAL:
|
||||||
|
@ -503,7 +503,7 @@ static int ctrl_set_awb_gains(struct bm2835_mmal_dev *dev,
|
||||||
struct vchiq_mmal_port *control;
|
struct vchiq_mmal_port *control;
|
||||||
struct mmal_parameter_awbgains gains;
|
struct mmal_parameter_awbgains gains;
|
||||||
|
|
||||||
control = &dev->component[MMAL_COMPONENT_CAMERA]->control;
|
control = &dev->component[COMP_CAMERA]->control;
|
||||||
|
|
||||||
if (ctrl->id == V4L2_CID_RED_BALANCE)
|
if (ctrl->id == V4L2_CID_RED_BALANCE)
|
||||||
dev->red_gain = ctrl->val;
|
dev->red_gain = ctrl->val;
|
||||||
|
@ -551,7 +551,7 @@ static int ctrl_set_image_effect(struct bm2835_mmal_dev *dev,
|
||||||
v4l2_to_mmal_effects_values[i].v;
|
v4l2_to_mmal_effects_values[i].v;
|
||||||
}
|
}
|
||||||
|
|
||||||
control = &dev->component[MMAL_COMPONENT_CAMERA]->control;
|
control = &dev->component[COMP_CAMERA]->control;
|
||||||
|
|
||||||
ret = vchiq_mmal_port_parameter_set(
|
ret = vchiq_mmal_port_parameter_set(
|
||||||
dev->instance, control,
|
dev->instance, control,
|
||||||
|
@ -584,7 +584,7 @@ static int ctrl_set_colfx(struct bm2835_mmal_dev *dev,
|
||||||
int ret;
|
int ret;
|
||||||
struct vchiq_mmal_port *control;
|
struct vchiq_mmal_port *control;
|
||||||
|
|
||||||
control = &dev->component[MMAL_COMPONENT_CAMERA]->control;
|
control = &dev->component[COMP_CAMERA]->control;
|
||||||
|
|
||||||
dev->colourfx.enable = (ctrl->val & 0xff00) >> 8;
|
dev->colourfx.enable = (ctrl->val & 0xff00) >> 8;
|
||||||
dev->colourfx.enable = ctrl->val & 0xff;
|
dev->colourfx.enable = ctrl->val & 0xff;
|
||||||
|
@ -610,7 +610,7 @@ static int ctrl_set_bitrate(struct bm2835_mmal_dev *dev,
|
||||||
|
|
||||||
dev->capture.encode_bitrate = ctrl->val;
|
dev->capture.encode_bitrate = ctrl->val;
|
||||||
|
|
||||||
encoder_out = &dev->component[MMAL_COMPONENT_VIDEO_ENCODE]->output[0];
|
encoder_out = &dev->component[COMP_VIDEO_ENCODE]->output[0];
|
||||||
|
|
||||||
ret = vchiq_mmal_port_parameter_set(dev->instance, encoder_out,
|
ret = vchiq_mmal_port_parameter_set(dev->instance, encoder_out,
|
||||||
mmal_ctrl->mmal_id, &ctrl->val,
|
mmal_ctrl->mmal_id, &ctrl->val,
|
||||||
|
@ -636,7 +636,7 @@ static int ctrl_set_bitrate_mode(struct bm2835_mmal_dev *dev,
|
||||||
u32 bitrate_mode;
|
u32 bitrate_mode;
|
||||||
struct vchiq_mmal_port *encoder_out;
|
struct vchiq_mmal_port *encoder_out;
|
||||||
|
|
||||||
encoder_out = &dev->component[MMAL_COMPONENT_VIDEO_ENCODE]->output[0];
|
encoder_out = &dev->component[COMP_VIDEO_ENCODE]->output[0];
|
||||||
|
|
||||||
dev->capture.encode_bitrate_mode = ctrl->val;
|
dev->capture.encode_bitrate_mode = ctrl->val;
|
||||||
switch (ctrl->val) {
|
switch (ctrl->val) {
|
||||||
|
@ -663,7 +663,7 @@ static int ctrl_set_image_encode_output(struct bm2835_mmal_dev *dev,
|
||||||
u32 u32_value;
|
u32 u32_value;
|
||||||
struct vchiq_mmal_port *jpeg_out;
|
struct vchiq_mmal_port *jpeg_out;
|
||||||
|
|
||||||
jpeg_out = &dev->component[MMAL_COMPONENT_IMAGE_ENCODE]->output[0];
|
jpeg_out = &dev->component[COMP_IMAGE_ENCODE]->output[0];
|
||||||
|
|
||||||
u32_value = ctrl->val;
|
u32_value = ctrl->val;
|
||||||
|
|
||||||
|
@ -679,7 +679,7 @@ static int ctrl_set_video_encode_param_output(struct bm2835_mmal_dev *dev,
|
||||||
u32 u32_value;
|
u32 u32_value;
|
||||||
struct vchiq_mmal_port *vid_enc_ctl;
|
struct vchiq_mmal_port *vid_enc_ctl;
|
||||||
|
|
||||||
vid_enc_ctl = &dev->component[MMAL_COMPONENT_VIDEO_ENCODE]->output[0];
|
vid_enc_ctl = &dev->component[COMP_VIDEO_ENCODE]->output[0];
|
||||||
|
|
||||||
u32_value = ctrl->val;
|
u32_value = ctrl->val;
|
||||||
|
|
||||||
|
@ -792,7 +792,7 @@ static int ctrl_set_video_encode_profile_level(struct bm2835_mmal_dev *dev,
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = vchiq_mmal_port_parameter_set(dev->instance,
|
ret = vchiq_mmal_port_parameter_set(dev->instance,
|
||||||
&dev->component[MMAL_COMPONENT_VIDEO_ENCODE]->output[0],
|
&dev->component[COMP_VIDEO_ENCODE]->output[0],
|
||||||
mmal_ctrl->mmal_id,
|
mmal_ctrl->mmal_id,
|
||||||
¶m, sizeof(param));
|
¶m, sizeof(param));
|
||||||
}
|
}
|
||||||
|
@ -810,7 +810,7 @@ static int ctrl_set_scene_mode(struct bm2835_mmal_dev *dev,
|
||||||
v4l2_dbg(0, bcm2835_v4l2_debug, &dev->v4l2_dev,
|
v4l2_dbg(0, bcm2835_v4l2_debug, &dev->v4l2_dev,
|
||||||
"scene mode selected %d, was %d\n", ctrl->val,
|
"scene mode selected %d, was %d\n", ctrl->val,
|
||||||
dev->scene_mode);
|
dev->scene_mode);
|
||||||
control = &dev->component[MMAL_COMPONENT_CAMERA]->control;
|
control = &dev->component[COMP_CAMERA]->control;
|
||||||
|
|
||||||
if (ctrl->val == dev->scene_mode)
|
if (ctrl->val == dev->scene_mode)
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -1228,18 +1228,15 @@ int set_framerate_params(struct bm2835_mmal_dev *dev)
|
||||||
fps_range.fps_high.den);
|
fps_range.fps_high.den);
|
||||||
|
|
||||||
ret = vchiq_mmal_port_parameter_set(dev->instance,
|
ret = vchiq_mmal_port_parameter_set(dev->instance,
|
||||||
&dev->component[MMAL_COMPONENT_CAMERA]->
|
&dev->component[COMP_CAMERA]->output[CAM_PORT_PREVIEW],
|
||||||
output[MMAL_CAMERA_PORT_PREVIEW],
|
|
||||||
MMAL_PARAMETER_FPS_RANGE,
|
MMAL_PARAMETER_FPS_RANGE,
|
||||||
&fps_range, sizeof(fps_range));
|
&fps_range, sizeof(fps_range));
|
||||||
ret += vchiq_mmal_port_parameter_set(dev->instance,
|
ret += vchiq_mmal_port_parameter_set(dev->instance,
|
||||||
&dev->component[MMAL_COMPONENT_CAMERA]->
|
&dev->component[COMP_CAMERA]->output[CAM_PORT_VIDEO],
|
||||||
output[MMAL_CAMERA_PORT_VIDEO],
|
|
||||||
MMAL_PARAMETER_FPS_RANGE,
|
MMAL_PARAMETER_FPS_RANGE,
|
||||||
&fps_range, sizeof(fps_range));
|
&fps_range, sizeof(fps_range));
|
||||||
ret += vchiq_mmal_port_parameter_set(dev->instance,
|
ret += vchiq_mmal_port_parameter_set(dev->instance,
|
||||||
&dev->component[MMAL_COMPONENT_CAMERA]->
|
&dev->component[COMP_CAMERA]->output[CAM_PORT_CAPTURE],
|
||||||
output[MMAL_CAMERA_PORT_CAPTURE],
|
|
||||||
MMAL_PARAMETER_FPS_RANGE,
|
MMAL_PARAMETER_FPS_RANGE,
|
||||||
&fps_range, sizeof(fps_range));
|
&fps_range, sizeof(fps_range));
|
||||||
if (ret)
|
if (ret)
|
||||||
|
|
Загрузка…
Ссылка в новой задаче