Message ID | 1342658362-19491-8-git-send-email-laurent.pinchart@ideasonboard.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hi Laurent, On 2012/07/19 9:39, Laurent Pinchart wrote: > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > --- > drivers/video/sh_mobile_lcdcfb.c | 22 ++++++++++++++++------ > 1 files changed, 16 insertions(+), 6 deletions(-) > > - if (ovl->format->fourcc == V4L2_PIX_FMT_NV12 || > - ovl->format->fourcc == V4L2_PIX_FMT_NV21) > + switch (ovl->format->fourcc) { > + case V4L2_PIX_FMT_NV16: > + case V4L2_PIX_FMT_NV61: > + info->fix.xpanstep = 2; > + case V4L2_PIX_FMT_NV12: > + case V4L2_PIX_FMT_NV21: > info->fix.ypanstep = 2; > + } > > - if (ch->format->fourcc == V4L2_PIX_FMT_NV12 || > - ch->format->fourcc == V4L2_PIX_FMT_NV21) > + switch (ch->format->fourcc) { > + case V4L2_PIX_FMT_NV16: > + case V4L2_PIX_FMT_NV61: > + info->fix.xpanstep = 2; > + case V4L2_PIX_FMT_NV12: > + case V4L2_PIX_FMT_NV21: > info->fix.ypanstep = 2; > + } > I think that the panstep settings are backwards. The pansteps should be NV16: x = 2, y = 1; NV12: x = 2, y = 2. Cheers,
Hi Damian, Thank you for the review. On Thursday 19 July 2012 10:40:03 Damian Hobson-Garcia wrote: > On 2012/07/19 9:39, Laurent Pinchart wrote: > > Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> > > --- > > > > drivers/video/sh_mobile_lcdcfb.c | 22 ++++++++++++++++------ > > 1 files changed, 16 insertions(+), 6 deletions(-) > > > > - if (ovl->format->fourcc == V4L2_PIX_FMT_NV12 || > > - ovl->format->fourcc == V4L2_PIX_FMT_NV21) > > + switch (ovl->format->fourcc) { > > + case V4L2_PIX_FMT_NV16: > > + case V4L2_PIX_FMT_NV61: > > + info->fix.xpanstep = 2; > > + case V4L2_PIX_FMT_NV12: > > + case V4L2_PIX_FMT_NV21: > > info->fix.ypanstep = 2; > > + } > > > > > > - if (ch->format->fourcc == V4L2_PIX_FMT_NV12 || > > - ch->format->fourcc == V4L2_PIX_FMT_NV21) > > + switch (ch->format->fourcc) { > > + case V4L2_PIX_FMT_NV16: > > + case V4L2_PIX_FMT_NV61: > > + info->fix.xpanstep = 2; > > + case V4L2_PIX_FMT_NV12: > > + case V4L2_PIX_FMT_NV21: > > info->fix.ypanstep = 2; > > + } > > I think that the panstep settings are backwards. The pansteps should be > NV16: x = 2, y = 1; NV12: x = 2, y = 2. Good catch, thanks. I've fixed that.
diff --git a/drivers/video/sh_mobile_lcdcfb.c b/drivers/video/sh_mobile_lcdcfb.c index 68011b5..aeb7585 100644 --- a/drivers/video/sh_mobile_lcdcfb.c +++ b/drivers/video/sh_mobile_lcdcfb.c @@ -1493,7 +1493,7 @@ static const struct fb_fix_screeninfo sh_mobile_lcdc_overlay_fix = { .type = FB_TYPE_PACKED_PIXELS, .visual = FB_VISUAL_TRUECOLOR, .accel = FB_ACCEL_NONE, - .xpanstep = 0, + .xpanstep = 1, .ypanstep = 1, .ywrapstep = 0, .capabilities = FB_CAP_FOURCC, @@ -1714,9 +1714,14 @@ sh_mobile_lcdc_overlay_fb_init(struct sh_mobile_lcdc_overlay *ovl) else info->fix.visual = FB_VISUAL_TRUECOLOR; - if (ovl->format->fourcc == V4L2_PIX_FMT_NV12 || - ovl->format->fourcc == V4L2_PIX_FMT_NV21) + switch (ovl->format->fourcc) { + case V4L2_PIX_FMT_NV16: + case V4L2_PIX_FMT_NV61: + info->fix.xpanstep = 2; + case V4L2_PIX_FMT_NV12: + case V4L2_PIX_FMT_NV21: info->fix.ypanstep = 2; + } /* Initialize variable screen information. */ var = &info->var; @@ -1771,7 +1776,7 @@ static const struct fb_fix_screeninfo sh_mobile_lcdc_fix = { .type = FB_TYPE_PACKED_PIXELS, .visual = FB_VISUAL_TRUECOLOR, .accel = FB_ACCEL_NONE, - .xpanstep = 0, + .xpanstep = 1, .ypanstep = 1, .ywrapstep = 0, .capabilities = FB_CAP_FOURCC, @@ -2209,9 +2214,14 @@ sh_mobile_lcdc_channel_fb_init(struct sh_mobile_lcdc_chan *ch, else info->fix.visual = FB_VISUAL_TRUECOLOR; - if (ch->format->fourcc == V4L2_PIX_FMT_NV12 || - ch->format->fourcc == V4L2_PIX_FMT_NV21) + switch (ch->format->fourcc) { + case V4L2_PIX_FMT_NV16: + case V4L2_PIX_FMT_NV61: + info->fix.xpanstep = 2; + case V4L2_PIX_FMT_NV12: + case V4L2_PIX_FMT_NV21: info->fix.ypanstep = 2; + } /* Initialize variable screen information using the first mode as * default.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> --- drivers/video/sh_mobile_lcdcfb.c | 22 ++++++++++++++++------ 1 files changed, 16 insertions(+), 6 deletions(-)