diff options
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.patch | 91 |
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 */ |