Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp393619imm; Wed, 22 Aug 2018 06:08:47 -0700 (PDT) X-Google-Smtp-Source: AA+uWPx5R/BWHbhR1bfKGuAFEdZ/YmlFAmrt2Ni0PFz6XEqF1a4HXOjeR1igWgVEBwitg+gOBeJB X-Received: by 2002:a63:fe02:: with SMTP id p2-v6mr22173919pgh.148.1534943327349; Wed, 22 Aug 2018 06:08:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1534943327; cv=none; d=google.com; s=arc-20160816; b=cWEOi4yX1YccN6K3GTZucu1Dl8HnBnUMQKCTnbkfu8UG0ltX0tP8vRc/bpuKSciKnN RK0jrhIdNvWxNgcW0gY7seIFuRBBBcsuoZX3TNsNCKyJ2/aD+JRLSHnBC86DDcwxG+pg xbBaVRKUuU8/0no5S9+O+Mquon3umBeUwMkLMAX30wBVFt4ColDJ/172eHfLSG+nPJF5 7S0Vs4cCYDZ0+Qo+pshfGoYRc/xjnmp3nWzlItNy6xsDF0bj0siZaq4blKcLTAJUIm+R Ahm1U/3hw62fadXtt8u8khZARQu4lNWHUBEW/qREm4XMHJuK+/+wmZJq7w8IqxEv2vK7 FlUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:organization:references :in-reply-to:date:cc:to:from:subject:message-id :arc-authentication-results; bh=bgc31xlwPyIIXC4yD+jR9R5FWc6CItGjHRQj2b+ETgc=; b=TqN+oVHexRf9MwZCGZ43yPrpir4G+2so+/QNQGZZkGGpiWGyLlpAE38hma5O4WKY9E nRhPB1nVbiUW+Ogfxyk9+DdeT9IvF5B/cvHtMPYjr+2sa8JiAjnbowxvMxI4Ulb6fY1z 1X9eKC4X8lAHQAk1PXHP1GYZuQ//A/3XY1t6P+mM5X1Cqfi+7jNY5SICe5vX3oFdemQY BZdZb/mx0L6hRvYJmPdOBoc1SsuL1buSaWU3MV7d1IARopYZ86VrM+kFUzO0mJNOJCMR JjW9iLIB6FdM198eN1rDqyU3wuvJ4vkVI1US5ViDH/+5Oq7AlYGbFFtMFRHQQUwsA4VF laGA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id g2-v6si1550105plq.242.2018.08.22.06.08.25; Wed, 22 Aug 2018 06:08:47 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728918AbeHVQcE (ORCPT + 99 others); Wed, 22 Aug 2018 12:32:04 -0400 Received: from mail.bootlin.com ([62.4.15.54]:40494 "EHLO mail.bootlin.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728151AbeHVQcE (ORCPT ); Wed, 22 Aug 2018 12:32:04 -0400 Received: by mail.bootlin.com (Postfix, from userid 110) id 8050F20730; Wed, 22 Aug 2018 15:07:10 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on mail.bootlin.com X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED,SHORTCIRCUIT, URIBL_BLOCKED shortcircuit=ham autolearn=disabled version=3.4.0 Received: from aptenodytes (AAubervilliers-681-1-85-9.w90-88.abo.wanadoo.fr [90.88.27.9]) by mail.bootlin.com (Postfix) with ESMTPSA id 1C8F2203EC; Wed, 22 Aug 2018 15:07:00 +0200 (CEST) Message-ID: <53987ca7a536a21b2eb49626d777a9bf894d6910.camel@bootlin.com> Subject: Re: [PATCH 1/9] CHROMIUM: v4l: Add H264 low-level decoder API compound controls. From: Paul Kocialkowski To: Nicolas Dufresne , Ezequiel Garcia , Maxime Ripard , tfiga@chromium.org, posciak@chromium.org, hans.verkuil@cisco.com, acourbot@chromium.org, sakari.ailus@linux.intel.com, Laurent Pinchart Cc: Chen-Yu Tsai , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org, jenskuske@gmail.com, linux-sunxi@googlegroups.com, Thomas Petazzoni , Guenter Roeck Date: Wed, 22 Aug 2018 15:07:00 +0200 In-Reply-To: References: <20180613140714.1686-1-maxime.ripard@bootlin.com> <20180613140714.1686-2-maxime.ripard@bootlin.com> <80e1d9cb49c6df06843e49332685f2b401023292.camel@collabora.com> Organization: Bootlin Content-Type: multipart/signed; micalg="pgp-sha256"; protocol="application/pgp-signature"; boundary="=-A2FPvdq+CdJ6c1wLZbuM" X-Mailer: Evolution 3.28.4 Mime-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --=-A2FPvdq+CdJ6c1wLZbuM Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi, On Tue, 2018-08-21 at 13:07 -0400, Nicolas Dufresne wrote: > Le mardi 21 ao=C3=BBt 2018 =C3=A0 13:58 -0300, Ezequiel Garcia a =C3=A9cr= it : > > On Wed, 2018-06-13 at 16:07 +0200, Maxime Ripard wrote: > > > From: Pawel Osciak > > >=20 > > > Signed-off-by: Pawel Osciak > > > Reviewed-by: Wu-cheng Li > > > Tested-by: Tomasz Figa > > > [rebase44(groeck): include linux/types.h in v4l2-controls.h] > > > Signed-off-by: Guenter Roeck > > > Signed-off-by: Maxime Ripard > > > --- > > >=20 > >=20 > > [..] > > > diff --git a/include/uapi/linux/videodev2.h > > > b/include/uapi/linux/videodev2.h > > > index 242a6bfa1440..4b4a1b25a0db 100644 > > > --- a/include/uapi/linux/videodev2.h > > > +++ b/include/uapi/linux/videodev2.h > > > @@ -626,6 +626,7 @@ struct v4l2_pix_format { > > > #define V4L2_PIX_FMT_H264 v4l2_fourcc('H', '2', '6', '4') /* > > > H264 with start codes */ > > > #define V4L2_PIX_FMT_H264_NO_SC v4l2_fourcc('A', 'V', 'C', '1') /* > > > H264 without start codes */ > > > #define V4L2_PIX_FMT_H264_MVC v4l2_fourcc('M', '2', '6', '4') /* > > > H264 MVC */ > > > +#define V4L2_PIX_FMT_H264_SLICE v4l2_fourcc('S', '2', '6', '4') /* > > > H264 parsed slices */ > >=20 > > As pointed out by Tomasz, the Rockchip VPU driver expects start codes > > [1], so the userspace > > should be aware of it. Perhaps we could document this pixel format > > better as: > >=20 > > #define V4L2_PIX_FMT_H264_SLICE v4l2_fourcc('S', '2', '6', '4') /* > > H264 parsed slices with start codes */ > >=20 > > And introduce another pixel format: > >=20 > > #define V4L2_PIX_FMT_H264_SLICE_NO_SC v4l2_fourcc(TODO) /* H264 > > parsed slices without start codes */ > >=20 > > For cedrus to use, as it seems it doesn't need start codes. >=20 > I must admit that this RK requirement is a bit weird for slice data. > Though, userspace wise, always adding start-code would be compatible, > as the driver can just offset to remove it. This would mean that the stateless API no longer takes parsed bitstream data but effectively the full bitstream, which defeats the purpose of the _SLICE pixel formats. > Another option, because I'm not fan of adding dedicated formats for > this, the RK driver could use data_offset (in mplane v4l2 buffers), > just write a start code there. I like this solution because I would not > be surprise if some drivers requires in fact an HW specific header, > that the driver can generate as needed. I like this idea, because it implies that the driver should deal with the specificities of the hardware, instead of making the blurrying the lines of stateless API for covering these cases. > >=20 > > How does it sound?=20 > >=20 > > [1]=20 > > https://cs.chromium.org/chromium/src/media/gpu/v4l2/v4l2_slice_video_de= code_accelerator.cc?rcl=3D63129434aeacf0f54bbae96814f10cf64e3e6c35&l=3D2438 --=20 Paul Kocialkowski, Bootlin (formerly Free Electrons) Embedded Linux and kernel engineering https://bootlin.com --=-A2FPvdq+CdJ6c1wLZbuM Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- iQEzBAABCAAdFiEEJZpWjZeIetVBefti3cLmz3+fv9EFAlt9X/QACgkQ3cLmz3+f v9HWTQf/VosR/T7wRR3U38EiPUbE69LToSesw1I3LNpuJQunMVr1kYONx8+lmjP9 O8Z91A8OIBlQ8MCFXJq/WnagK6e00sqzcSbbFnHQxRCXdBzGxB0iYI9hShJYXQCu uVKWMKkSFG/CN7NQ4rG6WT5+w56DlthVB/yuD2TO1veRCAvObXz3WeFp30UxIMT0 KZzzn08tHv4eH8Ib+vgog+QCANppc0QdTlVaDt2Tg8gNUM2bo4FH8GbvUdwaYIDW doRawf/Xa6PZhlBMDL6S0Z9Sci+3EHlN7oCjiAm/yy5Bq9Sdz2jTsdMEtAU2b71i E6NJ3g34PGG3uxgHehX4+8pRS/sLow== =VmnC -----END PGP SIGNATURE----- --=-A2FPvdq+CdJ6c1wLZbuM--