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=-8.3 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham 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 665A0C433DF for ; Thu, 4 Jun 2020 09:02:48 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 332B6206C3 for ; Thu, 4 Jun 2020 09:02:48 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="p1RLJkFH" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728428AbgFDJCr (ORCPT ); Thu, 4 Jun 2020 05:02:47 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59254 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728089AbgFDJCq (ORCPT ); Thu, 4 Jun 2020 05:02:46 -0400 Received: from mail-ej1-x642.google.com (mail-ej1-x642.google.com [IPv6:2a00:1450:4864:20::642]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 97EF0C03E96E for ; Thu, 4 Jun 2020 02:02:46 -0700 (PDT) Received: by mail-ej1-x642.google.com with SMTP id y13so5243362eju.2 for ; Thu, 04 Jun 2020 02:02:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=subject:from:to:cc:references:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=hHof+p3C9Md136JQ7k0tl8hMmspaaFCEsQhKQBHmNxA=; b=p1RLJkFHX+/HAaWtEy3jwsTfPtsNiJliZpFxTrV1XyeKjW6c+81N5TFAVnh6b9eAUz 1jWiOzZBl9rVUsnqfcwlgM80fjmLjwZLhpOMjlH8Xwr+lIx4p8FvCKMk7EMGSiBE1ZTu A/1zi/2qERY0KAaorMMvNhuDbklge4kwZ1/mrDweImSwz9dFh9KTjtNMJh7UlIicpjhm G7viBE1GVTYYXxOz5KFnKImb03jUw45EXUrtQwO18cQ7C70e+BiXsjBXL065BXKh8mhs 7Qu51pm3knq8tG30mIZjKZtSMOMGlGYqIxd9WeAdOYJN2qShg9dZ0QETGacpX92pOqQG g6kg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:from:to:cc:references:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=hHof+p3C9Md136JQ7k0tl8hMmspaaFCEsQhKQBHmNxA=; b=G507xFkhaHcvmljn6xglvRbaptXE5LaSKLoONx6ibchl91eg12xnaHgdA7XK/RLRY3 g6+KTF6RnoAN/p5Wkoc8eIbci0TCrxnFm3zf3gHXcBJM7EYQEDzYsMskFGuyljRLirgI qUy4KfiELzyA4z89mXMQx5XJDLCo5Wenj6pjO6DQ8qqmg6TTFDpHLT/nlRS3c4O6IghG fgb2tJtQ8xtQzxeWgLBlgESwjzg4CFz6prZB2xGuCHrzrFwnG9Tm1B6Swh/gNcY+PP7r MEb1iPzw7yw4Pd7fKuLOhKBkeRwUM1LOvUK4ca1/lFDP7XOaaIDSB+pYMeGswH5omSx/ nyog== X-Gm-Message-State: AOAM533bAk3lvTk543xEx5ZWCSjtR/iMhsL8Tb1g3MiX8rPo+f8ymVf7 l8SmyASX5liWuszJM1/YxZCUw+tUq1Socw== X-Google-Smtp-Source: ABdhPJw5awrswXBB9T1X5H66YVQsV9+7Luv3jbVtzXFoUYhvXcs3GavJwgAMyZ94YIO/oW7JPztvmQ== X-Received: by 2002:a17:906:69d1:: with SMTP id g17mr2840858ejs.521.1591261365181; Thu, 04 Jun 2020 02:02:45 -0700 (PDT) Received: from [192.168.1.4] (212-5-158-209.ip.btc-net.bg. [212.5.158.209]) by smtp.googlemail.com with ESMTPSA id gt26sm1592670ejb.107.2020.06.04.02.02.43 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 04 Jun 2020 02:02:44 -0700 (PDT) Subject: Re: [PATCH] v4l2-ctrl: add control for thumnails From: Stanimir Varbanov To: Hans Verkuil , linux-media@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Philipp Zabel , Ezequiel Garcia , Paul Kocialkowski , Nicolas Dufresne , Tomasz Figa References: <20200526085446.30956-1-stanimir.varbanov@linaro.org> <65ac9697-a43f-7025-e6fe-69c4a44c6d9a@xs4all.nl> Message-ID: Date: Thu, 4 Jun 2020 12:02:42 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Hans, On 5/27/20 12:53 AM, Stanimir Varbanov wrote: > Hi Hans, > > On 5/26/20 3:04 PM, Hans Verkuil wrote: >> On 26/05/2020 10:54, Stanimir Varbanov wrote: >>> Add v4l2 control for decoder thumbnail. >>> >>> Signed-off-by: Stanimir Varbanov >>> --- >>> Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst | 7 +++++++ >>> drivers/media/v4l2-core/v4l2-ctrls.c | 2 ++ >>> include/uapi/linux/v4l2-controls.h | 2 ++ >>> 3 files changed, 11 insertions(+) >>> >>> diff --git a/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst b/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst >>> index d0d506a444b1..e838e410651b 100644 >>> --- a/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst >>> +++ b/Documentation/userspace-api/media/v4l/ext-ctrls-codec.rst >>> @@ -3726,6 +3726,13 @@ enum v4l2_mpeg_video_hevc_size_of_length_field - >>> disables generating SPS and PPS at every IDR. Setting it to one enables >>> generating SPS and PPS at every IDR. >>> >>> +``V4L2_CID_MPEG_VIDEO_DECODER_THUMBNAIL (button)`` >>> + Instructs the decoder to produce immediate output. The decoder should >>> + consume first input buffer for progressive stream (or first two buffers >>> + for interlace). Decoder should not allocate more output buffers that it >>> + is required to consume one input frame. Usually the decoder input >>> + buffers will contain only I/IDR frames but it is not mandatory. >> >> This is very vague. It doesn't explain why the control is called 'THUMBNAIL', >> but more importantly it doesn't explain how this relates to normal decoding. > > If in the normal decode the capture queue buffers are 5, in the > thumbnail mode the number of buffers will be only 1 (if the bitstream is > progressive) and this will guarantee low memory usage. The other > difference is that the decoder will produce decoded frames (without > errors) only for I/IDR (sync frames). > >> >> I.e. if you are decoding and 'press' this control, what happens then? > > Might be the button type wasn't great idea. In fact the control should > be set before streamon so that the driver returns min_capture_bufs 1. > >> >> What exactly is the use-case? > > It could be used to generate thumbnails of all video clips in a folder > or when you open a Gallery application on your phone. > What is your opinion on that control? I could consider to make it Venus custom control but from the use-case it looks other drivers also can benefit of it. I tried to make more generic one [1] but it looks it will be too difficult. -- regards, Stan [1] https://www.spinics.net/lists/linux-media/msg167794.html