diff options
Diffstat (limited to 'target/linux/brcm2708/patches-3.10/0141-V4L2-Fix-issue-when-switching-down-JPEG-resolution.patch')
-rw-r--r-- | target/linux/brcm2708/patches-3.10/0141-V4L2-Fix-issue-when-switching-down-JPEG-resolution.patch | 164 |
1 files changed, 0 insertions, 164 deletions
diff --git a/target/linux/brcm2708/patches-3.10/0141-V4L2-Fix-issue-when-switching-down-JPEG-resolution.patch b/target/linux/brcm2708/patches-3.10/0141-V4L2-Fix-issue-when-switching-down-JPEG-resolution.patch deleted file mode 100644 index 2d7069cc73..0000000000 --- a/target/linux/brcm2708/patches-3.10/0141-V4L2-Fix-issue-when-switching-down-JPEG-resolution.patch +++ /dev/null @@ -1,164 +0,0 @@ -From 8a529de86bee2dd7e76fc77d0364ace6df3da685 Mon Sep 17 00:00:00 2001 -From: Dave Stevenson <dsteve@broadcom.com> -Date: Mon, 9 Dec 2013 11:24:55 +0000 -Subject: [PATCH 141/196] V4L2: Fix issue when switching down JPEG resolution. - -JPEG buffer size calculation is based on input resolution. -Input resolution was being configured after output port -format. Caused failures if switching from one JPEG resolution -to a smaller one. - -Signed-off-by: Dave Stevenson <dsteve@broadcom.com> ---- - drivers/media/platform/bcm2835/bcm2835-camera.c | 126 ++++++++++++++---------- - 1 file changed, 72 insertions(+), 54 deletions(-) - -diff --git a/drivers/media/platform/bcm2835/bcm2835-camera.c b/drivers/media/platform/bcm2835/bcm2835-camera.c -index 9fc90a2..4780107 100644 ---- a/drivers/media/platform/bcm2835/bcm2835-camera.c -+++ b/drivers/media/platform/bcm2835/bcm2835-camera.c -@@ -955,69 +955,87 @@ static int mmal_setup_components(struct bm2835_mmal_dev *dev, - camera_port->current_buffer.num = - camera_port->recommended_buffer.num; - -- port->format.encoding = mfmt->mmal; -- port->format.encoding_variant = 0; -- /* Set any encoding specific parameters */ -- switch (mfmt->mmal_component) { -- case MMAL_COMPONENT_VIDEO_ENCODE: -- port->format.bitrate = -- dev->capture.encode_bitrate; -- break; -- case MMAL_COMPONENT_IMAGE_ENCODE: -- /* Could set EXIF parameters here */ -- break; -- default: -- break; -- } -- ret = vchiq_mmal_port_set_format(dev->instance, port); -- -+ ret = -+ vchiq_mmal_port_connect_tunnel( -+ dev->instance, -+ camera_port, -+ &encode_component->input[0]); - if (ret) { -- v4l2_dbg(1, bcm2835_v4l2_debug, &dev->v4l2_dev, -- "%s failed to set format\n", __func__); -+ v4l2_dbg(1, bcm2835_v4l2_debug, -+ &dev->v4l2_dev, -+ "%s failed to create connection\n", -+ __func__); -+ /* ensure capture is not going to be tried */ -+ dev->capture.port = NULL; - } else { -+ port->es.video.width = f->fmt.pix.width; -+ port->es.video.height = f->fmt.pix.height; -+ port->es.video.crop.x = 0; -+ 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 = -+ dev->capture.timeperframe.denominator; -+ port->es.video.frame_rate.den = -+ dev->capture.timeperframe.numerator; -+ -+ port->format.encoding = mfmt->mmal; -+ port->format.encoding_variant = 0; -+ /* Set any encoding specific parameters */ -+ switch (mfmt->mmal_component) { -+ case MMAL_COMPONENT_VIDEO_ENCODE: -+ port->format.bitrate = -+ dev->capture.encode_bitrate; -+ break; -+ case MMAL_COMPONENT_IMAGE_ENCODE: -+ /* Could set EXIF parameters here */ -+ break; -+ default: -+ break; -+ } -+ ret = vchiq_mmal_port_set_format(dev->instance, -+ port); -+ if (ret) -+ v4l2_dbg(1, bcm2835_v4l2_debug, -+ &dev->v4l2_dev, -+ "%s failed to set format\n", -+ __func__); -+ } -+ -+ if (!ret) { - ret = vchiq_mmal_component_enable( - dev->instance, - encode_component); - if (ret) { - v4l2_dbg(1, bcm2835_v4l2_debug, -- &dev->v4l2_dev, -- "%s Failed to enable encode components\n", -- __func__); -- } else { -- /* configure buffering */ -- port->current_buffer.num = 1; -- port->current_buffer.size = -- f->fmt.pix.sizeimage; -- if (port->format.encoding == -- MMAL_ENCODING_JPEG) { -- v4l2_dbg(1, bcm2835_v4l2_debug, -- &dev->v4l2_dev, -- "JPEG - fiddle buffer size\n"); -- port->current_buffer.size = -- (f->fmt.pix.sizeimage < -- (100 << 10)) -- ? (100 << 10) : f->fmt.pix. -- sizeimage; -- } -+ &dev->v4l2_dev, -+ "%s Failed to enable encode components\n", -+ __func__); -+ } -+ } -+ if (!ret) { -+ /* configure buffering */ -+ port->current_buffer.num = 1; -+ port->current_buffer.size = -+ f->fmt.pix.sizeimage; -+ if (port->format.encoding == -+ MMAL_ENCODING_JPEG) { - v4l2_dbg(1, bcm2835_v4l2_debug, -- &dev->v4l2_dev, -- "vid_cap - current_buffer.size being set to %d\n", -- f->fmt.pix.sizeimage); -- port->current_buffer.alignment = 0; -- ret = -- vchiq_mmal_port_connect_tunnel( -- dev->instance, -- camera_port, -- &encode_component->input[0]); -- if (ret) { -- v4l2_dbg(1, bcm2835_v4l2_debug, -- &dev->v4l2_dev, -- "%s failed to create connection\n", -- __func__); -- /* ensure capture is not going to be tried */ -- dev->capture.port = NULL; -- } -+ &dev->v4l2_dev, -+ "JPG - buf size now %d was %d\n", -+ f->fmt.pix.sizeimage, -+ port->current_buffer.size); -+ port->current_buffer.size = -+ (f->fmt.pix.sizeimage < -+ (100 << 10)) -+ ? (100 << 10) : f->fmt.pix. -+ sizeimage; - } -+ v4l2_dbg(1, bcm2835_v4l2_debug, -+ &dev->v4l2_dev, -+ "vid_cap - cur_buf.size set to %d\n", -+ f->fmt.pix.sizeimage); -+ port->current_buffer.alignment = 0; - } - } else { - /* configure buffering */ --- -1.9.1 - |