Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp1097601imu; Wed, 28 Nov 2018 04:41:09 -0800 (PST) X-Google-Smtp-Source: AFSGD/WIth/mfW8QwKTNub6HZQxlSxBmrX5yjN36zsNci4neGmE5lAdAc1bRDIcWvChlxDzfWPxP X-Received: by 2002:a62:6d47:: with SMTP id i68mr2968074pfc.185.1543408869661; Wed, 28 Nov 2018 04:41:09 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1543408869; cv=none; d=google.com; s=arc-20160816; b=L0KRzak1Mxc499VYtJoA5Wr2rVSi7+TG5kXH01j0h3Tfr8PDE51wxXf3LAaOSKLJQy HSfopR3j8P5TauAQ+KtPxxXnBL/YNeWyJlpyGLHijTmm5eegNfSquasHGWGlBdDZcXu9 kJyaqW524b+bT/rwZWaWfGiOy2BPyJ3J26edmxlBDbNc+1Sp0Jif2h0HsGUMYqrC0UHN cW2Js+SsE20QG+fkSFYNfW4CG5w1a9C+sYRcVe1TfuNFUartCljlcWCGjos61A1mWoE0 8bIJQqDQ6ikaWnvLVem3ivT1FcxxF11vO7YqBtjhNGkkwl63LrRobRVHelixoK6fKmOU Ltxw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:message-id:references :in-reply-to:subject:cc:to:from:date:content-transfer-encoding :mime-version:dkim-signature:dkim-signature; bh=uEyj0S7+P1T6Nite3AQgBUDLKUMq4bkyn2fGwTCFgUY=; b=VNP+8yLoHLCyhzTFuK+24aqf/iPwayS9URr+HmDhvnCZc5EdiwNecjaO2hhUvtP3MK VGp+AExIiOcf9IEQwmOE9IFJiNzLeyNUNYFqE6NxJRNdtA7rAjavxFE78W+C+HQPdENk xoBbqHlt/Vb5SLjYuvedVNLYI3EA05LXNqBxxvwdAEGSn8n1udbtnM3owBq0wdKpSkU9 7FJGwhVDhF5Sd9OKFglRu/XKX0jPlFDBH3z56sgL6sGiMMbmH03UtBuApT6cX7VINSza F9z1ZjhzPdC4SbhOMQliPC4P3jEOcb/cq3eb/c/CK5EBPh+ToOSq0z9JMC1IG7Gp71dO cA8w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=AOoQJB24; dkim=pass header.i=@codeaurora.org header.s=default header.b=kGI1gqyu; 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 g10si7275172plq.371.2018.11.28.04.40.54; Wed, 28 Nov 2018 04:41:09 -0800 (PST) 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; dkim=pass header.i=@codeaurora.org header.s=default header.b=AOoQJB24; dkim=pass header.i=@codeaurora.org header.s=default header.b=kGI1gqyu; 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 S1728425AbeK1XlT (ORCPT + 99 others); Wed, 28 Nov 2018 18:41:19 -0500 Received: from smtp.codeaurora.org ([198.145.29.96]:44206 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727750AbeK1XlS (ORCPT ); Wed, 28 Nov 2018 18:41:18 -0500 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id 8F0EC612F2; Wed, 28 Nov 2018 12:39:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1543408786; bh=t7u7siOugJyyWH4ebX/o1gjwWZ/zTEJYur2rWm9fEcw=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=AOoQJB24q/zfhTzDEmo+daZ1Sl0yRg98RFoX2/irKNNI73p/PF4nujX9Ak49dUI1T BQJkY/0B9lyZ7vgPcNkQ65+0jfIw6bDVc4RUXoc1P9ihprOapD5KawtrOAs5VBsI72 c2hy6OTZtit4m7tzXLUGUmzxvM9vBAe7Mur9oHdM= X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on pdx-caf-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=2.0 tests=ALL_TRUSTED,BAYES_00, DKIM_INVALID,DKIM_SIGNED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.codeaurora.org (Postfix) with ESMTP id 42C1C60C5F; Wed, 28 Nov 2018 12:39:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1543408785; bh=t7u7siOugJyyWH4ebX/o1gjwWZ/zTEJYur2rWm9fEcw=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=kGI1gqyu+KIE/Ryt74nK0P7cVjLU02wcLC0v/813aCA4oxknsEVZMZEVYLYYJWs/6 rHBf+Dr3JD/WQQd17xE3OpJ+EJE2L8lu5nZN6JUXggItoQqKEssfE7yLtY4XgY5r1i QDIaZID7wsIvfLlnR+s1qpUPqzvjZ5ceoFgHJNp0= MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Wed, 28 Nov 2018 18:09:45 +0530 From: mgottam@codeaurora.org To: Tomasz Figa Cc: Stanimir Varbanov , Hans Verkuil , Mauro Carvalho Chehab , Linux Media Mailing List , Linux Kernel Mailing List , linux-arm-msm , Alexandre Courbot , vgarodia@codeaurora.org Subject: Re: [PATCH v3] media: venus: add support for key frame In-Reply-To: References: <1541163476-23249-1-git-send-email-mgottam@codeaurora.org> Message-ID: <702e222691accc7d92263a7265391b5f@codeaurora.org> X-Sender: mgottam@codeaurora.org User-Agent: Roundcube Webmail/1.2.5 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2018-11-03 08:31, Tomasz Figa wrote: > Hi Malathi, > > On Fri, Nov 2, 2018 at 9:58 PM Malathi Gottam > wrote: >> >> When client requests for a keyframe, set the property >> to hardware to generate the sync frame. >> >> Signed-off-by: Malathi Gottam >> --- >> drivers/media/platform/qcom/venus/venc_ctrls.c | 20 >> +++++++++++++++++++- >> 1 file changed, 19 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/media/platform/qcom/venus/venc_ctrls.c >> b/drivers/media/platform/qcom/venus/venc_ctrls.c >> index 45910172..59fe7fc 100644 >> --- a/drivers/media/platform/qcom/venus/venc_ctrls.c >> +++ b/drivers/media/platform/qcom/venus/venc_ctrls.c >> @@ -79,8 +79,10 @@ static int venc_op_s_ctrl(struct v4l2_ctrl *ctrl) >> { >> struct venus_inst *inst = ctrl_to_inst(ctrl); >> struct venc_controls *ctr = &inst->controls.enc; >> + struct hfi_enable en = { .enable = 1 }; >> u32 bframes; >> int ret; >> + u32 ptype; >> >> switch (ctrl->id) { >> case V4L2_CID_MPEG_VIDEO_BITRATE_MODE: >> @@ -173,6 +175,19 @@ static int venc_op_s_ctrl(struct v4l2_ctrl *ctrl) >> >> ctr->num_b_frames = bframes; >> break; >> + case V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME: >> + mutex_lock(&inst->lock); >> + if (inst->streamon_out && inst->streamon_cap) { > > We had a discussion on this in v2. I don't remember seeing any > conclusion. > > Obviously the hardware should generate a keyframe naturally when the > CAPTURE streaming starts, which is where the encoding starts, but the > state of the OUTPUT queue should not affect this. > > The application is free to stop and start streaming on the OUTPUT > queue as it goes and it shouldn't imply any side effects in the > encoded bitstream (e.g. a keyframe inserted). So: > - a sequence of STREAMOFF(OUTPUT), > S_CTRL(V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME), STREAMON(OUTPUT) should > explicitly generate a keyframe, > - a sequence of STREAMOFF(OUTPUT), STREAMON(OUTPUT) should _not_ > explicitly generate a keyframe (the hardware may generate one, if the > periodic keyframe counter is active or a scene detection algorithm > decides so). > > Please refer to the specification (v2 is the latest for the time being > -> https://lore.kernel.org/patchwork/patch/1002476/) for further > details and feel free to leave any comment for it. > > Best regards, > Tomasz Gentle reminder!! Stan, please provide your view on this. Thanks, Malathi.