From patchwork Tue Oct 4 00:45:08 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jon Toohill X-Patchwork-Id: 862 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.140.66 with SMTP id o63csp1880509vsd; Mon, 3 Oct 2016 17:45:53 -0700 (PDT) X-Received: by 10.28.86.8 with SMTP id k8mr983130wmb.33.1475541953512; Mon, 03 Oct 2016 17:45:53 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id zi2si1223185wjb.32.2016.10.03.17.45.52; Mon, 03 Oct 2016 17:45:53 -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=@google.com; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 65B0B689CA9; Tue, 4 Oct 2016 03:45:14 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pa0-f47.google.com (mail-pa0-f47.google.com [209.85.220.47]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3CCFC689C48 for ; Tue, 4 Oct 2016 03:45:08 +0300 (EEST) Received: by mail-pa0-f47.google.com with SMTP id qn7so66181924pac.3 for ; Mon, 03 Oct 2016 17:45:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=nRFMZRYDrwRrKtxZZG1lRbq334dWEbDRDuLC+6tQB6I=; b=CZMBu+iVlxsr9wriYOSY8P03CZ7V0oNqTnX59JddYbAvOD0JKjgVXjRH4KyFltgH9Y VtmVU5DtV5xR2wFq2AR1UaAZPQEJCsfLEhwaOPrO/OWULIIJOm7ZQUxwXn+YdkVDdA8s vNgQ1Txfr3vGxTdb+7OtdIcZdNvvAv68FRjhtgURotBWttN/5w04PyDfASAfQStt6SG2 +1nEHXJi63HnnrtVd8sELZc+TLp9HATkbGh5Qdsh5DJEzuowysA3qqRh/I6Z2tI1OvGm qAuvNSQYn28moxgwCEBFwaUaTHzEnqhARUs+kEgVKcza2Cg239NxbomnbqhleIChbNxZ eLxQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=nRFMZRYDrwRrKtxZZG1lRbq334dWEbDRDuLC+6tQB6I=; b=lAJVcl0baQvD9zfLssHlzN4wego7y6l5bMQM5j12QRtueQEkPBKryRHlkvXmfkcAD0 PJYzXzzxJquhcyNoSmjM6PldKLzHTKfuYoYMwlc9bvQ3i50ovi/BkdPXsWCM4ARLBZVc pybA7UjFYPTDkH72YZuW/iG0cu9JoRl7VE3WU4yyEGDYUD4wTpTgPXFqvULsGea3M0LK ChmtN4j9VjszHXtD+S8dMzevuX27R29FZTP9rdXKYM/MphD0dTxnuR/B8bfr7W+wwO8o 71UT5SW7K5ybO1f9fOhZXumbLvh/vdCUTMv8huIhJWOvb9MpSS6PxMc8T5FnwHXtNLmL Xvnw== X-Gm-Message-State: AA6/9RmnaXWWnk9P91KGI3MOzQgY6Ok3lgtsJm+REe62UNcY2pt0D9uP7Wo9J7l/c0E+9a3G X-Received: by 10.66.8.37 with SMTP id o5mr1244948paa.96.1475541921174; Mon, 03 Oct 2016 17:45:21 -0700 (PDT) Received: from mungolini.mtv.corp.google.com ([100.96.2.73]) by smtp.gmail.com with ESMTPSA id i62sm49813834pfg.89.2016.10.03.17.45.20 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 03 Oct 2016 17:45:20 -0700 (PDT) From: Jon Toohill To: ffmpeg-devel@ffmpeg.org Date: Mon, 3 Oct 2016 17:45:08 -0700 Message-Id: <1475541908-21260-4-git-send-email-jtoohill@google.com> X-Mailer: git-send-email 2.8.0.rc3.226.g39d4020 In-Reply-To: <1475541908-21260-1-git-send-email-jtoohill@google.com> References: <1475087343-29745-1-git-send-email-jtoohill@google.com> <1475541908-21260-1-git-send-email-jtoohill@google.com> Subject: [FFmpeg-devel] [PATCH 3/3] lavf/mp3dec: read encoder delay/padding from Info tag 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: Jon Toohill MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Muxers can check AVCodecParameters.initial_padding for the encoder+decoder delay, and read the AV_PKT_DATA_SKIP_SAMPLES side data from the last packet for the encoder padding. This change also fixes the first_discard_sample calculation which erroneously included the decoder delay. Decoder delay is already accounted for in st->skip_samples. The affected FATE tests have been updated accordingly. --- libavformat/mp3dec.c | 3 ++- tests/ref/fate/audiomatch-square-mp3 | 2 +- tests/ref/fate/gapless-mp3 | 10 +++++----- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/libavformat/mp3dec.c b/libavformat/mp3dec.c index 56c7f8c..e8b2428 100644 --- a/libavformat/mp3dec.c +++ b/libavformat/mp3dec.c @@ -239,9 +239,10 @@ static void mp3_parse_info_tag(AVFormatContext *s, AVStream *st, mp3->start_pad = v>>12; mp3-> end_pad = v&4095; + st->codecpar->initial_padding = mp3->start_pad + 528 + 1; st->start_skip_samples = mp3->start_pad + 528 + 1; if (mp3->frames) { - st->first_discard_sample = -mp3->end_pad + 528 + 1 + mp3->frames * (int64_t)spf; + st->first_discard_sample = -mp3->end_pad + mp3->frames * (int64_t)spf; st->last_discard_sample = mp3->frames * (int64_t)spf; } if (!st->start_time) diff --git a/tests/ref/fate/audiomatch-square-mp3 b/tests/ref/fate/audiomatch-square-mp3 index 8de55c2..05176a0 100644 --- a/tests/ref/fate/audiomatch-square-mp3 +++ b/tests/ref/fate/audiomatch-square-mp3 @@ -1 +1 @@ -presig: 0 postsig:0 c: 0.9447 lenerr:0 +presig: 0 postsig:-529 c: 0.9334 lenerr:-529 diff --git a/tests/ref/fate/gapless-mp3 b/tests/ref/fate/gapless-mp3 index ebe7bfa..8b80bfc 100644 --- a/tests/ref/fate/gapless-mp3 +++ b/tests/ref/fate/gapless-mp3 @@ -1,5 +1,5 @@ -37534a3bcc3ef306e8c5ebfcfedfc41c *tests/data/fate/gapless-mp3.out-1 -c96c3ae7bd3300fd2f4debac222de5b7 -0cd1cdbcfd5cdbf6270cd98219bf31cd *tests/data/fate/gapless-mp3.out-2 -c96c3ae7bd3300fd2f4debac222de5b7 -9d3d8ba8a61b534f2d02ee648d6a8229 *tests/data/fate/gapless-mp3.out-3 +81695be427d45e8be4d527a6b2af2a85 *tests/data/fate/gapless-mp3.out-1 +c7879a827ab017364774069268d9a267 +62d074296f8c84a5f86a6afdd7bab459 *tests/data/fate/gapless-mp3.out-2 +c7879a827ab017364774069268d9a267 +e931f3fe1ba25e0d5eece4977c4061a9 *tests/data/fate/gapless-mp3.out-3