From patchwork Tue May 1 21:11:20 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Niedermayer X-Patchwork-Id: 8738 Delivered-To: ffmpegpatchwork@gmail.com Received: by 2002:a02:155:0:0:0:0:0 with SMTP id c82-v6csp4972502jad; Tue, 1 May 2018 14:11:31 -0700 (PDT) X-Google-Smtp-Source: AB8JxZpztDSvzsRz2wFTFcOhfkXj4Ee8qQyrYKwBihp9WXzT40AdTLEixUwy0KE32pSzwrRscBEa X-Received: by 2002:adf:b356:: with SMTP id k22-v6mr12356833wrd.207.1525209091895; Tue, 01 May 2018 14:11:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1525209091; cv=none; d=google.com; s=arc-20160816; b=H98KbUxxDOTxRIq/UBZa3/oyO9RMvZ7VlSM1WUthlp1e6VDJWaLXikL6rtfw9W7+N4 22y4iImlBeqHSd6wUmv34TdcbmP+b9YGBvDN+UFASGkm2xVBQQ7qsojvYKOFcqBi12lE Uxx3WtLRPxrZ9UOAlui0jqp4Xs/okusyMAmxrqESkT2uR4xlyDXo/+rJ+auEFe21rL/1 UxlOwKJ1oipyaCUqjAZ25seUntGULnBwG9krzgx3FaVXxCPnjFw+yEp8d7+rCKZMWJC8 gnE7fkMptg11vVQ1rRbh5zU9a9K2sE2xs+5qIsAmQu6tgLS9rWVrc2mjfWlyKdYHMxlj pMHg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence:subject:user-agent :in-reply-to:mime-version:references:message-id:to:from:date :delivered-to:arc-authentication-results; bh=+hHQ9XRNN9Gg6Bw/7JVyYQMNy4z3jp/Zj53exJrnhaE=; b=yLzLveXpbe5ZiiHfeDGgqwRXE57Snae2Qvtb6veUF6tk+A0rovkHkKwQevbpPZwgHO 6H8bJW9OVANWQQxKvgwpoC2Dyxbv9qM29EYCD/6GhLRm/8EBX3rG/nR2EsnWYSueJZcj hFya1At/Xz5790RB25vIN6i+9U89WG590+XpN5AYfybhdVpaRG9fWnvi3rzEQasLd8Qj Rcp9DX0JomF1rmciHE1ISd1z6GGI/U3v8XiJY/HYNiQP/n1duHM+0hqEBFoT8FOBYlwq 26RkmjPck5Lai1EJjvqLDuGWbs4tWbUURHiXQGGFSXo1SKo+SNpQeeec4RqjzNBLSED/ 4GtQ== ARC-Authentication-Results: i=1; mx.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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id 35-v6si2319056wry.155.2018.05.01.14.11.30; Tue, 01 May 2018 14:11:31 -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; 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 B252368A3E8; Wed, 2 May 2018 00:10:56 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from relay10.mail.gandi.net (relay10.mail.gandi.net [217.70.178.230]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id DA79368A3BA for ; Wed, 2 May 2018 00:10:50 +0300 (EEST) Received: from localhost (213-47-41-20.cable.dynamic.surfer.at [213.47.41.20]) (Authenticated sender: michael@niedermayer.cc) by relay10.mail.gandi.net (Postfix) with ESMTPSA id E6F88240005 for ; Tue, 1 May 2018 23:11:21 +0200 (CEST) Date: Tue, 1 May 2018 23:11:20 +0200 From: Michael Niedermayer To: FFmpeg development discussions and patches Message-ID: <20180501211120.GL20131@michaelspb> References: <20180501154832.14192-1-onemda@gmail.com> MIME-Version: 1.0 In-Reply-To: <20180501154832.14192-1-onemda@gmail.com> User-Agent: Mutt/1.5.24 (2015-08-30) X-Spam-Level: Subject: Re: [FFmpeg-devel] [PATCH] avformat/yuv4mpegdec: simplify math 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" On Tue, May 01, 2018 at 05:48:32PM +0200, Paul B Mahol wrote: > This one actually works with hd1080 y4m files when seeking backwards. > > Signed-off-by: Paul B Mahol > --- > libavformat/yuv4mpegdec.c | 8 +++----- > 1 file changed, 3 insertions(+), 5 deletions(-) > > diff --git a/libavformat/yuv4mpegdec.c b/libavformat/yuv4mpegdec.c > index 8662a42a4c..de3d5637fe 100644 > --- a/libavformat/yuv4mpegdec.c > +++ b/libavformat/yuv4mpegdec.c > @@ -317,11 +317,9 @@ static int yuv4_read_seek(AVFormatContext *s, int stream_index, > AVStream *st = s->streams[0]; > int64_t pos; > > - pos = av_rescale_rnd(pts * s->packet_size, > - st->time_base.num, > - st->time_base.den * s->packet_size, > - (flags & AVSEEK_FLAG_BACKWARD) ? AV_ROUND_DOWN : AV_ROUND_UP); > - pos *= s->packet_size; > + if (flags & AVSEEK_FLAG_BACKWARD) > + pts -= 1; > + pos = pts * s->packet_size; > > if (avio_seek(s->pb, pos + s->internal->data_offset, SEEK_SET) < 0) > return -1; breaks fate-seek-lavf-yuv4mpeg Test seek-lavf-yuv4mpeg failed. Look at tests/data/fate/seek-lavf-yuv4mpeg.err for details. make: *** [fate-seek-lavf-yuv4mpeg] Error 1 --- ./tests/ref/seek/lavf-yuv4mpeg 2018-05-01 18:09:16.499128665 +0200 +++ tests/data/fate/seek-lavf-yuv4mpeg 2018-05-01 23:04:43.039052762 +0200 @@ -1,48 +1,45 @@ ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 64 size:152064 ret:-1 st:-1 flags:0 ts:-1.000000 ret: 0 st:-1 flags:1 ts: 1.894167 -ret: 0 st: 0 flags:1 dts: 0.040000 pts: 0.040000 pos: 152134 size:152064 +ret:-EOF ret: 0 st: 0 flags:0 ts: 0.800000 -ret: 0 st: 0 flags:1 dts: 0.040000 pts: 0.040000 pos: 152134 size:152064 +ret: 0 st: 0 flags:1 dts: 0.800000 pts: 0.800000 pos:3041464 size:152064 ret:-1 st: 0 flags:1 ts:-0.320000 ret: 0 st:-1 flags:0 ts: 2.576668 -ret: 0 st: 0 flags:1 dts: 0.120000 pts: 0.120000 pos: 456274 size:152064 +ret:-EOF ret: 0 st:-1 flags:1 ts: 1.470835 -ret: 0 st: 0 flags:1 dts: 0.040000 pts: 0.040000 pos: 152134 size:152064 +ret:-EOF ret: 0 st: 0 flags:0 ts: 0.360000 -ret: 0 st: 0 flags:1 dts: 0.040000 pts: 0.040000 pos: 152134 size:152064 +ret: 0 st: 0 flags:1 dts: 0.360000 pts: 0.360000 pos:1368694 size:152064 ret:-1 st: 0 flags:1 ts:-0.760000 ret: 0 st:-1 flags:0 ts: 2.153336 -ret: 0 st: 0 flags:1 dts: 0.120000 pts: 0.120000 pos: 456274 size:152064 +ret:-EOF ret: 0 st:-1 flags:1 ts: 1.047503 -ret: 0 st: 0 flags:1 dts: 0.040000 pts: 0.040000 pos: 152134 size:152064 -ret: 0 st: 0 flags:0 ts:-0.040000 -ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 64 size:152064 +ret:-EOF +ret:-1 st: 0 flags:0 ts:-0.040000 ret: 0 st: 0 flags:1 ts: 2.840000 -ret: 0 st: 0 flags:1 dts: 0.080000 pts: 0.080000 pos: 304204 size:152064 +ret:-EOF ret: 0 st:-1 flags:0 ts: 1.730004 -ret: 0 st: 0 flags:1 dts: 0.080000 pts: 0.080000 pos: 304204 size:152064 +ret:-EOF ret: 0 st:-1 flags:1 ts: 0.624171 -ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 64 size:152064 -ret: 0 st: 0 flags:0 ts:-0.480000 -ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 64 size:152064 +ret: 0 st: 0 flags:1 dts: 0.600000 pts: 0.600000 pos:2281114 size:152064 +ret:-1 st: 0 flags:0 ts:-0.480000 ret: 0 st: 0 flags:1 ts: 2.400000 -ret: 0 st: 0 flags:1 dts: 0.080000 pts: 0.080000 pos: 304204 size:152064 +ret:-EOF ret: 0 st:-1 flags:0 ts: 1.306672 -ret: 0 st: 0 flags:1 dts: 0.080000 pts: 0.080000 pos: 304204 size:152064 +ret:-EOF ret: 0 st:-1 flags:1 ts: 0.200839 -ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 64 size:152064 -ret: 0 st: 0 flags:0 ts:-0.920000 -ret: 0 st: 0 flags:1 dts: 0.000000 pts: 0.000000 pos: 64 size:152064 +ret: 0 st: 0 flags:1 dts: 0.160000 pts: 0.160000 pos: 608344 size:152064 +ret:-1 st: 0 flags:0 ts:-0.920000 ret: 0 st: 0 flags:1 ts: 2.000000 -ret: 0 st: 0 flags:1 dts: 0.080000 pts: 0.080000 pos: 304204 size:152064 +ret:-EOF ret: 0 st:-1 flags:0 ts: 0.883340 -ret: 0 st: 0 flags:1 dts: 0.040000 pts: 0.040000 pos: 152134 size:152064 +ret: 0 st: 0 flags:1 dts: 0.880000 pts: 0.880000 pos:3345604 size:152064 ret:-1 st:-1 flags:1 ts:-0.222493 ret: 0 st: 0 flags:0 ts: 2.680000 -ret: 0 st: 0 flags:1 dts: 0.120000 pts: 0.120000 pos: 456274 size:152064 +ret:-EOF ret: 0 st: 0 flags:1 ts: 1.560000 -ret: 0 st: 0 flags:1 dts: 0.040000 pts: 0.040000 pos: 152134 size:152064 +ret:-EOF ret: 0 st:-1 flags:0 ts: 0.460008 -ret: 0 st: 0 flags:1 dts: 0.040000 pts: 0.040000 pos: 152134 size:152064 +ret: 0 st: 0 flags:1 dts: 0.480000 pts: 0.480000 pos:1824904 size:152064 ret:-1 st:-1 flags:1 ts:-0.645825