From patchwork Mon Aug 20 20:27:05 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sergey Lavrushkin X-Patchwork-Id: 10040 Delivered-To: ffmpegpatchwork@gmail.com Received: by 2002:a02:12c4:0:0:0:0:0 with SMTP id 65-v6csp2948401jap; Mon, 20 Aug 2018 13:52:31 -0700 (PDT) X-Google-Smtp-Source: AA+uWPwWJ3iWdEBpdHGpVosPKYHs73e9JJDxSDIw4zm3+m/IJIAcQqC92b3C1EY6s5RHJ1g68Yo4 X-Received: by 2002:a1c:6f44:: with SMTP id k65-v6mr17073929wmc.19.1534798350909; Mon, 20 Aug 2018 13:52:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1534798350; cv=none; d=google.com; s=arc-20160816; b=xBxsXb9AjAHIuCtXobAMFxWH3Q+RF/l2j8mh0xQQ2/JHM6BkYNeI7LwFqeIcYLJhjg qQ5eOPj8skQUb5WXdkrO+TNSUJyapbx4Hc8lRVjx/dSUzvR1eNkBRAQkyWWMom07ZxR3 z6ELpzmEwn3R51qVbxrxSngNg+fRwUr/Wtm2p8D+H7fXdPXPiV/vFuZUWU0sB+sBuSHb 2gvIMPOjmTGnpmheiZMSQ7VcEIllTIJ1q12o8UMebeV6PV7roEAXED4ItVnEv4wrqu5f zEtAVLNVN20DrR4J5BSumGIL5K4BOHb4W///fNTIm3MSOMdTkkm4Ac1jmmD0le3wJCGX 4gfA== 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:to :message-id:date:from:references:in-reply-to:mime-version :dkim-signature:delivered-to:arc-authentication-results; bh=cuBHNqSInjQ07dYJkjoxa2aceXj9/p3ZOmqUAZlEzKg=; b=E/qCmCQq2YupUHAS+mq4zPYZ9UmblAcrkRk8MJyc7T+5dnE38jpaBAmdpQ51BqiAKV BEgwond1csBrlwnu7neEyboswwH2Qua506qOrE2VLxbyNoj1gvbs8ErT0FNLLaOCD0Zw /Z2/Y6QX4KnU08wQozicylkAF+ZMswSqAcL3xG9g6DMuj7mH95O/NsoNbdo5pSlzlVTU aPJpkAZlg0GOXII0mpUEqOe7L+7TygSFMKs7No5geJctQDhI0cTGafNGAtJPx/G9StZN TGy6+InTxMoSSVuM7bRRXvN6ZltBQtzzpaH0tFrcS60kwlfD7Gp0qmoVHWyBL09tNLr5 E0Yw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=UOvJTXXA; 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=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id b20-v6si9152127wrh.275.2018.08.20.13.52.30; Mon, 20 Aug 2018 13:52:30 -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=@gmail.com header.s=20161025 header.b=UOvJTXXA; 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=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6A2A7689C92; Mon, 20 Aug 2018 23:52:02 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf1-f193.google.com (mail-pf1-f193.google.com [209.85.210.193]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6DF9768064F for ; Mon, 20 Aug 2018 23:51:55 +0300 (EEST) Received: by mail-pf1-f193.google.com with SMTP id e13-v6so7352049pff.7 for ; Mon, 20 Aug 2018 13:52:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to; bh=zR3LoPPr+fL0DknNCIMJ8kk+mo60hxO77Fhg/c4Nack=; b=UOvJTXXAQ188rnmwU+2mBv4HLqN5d684M6XanbZQ2YEQ2SvKq7yNO56CTAY/bBrF07 fM/QBQ1JYttinmHJ/0ZqxWu7xsji+3bo9aoFi8z+or5uv8GLr44VqBsFwfvDb5GeKCt8 KB/iCChS23bOfwCLZVRS07rdBqqh8u5IhYNBB6yshGz6OFRB7KT6ibMmx6d7fqOZAmMy uq7qJusDtlNgL23wAts3zOyb9lVgIVsceF1GjLZPLmKdjAviFrdJwUdnD97NK4KX2eA4 ACYUNQrQmA4nBK+/7WRLXb1pYEwBQ5ZmQtz+rDZBfZpntCIYGM+UNU72Y0QmyaCWbhYo /UsQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to; bh=zR3LoPPr+fL0DknNCIMJ8kk+mo60hxO77Fhg/c4Nack=; b=NYjZapJYcvwP06hH6r708rnUuqcZqWnjVRm5yqSoGQXF2XundSkl4goxtJVjt3VzQc 1e9ZmKc/i5UZPDIZNe5pFlgqhd3jg2y2ZXJH+vBvnoVLdf8ImYs/kzJiTWmg0DOhtRrr SxpGHKseLT9oHgyaN/POmRpCsvhAg0Kbnrvjxga/WCTYePtLV6s8Axl3z9Y88fAJSfny ZuqfCK6O/WIpshtzy+AoW3jW/zpt5Tg1mIH/Yvftg3C+Cn1VNP/fILivknwmCEF4fgRF IMHl5n9SAMM6YzWUTJmPVsD5l+JTqxldl7hyDBhB+gHEfWzpOT3ZoCxmU3FRSJtH89+S MNRA== X-Gm-Message-State: AOUpUlF97PjSlB8V+3cZk/dUTpszljoV0ybibvPH5zHgInwQGvxk95ED iGnSnoJDUVoS4sQenEwo3fSyGRXoPoRntvvk+88UT8/M X-Received: by 2002:a63:231f:: with SMTP id j31-v6mr7996457pgj.138.1534796826650; Mon, 20 Aug 2018 13:27:06 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a17:90a:501:0:0:0:0 with HTTP; Mon, 20 Aug 2018 13:27:05 -0700 (PDT) In-Reply-To: <20180818202009.GL19650@michaelspb> References: <20180810172441.GB19650@michaelspb> <20180811214534.GJ19650@michaelspb> <20180814162305.GN19650@michaelspb> <52fd2729-78ab-fbe0-5c32-90a9fcc21cf2@gmail.com> <20180817202858.GG19650@michaelspb> <20180818202009.GL19650@michaelspb> From: Sergey Lavrushkin Date: Mon, 20 Aug 2018 23:27:05 +0300 Message-ID: To: FFmpeg development discussions and patches X-Content-Filtered-By: Mailman/MimeDel 2.1.20 Subject: Re: [FFmpeg-devel] [PATCH 4/7] Adds gray floating-point pixel formats. 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" 2018-08-18 23:20 GMT+03:00 Michael Niedermayer : > On Sat, Aug 18, 2018 at 02:10:21PM +0300, Sergey Lavrushkin wrote: > > 2018-08-17 23:28 GMT+03:00 Michael Niedermayer : > > > > > On Fri, Aug 17, 2018 at 12:46:52AM -0300, James Almer wrote: > > > > On 8/14/2018 1:23 PM, Michael Niedermayer wrote: > > > > > On Mon, Aug 13, 2018 at 04:58:42PM +0300, Sergey Lavrushkin wrote: > > > > >>> > > > > >>> Just use av_clipf instead of FFMIN/FFMAX. > > > > >> > > > > >> > > > > >> Changed FFMIN/FFMAX to av_clip_uint16 and av_clip_uint8. > > > > > > > > > > will apply > > > > > > > > > > thanks > > > > > > > > This broke fate on some 32bit hosts. Guess float pixfmts shouldn't be > > > > tested for bitexact output. The gbrpf32 ones aren't, for example. > > > > http://fate.ffmpeg.org/report.cgi?time=20180816131312&slot= > > > x86_32-debian-kfreebsd-gcc-4.4-cpuflags-mmx > > > > > > hmmmm > > > i remember i had tested this locally on 32bit > > > can something be slightly adjusted (like an offset or factor) to avoid > any > > > values becoming close to 0.5 and rounding differently on platforms ? > > > > If not the tests should skip float pixel formats or try the nearest > > > neighbor scaler > > > > > > > Can it really be the problem with scaler? Do all these failed test use > > scaling? > > Is not it the problem, that different platforms can give slightly > different > > results for > > floating-point operations? Does input for the float format is somehow > > generated > > for these tests, so the input conversion is tested? Maybe it uses output > > conversion first? > > If it is the problem of different floating-point operations results on > > different platforms, > > > maybe it is possible to use precomputed LUT for output conversion, so it > > I dont think we should change the "algorithm" to achive "bitexactness" > we could of course but it feels like the wrong reason to make such a > change. How its done should be choosen based on what is fast (and to a > lesser extend clean, simple and maintainable) > > > > > will give > > the same results? Or is it possible to modify tests for the float format, > > so it will > > check if pixels of the result are just close to some reference. > > Its possible to compare to a reference, we do this in some other tests, > but thats surely more work than just disabling teh specific tests or trying > to nudge them a little to see if that makes nothing fall too close to n + > 0.5 > > > > > > > > Sergey, can you look into this (its your patch) ? (just asking to make > sure > > > not eevryone thinks someone else will work on this) > > > > > > > Yes, I can, just need to know, what is possible to do to fix this issue, > > besides skipping the tests. > > most things are possible > Hi, I am having trouble reproducing this error. These tests are fine for 32-bit VMs on my computers. So the only thing I can do is to disable these tests for these formats. Otherwise, I need to test other changes somehow. Here is the patch, that skips pixfmts tests for these formats. From a92e6965f9c328fcaa18460ac9da975748272e0a Mon Sep 17 00:00:00 2001 From: Sergey Lavrushkin Date: Mon, 20 Aug 2018 23:14:07 +0300 Subject: [PATCH] tests: Disables pixfmts tests for float gray formats. --- tests/fate-run.sh | 4 ++-- tests/ref/fate/filter-pixfmts-copy | 2 -- tests/ref/fate/filter-pixfmts-crop | 2 -- tests/ref/fate/filter-pixfmts-field | 2 -- tests/ref/fate/filter-pixfmts-fieldorder | 2 -- tests/ref/fate/filter-pixfmts-hflip | 2 -- tests/ref/fate/filter-pixfmts-il | 2 -- tests/ref/fate/filter-pixfmts-null | 2 -- tests/ref/fate/filter-pixfmts-scale | 2 -- tests/ref/fate/filter-pixfmts-transpose | 2 -- tests/ref/fate/filter-pixfmts-vflip | 2 -- 11 files changed, 2 insertions(+), 22 deletions(-) diff --git a/tests/fate-run.sh b/tests/fate-run.sh index aece90a01d..e8d71707b0 100755 --- a/tests/fate-run.sh +++ b/tests/fate-run.sh @@ -288,8 +288,8 @@ pixfmts(){ in_fmts=${outfile}_in_fmts # exclude pixel formats which are not supported as input - $showfiltfmts scale | awk -F '[ \r]' '/^INPUT/{ fmt=substr($3, 5); print fmt }' | sort >$scale_in_fmts - $showfiltfmts scale | awk -F '[ \r]' '/^OUTPUT/{ fmt=substr($3, 5); print fmt }' | sort >$scale_out_fmts + $showfiltfmts scale | awk -F '[ \r]' '/^INPUT/{ fmt=substr($3, 5); if (fmt !~ /grayf32.e/){ print fmt } }' | sort >$scale_in_fmts + $showfiltfmts scale | awk -F '[ \r]' '/^OUTPUT/{ fmt=substr($3, 5); if (fmt !~ /grayf32.e/){ print fmt } }' | sort >$scale_out_fmts comm -12 $scale_in_fmts $scale_out_fmts >$scale_exclude_fmts $showfiltfmts $filter | awk -F '[ \r]' '/^INPUT/{ fmt=substr($3, 5); print fmt }' | sort >$in_fmts diff --git a/tests/ref/fate/filter-pixfmts-copy b/tests/ref/fate/filter-pixfmts-copy index 5385036a82..013b33f1c0 100644 --- a/tests/ref/fate/filter-pixfmts-copy +++ b/tests/ref/fate/filter-pixfmts-copy @@ -47,8 +47,6 @@ gray16be 08d997a3faa25a3db9d6be272d282eef gray16le df65eb804360795e3e38a2701fa9641a gray9be 6382a14594a8b68f0ec7de25531f9334 gray9le 4eb1dda58706436e3b69aef29b0089db -grayf32be f3bf178835f8146aa09d1da94bba4d8a -grayf32le fb6ea85bfbc8cd21c51fc0e110197294 monob 8b04f859fee6a0be856be184acd7a0b5 monow 54d16d2c01abfd72ecdb5e51e283937c nv12 8e24feb2c544dc26a20047a71e4c27aa diff --git a/tests/ref/fate/filter-pixfmts-crop b/tests/ref/fate/filter-pixfmts-crop index ae48c2bf42..750ea27404 100644 --- a/tests/ref/fate/filter-pixfmts-crop +++ b/tests/ref/fate/filter-pixfmts-crop @@ -47,8 +47,6 @@ gray16be 38f599da990224de86e3dc7a543121a9 gray16le 9ff7c866bd98def4e6c91542c1c45f80 gray9be 8ffcb18d699480f55414bfc21ab33321 gray9le 4d1932d4968a248584f5e39c25f1dd43 -grayf32be cf40ec06a8abe54852b7f85a00549eec -grayf32le b672526c9da9c8959ab881f242f6890a nv12 92cda427f794374731ec0321ee00caac nv21 1bcfc197f4fb95de85ba58182d8d2f69 p010be 8b2de2eb6b099bbf355bfc55a0694ddc diff --git a/tests/ref/fate/filter-pixfmts-field b/tests/ref/fate/filter-pixfmts-field index 857ded1c41..4fdc214781 100644 --- a/tests/ref/fate/filter-pixfmts-field +++ b/tests/ref/fate/filter-pixfmts-field @@ -47,8 +47,6 @@ gray16be e1700e056de9917744a7ff4ab2ca63fd gray16le 338de7ac5f7d36d5ad5ac2c8d5bbea68 gray9be 25e50940fa300a8f09edfb6eba4fd250 gray9le 1146cfc1b92bfd07ed238e65ffcd134f -grayf32be 72fbfa47b2863658a8a80d588f23b3e7 -grayf32le 6b856bdbf2a2bfcd2bc7d50f109daaf0 monob 2129cc72a484d7e10a44de9117aa9f80 monow 03d783611d265cae78293f88ea126ea1 nv12 16f7a46708ef25ebd0b72e47920cc11e diff --git a/tests/ref/fate/filter-pixfmts-fieldorder b/tests/ref/fate/filter-pixfmts-fieldorder index fc003457fc..7fc158b0af 100644 --- a/tests/ref/fate/filter-pixfmts-fieldorder +++ b/tests/ref/fate/filter-pixfmts-fieldorder @@ -47,8 +47,6 @@ gray16be 293a36548ce16543494790f8f7f76a05 gray16le 84f83f5fcbb5d458efb8395a50a3797e gray9be ec877f5bcf0ea275a6f36c12cc9adf11 gray9le fba944fde7923d5089f4f52d12988b9e -grayf32be 1aa7960131f880c54fe3c77f13448674 -grayf32le 4029ac9d197f255794c1b9e416520fc7 rgb0 2e3d8c91c7a83d451593dfd06607ff39 rgb24 b82577f8215d3dc2681be60f1da247af rgb444be 1c3afc3a0c53c51139c76504f59bb1f4 diff --git a/tests/ref/fate/filter-pixfmts-hflip b/tests/ref/fate/filter-pixfmts-hflip index e97c185f6e..70a43d9959 100644 --- a/tests/ref/fate/filter-pixfmts-hflip +++ b/tests/ref/fate/filter-pixfmts-hflip @@ -47,8 +47,6 @@ gray16be cf7294d9aa23e1b838692ec01ade587b gray16le d91ce41e304419bcf32ac792f01bd64f gray9be ac8d260669479ae720a5b6d4d8639e34 gray9le 424fc581947bc8c357c9ec5e3c1c04d1 -grayf32be a69add7bbf892a71fe81b3b75982dbe2 -grayf32le 4563e176a35dc8a8a07e0829fad5eb88 nv12 801e58f1be5fd0b5bc4bf007c604b0b4 nv21 9f10dfff8963dc327d3395af21f0554f p010be 744b13e44d39e1ff7588983fa03e0101 diff --git a/tests/ref/fate/filter-pixfmts-il b/tests/ref/fate/filter-pixfmts-il index a006fc19a3..ba06851e24 100644 --- a/tests/ref/fate/filter-pixfmts-il +++ b/tests/ref/fate/filter-pixfmts-il @@ -47,8 +47,6 @@ gray16be 92c3b09f371b610cc1b6a9776034f4d0 gray16le 1db278d23a554e01910cedacc6c02521 gray9be ed7db5bb2ddc09bc26068c8b858db204 gray9le 2ec9188f0dcfefef76a09f371d7beb8e -grayf32be f36197c9e2ef5c50a995e980c1a37203 -grayf32le 8bf3d295c3ffd53da0e06d0702e7c1ca monob faba75df28033ba7ce3d82ff2a99ee68 monow 6e9cfb8d3a344c5f0c3e1d5e1297e580 nv12 3c3ba9b1b4c4dfff09c26f71b51dd146 diff --git a/tests/ref/fate/filter-pixfmts-null b/tests/ref/fate/filter-pixfmts-null index 5385036a82..013b33f1c0 100644 --- a/tests/ref/fate/filter-pixfmts-null +++ b/tests/ref/fate/filter-pixfmts-null @@ -47,8 +47,6 @@ gray16be 08d997a3faa25a3db9d6be272d282eef gray16le df65eb804360795e3e38a2701fa9641a gray9be 6382a14594a8b68f0ec7de25531f9334 gray9le 4eb1dda58706436e3b69aef29b0089db -grayf32be f3bf178835f8146aa09d1da94bba4d8a -grayf32le fb6ea85bfbc8cd21c51fc0e110197294 monob 8b04f859fee6a0be856be184acd7a0b5 monow 54d16d2c01abfd72ecdb5e51e283937c nv12 8e24feb2c544dc26a20047a71e4c27aa diff --git a/tests/ref/fate/filter-pixfmts-scale b/tests/ref/fate/filter-pixfmts-scale index 05879ee3c7..559355be49 100644 --- a/tests/ref/fate/filter-pixfmts-scale +++ b/tests/ref/fate/filter-pixfmts-scale @@ -47,8 +47,6 @@ gray16be 32891cb0928b1119d8d43a6e1bef0e2b gray16le f96cfb5652b090dad52615930f0ce65f gray9be 779dec0c6c2df008128b91622a20daf8 gray9le fa87a96ca275f82260358635f838b514 -grayf32be 5e4c715519f53c15f1345df90481e5f5 -grayf32le 2ff1b84023e820307b1ba7a9550115bc monob f01cb0b623357387827902d9d0963435 monow 35c68b86c226d6990b2dcb573a05ff6b nv12 b118d24a3653fe66e5d9e079033aef79 diff --git a/tests/ref/fate/filter-pixfmts-transpose b/tests/ref/fate/filter-pixfmts-transpose index 44644099c6..78218cda4e 100644 --- a/tests/ref/fate/filter-pixfmts-transpose +++ b/tests/ref/fate/filter-pixfmts-transpose @@ -47,8 +47,6 @@ gray16be 4aef307021a91b1de67f1d4381a39132 gray16le 76f2afe156edca7ae05cfa4e5867126e gray9be 2c425fa532c940d226822da8b3592310 gray9le bcc575942910b3c72eaa72e8794f3acd -grayf32be 823288e1ec497bb1f22c070e502e5272 -grayf32le 6e9ec0e1cac3617f3041e681afd2c575 nv12 1965e3826144686748f2f6b516fca5ba nv21 292adaf5271c5c8516b71640458c01f4 p010be ad0de2cc9bff81688b182a870fcf7000 diff --git a/tests/ref/fate/filter-pixfmts-vflip b/tests/ref/fate/filter-pixfmts-vflip index 51628f14ce..3cb99e7d8d 100644 --- a/tests/ref/fate/filter-pixfmts-vflip +++ b/tests/ref/fate/filter-pixfmts-vflip @@ -47,8 +47,6 @@ gray16be 29f24ba7cb0fc4fd2ae78963d008f6e6 gray16le a37e9c4ea76e8eeddc2af8f600ba2c10 gray9be dda11d4ffd62b414012ffc4667fb4971 gray9le 159bf6482d217b2b8276eb2216cd7a09 -grayf32be c1ba5943a0d24d70e6a280f37e4f4593 -grayf32le 8e6c048a5b3b8b26d3a5ddfce255f3f6 monob 7810c4857822ccfc844d78f5e803269a monow 90a947bfcd5f2261e83b577f48ec57b1 nv12 261ebe585ae2aa4e70d39a10c1679294 -- 2.14.1