From patchwork Wed Jul 4 18:35:09 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Baptiste Coudurier X-Patchwork-Id: 9616 Delivered-To: ffmpegpatchwork@gmail.com Received: by 2002:a02:104:0:0:0:0:0 with SMTP id c4-v6csp1079088jad; Wed, 4 Jul 2018 11:36:18 -0700 (PDT) X-Google-Smtp-Source: AAOMgpf/HrJ4wHzC3msf/g0nYTwW8InnjMsMbC5dp8h07f4ncy7uPVUaCBJF3DlP9bJQgdLSboF8 X-Received: by 2002:a1c:dc41:: with SMTP id t62-v6mr2308954wmg.42.1530729377986; Wed, 04 Jul 2018 11:36:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1530729377; cv=none; d=google.com; s=arc-20160816; b=JzjmO/YVKv4uS0QfPMcTshGIbzSwnRlaG73BXtRg+bH8HjGdkxLIvC0X1yHKBS/X55 rxiHebDPCLvdY1ioZLjklJrHWHmgplfLehZ5Iodz9cp0MDuYwTkHmFv0Fo5faAtSXkpp q/EqIW5zMUjDbILQ6LqT2a7oDzpXoRtoxIq2ehyTr4iy1x9yhYZ9LBHVkaIEcBw1XQ/8 EsQVYiyq5Jh3LY2xvDXS42kLTRzkq5iV8eNOje+gTyAA77WeqwgSuJKc4DWbERdqAnXR qz0fA7FuJ9XQxLNCAe6qIqkAkXNH89wMnlBA37lFj4p98/VZ8ArCnJ4c/Pnhxvqt2LcM T2qw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:message-id:date:to:from:dkim-signature :delivered-to:arc-authentication-results; bh=86j+cwmVhueM7ADalHm+f2kbsllbiS+kPXl8xSqW5tk=; b=qR3YSKzJ7AI5RAohVMBZPZbidEHP52EGPdEDDfqGhdVIGT/282HwGqDEUIyuTTP2s9 pZ8+ENbn0fkafYOSFGBgGVdKHYC8pjWM2V+eEsPxhYJbQ8/va5BGkCVW9OAXReSuYQIu HoFg2y5lNjmeXTivgDDiy8YleKsOVtJqQKw8afT1K0YUYax8wveIu3haVJHkRT/X7/I7 8mkXnK+R9qn6zaG4LtGafsnYzS/YlM6gBOIoSZucYU8freJhMVTZ8rknnzdDEAwLqwW9 QETeT8yAdPhFtbtwIrg+8N1zm3U89Y3PYRBGkUTsDrSol7fpm2BbSF8qWoocGoGY82vL ykNw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=LRL+ahKf; 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 n4-v6si3578410wrp.237.2018.07.04.11.36.17; Wed, 04 Jul 2018 11:36:17 -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=LRL+ahKf; 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 BAB4768AB3D; Wed, 4 Jul 2018 21:35:22 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf0-f170.google.com (mail-pf0-f170.google.com [209.85.192.170]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6A9E268AB1F for ; Wed, 4 Jul 2018 21:35:19 +0300 (EEST) Received: by mail-pf0-f170.google.com with SMTP id e10-v6so3261725pfn.1 for ; Wed, 04 Jul 2018 11:35:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id; bh=U3HG3gJsqI21EBNlwLOyiW3UsuV/1uG3dH2x+7wIpfc=; b=LRL+ahKfY63IgEOSTWxy65nbQPNy1iiyXF1EM+nNPR1bpoEBBtMACPUhMFol6VtFHf mjYCMGQb4CN8SOhppHtXKukQ/oLlZtddGMWHQoOiTXIzagbArI2odtkNM3M3iPcF7Rjg CBMf+uUDyOycWERUJQqP/rMX8ALZjnRcJk8LvwN98KNNkfctidMJEZlH/KPtfQICJI0X fEXEDlqHyj2TD6pmNR1e2aH8WJXmP8ugI6q7ogBYsBmSvaFWJ/74EnXZF13bn/yayI2f f4m7gL0MStcLi9LWA+DOeHdv/ZCAH6W68PLTOP+8as3K2XBJhAj9Ob9YKm4i59qcavmx cATA== 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; bh=U3HG3gJsqI21EBNlwLOyiW3UsuV/1uG3dH2x+7wIpfc=; b=fplmeDenIpcTEhlqTkj6hxpI0qBIyr2G43t19TRBk9tIpNX3tMPDcxKjRwJH9NPwE6 oy3IU4LCp9NLDD708JBpAe9oDnC+bIZZNQtgP2lC8romluecDmZRLfg7Qf48Y25WkKH8 2pgS34oBeWz2noO3ke7HTtqvmT/WqIrE6Ou0/JqFTMg7Yyotp3UCozJxLXPRsgnEAsTr JKasC+F059YTO+pkhs6TUrtlBE4U2x/61ya/L1o+zJ/OU7j3o4N+q9MEHRrV6xPPmSVg QVaB6Bz+md4U0p1iAErJ8kNR3NaL+kZhQdneSlX4wX+I/kuIM9W38AS7X76C0XW29TSb a7QQ== X-Gm-Message-State: APt69E30IAvr8abeNu80Vuibyz/zuMz4McFSvP7UbYnlnbECFQaONBoZ SUbKTv3AT3hPChD+CgpwXlJnjw== X-Received: by 2002:a63:6345:: with SMTP id x66-v6mr2894775pgb.43.1530729321981; Wed, 04 Jul 2018 11:35:21 -0700 (PDT) Received: from localhost.localdomain (cpe-104-173-251-254.socal.res.rr.com. [104.173.251.254]) by smtp.gmail.com with ESMTPSA id v126-v6sm8591239pgv.39.2018.07.04.11.35.21 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 04 Jul 2018 11:35:21 -0700 (PDT) From: Baptiste Coudurier To: ffmpeg-devel@ffmpeg.org Date: Wed, 4 Jul 2018 11:35:09 -0700 Message-Id: <20180704183514.71654-7-baptiste.coudurier@gmail.com> X-Mailer: git-send-email 2.17.0 (Apple Git-106) Subject: [FFmpeg-devel] [PATCH 07/12] ratecontrol: fix stuffing bits for 30000/1001 fps one frame vbv 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 MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" --- libavcodec/ratecontrol.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/libavcodec/ratecontrol.c b/libavcodec/ratecontrol.c index 49d169ba25..28bdddbad1 100644 --- a/libavcodec/ratecontrol.c +++ b/libavcodec/ratecontrol.c @@ -705,16 +705,16 @@ int ff_vbv_update(MpegEncContext *s, int frame_size) rcc->buffer_index += av_clip(left, min_rate, max_rate); if (rcc->buffer_index > buffer_size) { - int stuffing = ceil((rcc->buffer_index - buffer_size) / 8); + int stuffing = rcc->buffer_index - buffer_size; - if (stuffing < 4 && s->codec_id == AV_CODEC_ID_MPEG4) - stuffing = 4; - rcc->buffer_index -= 8 * stuffing; + if (stuffing < 32 && s->codec_id == AV_CODEC_ID_MPEG4) + stuffing = 32; + rcc->buffer_index -= stuffing; if (s->avctx->debug & FF_DEBUG_RC) - av_log(s->avctx, AV_LOG_DEBUG, "stuffing %d bytes\n", stuffing); + av_log(s->avctx, AV_LOG_DEBUG, "stuffing %d bytes\n", stuffing>>3); - return stuffing; + return stuffing>>3; } } return 0;