From patchwork Sun Nov 8 19:50:40 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andriy Gelman X-Patchwork-Id: 23434 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 C4EBA44A382 for ; Sun, 8 Nov 2020 21:56:51 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 9FD8568BB9F; Sun, 8 Nov 2020 21:56:51 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qk1-f193.google.com (mail-qk1-f193.google.com [209.85.222.193]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id DD65668BB07 for ; Sun, 8 Nov 2020 21:56:45 +0200 (EET) Received: by mail-qk1-f193.google.com with SMTP id q5so1957763qkc.12 for ; Sun, 08 Nov 2020 11:56:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=6imjq5hpgXA6aDTImcPLbwhtsBkG2/CD7dY2OE2S/ZA=; b=sHFseJPqpYPYO3mD0/vSffqF27ff0GhPMnctw6FZ6NaF8251b+qQn4J6b+Fo1iqiRp b7lH0tTS4HfqM4BBQS0Mv+piLN4/WD0v9bqb85kjhQoAwmWS8MBVZIrVUzxTDEXI0d5d BmjNlWnp/I/vRC7uJ5hjTeBjUuABYDI4hQCmLx2BIq/wbusKHkK+bJTnyF6G9LW8l0Vs DC43zI7kw72wtDxSHs6G28EI87yi1LeziiNrMnflDQIAR1H66N12tZV3PYYt72OlHzF8 b8g9EYgp8z7yWTGfJM8Rsza35jAJ93/wv9A2vyKEax3VJ7qyemXJbRVnKJbRFRV80xPX WNpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=6imjq5hpgXA6aDTImcPLbwhtsBkG2/CD7dY2OE2S/ZA=; b=UvolqQPi3Rx24H+ZWhoEDxUmt8UjvqcVfZtyX9MEo9tdlq9ZwZXCKR0tgDtb8ku68O eRtk5i+1dBdl9hJkvzzfe5I8uTCVIMDOmwnguYtdKjiBPvScK0C/ZeJU/8PqgACLizCi Fs13PW+aXO8aYZZArcwwPnIQxRjlCHSW8DLmgDxg5qaqyF5O3wigye3mBZ+7MAtJUz4U WTf+mkAJkhUqKPdPesfohtMxlvA1EcuOdPsycED3ldliKy+1zsN0xz8BSQEcpTWOKfP7 rfda1QKHJf4wm4c++7o2O5vImDr91+sQNiayR3MmwutoBwfTn1ernVh2Rhs9Je2v3I+m QRnQ== X-Gm-Message-State: AOAM533IUdhehPQrPlJcasjvd/uDcGMwaM26dt7Uc/APW8MLCr/5hcPI WeUG6Hd9xhz8dTz0l02ybPZJZmHQExg= X-Google-Smtp-Source: ABdhPJwsnL8PB/pZfuIIZ/XvKfOrjmvH+PuEkG1MhdbZgZwpR+Y4OSIWMmJZuaaR+6POFyzbFVzqxg== X-Received: by 2002:ae9:ef04:: with SMTP id d4mr1350948qkg.171.1604865051911; Sun, 08 Nov 2020 11:50:51 -0800 (PST) Received: from localhost.localdomain (c-71-232-27-28.hsd1.ma.comcast.net. [71.232.27.28]) by smtp.gmail.com with ESMTPSA id i15sm447001qke.16.2020.11.08.11.50.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 08 Nov 2020 11:50:51 -0800 (PST) From: Andriy Gelman X-Google-Original-From: Andriy Gelman To: ffmpeg-devel@ffmpeg.org Date: Sun, 8 Nov 2020 14:50:40 -0500 Message-Id: <20201108195043.210799-1-andriy.gelman@gmail.com> X-Mailer: git-send-email 2.28.0 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/4] avformat/nutenc: don't use header_count to store different variables 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 Cc: Andriy Gelman Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Andriy Gelman Currently, header_count is used to store both the elision header count and the header repetition count (number of times headers have been written to output). Fix this by using a separate variable to store repetition count. Signed-off-by: Andriy Gelman --- libavformat/nut.h | 3 ++- libavformat/nutenc.c | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/libavformat/nut.h b/libavformat/nut.h index a4409ee23d..a990d3832e 100644 --- a/libavformat/nut.h +++ b/libavformat/nut.h @@ -103,7 +103,8 @@ typedef struct NUTContext { unsigned int time_base_count; int64_t last_syncpoint_pos; int64_t last_resync_pos; - int header_count; + int header_count; // elision header count + int header_rep_count; // number of times headers written AVRational *time_base; struct AVTreeNode *syncpoints; int sp_count; diff --git a/libavformat/nutenc.c b/libavformat/nutenc.c index 1dcb2be1b1..87adef6f7e 100644 --- a/libavformat/nutenc.c +++ b/libavformat/nutenc.c @@ -684,7 +684,7 @@ static int write_headers(AVFormatContext *avctx, AVIOContext *bc) } nut->last_syncpoint_pos = INT_MIN; - nut->header_count++; + nut->header_rep_count++; ret = 0; fail: @@ -988,7 +988,7 @@ static int nut_write_packet(AVFormatContext *s, AVPacket *pkt) data_size += sm_size; } - if (1LL << (20 + 3 * nut->header_count) <= avio_tell(bc)) + if (1LL << (20 + 3 * nut->header_rep_count) <= avio_tell(bc)) write_headers(s, bc); if (key_frame && !(nus->last_flags & FLAG_KEY))