From patchwork Fri Oct 6 02:49:12 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sasi Inguva X-Patchwork-Id: 5432 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.161.76 with SMTP id m12csp2720150jah; Thu, 5 Oct 2017 19:50:02 -0700 (PDT) X-Received: by 10.223.185.84 with SMTP id b20mr516727wrg.87.1507258202711; Thu, 05 Oct 2017 19:50:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1507258202; cv=none; d=google.com; s=arc-20160816; b=LsvNVAeiHj8zzEUcoEaMvyEyuZh4DBU4nMqtHXhe4Y32inqBioQW3qzPinERwbi86I MWaxrYu5bb7CsjqaLQsMFHS3qfuBthgNvheq8Yx3jmYZOyNdUtmyXLZYDyiD158A9YGU 8662Hb5fpujHfjRJyxxXpCYvfosIhe6rgoNK9t0I5LkTwbmHCQCqqAZPtPY70rO1jwqA YVt5snIss6mAJqsGMiHpP2BFTXHY0spuOZTBNZeLWBBua3P+S9jQHGPIdamwLhEESbpE cqwoHR3GDaHaxI3DtyDcseVHDXXG4GMNUsWor9tK1U9P5CqRKB9qb2u3NcPBg2AcYib4 sEOQ== 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:message-id:date:to:from:dkim-signature :delivered-to:arc-authentication-results; bh=9XN/C7HwhLG/2s75EKlIkYIHBJm+K4JoU00Vw6X0Cng=; b=dZeaa599nSNZEi9Kw7yR1d0R9sj2JL8u7ojHbSpuDBv4RWG/ZCU8mz16GJOjxHuwVu MBx65XwdM86jiJbATsbTMiseeZ0WMT+/UYVIkMGj2BZfSBGG3ZpbJ2mFSTv76GJx0ovu JOALYEzK1wdFbA4WtNyQwIuj5nm9xTNV9WACXf3pXS+z4EIX2eWUp0PBnF+owM9jlFAd B4BYb6kJKJus9M8NjY2vkhJZjn75J5MRlMUCWCR55VuVeZ/ePCkfmS7csXoJAfVji8BC 7TeBhlpElUjNV79G2JT4mjymzlwfbN+8DXif1ujkrL5OAxLO2JSIFT9o80OA3xQiaZTk PZsQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@google.com header.s=20161025 header.b=SbCEk5eu; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id g58si417292wra.219.2017.10.05.19.50.01; Thu, 05 Oct 2017 19:50:02 -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 header.s=20161025 header.b=SbCEk5eu; 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 37D5C68A3CB; Fri, 6 Oct 2017 05:49:58 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pg0-f53.google.com (mail-pg0-f53.google.com [74.125.83.53]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id A7B4A68A2BC for ; Fri, 6 Oct 2017 05:49:56 +0300 (EEST) Received: by mail-pg0-f53.google.com with SMTP id r25so6862423pgn.4 for ; Thu, 05 Oct 2017 19:49:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=w/eSCDTx04qV2xdzF+NnmRK49yFWAhi/e5eUnQiiGNQ=; b=SbCEk5euEIFrRF+cV4VHn5Uw1LIvMFtfz2UtN20t0hVtCO6mEqWlLTP88d19KZd/Ax 7CXuFBSO1vl4L8BidwMSevIjFjzllsawBbUapk7mLpwXy3GnfAcj3XzjINXvJ3EcFRtk 3bDONyUzp6iOqMCSASlorMBbHN8L2noLgGUtEVje+ahj+3Ypw0DSAOBXoQqlWOSX4Yo4 KLsxYsFX44SipFVk+MMovUl2Q60j2DPyapnl4jbVoG3XW6I1e/COuDTeJhiKR4stVALe yVPc7OwpDnPPiu4vDsS11iR3cXij1sl3HriHGq1rhzVTPhvIy5XNcqK0ojy7y/p3Kl/J ZJ+w== 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; bh=w/eSCDTx04qV2xdzF+NnmRK49yFWAhi/e5eUnQiiGNQ=; b=Mz1mE7yAIkIKdtsa7FA4EKRzbqNyv0cb4j0M79XkJiMKV5cHBa3rW+mu7cRraU5Om1 G8YUV6xoJzJix6rCO7RUUVD9PpElejgaZuJzE9c4AWsLEefXgK49SUjVzElbuPnqy5e7 jpqS+xqvpIWbgkj73UliTeOF72CF5D0j/Zj9loRhTGxLf2XWXITgIIzmCvHBwuwziWeQ RrBHHivp4YvvQ00GunICZtiL9pxo9EaNCT+N0g/AZiyWMVjJyvqQ0Frpx0qP0ot3aJdL a9JpjLVt6ee9qJIuEFYR784l+P428ZmdwqctFMBwWXyzIx3Z+/sEIC4aX1ihsh7/XbJ3 pECA== X-Gm-Message-State: AMCzsaWps2zu2pBou7DMyCGLXZbmLMuGfknj/BK0hqMfKVVtIClBQcSb y5AidaDhqw845zIdLxMxMvW7yLTv/tg= X-Google-Smtp-Source: AOwi7QA3TYpcWDfA7IhKt1aJ+o+kypaTJlq8BxfCelyLwFd6TxI3QnoMiGTlZMrugk19ZgbuaVQdEw== X-Received: by 10.84.149.197 with SMTP id a5mr603223plh.55.1507258194187; Thu, 05 Oct 2017 19:49:54 -0700 (PDT) Received: from isasi.mtv.corp.google.com ([172.27.82.28]) by smtp.gmail.com with ESMTPSA id x8sm494907pfk.124.2017.10.05.19.49.53 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 05 Oct 2017 19:49:53 -0700 (PDT) From: Sasi Inguva To: ffmpeg-devel@ffmpeg.org Date: Thu, 5 Oct 2017 19:49:12 -0700 Message-Id: <20171006024912.19062-1-isasi@google.com> X-Mailer: git-send-email 2.14.2.920.gcf0c67979c-goog Subject: [FFmpeg-devel] [PATCH] lavfi/avfilter.c: Correct guess_status_pts to account for differing link timebases. 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: Sasi Inguva , george@nsup.org MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Signed-off-by: Sasi Inguva --- libavfilter/avfilter.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c index 58917ed445..ec7dfc0bd3 100644 --- a/libavfilter/avfilter.c +++ b/libavfilter/avfilter.c @@ -427,19 +427,19 @@ int ff_request_frame(AVFilterLink *link) return 0; } -static int64_t guess_status_pts(AVFilterContext *ctx, int status) +static int64_t guess_status_pts_from_src(AVFilterLink *link, int status) { unsigned i; int64_t r = INT64_MAX; - for (i = 0; i < ctx->nb_inputs; i++) - if (ctx->inputs[i]->status_out == status) - r = FFMIN(r, ctx->inputs[i]->current_pts); + for (i = 0; i < link->src->nb_inputs; i++) + if (link->src->inputs[i]->status_out == status) + r = FFMIN(r, av_rescale_q(link->src->inputs[i]->current_pts, link->src->inputs[i]->time_base, link->time_base)); if (r < INT64_MAX) return r; - av_log(ctx, AV_LOG_WARNING, "EOF timestamp not reliable\n"); - for (i = 0; i < ctx->nb_inputs; i++) - r = FFMIN(r, ctx->inputs[i]->status_in_pts); + av_log(link->src, AV_LOG_WARNING, "EOF timestamp not reliable\n"); + for (i = 0; i < link->src->nb_inputs; i++) + r = FFMIN(r, av_rescale_q(link->src->inputs[i]->status_in_pts, link->src->inputs[i]->time_base, link->time_base)); if (r < INT64_MAX) return r; return AV_NOPTS_VALUE; @@ -458,7 +458,7 @@ static int ff_request_frame_to_filter(AVFilterLink *link) ret = ff_request_frame(link->src->inputs[0]); if (ret < 0) { if (ret != AVERROR(EAGAIN) && ret != link->status_in) - ff_avfilter_link_set_in_status(link, ret, guess_status_pts(link->src, ret)); + ff_avfilter_link_set_in_status(link, ret, guess_status_pts_from_src(link, ret)); if (ret == AVERROR_EOF) ret = 0; }