From patchwork Sat Oct 26 07:49:56 2019 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: 11213409 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 6577F14E5 for ; Sat, 26 Oct 2019 07:50:26 +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 38D7621D81 for ; Sat, 26 Oct 2019 07:50:26 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="rX9mCHou" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 38D7621D81 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=DeZKJhfmn8CiDGcUkWNMj0h/hvMIWTDweV3CPzVqV+c=; b=rX9mCHoubk3XNW a2c+bEhZlZdMOaT3QdNMxG/Wex2e3FOklg9/K1ccMMmuohQZ9a7T7Az55j10tv4/KdfN5OLhFdL9+ UKrmuDkglYfga/UIWfXQ9Ox3YfwsKSbXY1Sjr8F24FvmmmzNC1JmCIgWFzzStZk2QJt8Cxn7T33oF z2a8Zh7YpgEG9KBPCYGTCBB+8tbQpDXS6Z22gvcuIsY/WnX4mIhOoOO2nGSIU1DmQVoIZX74G4pv1 hVqBaruSiekrHbkBJPVmSK11DUgtnUeqfplIZsncALiJD7Cmt6Oz4ZMt+CzoFF6Ra3KHUFiZOQiLe SUVAqLe2Vb3BqnORzagw==; 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 1iOGq8-0004OG-6B; Sat, 26 Oct 2019 07:50:24 +0000 Received: from mailoutvs51.siol.net ([185.57.226.242] helo=mail.siol.net) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1iOGq5-0004ND-00 for linux-arm-kernel@lists.infradead.org; Sat, 26 Oct 2019 07:50:23 +0000 Received: from localhost (localhost [127.0.0.1]) by mail.siol.net (Postfix) with ESMTP id 3165A521C51; Sat, 26 Oct 2019 09:50:17 +0200 (CEST) X-Virus-Scanned: amavisd-new at psrvmta09.zcs-production.pri Received: from mail.siol.net ([127.0.0.1]) by localhost (psrvmta09.zcs-production.pri [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id GGY99NcpPuBy; Sat, 26 Oct 2019 09:50:16 +0200 (CEST) Received: from mail.siol.net (localhost [127.0.0.1]) by mail.siol.net (Postfix) with ESMTPS id D4D8D521CAF; Sat, 26 Oct 2019 09:50:16 +0200 (CEST) Received: from localhost.localdomain (cpe-86-58-59-25.static.triera.net [86.58.59.25]) (Authenticated sender: 031275009) by mail.siol.net (Postfix) with ESMTPSA id 6928B521C52; Sat, 26 Oct 2019 09:50:16 +0200 (CEST) From: Jernej Skrabec To: mripard@kernel.org, paul.kocialkowski@bootlin.com Subject: [PATCH 0/3] media: cedrus: Add support for 4k videos Date: Sat, 26 Oct 2019 09:49:56 +0200 Message-Id: <20191026074959.1073512-1-jernej.skrabec@siol.net> X-Mailer: git-send-email 2.23.0 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20191026_005021_197918_EF0BC8EA X-CRM114-Status: UNSURE ( 8.99 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -0.7 (/) X-Spam-Report: SpamAssassin version 3.4.2 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.242 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, gregkh@linuxfoundation.org, linux-sunxi@googlegroups.com, linux-kernel@vger.kernel.org, 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 While cedrus driver accepts videos up to 3840x2160, they are not decoded correctly. Driver doesn't correctly set mode register for widths greater than 2048 (patch 1). H264 engine also needs additional buffers which are not provided currently (patch 2). Finally, there are several different resolutions which can be considered 4k. Biggest is 4096x2304 which is also supported by HW. Set that new maximum size (patch 3). HEVC engine was not yet tested with 4k video, but as far as I know, it doesn't need any special setting besides patch 1. Following video was used for H264 video testing: http://jernej.libreelec.tv/videos/h264/PUPPIES%20BATH%20IN%204K%20(ULTRA%20HD)(Original_H.264-AAC)%20(4ksamples.com).mp4 Note that at this point memory allocation is suboptimal and H264 engine allocates far more memory that it is really needed. For above video to work, I had to set CMA size to 512 MiB and add "vmalloc=512M" to kernel arguments. Memory optimizations will be done later. This series is based on top of https://patchwork.linuxtv.org/cover/59653/ Best regards, Jernej Jernej Skrabec (3): media: cedrus: Properly signal size in mode register media: cedrus: Fix H264 4k support media: cedrus: Increase maximum supported size drivers/staging/media/sunxi/cedrus/cedrus.h | 7 ++ .../staging/media/sunxi/cedrus/cedrus_h264.c | 85 +++++++++++++++++-- .../staging/media/sunxi/cedrus/cedrus_h265.c | 2 +- .../staging/media/sunxi/cedrus/cedrus_hw.c | 9 +- .../staging/media/sunxi/cedrus/cedrus_hw.h | 2 +- .../staging/media/sunxi/cedrus/cedrus_mpeg2.c | 2 +- .../staging/media/sunxi/cedrus/cedrus_regs.h | 13 +++ .../staging/media/sunxi/cedrus/cedrus_video.c | 4 +- 8 files changed, 108 insertions(+), 16 deletions(-)