Received: by 2002:a05:6a10:a852:0:0:0:0 with SMTP id d18csp299700pxy; Fri, 30 Apr 2021 05:52:29 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxK++JEdKN+nu637HmNfyz36CoGo85OpwkisbbuI1IT3YlZBnty5Etud5R3NKszsl4XDNp8 X-Received: by 2002:a17:902:ed42:b029:ed:8e73:cbc6 with SMTP id y2-20020a170902ed42b02900ed8e73cbc6mr4917799plb.4.1619787149707; Fri, 30 Apr 2021 05:52:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1619787149; cv=none; d=google.com; s=arc-20160816; b=jj9slvRZ7oToryt7VSmc7NCi+AsvMTZVQqHku8/JtzY4cEeIYmN2+izsdW9hd85/YF 8dgTaHaAiDeh6QR2kOfuD+cl+4k5B2+a27wGYMf3Et09kumhHp6ZzafNN/VmfgFD0xCZ P3VsXd8dMe9A7OFXT+40fD2hUuXATgJ+UoGthBJ1gOhLfQFZ+1cx2UenaG6kapJ35SN6 hDJ4KjVsO0X3QfsTvoNGfFm6vSCWZZeXyvyoNrWZ0sWRMCthStipotA7IHBGCeS5qY9L NmujY41ErzeSyH3VezKaCIVgcMREcWWzoq9qoKAAds4IWiOOdchFtY3MryhyEwlBwyah Pn+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject:dkim-signature; bh=ugDzn/NtX/PmZREj6Rkj8Gg5kT0nb3atqQvHbdJQgZI=; b=ljhzoXwwwxHUeCNENZ3Jj+W8Soxj5ae1ER9pdtnMSv1wHlEK5G4uoIFk/uvH7aKVPU qsYzc9+7CSU2Ppt24Er2IHMgy3lZ0TaVEBuptCAPlt26jyzMoq5Z5Zh5fl8pwmOYpk56 bkNj9qs8hm4V3b8WO9PaQixQru0je5SivSrLBI79+WyoCpS2acjij3B6n0bIkC+fPUMJ TvaeA2WPxymPCa8MPWVNnw93Clh5WbW4sUzyULb7LO+QHxk8z6cZQP4twf/z0x0sYZNH CiAULpGgiyQY1pvlsYl62dBvcEBeUsvwPrBkrzV1fHYhx60SPqn/tMyFbj88VoS+4JhG ihew== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@xs4all.nl header.s=s2 header.b=uokLIf1A; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id c1si3152208pgw.461.2021.04.30.05.52.16; Fri, 30 Apr 2021 05:52:29 -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; dkim=pass header.i=@xs4all.nl header.s=s2 header.b=uokLIf1A; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232624AbhD3MuP (ORCPT + 99 others); Fri, 30 Apr 2021 08:50:15 -0400 Received: from lb2-smtp-cloud9.xs4all.net ([194.109.24.26]:50813 "EHLO lb2-smtp-cloud9.xs4all.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232816AbhD3Mty (ORCPT ); Fri, 30 Apr 2021 08:49:54 -0400 Received: from cust-b5b5937f ([IPv6:fc0c:c16d:66b8:757f:c639:739b:9d66:799d]) by smtp-cloud9.xs4all.net with ESMTPA id cSZolhrCsk1MGcSZrlSnzd; Fri, 30 Apr 2021 14:49:04 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xs4all.nl; s=s2; t=1619786944; bh=ugDzn/NtX/PmZREj6Rkj8Gg5kT0nb3atqQvHbdJQgZI=; h=Subject:To:From:Message-ID:Date:MIME-Version:Content-Type:From: Subject; b=uokLIf1AjhE4w3+tVfadvEP1mq2tgAAJ/iksE4sWEVXqgFdNgastNfWjw8joihnRE DAlwtJtJiO7ilDs9xHDVor54d6EQGTMA2kChN9xXnavLWmjie5qmYVA7P6RMDLYiUD dvhFZ6YVFRDuSM4BGg5qNuWYKNFojrnve4Jx1+CBvqcAZeAiZedDAqcLTbtkT0FyB6 v8eM88bY90RVxTsZviU7VuiQnuFADsR2KAr/9UL7lxIjGmgAfXtbOYlmas+KKY6n0T 8sIrZC7DbMHLfGwFNpG4dldpVWWqpIgxpYf1xIiK8XLA0RUdqB1vDaDFtFe6lbvQ/7 idEihsN4tZ4+w== Subject: Re: [PATCHv4 0/5] media: uvcvideo: implement UVC 1.5 ROI To: Sergey Senozhatsky , Laurent Pinchart , Ricardo Ribalda Cc: Tomasz Figa , Mauro Carvalho Chehab , linux-media@vger.kernel.org, linux-kernel@vger.kernel.org References: <20210430112611.475039-1-senozhatsky@chromium.org> From: Hans Verkuil Message-ID: <8a175117-d142-9265-65ee-43302bb82444@xs4all.nl> Date: Fri, 30 Apr 2021 14:49:00 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0 Thunderbird/78.9.0 MIME-Version: 1.0 In-Reply-To: <20210430112611.475039-1-senozhatsky@chromium.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-CMAE-Envelope: MS4xfHOXZGuOA7gowb6Ago+HvSxRHBtLtIqv6qnqRn7GqiU5fHp/d3oaRnbD1jL1vJH5+Us2LYWKNFVneWee2h4wutr9M6MHMXihuJ/pcf2HoHeL72XQfLZ8 jRDUlZ2N2VNtcS+SPyzC73iluVWOs2c5kfXg8Tk0dc440BOj5rYxZ93JugRrj83tAAHaQQ+cM0ECKI67tPtPXU5a/IdoB58KBhxkPMbIXtdbr3PxQ2MpPr+o lgMHFZNcDBhc8aar+ZvmdpPMtJgtyXimBa6J1kdK+PsdT/uppQ7U0vh/zDRgQywvBW6A6RyWJfUImAQMhJGQz75dTRYTDFf0wcJLFMtPRN4zJ/3gWrVwbu5g fTjTk5TLGnoPthC96ynoMdOZa8Nmw/ckF8/qKFmNNas1HXRxEJI00XiRJqCzncxbRlbnuJww Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Sergey, On 30/04/2021 13:26, Sergey Senozhatsky wrote: > Hello, > > This patch set implements UVC 1.5 ROI using v4l2_selection API. Is the selection API the right approach for this? Wouldn't it make sense to use controls instead? That would interface easily with the Request API allowing per-frame changes to the ROI, and with dynamic array controls (1) it allows you to provide multiple ROIs as well. The only missing piece would be MIN/MAX for compound controls, but that can easily be added to the control framework. If this was discussed before, then can you give a me pointer to that discussion? I couldn't find anything for that, but I didn't look very long for it :-) In any case, it doesn't really feel like it is the right API for this job. I really need to review this series when I have a bit more time :-( Regards, Hans (1) https://patchwork.linuxtv.org/project/linux-media/cover/20210428101841.696059-1-hverkuil-cisco@xs4all.nl/ > > v4: > -- split ROI rect selection API and auto-controls > -- handle very large ROI rectangles: limit to frame dimensions > > Sergey Senozhatsky (5): > media: v4l UAPI: add ROI selection targets > media: v4l UAPI: document ROI selection targets > media: uvcvideo: add ROI auto controls > media: v4l UAPI: document ROI auto_controls > media: uvcvideo: add UVC 1.5 ROI control > > .../media/v4l/ext-ctrls-camera.rst | 23 +++ > .../media/v4l/selection-api-configuration.rst | 22 +++ > .../media/v4l/selection-api-examples.rst | 27 +++ > .../media/v4l/v4l2-selection-targets.rst | 24 +++ > drivers/media/usb/uvc/uvc_ctrl.c | 19 ++ > drivers/media/usb/uvc/uvc_v4l2.c | 185 +++++++++++++++++- > include/uapi/linux/usb/video.h | 1 + > include/uapi/linux/v4l2-common.h | 8 + > include/uapi/linux/v4l2-controls.h | 9 + > 9 files changed, 315 insertions(+), 3 deletions(-) >