From patchwork Thu Jun 4 18:57:42 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Jernej_=C5=A0krabec?= X-Patchwork-Id: 11588251 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 2719F1392 for ; Thu, 4 Jun 2020 18:55:30 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id F25262063A for ; Thu, 4 Jun 2020 18:55:29 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="owEWuUoJ" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org F25262063A Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=siol.net Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:To :From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=zt2vOts3Sw4giLa6AXIS+VsipniBRui+52Rfd8h0mfE=; b=owEWuUoJvDpezZ /GRV2BsLDXO053jhIwzPM10vFFj3iWoNGAhCveDv99Yl22CxCOCcXa01gV+9VB+f1nJcbxJK6iEot 1NTIufy1vuiyhZrJQ741DHsca4+sVMI31EvGerODCl58ZO4/gJ2/88OfPhOPSd5hGMA/XYiZeRHLU RU9WDdEAi8Iev8ErJ3TAF6tMLA1gKrm6T2NJs8saFpVafUdmxp4wS8IJCF3RASAA+DtRW8eeI4Iyu GOMM+YicmZYiVacJyzIUH6lyYEy1h1YNQRetBc+Pxc+1YTemhFTCfXanlOlIi3N/DKV0hzvAjT0J9 mpzPFsvjiR7tEeDlUjHg==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jgv1R-0007Pi-KK; Thu, 04 Jun 2020 18:55:25 +0000 Received: from mailoutvs58.siol.net ([185.57.226.249] helo=mail.siol.net) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jgv1O-0007NT-DV for linux-arm-kernel@lists.infradead.org; Thu, 04 Jun 2020 18:55:24 +0000 Received: from localhost (localhost [127.0.0.1]) by mail.siol.net (Postfix) with ESMTP id 74C5F5204BB; Thu, 4 Jun 2020 20:55:13 +0200 (CEST) X-Virus-Scanned: amavisd-new at psrvmta10.zcs-production.pri Received: from mail.siol.net ([127.0.0.1]) by localhost (psrvmta10.zcs-production.pri [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id 69uBF3PPSFrh; Thu, 4 Jun 2020 20:55:13 +0200 (CEST) Received: from mail.siol.net (localhost [127.0.0.1]) by mail.siol.net (Postfix) with ESMTPS id 0DE0952112F; Thu, 4 Jun 2020 20:55:13 +0200 (CEST) Received: from kista.localdomain (cpe-194-152-20-232.static.triera.net [194.152.20.232]) (Authenticated sender: 031275009) by mail.siol.net (Postfix) with ESMTPSA id 5224F5204BB; Thu, 4 Jun 2020 20:55:08 +0200 (CEST) From: Jernej Skrabec To: paul.kocialkowski@bootlin.com, mripard@kernel.org Subject: [PATCH 0/3] media: uapi: cedrus: Fix decoding interlaced H264 content Date: Thu, 4 Jun 2020 20:57:42 +0200 Message-Id: <20200604185745.23568-1-jernej.skrabec@siol.net> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200604_115522_613890_BBF47505 X-CRM114-Status: UNSURE ( 6.73 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -0.7 (/) X-Spam-Report: SpamAssassin version 3.4.4 on bombadil.infradead.org summary: Content analysis details: (-0.7 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at https://www.dnswl.org/, low trust [185.57.226.249 listed in list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devel@driverdev.osuosl.org, jonas@kwiboo.se, gregkh@linuxfoundation.org, linux-kernel@vger.kernel.org, nicolas@ndufresne.ca, wens@csie.org, hverkuil-cisco@xs4all.nl, mchehab@kernel.org, linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org Currently H264 interlaced content it's not properly decoded on Cedrus. There are two reasons for this: 1. slice parameters control doesn't provide enough information 2. bug in frame list construction in Cedrus driver As described in commit message in patch 1, references stored in reference lists should tell if reference targets top or bottom field. However, this information is currently not provided. Patch 1 adds it in form of flags which are set for each reference. Patch 2 then uses those flags in Cedrus driver. Frame list construction is fixed in patch 3. This solution was extensively tested using Kodi on LibreELEC with A64, H3, H5 and H6 SoCs in slightly different form (flags were transmitted in MSB bits in index). Note: I'm not 100% sure if flags for both, top and bottom fields are needed. Any input here would be welcome. Please take a look. Best regards, Jernej Jernej Skrabec (3): media: uapi: h264: update reference lists media: cedrus: h264: Properly configure reference field media: cedrus: h264: Fix frame list construction .../media/v4l/ext-ctrls-codec.rst | 40 ++++++++++++++++++- .../staging/media/sunxi/cedrus/cedrus_h264.c | 27 +++++++------ include/media/h264-ctrls.h | 12 +++++- 3 files changed, 62 insertions(+), 17 deletions(-)