summaryrefslogtreecommitdiff
path: root/target/linux/brcm2708/patches-3.10/0147-V4L2-Correct-flag-settings-for-compressed-formats.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/brcm2708/patches-3.10/0147-V4L2-Correct-flag-settings-for-compressed-formats.patch')
-rw-r--r--target/linux/brcm2708/patches-3.10/0147-V4L2-Correct-flag-settings-for-compressed-formats.patch91
1 files changed, 91 insertions, 0 deletions
diff --git a/target/linux/brcm2708/patches-3.10/0147-V4L2-Correct-flag-settings-for-compressed-formats.patch b/target/linux/brcm2708/patches-3.10/0147-V4L2-Correct-flag-settings-for-compressed-formats.patch
new file mode 100644
index 0000000000..1cf3977aab
--- /dev/null
+++ b/target/linux/brcm2708/patches-3.10/0147-V4L2-Correct-flag-settings-for-compressed-formats.patch
@@ -0,0 +1,91 @@
+From dfd619eb2e3415681d726f749984ab5ecf355736 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/174] 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(+)
+
+--- 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(s
+
+ 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(struc
+
+ strlcpy(f->description, fmt->name, sizeof(f->description));
+ f->pixelformat = fmt->fourcc;
++ f->flags = fmt->flags;
++
+ return 0;
+ }
+
+--- 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 */