From patchwork Tue Mar 20 18:43:19 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 8060 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.2.1.70 with SMTP id c67csp4235145jad; Tue, 20 Mar 2018 11:43:52 -0700 (PDT) X-Google-Smtp-Source: AG47ELuWhINOoL26WJS8U88yU0bYtU/IjKGBBe0bBtzZ/gg3cpWQjoOyS5MxebLV+oiAAQ0U9f4J X-Received: by 10.223.128.209 with SMTP id 75mr13661319wrl.108.1521571432566; Tue, 20 Mar 2018 11:43:52 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1521571432; cv=none; d=google.com; s=arc-20160816; b=fn9Vz33pDd+CThROJksRTl08PCxQCgwrPNKO5Vy7GnAnCZsSI/yakD/TXY4U9vJrpF hiVZ3s7IZV+rAXGhqG40NcSrTbWDZN98vW+GFoIp+Plaik84eyApHxdt3tpDErxSGQKd kPzm+M9xYSho1Lf/kDa0tIvfPaQzZu5rLStjGJVH6BUu49RZHU+6sCTSANXljJSR8iAU CBdSzmrmrNA2ORmvKy2UTL09+AYhLVRKsnBb2ioL4cBYujgZMXWi5epykAdhfeOhVz34 epJV872ZzufJiIrRVgF1IBMv1NuOZin2EiS5PP4+7KhES2YfD5ZnoX38O9kQ+kOWDDGr psHg== 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: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=DlNg8wWLXlCQl35QkIyMxvoMXvvRlPLnhQleZTWazYM=; b=GsL2AbwXH70Rj75qUSwyiT++UMbhotKL6Tx+YhmrqGEs0ONj5kW4ECzceVYivcdyWv UOqNSHxEtLCQiWh6RJ59j5IjQhlcriOh/5qXpHUiVXdnlRNL3jBDLZ5D2oxe7Bl/v7nk vhdZaNZcLCgoY2OOAKSiSPtPr/dfSWxiY/QNThBq2F31XaQctG3QsY57O245wY/aslzf xMc7i+kU/fTdNkLGtA+eEJcgVpcFIB6WWSJCRfic5dGM40zoPAYLmlJkOOcwunAhnxZf Nc8mU835MBiRniirljxAmxBh7ROty/l5Yop/36BecNJ7ryDrhnBWybE8Sj7Tk+oCZLEU b+iw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=ZqveeOtS; 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 31si1911959wrb.375.2018.03.20.11.43.51; Tue, 20 Mar 2018 11:43:52 -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=ZqveeOtS; 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 D3C1868045F; Tue, 20 Mar 2018 20:43:35 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qt0-f194.google.com (mail-qt0-f194.google.com [209.85.216.194]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3548A689E84 for ; Tue, 20 Mar 2018 20:43:29 +0200 (EET) Received: by mail-qt0-f194.google.com with SMTP id n11so2427381qti.4 for ; Tue, 20 Mar 2018 11:43:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id; bh=4bSUOCINiLI+R+84dmZPla9x1jSkS1TEksjLuU6t11U=; b=ZqveeOtSUwMJj1NtYWbMpoLf/amJu+mKkJDv2ys4QOkLW4E90d9Llf4YBj9+m1ZD15 R6p3gwAJhmknBcWf/m/0Qic6xgxJEZUTm3GAocVXATK2ylhAZYl9Isi9pKizCstGwCs6 boJy1mlNUjYwFDr+hELQSTZ17TQvEJxn7HMoFg+MUhpAHq3p7Q5pDN17ywpKp8d3UcSd Rb9qz6n4B9jx4dPsUFsCnJoKVyQpmpecbNKTcO9m64OUhicnQKUadGDYJ/tn0YPfEsDg 2ZafeYkzdYQxa2lUDcNX6Yko5wpoMaj5S8iRsxRbyy1DDD9jeXRvOZgD0wWyWD7CPoxL rz7w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id; bh=4bSUOCINiLI+R+84dmZPla9x1jSkS1TEksjLuU6t11U=; b=G8zKtnd8ZBzQtjwSy2hsXiMBzu61BqdeQaBzgTvQf81Q75BUvD/PBjNewpp0XgDrpW TyAT0KRjcR0fAQsFerRRl+CsnZqjjLrJ4QA+SIMyEFxdPo5z85UePWs/9mtMUJD9qQVX kG2Hpu6HgFJfq4WH0Y3H18OsKJ2MuZW//Q41AQIKH+9tYkiEw+T8BKPNF5MaRi9reL8b r4kQB3D8VvzUTfj+5XB9UBnpvmn70wTgvVT9mBIVf1GlfaLmzC5MaZrr9JeoOnyydbV4 pU3e3AEE6uDvhUUjVGrMxWBYHzvPeOX6UFIAMA8SoNr9t7ZZfHaNK3ptIm58ci00wbYt 3w5Q== X-Gm-Message-State: AElRT7Hrl4s6/dJf9tHoN9T3eJKFLoc+DrHh7fWnOzYgZA6ofa1QXMl7 0gp915ikNzZt01xqfa3N6sOo6w== X-Received: by 10.200.18.198 with SMTP id b6mr25507027qtj.34.1521571422115; Tue, 20 Mar 2018 11:43:42 -0700 (PDT) Received: from localhost.localdomain ([190.188.171.140]) by smtp.gmail.com with ESMTPSA id f13sm1593722qtj.63.2018.03.20.11.43.40 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 20 Mar 2018 11:43:41 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Tue, 20 Mar 2018 15:43:19 -0300 Message-Id: <20180320184319.5780-1-jamrial@gmail.com> X-Mailer: git-send-email 2.16.2 Subject: [FFmpeg-devel] [PATCH] avutil/integer: move the test to the corresponding subdirectory 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 MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" And actually enable it. Signed-off-by: James Almer --- libavutil/Makefile | 1 + libavutil/integer.c | 38 ------------------------------------ libavutil/tests/integer.c | 49 +++++++++++++++++++++++++++++++++++++++++++++++ tests/fate/libavutil.mak | 5 +++++ 4 files changed, 55 insertions(+), 38 deletions(-) create mode 100644 libavutil/tests/integer.c diff --git a/libavutil/Makefile b/libavutil/Makefile index d7474f59e4..17ec1f1aa9 100644 --- a/libavutil/Makefile +++ b/libavutil/Makefile @@ -204,6 +204,7 @@ TESTPROGS = adler32 \ fifo \ hash \ hmac \ + integer \ imgutils \ lfg \ lls \ diff --git a/libavutil/integer.c b/libavutil/integer.c index 6d6855fa1b..890e314dce 100644 --- a/libavutil/integer.c +++ b/libavutil/integer.c @@ -164,41 +164,3 @@ int64_t av_i2int(AVInteger a){ } return out; } - -#ifdef TEST - -const uint8_t ff_log2_tab[256]={ - 0,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4, - 5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, - 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, - 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, - 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, - 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, - 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, - 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7 -}; - -int main(void){ - int64_t a,b; - - for(a=7; a<256*256*256; a+=13215){ - for(b=3; b<256*256*256; b+=27118){ - AVInteger ai= av_int2i(a); - AVInteger bi= av_int2i(b); - - av_assert0(av_i2int(ai) == a); - av_assert0(av_i2int(bi) == b); - av_assert0(av_i2int(av_add_i(ai,bi)) == a+b); - av_assert0(av_i2int(av_sub_i(ai,bi)) == a-b); - av_assert0(av_i2int(av_mul_i(ai,bi)) == a*b); - av_assert0(av_i2int(av_shr_i(ai, 9)) == a>>9); - av_assert0(av_i2int(av_shr_i(ai,-9)) == a<<9); - av_assert0(av_i2int(av_shr_i(ai, 17)) == a>>17); - av_assert0(av_i2int(av_shr_i(ai,-17)) == a<<17); - av_assert0(av_log2_i(ai) == av_log2(a)); - av_assert0(av_i2int(av_div_i(ai,bi)) == a/b); - } - } - return 0; -} -#endif diff --git a/libavutil/tests/integer.c b/libavutil/tests/integer.c new file mode 100644 index 0000000000..d2c8f2a903 --- /dev/null +++ b/libavutil/tests/integer.c @@ -0,0 +1,49 @@ +/* + * Copyright (c) 2004 Michael Niedermayer + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include + +#include "libavutil/avassert.h" +#include "libavutil/integer.h" +#include "libavutil/intmath.h" + +int main(void){ + int64_t a,b; + + for(a=7; a<256*256*256; a+=13215){ + for(b=3; b<256*256*256; b+=27118){ + AVInteger ai= av_int2i(a); + AVInteger bi= av_int2i(b); + + av_assert0(av_i2int(ai) == a); + av_assert0(av_i2int(bi) == b); + av_assert0(av_i2int(av_add_i(ai,bi)) == a+b); + av_assert0(av_i2int(av_sub_i(ai,bi)) == a-b); + av_assert0(av_i2int(av_mul_i(ai,bi)) == a*b); + av_assert0(av_i2int(av_shr_i(ai, 9)) == a>>9); + av_assert0(av_i2int(av_shr_i(ai,-9)) == a<<9); + av_assert0(av_i2int(av_shr_i(ai, 17)) == a>>17); + av_assert0(av_i2int(av_shr_i(ai,-17)) == a<<17); + av_assert0(av_log2_i(ai) == av_log2(a)); + av_assert0(av_i2int(av_div_i(ai,bi)) == a/b); + } + } + return 0; +} diff --git a/tests/fate/libavutil.mak b/tests/fate/libavutil.mak index 2ec5650c0f..9b32d880f5 100644 --- a/tests/fate/libavutil.mak +++ b/tests/fate/libavutil.mak @@ -90,6 +90,11 @@ FATE_LIBAVUTIL += fate-imgutils fate-imgutils: libavutil/tests/imgutils$(EXESUF) fate-imgutils: CMD = run libavutil/tests/imgutils +FATE_LIBAVUTIL += fate-integer +fate-integer: libavutil/tests/integer$(EXESUF) +fate-integer: CMD = run libavutil/tests/integer +fate-integer: CMP = null + FATE_LIBAVUTIL += fate-lfg fate-lfg: libavutil/tests/lfg$(EXESUF) fate-lfg: CMD = run libavutil/tests/lfg