Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp2105692pxf; Sat, 3 Apr 2021 11:09:26 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxaWfLbgOsVzbn4cNRt4mWH5EaaS5jTtOPb7L2pQKjRPmhKwho0B18ahf86PTvbU3SeZExk X-Received: by 2002:a02:ca50:: with SMTP id i16mr17729251jal.5.1617473366164; Sat, 03 Apr 2021 11:09:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617473366; cv=none; d=google.com; s=arc-20160816; b=S9qp0dzYGgkaAmL65gRmv0NWbUTPbbigaO4STma9X6UOX5WB5ulcXlhPcDX1s/F+RA B2TNhMmuCeWp2XAB4Jrnul74KqgUWTYby21ygWn6qnwLHqKMLpsi8YFNZyNn08wHyXAy Snk36dhQ428xUhTIv5uyuemOulyP16XNC1jB25yxqOfDoOeSBgjdILC1Ips1o9U8IRbk iU5NXrvfo+HRI8Te3TaZao0VMHhibg2ss1AZTJE3WlYBvwSpYO0RwopkNssrlwT+5QZO HqdVSctI4WkjQ+gT7EWMYV9A+UrmS+nZD+ge43GT+67Qvf/Qy4hB5JPyFS54DQZLFx7g wWkg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=QwtqpBYj4Ete6qPvvOmk4xJZvpmJYFeQBcFAJ3bDpDU=; b=DVJKvBB6kRH4ksHOLZXmT6jXmrseiyzJo9c+La3SoBwA4VamuMGOu3dKZhZdQjZx5M XhC+t/JAg9efjM1/EzvK294cApCHZFu5u2jlpW65uksMIUJ3JpeclH1H1SxbJc/aGdVQ 6V8wafrUfYPmEwS01I8tNClLmEAO4YsKmj5ANpoAE5BOSulJbwwtcDmbPMBNo7cS+NsY 71i4N8eDM8pm3n+f0gxrTjmeP6j6LdO7lWeot2X0g7vDcuWGAFHiFGcyEOI/8SFNKwh7 Y1FMa2gpV7tl6O8Q94NWvCji9650pZ9CGCR2heKybp30QGakZYY750ZsocYBoYAWZdao VhcA== 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=collabora.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id x14si11956645jat.96.2021.04.03.11.09.02; Sat, 03 Apr 2021 11:09:26 -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=collabora.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236397AbhDCSIM (ORCPT + 99 others); Sat, 3 Apr 2021 14:08:12 -0400 Received: from bhuna.collabora.co.uk ([46.235.227.227]:42266 "EHLO bhuna.collabora.co.uk" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230516AbhDCSIL (ORCPT ); Sat, 3 Apr 2021 14:08:11 -0400 Received: from [127.0.0.1] (localhost [127.0.0.1]) (Authenticated sender: ezequiel) with ESMTPSA id 8B7111F4580D From: Ezequiel Garcia To: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org Cc: kernel@collabora.com, Jonas Karlman , Hans Verkuil , Nicolas Dufresne , Philipp Zabel , Maxime Ripard , Paul Kocialkowski , Jernej Skrabec , Daniel Almeida , Ezequiel Garcia Subject: [PATCH v5 00/10] MPEG-2 stateless API cleanup and destaging Date: Sat, 3 Apr 2021 15:07:46 -0300 Message-Id: <20210403180756.175881-1-ezequiel@collabora.com> X-Mailer: git-send-email 2.30.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi everyone, Over the last few weeks Daniel Almeida and Nicolas Dufresne have been working on GStreamer v4l2codecs support for stateless MPEG-2 decoding. This allowed us to re-review the MPEG-2 specification and re-discuss the API with some additional insight. The API now looks quite cleaner, and hopefully ready for destaging. This series is mostly thanks to Daniel and Nicolas! Patches 1 to 7 cleanup the API, and patches 8 to 10 move it out of staging. This is tested on i.MX8M and RK3399 platforms, using GStreamer v4l2codecs, which will be upstream very soon. v5: * Rename "quantization" to "quantisation", so the terminology matches the MPEG-2 specification. This is the only change in v5, compared to v4. v4: * Rework and clarify quantization matrices control semantics. * Move reference buffer fields to the picture parameter control. * Remove slice parameters control. This can be added back in the future if needed, but for now it's not used. See patch 6/9 for details. * Destage the API. v3: * No API changes, just minor boilerplate fixes for the new controls to be properly exposed, initialized and validated. v2: * Fixed bad use of boolean negation in a flag, which was fortunately reported by 0day bot. Ezequiel Garcia (10): media: uapi: mpeg2: Rename "quantization" to "quantisation" media: uapi: mpeg2: rework quantisation matrices semantics media: uapi: mpeg2: Cleanup flags media: uapi: mpeg2: Split sequence and picture parameters media: uapi: mpeg2: Move reference buffer fields media: hantro/cedrus: Remove unneeded slice size and slice offset media: uapi: mpeg2: Remove V4L2_CID_MPEG_VIDEO_MPEG2_SLICE_PARAMS media: controls: Log MPEG-2 stateless control in .std_log media: uapi: Move the MPEG-2 stateless control type out of staging media: uapi: move MPEG-2 stateless controls out of staging .../media/v4l/ext-ctrls-codec-stateless.rst | 218 +++++ .../media/v4l/ext-ctrls-codec.rst | 217 ----- .../media/v4l/pixfmt-compressed.rst | 11 +- .../media/v4l/vidioc-g-ext-ctrls.rst | 12 + .../media/v4l/vidioc-queryctrl.rst | 18 +- .../media/videodev2.h.rst.exceptions | 5 +- drivers/media/v4l2-core/v4l2-async-core.c | 880 ++++++++++++++++++ drivers/media/v4l2-core/v4l2-ctrls.c | 118 ++- drivers/staging/media/hantro/hantro_drv.c | 9 +- .../media/hantro/hantro_g1_mpeg2_dec.c | 110 +-- drivers/staging/media/hantro/hantro_hw.h | 2 +- drivers/staging/media/hantro/hantro_mpeg2.c | 2 +- .../media/hantro/rk3399_vpu_hw_mpeg2_dec.c | 106 +-- drivers/staging/media/sunxi/cedrus/cedrus.c | 10 +- drivers/staging/media/sunxi/cedrus/cedrus.h | 5 +- .../staging/media/sunxi/cedrus/cedrus_dec.c | 10 +- .../staging/media/sunxi/cedrus/cedrus_mpeg2.c | 97 +- include/media/mpeg2-ctrls.h | 82 -- include/media/v4l2-ctrls.h | 11 +- include/uapi/linux/v4l2-controls.h | 114 +++ include/uapi/linux/videodev2.h | 7 + 21 files changed, 1492 insertions(+), 552 deletions(-) create mode 100644 drivers/media/v4l2-core/v4l2-async-core.c delete mode 100644 include/media/mpeg2-ctrls.h -- 2.30.0