linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jonas Karlman <jonas@kwiboo.se>
To: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>,
	Ezequiel Garcia <ezequiel@collabora.com>
Cc: Francois Buergisser <fbuergisser@chromium.org>,
	Hans Verkuil <hverkuil@xs4all.nl>,
	Boris Brezillon <boris.brezillon@collabora.com>,
	Tomasz Figa <tfiga@chromium.org>,
	Philipp Zabel <p.zabel@pengutronix.de>,
	"linux-media@vger.kernel.org" <linux-media@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Jonas Karlman <jonas@kwiboo.se>
Subject: [PATCH v2 02/10] media: hantro: Fix motion vectors usage condition
Date: Tue, 29 Oct 2019 01:24:47 +0000	[thread overview]
Message-ID: <HE1PR06MB40116FEF3EBE4706E426A5FFAC610@HE1PR06MB4011.eurprd06.prod.outlook.com> (raw)
In-Reply-To: <20191029012430.24566-1-jonas@kwiboo.se>

From: Francois Buergisser <fbuergisser@chromium.org>

The setting of the motion vectors usage and the setting of motion
vectors address are currently done under different conditions.

When decoding pre-recorded videos, this results of leaving the motion
vectors address unset, resulting in faulty memory accesses. Fix it
by using the same condition everywhere, which matches the profiles
that support motion vectors.

Fixes: dea0a82f3d22 ("media: hantro: Add support for H264 decoding on G1")
Signed-off-by: Francois Buergisser <fbuergisser@chromium.org>
Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
---
 drivers/staging/media/hantro/hantro_g1_h264_dec.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/media/hantro/hantro_g1_h264_dec.c b/drivers/staging/media/hantro/hantro_g1_h264_dec.c
index 29130946dea4..a1cb18680200 100644
--- a/drivers/staging/media/hantro/hantro_g1_h264_dec.c
+++ b/drivers/staging/media/hantro/hantro_g1_h264_dec.c
@@ -35,7 +35,7 @@ static void set_params(struct hantro_ctx *ctx)
 	if (sps->flags & V4L2_H264_SPS_FLAG_MB_ADAPTIVE_FRAME_FIELD)
 		reg |= G1_REG_DEC_CTRL0_SEQ_MBAFF_E;
 	reg |= G1_REG_DEC_CTRL0_PICORD_COUNT_E;
-	if (dec_param->nal_ref_idc)
+	if (sps->profile_idc > 66 && dec_param->nal_ref_idc)
 		reg |= G1_REG_DEC_CTRL0_WRITE_MVS_E;
 
 	if (!(sps->flags & V4L2_H264_SPS_FLAG_FRAME_MBS_ONLY) &&
@@ -245,7 +245,7 @@ static void set_buffers(struct hantro_ctx *ctx)
 	vdpu_write_relaxed(vpu, dst_dma, G1_REG_ADDR_DST);
 
 	/* Higher profiles require DMV buffer appended to reference frames. */
-	if (ctrls->sps->profile_idc > 66) {
+	if (ctrls->sps->profile_idc > 66 && ctrls->decode->nal_ref_idc) {
 		size_t pic_size = ctx->h264_dec.pic_size;
 		size_t mv_offset = round_up(pic_size, 8);
 
-- 
2.17.1


  parent reply	other threads:[~2019-10-29  1:24 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-29  1:23 [PATCH RFC v2 00/10] media: hantro: H264 fixes and improvements Jonas Karlman
2019-10-29  1:24 ` [PATCH v2 01/10] media: hantro: Fix H264 max frmsize supported on RK3288 Jonas Karlman
2019-10-31  8:52   ` Boris Brezillon
2019-11-01  8:36     ` Hans Verkuil
2019-11-05  7:56       ` Boris Brezillon
     [not found] ` <20191029012430.24566-1-jonas@kwiboo.se>
2019-10-29  1:24   ` Jonas Karlman [this message]
2019-10-31  8:58     ` [PATCH v2 02/10] media: hantro: Fix motion vectors usage condition Boris Brezillon
2019-11-02 23:09     ` Ezequiel Garcia
2019-11-02 23:10       ` Ezequiel Garcia
2019-10-29  1:24   ` [PATCH v2 03/10] media: hantro: Fix picture order count table enable Jonas Karlman
2019-10-31  8:59     ` Boris Brezillon
2019-10-29  1:24   ` [PATCH v2 04/10] media: hantro: Fix H264 motion vector buffer offset Jonas Karlman
2019-10-31  9:47     ` Boris Brezillon
2019-10-29  1:24   ` [PATCH v2 05/10] media: hantro: Reduce H264 extra space for motion vectors Jonas Karlman
2019-10-31  9:50     ` Boris Brezillon
2019-10-29  1:24   ` [PATCH v2 06/10] media: hantro: Use capture buffer width and height for H264 decoding Jonas Karlman
2019-10-31  9:21     ` Boris Brezillon
2019-10-31 10:00       ` Jonas Karlman
2019-10-29  1:24   ` [PATCH v2 07/10] media: hantro: Remove now unused H264 pic_size Jonas Karlman
2019-10-31  9:53     ` Boris Brezillon
2019-10-29  1:26 ` [PATCH v2 08/10] media: hantro: Set H264 FIELDPIC_FLAG_E flag correctly Jonas Karlman
2019-10-31 10:00   ` Boris Brezillon
     [not found] ` <20191029012550.24628-1-jonas@kwiboo.se>
2019-10-29  1:26   ` [RFC v2 09/10] media: uapi: h264: Add DPB entry field reference flags Jonas Karlman
2019-10-31 10:20     ` Boris Brezillon
2019-11-15  6:26       ` Jonas Karlman
2019-11-15  7:45         ` Boris Brezillon
2019-11-15  8:15           ` Jonas Karlman
2019-10-29  1:26   ` [RFC v2 10/10] media: hantro: Fix H264 decoding of field encoded content 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=HE1PR06MB40116FEF3EBE4706E426A5FFAC610@HE1PR06MB4011.eurprd06.prod.outlook.com \
    --to=jonas@kwiboo.se \
    --cc=boris.brezillon@collabora.com \
    --cc=ezequiel@collabora.com \
    --cc=fbuergisser@chromium.org \
    --cc=hverkuil@xs4all.nl \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=mchehab+samsung@kernel.org \
    --cc=p.zabel@pengutronix.de \
    --cc=tfiga@chromium.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).