From patchwork Wed Apr 4 08:37:47 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Dixit, Vishwanath" X-Patchwork-Id: 8314 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.1.70 with SMTP id c67csp4619468jad; Wed, 4 Apr 2018 01:38:04 -0700 (PDT) X-Google-Smtp-Source: AIpwx49BFOMusK32GAHmtlaDNdxwp/gTf6Mz85b4Z7wRGU2478Pk2J3DOq2nxJ2qfcU0gekME7zd X-Received: by 10.223.154.182 with SMTP id a51mr13539397wrc.176.1522831084172; Wed, 04 Apr 2018 01:38:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1522831084; cv=none; d=google.com; s=arc-20160816; b=YQ5YSZ3LBAh5Ry1XmpcddHDCv6C9sigXNrMB9eX1MMjkS+YGuuymCppWVhiU8R3SQB zywVLrf9wTFS24P1Uz0+SN0zS/XlSO009+4ewK0FOXG8wnLtb1pwIyLTDNkDKXs84stO G+6KrvBAFjVgTnJC0oduI2gt7EDmhZ8tgOpzA4ranWppwitCpC9uvfWHVr1ovyh9AZbZ RuioppQIZDoLj2uN1ybYT1eQOhvxxbk9VypTFhVljiYgfI3x0tD3MHmqQyiWFKS6Y/ns lb9KZGHYbE4L6tU0Zm+n8IQ/j6pXXwP6yZr3jxBfv4BcOQlnV7/e1Kj0C3jmSXEh9wGJ Tpog== 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:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:feedback-id:references:in-reply-to :message-id:date:to:from:dkim-signature:delivered-to :arc-authentication-results; bh=oPba3XssZTG+ipop33HWYQxMiyZuQBKDXsncqaBbymk=; b=cq+hp/zL9SKrICNAd9F2A2AWjB9C9TNdbNFflZCIUjV4U1koHaW/7jh3wKnmppAKR8 D1ZBPK1+uwXTI6bd2PaFIq7/8jDipayYdOys20LnoY7YjOI39ysUQWzxorMFJaLJaPOk zI3PTO1tgZpECzTvfIy7TYkyByzWNe6CQ8EWILUlFbeICUO9q+pqqkHqRC4RjcAAkKdw INFbyoG+n3RGaVgrDxCZeAohDyEbQw7F1zkH7mkqu6Ycx3BLRqXu4gZPv0lfXi6pExtd /xHiazv3AF+PV9lM4+fOJVib99pjAzJF7dCLwVpSbIBmukUcw5d9A9QNAMj3TIZS2RGJ P/IA== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@smtpservice.net header.s=m78bu0.a1-4.dyn header.b=t3vlzydl; 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=QUARANTINE sp=NONE dis=NONE) header.from=akamai.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id h28si3517978wrf.546.2018.04.04.01.38.03; Wed, 04 Apr 2018 01:38:04 -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=@smtpservice.net header.s=m78bu0.a1-4.dyn header.b=t3vlzydl; 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=QUARANTINE sp=NONE dis=NONE) header.from=akamai.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id EEC48689B08; Wed, 4 Apr 2018 11:37:34 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from a1i318.smtp2go.com (a1i318.smtp2go.com [43.228.185.62]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2BBA96891FC for ; Wed, 4 Apr 2018 11:37:33 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=smtpservice.net; s=m78bu0.a1-4.dyn; x=1522831974; h=Feedback-ID: X-Smtpcorp-Track:Message-Id:Date:Subject:To:From:Reply-To:Sender: List-Unsubscribe; bh=Jc+9mZOINfOjmmjfZivwBmSXVSCNvM6f4dXOxsUnZOU=; b=t3vlzydl BCGj2R5+rrAs7gz8L1DuoJhmWst/VGKel4fJiM9MweRVlJLYSxHjyHGsR6AqeOTAkNR5EMaDqqYjS SvfGR5fDEqtdlTq0YuXqUC3X+dpfMFFFo9js0+M6if/OizGAJrNNpGCrP65Bs4shvJvEnrfgaDiud 6TL8rvf7DQA/9ceE64srazJVK3PXddGTjeum6Zdqu07HDXD/4bc/F06zxGWXNweK3osXMa/WembMj ByCkM3TGs1y8WyOf2TMk7lpwsb+fPmut2rBy2t1ndfOz49L3e1IGv7t6e/5BRVIzat5mO+/FPvXBB ziMt9WitEF50eUSfUq/S0Rycnw==; From: vdixit@akamai.com To: ffmpeg-devel@ffmpeg.org Date: Wed, 4 Apr 2018 14:07:47 +0530 Message-Id: <1522831067-7313-1-git-send-email-vdixit@akamai.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <0CBF4FD9-BB6E-4154-AA82-2F57D021498A@akamai.com> References: <0CBF4FD9-BB6E-4154-AA82-2F57D021498A@akamai.com> X-Smtpcorp-Track: 1f3dvS4ba5PCOz.xu7f_fU4M Feedback-ID: 337386m:337386asVRLGB:337386seY33Qkrk3:SMTPCORP X-Report-Abuse: Please forward a copy of this message, including all headers, to Subject: [FFmpeg-devel] [PATCH v2 07/11] avformat/dashenc: logic to compute muxer overhead 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: Vishwanath Dixit MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Vishwanath Dixit --- libavformat/dashenc.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/libavformat/dashenc.c b/libavformat/dashenc.c index 5921ef7..0fff91f 100644 --- a/libavformat/dashenc.c +++ b/libavformat/dashenc.c @@ -86,6 +86,8 @@ typedef struct OutputStream { char full_path[1024]; char temp_path[1024]; double availability_time_offset; + int total_pkt_size; + int muxer_overhead; } OutputStream; typedef struct DASHContext { @@ -1215,6 +1217,13 @@ static int dash_flush(AVFormatContext *s, int final, int stream) } } + if (!os->muxer_overhead) + os->muxer_overhead = ((int64_t) (range_length - os->total_pkt_size) * + 8 * AV_TIME_BASE) / + av_rescale_q(os->max_pts - os->start_pts, + st->time_base, AV_TIME_BASE_Q); + os->total_pkt_size = 0; + if (!os->bit_rate) { // calculate average bitrate of first segment int64_t bitrate = (int64_t) range_length * 8 * AV_TIME_BASE / av_rescale_q(os->max_pts - os->start_pts, @@ -1349,6 +1358,7 @@ static int dash_write_packet(AVFormatContext *s, AVPacket *pkt) else os->max_pts = FFMAX(os->max_pts, pkt->pts + pkt->duration); os->packets_written++; + os->total_pkt_size += pkt->size; if ((ret = ff_write_chained(os->ctx, 0, pkt, s, 0)) < 0) return ret;