You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
99 lines
3.1 KiB
Diff
99 lines
3.1 KiB
Diff
From 3481fef0091c023c634ecf747b3dea455b24b32c Mon Sep 17 00:00:00 2001
|
|
From: Dave Stevenson <dsteve@broadcom.com>
|
|
Date: Thu, 2 Jan 2014 15:57:06 +0000
|
|
Subject: [PATCH 147/196] V4L2: Correct flag settings for compressed formats
|
|
|
|
Set flags field correctly on enum_fmt_vid_cap for compressed
|
|
image formats.
|
|
|
|
Signed-off-by: Dave Stevenson <dsteve@broadcom.com>
|
|
---
|
|
drivers/media/platform/bcm2835/bcm2835-camera.c | 9 +++++++++
|
|
drivers/media/platform/bcm2835/mmal-common.h | 1 +
|
|
2 files changed, 10 insertions(+)
|
|
|
|
diff --git a/drivers/media/platform/bcm2835/bcm2835-camera.c b/drivers/media/platform/bcm2835/bcm2835-camera.c
|
|
index 166039e..7f99a14 100644
|
|
--- a/drivers/media/platform/bcm2835/bcm2835-camera.c
|
|
+++ b/drivers/media/platform/bcm2835/bcm2835-camera.c
|
|
@@ -69,6 +69,7 @@ static struct mmal_fmt formats[] = {
|
|
{
|
|
.name = "4:2:0, packed YUV",
|
|
.fourcc = V4L2_PIX_FMT_YUV420,
|
|
+ .flags = 0,
|
|
.mmal = MMAL_ENCODING_I420,
|
|
.depth = 12,
|
|
.mmal_component = MMAL_COMPONENT_CAMERA,
|
|
@@ -76,6 +77,7 @@ static struct mmal_fmt formats[] = {
|
|
{
|
|
.name = "4:2:2, packed, YUYV",
|
|
.fourcc = V4L2_PIX_FMT_YUYV,
|
|
+ .flags = 0,
|
|
.mmal = MMAL_ENCODING_YUYV,
|
|
.depth = 16,
|
|
.mmal_component = MMAL_COMPONENT_CAMERA,
|
|
@@ -83,6 +85,7 @@ static struct mmal_fmt formats[] = {
|
|
{
|
|
.name = "RGB24 (BE)",
|
|
.fourcc = V4L2_PIX_FMT_BGR24,
|
|
+ .flags = 0,
|
|
.mmal = MMAL_ENCODING_BGR24,
|
|
.depth = 24,
|
|
.mmal_component = MMAL_COMPONENT_CAMERA,
|
|
@@ -90,6 +93,7 @@ static struct mmal_fmt formats[] = {
|
|
{
|
|
.name = "JPEG",
|
|
.fourcc = V4L2_PIX_FMT_JPEG,
|
|
+ .flags = V4L2_FMT_FLAG_COMPRESSED,
|
|
.mmal = MMAL_ENCODING_JPEG,
|
|
.depth = 8,
|
|
.mmal_component = MMAL_COMPONENT_IMAGE_ENCODE,
|
|
@@ -97,6 +101,7 @@ static struct mmal_fmt formats[] = {
|
|
{
|
|
.name = "H264",
|
|
.fourcc = V4L2_PIX_FMT_H264,
|
|
+ .flags = V4L2_FMT_FLAG_COMPRESSED,
|
|
.mmal = MMAL_ENCODING_H264,
|
|
.depth = 8,
|
|
.mmal_component = MMAL_COMPONENT_VIDEO_ENCODE,
|
|
@@ -104,6 +109,7 @@ static struct mmal_fmt formats[] = {
|
|
{
|
|
.name = "MJPEG",
|
|
.fourcc = V4L2_PIX_FMT_MJPEG,
|
|
+ .flags = V4L2_FMT_FLAG_COMPRESSED,
|
|
.mmal = MMAL_ENCODING_MJPEG,
|
|
.depth = 8,
|
|
.mmal_component = MMAL_COMPONENT_VIDEO_ENCODE,
|
|
@@ -555,6 +561,7 @@ static int vidioc_enum_fmt_vid_overlay(struct file *file, void *priv,
|
|
|
|
strlcpy(f->description, fmt->name, sizeof(f->description));
|
|
f->pixelformat = fmt->fourcc;
|
|
+ f->flags = fmt->flags;
|
|
|
|
return 0;
|
|
}
|
|
@@ -750,6 +757,8 @@ static int vidioc_enum_fmt_vid_cap(struct file *file, void *priv,
|
|
|
|
strlcpy(f->description, fmt->name, sizeof(f->description));
|
|
f->pixelformat = fmt->fourcc;
|
|
+ f->flags = fmt->flags;
|
|
+
|
|
return 0;
|
|
}
|
|
|
|
diff --git a/drivers/media/platform/bcm2835/mmal-common.h b/drivers/media/platform/bcm2835/mmal-common.h
|
|
index 602b4a7..076f9a8 100644
|
|
--- a/drivers/media/platform/bcm2835/mmal-common.h
|
|
+++ b/drivers/media/platform/bcm2835/mmal-common.h
|
|
@@ -26,6 +26,7 @@
|
|
struct mmal_fmt {
|
|
char *name;
|
|
u32 fourcc; /* v4l2 format id */
|
|
+ int flags; /* v4l2 flags field */
|
|
u32 mmal;
|
|
int depth;
|
|
u32 mmal_component; /* MMAL component index to be used to encode */
|
|
--
|
|
1.9.1
|
|
|