From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id DCD6C40A83 for ; Wed, 6 Apr 2022 00:16:45 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B641A68B1FE; Wed, 6 Apr 2022 03:16:42 +0300 (EEST) Received: from mail-yw1-f172.google.com (mail-yw1-f172.google.com [209.85.128.172]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 49E3168B1BA for ; Wed, 6 Apr 2022 03:16:36 +0300 (EEST) Received: by mail-yw1-f172.google.com with SMTP id 00721157ae682-2eb3db5b172so9541097b3.6 for ; Tue, 05 Apr 2022 17:16:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=xlH4N5D9RwMIqJqDHJtvCl1GEh/hBDK+kPUvfwTeepw=; b=HJH3x9E0LLHM87pPHmkAxLebzn95GALmljMLnwgUitu0Ef+ih1kvaI17kwAKhVR7BW baf/dYqA1hRHwvku1/Pc71ceFH22uIrPDslYSHdPeWfvmDUX4QUxksbHMY6OC6XQetTK 2zxPStXB/gHDUC3ptC2h0RQef3yPD3CBx54+vbvIHpie11tUh0DXSCkkFP7hUlhZxWk+ 3UWL52i0zrHTEwRPg/FM1dS8L+XjXr/q6siZ0V86SzyL4lFH/8/0tnbngNgG9AGwOda8 SwpEpV6njez8uVZ7Uwv3RxQP2ZijZ/SkGir22tpGiU2rTl+2oTQNtXb9V+YPo3wk6V3/ sD/w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=xlH4N5D9RwMIqJqDHJtvCl1GEh/hBDK+kPUvfwTeepw=; b=YCjKefk93mSA3Ziyo/NV4bTmuUEozkqTegUPADmQ0QlwORGOGgZMdcm89ZL2iTVDmj UNCz9mUurqcYvHGSGkjZQStVBpLCIRHTzr0MaphV3bMJHkY7D6d8zlF2cD+2EIO84W0/ n1/L6j0bKyJrmFR7ennvMchmSMjso1mJ6vJduGYhAv8uFAAWjwUGGCgfENVdnIcjTE4I pNpAe2D3pO0RgEqPP8thtN71wQ/7feVNJn6ycCvHDWwwftQQhV647kgvGEQsSL2jVi7S WUcPidlinPyMRXgnO6m8c19jGtgpV4aZqzv2cUAg/aqH8bbor+2/D3SCTVEtwzXVTSUj GT0g== X-Gm-Message-State: AOAM531JkJ2e8GFSVxcoklNnn1Lws6mVdApS36xW7jmY6qdVEP8sjTJ1 os4OKKIlcyGSzHBqqueT+hTp6Ok8Fsn690ipwr1N1B+T0oNluQ== X-Google-Smtp-Source: ABdhPJxupqN/A/1UrFJO/wrgQNXqntLpvBN09sGkJgzSSFULlqtkb+PdVRIF5GtIwR1HJ3szE/iukILNzlLlfXpWj7s= X-Received: by 2002:a81:7c8:0:b0:2eb:6c5c:f33a with SMTP id 191-20020a8107c8000000b002eb6c5cf33amr4829242ywh.197.1649204194075; Tue, 05 Apr 2022 17:16:34 -0700 (PDT) MIME-Version: 1.0 References: <164915298959.21047.64072881760748019@lain.red.khirnov.net> <20220405121539.1773869-1-danilchap@google.com> In-Reply-To: From: James Zern Date: Tue, 5 Apr 2022 17:16:23 -0700 Message-ID: To: FFmpeg development discussions and patches Subject: Re: [FFmpeg-devel] [PATCH] avcodec/libvpxenc: return quantizer parameter for an encoded frame X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: On Tue, Apr 5, 2022 at 7:23 AM Danil Chapovalov wrote: > > I've rechecked documentation for the "vpx_codec_control" - can't find > any guarantee about the last parameter when the function fails, thus > prefer to be on the safe side. > The check is fine, though the function can only fail due to invalid arguments and won't modify the value in that case. As an aside, try to avoid top posting on this list: https://ffmpeg.org/contact.html#MailingLists > On Tue, Apr 5, 2022 at 3:59 PM James Almer wrote: > > > > On 4/5/2022 9:15 AM, Danil Chapovalov wrote: > > > --- > > > libavcodec/libvpxenc.c | 9 ++++++++- > > > 1 file changed, 8 insertions(+), 1 deletion(-) > > > > > > diff --git a/libavcodec/libvpxenc.c b/libavcodec/libvpxenc.c > > > index dff1d06b0e..0705863450 100644 > > > --- a/libavcodec/libvpxenc.c > > > +++ b/libavcodec/libvpxenc.c > > > @@ -1250,6 +1250,8 @@ static int storeframe(AVCodecContext *avctx, struct FrameListData *cx_frame, > > > int ret = ff_get_encode_buffer(avctx, pkt, cx_frame->sz, 0); > > > uint8_t *side_data; > > > int pict_type; > > > + int quality; > > > + VPxContext *ctx = avctx->priv_data; > > > > > > if (ret < 0) > > > return ret; > > > @@ -1264,7 +1266,12 @@ static int storeframe(AVCodecContext *avctx, struct FrameListData *cx_frame, > > > pict_type = AV_PICTURE_TYPE_P; > > > } > > > > > > - ff_side_data_set_encoder_stats(pkt, 0, cx_frame->sse + 1, > > > + ret = vpx_codec_control(&ctx->encoder, VP8E_GET_LAST_QUANTIZER_64, &quality); > > > + if (ret != VPX_CODEC_OK) { > > > > Is the last argument guaranteed to be untouched when the return value of > > vpx_codec_control() is not VPX_CODEC_OK? If so, you can initialize > > quality to 0 above, and remove this part. > > > > > + quality = 0; > > > + } > > > + > > > + ff_side_data_set_encoder_stats(pkt, quality * FF_QP2LAMBDA, cx_frame->sse + 1, > > > cx_frame->have_sse ? 3 : 0, pict_type); > > > > > > if (cx_frame->have_sse) { > > _______________________________________________ > > ffmpeg-devel mailing list > > ffmpeg-devel@ffmpeg.org > > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > > > To unsubscribe, visit link above, or email > > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".