All of lore.kernel.org
 help / color / mirror / Atom feed
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Nate Weibley <nweibley@gmail.com>
Cc: linux-media@vger.kernel.org
Subject: Re: [PATCH] omap4iss: Fix overlapping luma/chroma planes & correct end pointers
Date: Sat, 01 Feb 2014 12:51:25 +0100	[thread overview]
Message-ID: <1937925.MHQJt8j3r2@avalon> (raw)
In-Reply-To: <1390924439-19565-1-git-send-email-nweibley@gmail.com>

Hi Nate,

Thank you for the patch.

On Tuesday 28 January 2014 10:53:59 Nate Weibley wrote:
> The chroma data base address for NV12 formatted data should begin offset
> rows*bytes_per_row from the base address for luminance data. We were OBO
> causing a stripe of green pixels at the bottom of the frame.
> 
> The OMAP TRM indicates RZX_X_PTR_E should contain the maximum number lines
> written to the CBUFF, not the total lines - 1 as used in VSZ registers.

I have a work in progress patch in my internal tree to fix this issue that 
mentions that the resizer eats one line of image for internal state machine 
synchronization purpose (due to a hardware bug).

I can't check this right now as I'm not home, have you seen anything related 
when testing this patch ?

> Signed-off-by: Nate Weibley <nweibley@gmail.com>
> ---
>  drivers/staging/media/omap4iss/iss_resizer.c |   10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/staging/media/omap4iss/iss_resizer.c
> b/drivers/staging/media/omap4iss/iss_resizer.c index ae831b8..ffb4f0e
> 100644
> --- a/drivers/staging/media/omap4iss/iss_resizer.c
> +++ b/drivers/staging/media/omap4iss/iss_resizer.c
> @@ -159,7 +159,7 @@ static void resizer_set_outaddr(struct
> iss_resizer_device *resizer, u32 addr) if ((informat->code ==
> V4L2_MBUS_FMT_UYVY8_1X16) &&
>  	    (outformat->code == V4L2_MBUS_FMT_YUYV8_1_5X8)) {
>  		u32 c_addr = addr + (resizer->video_out.bpl_value *
> -				     (outformat->height - 1));
> +				     (outformat->height));
> 
>  		/* Ensure Y_BAD_L[6:0] = C_BAD_L[6:0]*/
>  		if ((c_addr ^ addr) & 0x7f) {
> @@ -218,7 +218,7 @@ static void resizer_configure(struct iss_resizer_device
> *resizer) iss_reg_write(iss, OMAP4_ISS_MEM_ISP_RESIZER, RSZ_SRC_VPS, 0);
>  	iss_reg_write(iss, OMAP4_ISS_MEM_ISP_RESIZER, RSZ_SRC_HPS, 0);
>  	iss_reg_write(iss, OMAP4_ISS_MEM_ISP_RESIZER, RSZ_SRC_VSZ,
> -		      informat->height - 2);
> +		      informat->height - 1);
>  	iss_reg_write(iss, OMAP4_ISS_MEM_ISP_RESIZER, RSZ_SRC_HSZ,
>  		      informat->width - 1);
> 
> @@ -226,7 +226,7 @@ static void resizer_configure(struct iss_resizer_device
> *resizer) iss_reg_write(iss, OMAP4_ISS_MEM_ISP_RESIZER, RZA_I_HPS, 0);
> 
>  	iss_reg_write(iss, OMAP4_ISS_MEM_ISP_RESIZER, RZA_O_VSZ,
> -		      outformat->height - 2);
> +		      outformat->height - 1);
>  	iss_reg_write(iss, OMAP4_ISS_MEM_ISP_RESIZER, RZA_O_HSZ,
>  		      outformat->width - 1);
> 
> @@ -236,7 +236,7 @@ static void resizer_configure(struct iss_resizer_device
> *resizer) /* Buffer output settings */
>  	iss_reg_write(iss, OMAP4_ISS_MEM_ISP_RESIZER, RZA_SDR_Y_PTR_S, 0);
>  	iss_reg_write(iss, OMAP4_ISS_MEM_ISP_RESIZER, RZA_SDR_Y_PTR_E,
> -		      outformat->height - 1);
> +		      outformat->height);
> 
>  	iss_reg_write(iss, OMAP4_ISS_MEM_ISP_RESIZER, RZA_SDR_Y_OFT,
>  		      resizer->video_out.bpl_value);
> @@ -251,7 +251,7 @@ static void resizer_configure(struct iss_resizer_device
> *resizer) iss_reg_write(iss, OMAP4_ISS_MEM_ISP_RESIZER, RZA_SDR_C_PTR_S,
>  			      0);
>  		iss_reg_write(iss, OMAP4_ISS_MEM_ISP_RESIZER, RZA_SDR_C_PTR_E,
> -			      outformat->height - 1);
> +			      outformat->height);
> 
>  		iss_reg_write(iss, OMAP4_ISS_MEM_ISP_RESIZER, RZA_SDR_C_OFT,
>  			      resizer->video_out.bpl_value);

-- 
Regards,

Laurent Pinchart

      reply	other threads:[~2014-02-01 11:50 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-28 15:53 [PATCH] omap4iss: Fix overlapping luma/chroma planes & correct end pointers Nate Weibley
2014-02-01 11:51 ` Laurent Pinchart [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1937925.MHQJt8j3r2@avalon \
    --to=laurent.pinchart@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    --cc=nweibley@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.