From patchwork Sat Dec 28 23:55:14 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 17032 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id AEAE3448B82 for ; Sun, 29 Dec 2019 01:55:54 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9216268ABD5; Sun, 29 Dec 2019 01:55:54 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf1-f194.google.com (mail-pf1-f194.google.com [209.85.210.194]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 96278689AB4 for ; Sun, 29 Dec 2019 01:55:44 +0200 (EET) Received: by mail-pf1-f194.google.com with SMTP id w62so16560375pfw.8 for ; Sat, 28 Dec 2019 15:55:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=a5h25H4kWO/AHrAkyAjleE9OvA1cE8qa0H2Odgi6wkk=; b=VJ8VxWl3kmAs+FdvEpaTfjLjlOzPejmQSNClHbEVTBnBOcAgyg3nWwoyROinrj3jDm TVLsDxxZcvd/p/iRWBL7UmKHHCcePdpMkaMoPiAu48KEsBXEMEgLtuFYOHB9wrCbLTmc KCaeyhN2nZAMPSbeYWF10DH0CCt2OtS7SqQ9YqniXE8QanybSSsHqdVxd+2H7Qzoqw+6 L/U+D7Lew2X7c3r64uVssMFtO82h2W/HNlZoAlN12IAxKiF/fU+ePG/TcgZNICAnRzb9 bj7OqgJ4a1YVj1zDGlw10F2wdVhh4LoYN8q+IAV9aIOr4DKokmVjST4ouAlcdl6y6JIC e83w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=a5h25H4kWO/AHrAkyAjleE9OvA1cE8qa0H2Odgi6wkk=; b=PgF7rMEuXY6R3vXNkEE6A0M+9pcmrBu71CEwCI3C2hMOmxYz/eub351fV+MS9QTbAg sVFMmTymZY2X5u6OFhJRnn/yqMEFLuZ0uhCi2NgeoOvW0Ik+njluFopqeOv17j0b+cS0 zslpIJmB5ge47++UY+9jqAK3PiBbY2f+RxMKy3vwkLnAwQgqSCqeXh1B9Nnfm7GM3+gW 6Gg0eQV/iUb42WQNpVszlGn5Ld6ily82flPTKt7GVU8FMBO4dd8cQelNIRqMtloaeodE vyTgorIXnydT773thJpCo3+iUX8DtEKZrMnL6fYro5Hkj29nM44Jk/Yt6hZG5gQ7Z0eo PDkg== X-Gm-Message-State: APjAAAVCvDjnvgOOAajY4gYj97zPCMtCGomftmi3CiTyjXe5YekX1/7s UhJMC8JiKxjGcwqwEXgR2IqX38lq X-Google-Smtp-Source: APXvYqyCJ2iJ2InaGJmOCEt7FiUrtznYO4a/aR3n2kloi2OJA4U5YVlRVGyF4+INYeBRX4DrPd8Kyg== X-Received: by 2002:a63:e0c:: with SMTP id d12mr60634886pgl.3.1577577342608; Sat, 28 Dec 2019 15:55:42 -0800 (PST) Received: from localhost.localdomain ([181.23.77.192]) by smtp.gmail.com with ESMTPSA id f43sm19834039pje.23.2019.12.28.15.55.41 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 28 Dec 2019 15:55:42 -0800 (PST) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Sat, 28 Dec 2019 20:55:14 -0300 Message-Id: <20191228235514.5335-3-jamrial@gmail.com> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20191228235514.5335-1-jamrial@gmail.com> References: <20191228235514.5335-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 3/3] avcodec/libx265: export encoded frame stats X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Signed-off-by: James Almer --- libavcodec/libx265.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/libavcodec/libx265.c b/libavcodec/libx265.c index 581732d169..68eba17fca 100644 --- a/libavcodec/libx265.c +++ b/libavcodec/libx265.c @@ -416,6 +416,7 @@ static int libx265_encode_frame(AVCodecContext *avctx, AVPacket *pkt, x265_picture x265pic_out = { 0 }; x265_nal *nal; uint8_t *dst; + int pict_type; int payload = 0; int nnal; int ret; @@ -475,20 +476,23 @@ static int libx265_encode_frame(AVCodecContext *avctx, AVPacket *pkt, pkt->pts = x265pic_out.pts; pkt->dts = x265pic_out.dts; -#if FF_API_CODED_FRAME -FF_DISABLE_DEPRECATION_WARNINGS switch (x265pic_out.sliceType) { case X265_TYPE_IDR: case X265_TYPE_I: - avctx->coded_frame->pict_type = AV_PICTURE_TYPE_I; + pict_type = AV_PICTURE_TYPE_I; break; case X265_TYPE_P: - avctx->coded_frame->pict_type = AV_PICTURE_TYPE_P; + pict_type = AV_PICTURE_TYPE_P; break; case X265_TYPE_B: - avctx->coded_frame->pict_type = AV_PICTURE_TYPE_B; + case X265_TYPE_BREF: + pict_type = AV_PICTURE_TYPE_B; break; } + +#if FF_API_CODED_FRAME +FF_DISABLE_DEPRECATION_WARNINGS + avctx->coded_frame->pict_type = pict_type; FF_ENABLE_DEPRECATION_WARNINGS #endif @@ -499,6 +503,8 @@ FF_ENABLE_DEPRECATION_WARNINGS #endif pkt->flags |= AV_PKT_FLAG_DISPOSABLE; + ff_side_data_set_encoder_stats(pkt, x265pic_out.frameData.qp * FF_QP2LAMBDA, NULL, 0, pict_type); + *got_packet = 1; return 0; }