RE: [PATCH] s5p-mfc: limit the size of the CPB

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi panpan,

Thank you for your patch, please find my comments inline.

> From: panpan liu [mailto:panpan1.liu@xxxxxxxxxxx]
> Sent: Monday, July 14, 2014 9:22 AM
> 
> The register of the CPB limits the size. The max size is 4M, so it is
> more reasonable.
> 
> Signed-off-by: panpan liu <panpan1.liu@xxxxxxxxxxx>
> ---
>  drivers/media/platform/s5p-mfc/s5p_mfc_dec.c |    3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)  mode change 100644 =>
> 100755 drivers/media/platform/s5p-mfc/s5p_mfc_dec.c
> 
> diff --git a/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c
> b/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c
> old mode 100644
> new mode 100755
> index 0bae907..889cb06
> --- a/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c
> +++ b/drivers/media/platform/s5p-mfc/s5p_mfc_dec.c
> @@ -466,7 +466,8 @@ static int vidioc_s_fmt(struct file *file, void
> *priv, struct v4l2_format *f)
>  	mfc_debug(2, "The codec number is: %d\n", ctx->codec_mode);
>  	pix_mp->height = 0;
>  	pix_mp->width = 0;
> -	if (pix_mp->plane_fmt[0].sizeimage)
> +	if (pix_mp->plane_fmt[0].sizeimage &&
> +			pix_mp->plane_fmt[0].sizeimage <= MAX_CPB_SIZE)

The MAX_CPB_SIZE applies only to the v5 version of the MFC. To have this
dependent on the actual variant used please use:
...
struct s5p_mfc_buf_size *buf_size = dev->variant->buf_size;
...
if (pix_mp->plane_fmt[0].sizeimage &&
	pix_mp->plane_fmt[0].sizeimage <= buf_size->cpb)
...

>  		ctx->dec_src_buf_size = pix_mp->plane_fmt[0].sizeimage;
>  	else
>  		pix_mp->plane_fmt[0].sizeimage = ctx->dec_src_buf_size =

Also, in case the desired buffer size is too large the driver should set
the maximum size allowed and not the default size which is fairly small.

So you should cover three cases:
- no size set -> set default size
- size set < max - set the desired size
- size set > max - set the maximum size allowed

Best wishes, 
-- 
Kamil Debski
Samsung R&D Institute Poland

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux