From: Jonas Karlman <jonas@kwiboo.se> To: Ezequiel Garcia <ezequiel@collabora.com> Cc: Mauro Carvalho Chehab <mchehab@kernel.org>, Hans Verkuil <hverkuil@xs4all.nl>, Boris Brezillon <boris.brezillon@collabora.com>, Philipp Zabel <p.zabel@pengutronix.de>, Paul Kocialkowski <paul.kocialkowski@bootlin.com>, "linux-media@vger.kernel.org" <linux-media@vger.kernel.org>, "linux-rockchip@lists.infradead.org" <linux-rockchip@lists.infradead.org>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, Jonas Karlman <jonas@kwiboo.se> Subject: [PATCH 04/12] media: hantro: Reduce H264 extra space for motion vectors Date: Sun, 1 Sep 2019 12:45:44 +0000 [thread overview] Message-ID: <HE1PR06MB4011D387573107C54185D528ACBF0@HE1PR06MB4011.eurprd06.prod.outlook.com> (raw) In-Reply-To: <20190901124531.23645-1-jonas@kwiboo.se> A decoded 8-bit 4:2:0 frame need memory for up to 448 macroblocks with additional 32 bytes on multi-core variants. Memory layout is as follow: +-------------------+ | Y-plane 256 MBs | +-------------------+ | UV-plane 128 MBs | +-------------------+ | MV buffer 64 MBs | +-------------------+ | MC sync 32 bytes | +-------------------+ Reduce the extra space allocated now that motion vector buffer offset no longer is based on the extra space. Only use extra space for 64 MBs of motion vector buffer and 32 bytes for multi-core sync. Fixes: a9471e25629b ("media: hantro: Add core bits to support H264 decoding") Signed-off-by: Jonas Karlman <jonas@kwiboo.se> --- drivers/staging/media/hantro/hantro_v4l2.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/staging/media/hantro/hantro_v4l2.c b/drivers/staging/media/hantro/hantro_v4l2.c index 3dae52abb96c..3a360a6a17e2 100644 --- a/drivers/staging/media/hantro/hantro_v4l2.c +++ b/drivers/staging/media/hantro/hantro_v4l2.c @@ -242,12 +242,12 @@ static int vidioc_try_fmt(struct file *file, void *priv, struct v4l2_format *f, /* * The H264 decoder needs extra space on the output buffers * to store motion vectors. This is needed for reference - * frames. + * frames. 32 extra bytes is used for multi-core sync. */ if (ctx->vpu_src_fmt->fourcc == V4L2_PIX_FMT_H264_SLICE) pix_mp->plane_fmt[0].sizeimage += - 128 * DIV_ROUND_UP(pix_mp->width, 16) * - DIV_ROUND_UP(pix_mp->height, 16); + 64 * H264_MB_WIDTH(pix_mp->width) * + H264_MB_WIDTH(pix_mp->height) + 32; } else if (!pix_mp->plane_fmt[0].sizeimage) { /* * For coded formats the application can specify -- 2.17.1
WARNING: multiple messages have this Message-ID (diff)
From: Jonas Karlman <jonas-uIzNG4q0ceqzQB+pC5nmwQ@public.gmane.org> To: Ezequiel Garcia <ezequiel-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org> Cc: Paul Kocialkowski <paul.kocialkowski-LDxbnhwyfcJBDgjK7y7TUQ@public.gmane.org>, Jonas Karlman <jonas-uIzNG4q0ceqzQB+pC5nmwQ@public.gmane.org>, "linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" <linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>, Hans Verkuil <hverkuil-qWit8jRvyhVmR6Xm/wNWPw@public.gmane.org>, "linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org" <linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>, Boris Brezillon <boris.brezillon-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org>, Philipp Zabel <p.zabel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>, Mauro Carvalho Chehab <mchehab-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>, "linux-media-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" <linux-media-u79uwXL29TY76Z2rM5mHXA@public.gmane.org> Subject: [PATCH 04/12] media: hantro: Reduce H264 extra space for motion vectors Date: Sun, 1 Sep 2019 12:45:44 +0000 [thread overview] Message-ID: <HE1PR06MB4011D387573107C54185D528ACBF0@HE1PR06MB4011.eurprd06.prod.outlook.com> (raw) In-Reply-To: <20190901124531.23645-1-jonas-uIzNG4q0ceqzQB+pC5nmwQ@public.gmane.org> A decoded 8-bit 4:2:0 frame need memory for up to 448 macroblocks with additional 32 bytes on multi-core variants. Memory layout is as follow: +-------------------+ | Y-plane 256 MBs | +-------------------+ | UV-plane 128 MBs | +-------------------+ | MV buffer 64 MBs | +-------------------+ | MC sync 32 bytes | +-------------------+ Reduce the extra space allocated now that motion vector buffer offset no longer is based on the extra space. Only use extra space for 64 MBs of motion vector buffer and 32 bytes for multi-core sync. Fixes: a9471e25629b ("media: hantro: Add core bits to support H264 decoding") Signed-off-by: Jonas Karlman <jonas-uIzNG4q0ceqzQB+pC5nmwQ@public.gmane.org> --- drivers/staging/media/hantro/hantro_v4l2.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/staging/media/hantro/hantro_v4l2.c b/drivers/staging/media/hantro/hantro_v4l2.c index 3dae52abb96c..3a360a6a17e2 100644 --- a/drivers/staging/media/hantro/hantro_v4l2.c +++ b/drivers/staging/media/hantro/hantro_v4l2.c @@ -242,12 +242,12 @@ static int vidioc_try_fmt(struct file *file, void *priv, struct v4l2_format *f, /* * The H264 decoder needs extra space on the output buffers * to store motion vectors. This is needed for reference - * frames. + * frames. 32 extra bytes is used for multi-core sync. */ if (ctx->vpu_src_fmt->fourcc == V4L2_PIX_FMT_H264_SLICE) pix_mp->plane_fmt[0].sizeimage += - 128 * DIV_ROUND_UP(pix_mp->width, 16) * - DIV_ROUND_UP(pix_mp->height, 16); + 64 * H264_MB_WIDTH(pix_mp->width) * + H264_MB_WIDTH(pix_mp->height) + 32; } else if (!pix_mp->plane_fmt[0].sizeimage) { /* * For coded formats the application can specify -- 2.17.1
next prev parent reply other threads:[~2019-09-01 12:45 UTC|newest] Thread overview: 90+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-09-01 12:42 [PATCH RFC 00/12] media: hantro: H264 fixes and improvements Jonas Karlman 2019-09-01 12:42 ` Jonas Karlman 2019-09-01 12:45 ` [PATCH 01/12] media: hantro: Fix H264 max frmsize supported on RK3288 Jonas Karlman 2019-09-01 12:45 ` Jonas Karlman 2019-09-04 13:07 ` Ezequiel Garcia 2019-09-04 13:07 ` Ezequiel Garcia 2019-09-09 19:25 ` Jonas Karlman 2019-09-09 19:25 ` Jonas Karlman [not found] ` <20190901124531.23645-1-jonas@kwiboo.se> 2019-09-01 12:45 ` [PATCH 02/12] media: hantro: Do not reorder H264 scaling list Jonas Karlman 2019-09-01 12:45 ` Jonas Karlman 2019-09-02 14:00 ` Philipp Zabel 2019-09-02 14:00 ` Philipp Zabel 2019-09-02 16:18 ` Jonas Karlman 2019-09-02 16:18 ` Jonas Karlman 2019-09-03 7:54 ` Jonas Karlman 2019-09-03 7:54 ` Jonas Karlman 2019-09-03 12:53 ` Philipp Zabel 2019-09-03 12:53 ` Philipp Zabel 2019-09-03 9:56 ` Philipp Zabel 2019-09-03 9:56 ` Philipp Zabel 2019-09-10 10:14 ` Ezequiel Garcia 2019-09-10 10:14 ` Ezequiel Garcia 2019-09-01 12:45 ` [PATCH 03/12] media: hantro: Fix H264 motion vector buffer offset Jonas Karlman 2019-09-01 12:45 ` Jonas Karlman 2019-09-03 10:58 ` Philipp Zabel 2019-09-03 10:58 ` Philipp Zabel 2019-09-03 20:13 ` Jonas Karlman 2019-09-03 20:13 ` Jonas Karlman 2019-09-10 10:18 ` Ezequiel Garcia 2019-09-10 10:18 ` Ezequiel Garcia 2019-09-10 11:34 ` Ezequiel Garcia 2019-09-10 11:34 ` Ezequiel Garcia 2019-09-01 12:45 ` [PATCH 05/12] media: hantro: Remove now unused H264 pic_size Jonas Karlman 2019-09-01 12:45 ` Jonas Karlman 2019-09-01 12:45 ` Jonas Karlman [this message] 2019-09-01 12:45 ` [PATCH 04/12] media: hantro: Reduce H264 extra space for motion vectors Jonas Karlman 2019-09-01 12:45 ` [PATCH 06/12] media: hantro: Set H264 FIELDPIC_FLAG_E flag correctly Jonas Karlman 2019-09-01 12:45 ` Jonas Karlman 2019-09-01 12:45 ` [RFC 08/12] media: hantro: Fix H264 decoding of field encoded content Jonas Karlman 2019-09-01 12:45 ` Jonas Karlman 2019-09-03 13:21 ` Philipp Zabel 2019-09-03 13:21 ` Philipp Zabel 2019-09-03 14:02 ` Jonas Karlman 2019-09-03 14:02 ` Jonas Karlman 2019-09-03 15:01 ` Philipp Zabel 2019-09-03 15:01 ` Philipp Zabel 2019-09-03 19:47 ` Jonas Karlman 2019-09-03 19:47 ` Jonas Karlman 2019-09-01 12:45 ` [RFC 07/12] media: uapi: h264: Add DPB entry field reference flags Jonas Karlman 2019-09-01 12:45 ` Jonas Karlman 2020-07-10 4:21 ` Ezequiel Garcia 2020-07-10 4:21 ` Ezequiel Garcia 2020-07-10 8:13 ` Boris Brezillon 2020-07-10 8:13 ` Boris Brezillon 2020-07-10 8:48 ` Jonas Karlman 2020-07-10 8:48 ` Jonas Karlman 2020-07-10 12:18 ` Ezequiel Garcia 2020-07-10 12:18 ` Ezequiel Garcia 2020-07-10 11:50 ` Ezequiel Garcia 2020-07-10 11:50 ` Ezequiel Garcia 2020-07-10 12:05 ` Boris Brezillon 2020-07-10 12:05 ` Boris Brezillon 2020-07-10 12:25 ` Ezequiel Garcia 2020-07-10 12:25 ` Ezequiel Garcia 2020-07-10 21:49 ` Nicolas Dufresne 2020-07-10 21:49 ` Nicolas Dufresne 2020-07-11 10:21 ` Jonas Karlman 2020-07-11 10:21 ` Jonas Karlman 2020-07-11 18:36 ` Nicolas Dufresne 2020-07-11 18:36 ` Nicolas Dufresne 2020-07-12 22:59 ` Ezequiel Garcia 2020-07-12 22:59 ` Ezequiel Garcia 2020-07-14 16:04 ` Nicolas Dufresne 2020-07-14 16:04 ` Nicolas Dufresne 2019-09-01 12:45 ` [RFC 09/12] media: hantro: Refactor G1 H264 code Jonas Karlman 2019-09-01 12:45 ` Jonas Karlman 2019-09-01 12:45 ` [RFC 10/12] media: hantro: Add support for H264 decoding on RK3399 Jonas Karlman 2019-09-01 12:45 ` Jonas Karlman 2019-09-02 11:46 ` Hans Verkuil 2019-09-02 11:46 ` Hans Verkuil 2019-09-02 15:25 ` Jonas Karlman 2019-09-02 15:25 ` Jonas Karlman 2019-09-01 12:45 ` [RFC 11/12] media: hantro: Enable " Jonas Karlman 2019-09-01 12:45 ` Jonas Karlman 2019-09-01 12:45 ` [RFC 12/12] media: hantro: Enable H264 decoding on RK3328 Jonas Karlman 2019-09-01 12:45 ` Jonas Karlman 2019-09-02 13:02 ` [PATCH RFC 00/12] media: hantro: H264 fixes and improvements Ezequiel Garcia 2019-09-02 13:02 ` Ezequiel Garcia 2019-09-02 16:28 ` Jonas Karlman 2019-09-02 16:28 ` Jonas Karlman
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=HE1PR06MB4011D387573107C54185D528ACBF0@HE1PR06MB4011.eurprd06.prod.outlook.com \ --to=jonas@kwiboo.se \ --cc=boris.brezillon@collabora.com \ --cc=ezequiel@collabora.com \ --cc=hverkuil@xs4all.nl \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-media@vger.kernel.org \ --cc=linux-rockchip@lists.infradead.org \ --cc=mchehab@kernel.org \ --cc=p.zabel@pengutronix.de \ --cc=paul.kocialkowski@bootlin.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: linkBe 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.