From patchwork Mon Jun 18 06:43:14 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gyan X-Patchwork-Id: 9434 Delivered-To: ffmpegpatchwork@gmail.com Received: by 2002:a02:11c:0:0:0:0:0 with SMTP id c28-v6csp3466236jad; Sun, 17 Jun 2018 23:43:30 -0700 (PDT) X-Google-Smtp-Source: ADUXVKIWP65fZdrxA+uzwLZB1ny3+RKVhqbv9nz5sKwijaUWmG7Y1r9jPGU+O08Seb6JMC81zycf X-Received: by 2002:a1c:8206:: with SMTP id e6-v6mr7821768wmd.24.1529304210698; Sun, 17 Jun 2018 23:43:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1529304210; cv=none; d=google.com; s=arc-20160816; b=bo7agPjXQadR3YfwocMI83m6dFaRE46lG+O1Yt9GW9mxXEFj7kVWq+hu1Oc4qmDeWq zk4d9CbdMNq6ET7rST7OKXduKF1WzjdOYvH3QtUxcYmF35sczlyNYsL0cPkxfdE+IJJZ d7V4ovmB4sKyYNJSntCEyhLqLGIS8chOtz160scrhGpQHmMWmFCHYijCv73G2i/M44O1 Isl2gfI5j8J87mfGqfiShXwy6aB156YRW+URWL5ql9fpKVyu3f+kqz4Il+8Fw61A4ErM gDhivk8fn0BWy3grAvRGHkeYqoAF7mM77G7C8nmVRq6NTH6WyMbf6ds36SxkqFHHVYG/ bLHg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence:subject :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:to:dkim-signature:delivered-to :arc-authentication-results; bh=J3oYtXuyNSLcjS6CNnOREjIm1meKJtccRIu7rXTh9ZU=; b=k6MNxjALJVDZGqp5VABsM1/ZW/IA2N4A187+kG84PrKdZtGpLJYoMw5GQ/RLBo+rdh ZVhoCh6n1CEo08+lwgQ+VVQtKI04QZMvRwDWgEj+XkojdOTqn8Q3D314o9L2I8jIhRXc z1ZLuOAmeNJ0ZjVl8vaA+FCFlZ4bexLUH3ZWV7q4OKpE164C6Qtd2yJ1Ph2WJR+q3UQN 7zjmZOaBFkFgz0MsyIDYA/E3Ifo8zBgTW4tU3s7W7FzZNZO+Gf9I5ontfG4sKM+KwgDZ KhrxmScxZVfDzfw7HB4FkuEjZeyUjfvmQiB3Iw7PrCUMxcgWifgYGurZGJbjFs+YFeBs +xUQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=UFNYEWEM; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id y31-v6si291167wrb.46.2018.06.17.23.43.29; Sun, 17 Jun 2018 23:43:30 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=UFNYEWEM; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 98462687ECC; Mon, 18 Jun 2018 09:42:35 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pl0-f66.google.com (mail-pl0-f66.google.com [209.85.160.66]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 262B368061D for ; Mon, 18 Jun 2018 09:42:29 +0300 (EEST) Received: by mail-pl0-f66.google.com with SMTP id k1-v6so8485055plt.2 for ; Sun, 17 Jun 2018 23:43:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-language; bh=tFUodIY8AIvysSy+JgbJIrn2QqcoxPd71GY0EUK1V+I=; b=UFNYEWEMLOyC1TlbrLe16AbUd99P61SK6IGDBevnYO9FBkCwpzk6wipdGn4pbvKIYs DsX+z3R/wZv4R+4jzXo1c/rU2lBJoc9zDlLSdkoLJv1+4e4/EYd8khV3+VoPLiumaLU6 96kq5mXhJ7XHXvJj63e1QdoElb6p7nMTEJlOn8twpyE+COL+67HjcuW4OibQi3KWO46s 6QFfwsV6oyq0OhRT8/yi4IrXgO9M/REBVe3QlJG9Dvdh1SZw0UBwkRfr8Dm0MZTcNA7Z k7pvQX0vP71sRMopPxKcS79R1hcG2k9sr9NFsNXSfPZDXqHjRz5CJmfQotEB6+bigWPF rH3Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language; bh=tFUodIY8AIvysSy+JgbJIrn2QqcoxPd71GY0EUK1V+I=; b=mEsn/9sc9EvQ6z74gw/bPy4C2jVUFhpwra5ODhSsqzqmsLSdI4nn4pv38ggbkjSgfd Xbx830T02rNjDJYHtvOjuV6rATQMmNHOlKQ7BAR6jDyBL8qvSoItIay5fX8if/IaHScd WnjudOiee8RDz+QpXHnFNsZgqAAI3svVV6mOG/Uvdqr11WfHoTTWSkZYQSVfEoaVAf/C Iozm0G918cEKNLcRpbj3Nr4mZTo8TNoXD8aHGnbfKTpBPwNLHFjDSNiv6htgboZOjeQA a6ee6AKx1H2xsJFy0I6zEExgkbVWpTmCw4GWxc1Vy2cEvSi+u79d71qSHM9VBuJm4z9X zIaw== X-Gm-Message-State: APt69E1K3ZKgpHGssK0sAVayICeuNLXfe7vW7SncQlbM8r+R4rMDap5/ dLXh/pAsQxlRU03f0wEY8674ZmXc X-Received: by 2002:a17:902:3a5:: with SMTP id d34-v6mr12798753pld.103.1529304199390; Sun, 17 Jun 2018 23:43:19 -0700 (PDT) Received: from [192.168.1.225] ([103.206.133.45]) by smtp.gmail.com with ESMTPSA id l62-v6sm19645773pga.21.2018.06.17.23.43.16 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 17 Jun 2018 23:43:18 -0700 (PDT) To: ffmpeg-devel@ffmpeg.org References: <3c1965c0-caf0-af66-9577-8ea3d62cb9fb@gmail.com> <3a7cb3b5-3f97-06b4-a50e-91414ff8225f@jkqxz.net> From: Gyan Doshi Message-ID: <7a8e53b6-f704-cb2f-56f2-4a69a33a3384@gmail.com> Date: Mon, 18 Jun 2018 12:13:14 +0530 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.8.0 MIME-Version: 1.0 In-Reply-To: <3a7cb3b5-3f97-06b4-a50e-91414ff8225f@jkqxz.net> Content-Language: en-US Subject: Re: [FFmpeg-devel] [PATCH] avcodec/libx265: apply lavc maxrate and bufsize 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" On 17-06-2018 09:11 PM, Mark Thompson wrote: > Given you have these two, maybe set vbvBufferInit from rc_initial_buffer_occupancy as well? > > LGTM in either case. Revised patch attached. Will apply by tonight. Gyan From a6d468b803b839a6cc403da094c7b39cc1ac9f30 Mon Sep 17 00:00:00 2001 From: Gyan Doshi Date: Mon, 18 Jun 2018 12:09:54 +0530 Subject: [PATCH v2] avcodec/libx265: apply lavc maxrate, bufsize & rc_init_occupancy CLI options -maxrate, -bufsize and -rc_init_occupancy can now be picked up by the x265 wrapper. Min. rc init has to be 1001 to avoid x265 setting it to vbv-bufsize. --- libavcodec/libx265.c | 8 ++++++++ libavcodec/version.h | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/libavcodec/libx265.c b/libavcodec/libx265.c index bb457dfe5a..27c90b323f 100644 --- a/libavcodec/libx265.c +++ b/libavcodec/libx265.c @@ -205,6 +205,9 @@ static av_cold int libx265_encode_init(AVCodecContext *avctx) ctx->params->rc.rateControlMode = X265_RC_ABR; } + ctx->params->rc.vbvBufferSize = avctx->rc_buffer_size / 1000; + ctx->params->rc.vbvMaxBitrate = avctx->rc_max_rate / 1000; + if (!(avctx->flags & AV_CODEC_FLAG_GLOBAL_HEADER)) ctx->params->bRepeatHeaders = 1; @@ -233,6 +236,11 @@ static av_cold int libx265_encode_init(AVCodecContext *avctx) } } + if (ctx->params->rc.vbvBufferSize && avctx->rc_initial_buffer_occupancy > 1000 && + ctx->params->rc.vbvBufferInit == 0.9) { + ctx->params->rc.vbvBufferInit = (float)avctx->rc_initial_buffer_occupancy / 1000; + } + if (ctx->profile) { if (ctx->api->param_apply_profile(ctx->params, ctx->profile) < 0) { int i; diff --git a/libavcodec/version.h b/libavcodec/version.h index 219f56c37d..8f37360054 100644 --- a/libavcodec/version.h +++ b/libavcodec/version.h @@ -29,7 +29,7 @@ #define LIBAVCODEC_VERSION_MAJOR 58 #define LIBAVCODEC_VERSION_MINOR 20 -#define LIBAVCODEC_VERSION_MICRO 102 +#define LIBAVCODEC_VERSION_MICRO 103 #define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \ LIBAVCODEC_VERSION_MINOR, \