Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 124556
b: refs/heads/master
c: 9e4a56d
h: refs/heads/master
v: v3
  • Loading branch information
Magnus Damm authored and Mauro Carvalho Chehab committed Dec 30, 2008
1 parent 4965dfe commit 2a9a142
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 3 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 8be65dc59645d6ec9149fc26dfff7ca01e279e87
refs/heads/master: 9e4a56d27f6150b0c9f8c7cc33ea944749377104
22 changes: 20 additions & 2 deletions trunk/drivers/media/video/sh_mobile_ceu_camera.c
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,8 @@ static void sh_mobile_ceu_capture(struct sh_mobile_ceu_dev *pcdev)
switch (icd->current_fmt->fourcc) {
case V4L2_PIX_FMT_NV12:
case V4L2_PIX_FMT_NV21:
case V4L2_PIX_FMT_NV16:
case V4L2_PIX_FMT_NV61:
phys_addr += (icd->width * icd->height);
ceu_write(pcdev, CDACR, phys_addr);
}
Expand Down Expand Up @@ -407,6 +409,9 @@ static int sh_mobile_ceu_set_bus_param(struct soc_camera_device *icd,
case V4L2_PIX_FMT_NV12:
case V4L2_PIX_FMT_NV21:
yuv_lineskip = 1; /* skip for NV12/21, no skip for NV16/61 */
/* fall-through */
case V4L2_PIX_FMT_NV16:
case V4L2_PIX_FMT_NV61:
yuv_mode = 1;
switch (pcdev->camera_fmt->fourcc) {
case V4L2_PIX_FMT_UYVY:
Expand All @@ -426,8 +431,9 @@ static int sh_mobile_ceu_set_bus_param(struct soc_camera_device *icd,
}
}

if (icd->current_fmt->fourcc == V4L2_PIX_FMT_NV21)
value ^= 0x00000100; /* swap U, V to change from NV12->NV21 */
if ((icd->current_fmt->fourcc == V4L2_PIX_FMT_NV21) ||
(icd->current_fmt->fourcc == V4L2_PIX_FMT_NV61))
value ^= 0x00000100; /* swap U, V to change from NV1x->NVx1 */

value |= (common_flags & SOCAM_VSYNC_ACTIVE_LOW) ? (1 << 1) : 0;
value |= (common_flags & SOCAM_HSYNC_ACTIVE_LOW) ? (1 << 0) : 0;
Expand Down Expand Up @@ -509,6 +515,18 @@ static const struct soc_camera_data_format sh_mobile_ceu_formats[] = {
.fourcc = V4L2_PIX_FMT_NV21,
.colorspace = V4L2_COLORSPACE_JPEG,
},
{
.name = "NV16",
.depth = 16,
.fourcc = V4L2_PIX_FMT_NV16,
.colorspace = V4L2_COLORSPACE_JPEG,
},
{
.name = "NV61",
.depth = 16,
.fourcc = V4L2_PIX_FMT_NV61,
.colorspace = V4L2_COLORSPACE_JPEG,
},
};

static int sh_mobile_ceu_get_formats(struct soc_camera_device *icd, int idx,
Expand Down

0 comments on commit 2a9a142

Please sign in to comment.