[FFmpeg-devel] [PATCH] avcodec/libvpxenc: return quantizer parameter for an encoded frame
Danil Chapovalov
danilchap at google.com
Fri Apr 1 12:53:07 EEST 2022
Ping
On Thu, Mar 24, 2022 at 6:26 PM Danil Chapovalov <danilchap at google.com> wrote:
>
> ---
> libavcodec/libvpxenc.c | 9 ++++++++-
> 1 file changed, 8 insertions(+), 1 deletion(-)
>
> diff --git a/libavcodec/libvpxenc.c b/libavcodec/libvpxenc.c
> index dff1d06b0e..5db31db5dc 100644
> --- a/libavcodec/libvpxenc.c
> +++ b/libavcodec/libvpxenc.c
> @@ -1250,6 +1250,7 @@ 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;
>
> if (ret < 0)
> return ret;
> @@ -1264,7 +1265,13 @@ 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(&((VPxContext *)avctx->priv_data)->encoder,
> + VP8E_GET_LAST_QUANTIZER_64, &quality);
> + if (ret != VPX_CODEC_OK) {
> + quality = 0;
> + }
> +
> + ff_side_data_set_encoder_stats(pkt, quality, cx_frame->sse + 1,
> cx_frame->have_sse ? 3 : 0, pict_type);
>
> if (cx_frame->have_sse) {
> --
> 2.35.1.1021.g381101b075-goog
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4002 bytes
Desc: S/MIME Cryptographic Signature
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20220401/d09dd7b3/attachment.bin>
More information about the ffmpeg-devel
mailing list