From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0DCE1C0650E for ; Wed, 3 Jul 2019 12:28:56 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id E12AF218A3 for ; Wed, 3 Jul 2019 12:28:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726430AbfGCM2z (ORCPT ); Wed, 3 Jul 2019 08:28:55 -0400 Received: from bhuna.collabora.co.uk ([46.235.227.227]:38558 "EHLO bhuna.collabora.co.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725830AbfGCM2y (ORCPT ); Wed, 3 Jul 2019 08:28:54 -0400 Received: from localhost.localdomain (unknown [IPv6:2a01:e0a:2c:6930:5cf4:84a1:2763:fe0d]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: bbrezillon) by bhuna.collabora.co.uk (Postfix) with ESMTPSA id 414D4289A21; Wed, 3 Jul 2019 13:28:53 +0100 (BST) From: Boris Brezillon To: Mauro Carvalho Chehab , Hans Verkuil , Laurent Pinchart , Sakari Ailus , linux-media@vger.kernel.org Cc: Tomasz Figa , Nicolas Dufresne , kernel@collabora.com, Paul Kocialkowski , Maxime Ripard , Ezequiel Garcia , Jonas Karlman , Jernej Skrabec , Alexandre Courbot , Thierry Reding , Boris Brezillon Subject: [PATCH v3 0/3] media: uapi: h264: First batch of adjusments Date: Wed, 3 Jul 2019 14:28:46 +0200 Message-Id: <20190703122849.6316-1-boris.brezillon@collabora.com> X-Mailer: git-send-email 2.21.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org Hello, This is a first batch of adjustments to the stateless H264 decoder uAPI. The first one is about adding support for per-frame decoding, which is the only mode supported on some codecs (the hantro G1 block supports per-slice decoding but not in an way that would allow efficient multiplexing of several decoding contexts). The second modification drops the P0/B0/B1 ref lists from the decode_params control. These lists are no longer needed now that we know we can build them kernel side based on the DPB. There are few more changes in the pipe, but I'd like to sync with Paul, Jonas, Jernej and Nicolas before modifying: * Enforce order of the scaling list (looks like the rockchip and cedrus have different expectations) * Pass top/bottom field info as flags in the DPB entry: the field attached to the capture buffer is not accurate as capture bufs might contain both top/bottom (meaning they are actually interlaced), but a coded frame might contain only one of these fields. Note that there's also a problem with the output -> capture field flag propagation we have in copy_metadata() because a coded slice might contain only data for top or bottom, but the capture frame might contain both. Doing capture->field = output->field means we're lying about what's inside the capture buffer (not sure we have implementation checking that) * s/dpb/refs/: looks like we're abusing the term DPB which is supposed to be implementation specific. What's provided by the bitstream is a list of references that will be used to decode a frame * ... (add your own) Feel free to comment on these changes and/or propose alternatives. Regards, Boris Changes in v3: * s/per-{slice,frame}/{slice,frame}-based/ decoding * Add Paul's R-b on patch 1 and 2 Changes in v2: * Allow decoding multiple slices in per-slice decoding mode * Minor doc improvements/fixes Boris Brezillon (3): media: uapi: h264: Clarify our expectations regarding NAL header format media: uapi: h264: Add the concept of decoding mode media: uapi: h264: Get rid of the p0/b0/b1 ref-lists .../media/uapi/v4l/ext-ctrls-codec.rst | 57 +++++++++++++++---- drivers/media/v4l2-core/v4l2-ctrls.c | 9 +++ include/media/h264-ctrls.h | 13 +++++ 3 files changed, 69 insertions(+), 10 deletions(-) -- 2.21.0