From patchwork Wed Apr 11 07:01:55 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Dixit, Vishwanath" X-Patchwork-Id: 8397 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.1.70 with SMTP id c67csp369652jad; Wed, 11 Apr 2018 00:02:13 -0700 (PDT) X-Google-Smtp-Source: AIpwx4/PISTp2NVCNC+1aRO4DRi8oMs6gNqEZ0Gj1n2UUyo/PPAoUV3AOMmRd/i+/DtJKMHi7nES X-Received: by 10.28.212.84 with SMTP id l81mr1588794wmg.151.1523430132975; Wed, 11 Apr 2018 00:02:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1523430132; cv=none; d=google.com; s=arc-20160816; b=PDPj900ljjZ7wsvYDOZvmGIv/FyQkTG8KxL1M9Mx63D2Rhttek9AkU1W5hFxjCtz0M i6pMP1ygkM+2ag5UjhgMU1nkj/Zqcav50EPHSfTqMBeDHB2fxVZH/C1qdtUOb1H+Y7TH ArFkERhFLq1COaIUglF3MCUifrTry6pZ2X+RujyWK5P08flhQ9x/f1zkKt43iNtNyeQD PXlo5Odj2+rsbMDE3Lf3VekcVRdA128iteWeWpp6RobIeWYyQRbYuCDiGo0e5GFt65N2 PCstj9S7bVidkWl0BZZKD0xZWg01+WH0P8u+aIXtcMp/gmg0w7FE2gnL3mSVAdUGS4Ui hv6g== 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=o4+dIvH746URVqcBeHbgMZTWCdzgKQZzE3q7dSFYoLA=; b=mOxf3u50l/nCKuQHr11j/8BMlkOGAkIdLp1Gmb4AE2/lnAJzs2bdZefgKt/U04ZOjK PzowSxaGNs/tTMq/IbhhshjfpLuZ1GoMgzrMcnJxPpOQl97iBkUzGioe5ag59KnxZ4M3 8QRsE/NlcMM/9IidODV4OJEVD/cFCc7IXXt04m4pAp3hsrHjtfVli0a8tO5WMY63cKlU nY6FT3eURTRdzOEDVLHeJN+904p43sZf9NVt1/vFAYJsR3W2dpqXU3tiouKxKGvWcgug jCqucB/+x9dULOcKVbY0bSQ+VWJHC+7+6o3yTtxJ3SKVuqDF5OAPUmjXtHF49C0MYOnj a8fQ== 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=IkYrVcht; 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 128si544505wmh.192.2018.04.11.00.02.12; Wed, 11 Apr 2018 00:02:12 -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=IkYrVcht; 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 71DEA68A26C; Wed, 11 Apr 2018 10:01:39 +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 8F3EC68A1F4 for ; Wed, 11 Apr 2018 10:01:38 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=smtpservice.net; s=m78bu0.a1-4.dyn; x=1523431023; h=Feedback-ID: X-Smtpcorp-Track:Message-Id:Date:Subject:To:From:Reply-To:Sender: List-Unsubscribe; bh=TsW2QZYbdCUBtSCbmqRhuoitFrHlUt2JdQQBBgd9z0c=; b=IkYrVcht 1Pmky6O5fWlmBG5Btorp2SnDleAebZcAWIS8ClzARYCHOo+2gSju7BdJZqFItj2gzHpOAj1F7EIgx i/H412xH7ubosyQA4B+gMrU7z7cGscvUPtfs/pafUbwv8S0f0qeoj/zShVuxGw7OkN933u7Ny23z0 exZDTFI7HTzu6k8UWqse0+9obgoKZ/vyI0NCYDKr48rCv3+Mk/7RgsNXip2/Ij0eJm2DtqGa+QrNW qELuoaZryBxXPd52mAJbIlozk2tmqDOB+syqH6lcEoJ8SoiKW4vfqJ+bUxGhfIau+tDa3exXNWqH6 F4mwJEwP8135nbrrI8yrKHhCww==; From: vdixit@akamai.com To: ffmpeg-devel@ffmpeg.org Date: Wed, 11 Apr 2018 12:31:55 +0530 Message-Id: <1523430115-17336-1-git-send-email-vdixit@akamai.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1522831067-7313-1-git-send-email-vdixit@akamai.com> References: <1522831067-7313-1-git-send-email-vdixit@akamai.com> X-Smtpcorp-Track: 1f69_b4ba9qX6g.zfLXf1KjC Feedback-ID: 337386m:337386asVRLGB:337386sVFMC_hZ7X:SMTPCORP X-Report-Abuse: Please forward a copy of this message, including all headers, to Subject: [FFmpeg-devel] [PATCH v3 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 70409e5..9c29c05 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 { @@ -1219,6 +1221,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, @@ -1353,6 +1362,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;