Received: by 2002:a25:683:0:0:0:0:0 with SMTP id 125csp1616828ybg; Thu, 4 Jun 2020 14:34:05 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw/fbuiWVRobnQ92xBW4GZAJn6EmB66FHZcjSoPb9xBKuxCRubuGGzvj+oMukKCWnLcG9d8 X-Received: by 2002:a17:906:11d9:: with SMTP id o25mr5444487eja.377.1591306444882; Thu, 04 Jun 2020 14:34:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1591306444; cv=none; d=google.com; s=arc-20160816; b=ZZlSCPDT+CDrLfm7rWq+c4F4eJkKSXmOFGZHMcuY+RUKW41R8xRJGDelxNX5o6FEo7 Q35F0RFCeXV4k/kUw1Z96U2Ut8+8Ufqx3BO1jF/+StdSea6u6kMWUR3cMQKeG/Wie3wo XOC/AoaEXGkM3ezEyxVjaAvI8C3VxdlAb5RBpVadL6F9IYLYUtnUO3iPDbv8UOlXO7NX HnCwgLNWknD95ow/lFJSDJK9kRZZEq7NdJx4SvNbcd8EpKAZeX26/S+T4okgrbQM1Shm McRavFzQBdm0nI8syoZ3lJoc19NpbgZHQZecyZESu4E3+XZDbbbjbmy0WdMmbHCxW5dO 0n2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=tEnNZ6Qo1ERwmhIQx7R3cHkpX+Exdxpi60XnDA8Y6to=; b=DfdQjWAQRTD5MvfrigPXTWhCUaB1HnfU9mGQaWmDZMg/9JtZ3xeIo2ZJlR88XkgZhr 3oXUhABkiQ2E8ZKq2DIuGnx1BSmj/LxBnHTOKUVjw8C8+ewhJdWuIHcMg+O8k2Q99X0F Cfr2/RTKWXszXyZvq24XDjes+DZYKOvvZRZl3YlC1PRKejV/sDXkBu9G9a9mSb/YpQ2d 7JuUUarmwP57nknzI8tQvECpQia61XjREi4Febkr08QCwYXxkmMmNA+wQqP+LkJ9vbaK OBlB98KtnXSzzyBJQnxXB6/3Ka4WpfLSy1yk3tbKiqCJa0d8noDQq6TcglV6lTVnxD4C YFvw== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=siol.net Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id qx4si2288659ejb.176.2020.06.04.14.33.40; Thu, 04 Jun 2020 14:34:04 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=siol.net Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729112AbgFDSzR (ORCPT + 99 others); Thu, 4 Jun 2020 14:55:17 -0400 Received: from mailoutvs56.siol.net ([185.57.226.247]:52635 "EHLO mail.siol.net" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728476AbgFDSzQ (ORCPT ); Thu, 4 Jun 2020 14:55:16 -0400 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 Cc: mchehab@kernel.org, wens@csie.org, hverkuil-cisco@xs4all.nl, gregkh@linuxfoundation.org, jonas@kwiboo.se, nicolas@ndufresne.ca, linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, devel@driverdev.osuosl.org, linux-arm-kernel@lists.infradead.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 Content-Transfer-Encoding: quoted-printable Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.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(-) --=20 2.27.0