From 930c9d4373e0f3cb7c64fcfc129127a309f6d066 Mon Sep 17 00:00:00 2001 From: Diego Biurrun Date: Thu, 4 Oct 2012 21:12:32 +0200 Subject: avutil: Duplicate ff_log2_tab instead of sharing it across libs The table is so small that the space gain is not worth the performance overhead of cross-library access. --- libavcodec/Makefile | 1 + libavcodec/log2_tab.c | 1 + libavformat/Makefile | 1 + libavformat/log2_tab.c | 1 + libavutil/Makefile | 1 + libavutil/log2_tab.c | 30 ++++++++++++++++++++++++++++++ libavutil/mathematics.c | 11 ----------- 7 files changed, 35 insertions(+), 11 deletions(-) create mode 100644 libavcodec/log2_tab.c create mode 100644 libavformat/log2_tab.c create mode 100644 libavutil/log2_tab.c diff --git a/libavcodec/Makefile b/libavcodec/Makefile index 5dbd60e067..a63e2baf46 100644 --- a/libavcodec/Makefile +++ b/libavcodec/Makefile @@ -22,6 +22,7 @@ OBJS = allcodecs.o \ fmtconvert.o \ imgconvert.o \ jrevdct.o \ + log2_tab.o \ mathtables.o \ options.o \ parser.o \ diff --git a/libavcodec/log2_tab.c b/libavcodec/log2_tab.c new file mode 100644 index 0000000000..47a1df03b7 --- /dev/null +++ b/libavcodec/log2_tab.c @@ -0,0 +1 @@ +#include "libavutil/log2_tab.c" diff --git a/libavformat/Makefile b/libavformat/Makefile index e8729c0e8f..5d89a2e3da 100644 --- a/libavformat/Makefile +++ b/libavformat/Makefile @@ -11,6 +11,7 @@ OBJS = allformats.o \ cutils.o \ id3v1.o \ id3v2.o \ + log2_tab.o \ metadata.o \ mux.o \ options.o \ diff --git a/libavformat/log2_tab.c b/libavformat/log2_tab.c new file mode 100644 index 0000000000..47a1df03b7 --- /dev/null +++ b/libavformat/log2_tab.c @@ -0,0 +1 @@ +#include "libavutil/log2_tab.c" diff --git a/libavutil/Makefile b/libavutil/Makefile index b5314bc208..e2b84e0cc2 100644 --- a/libavutil/Makefile +++ b/libavutil/Makefile @@ -69,6 +69,7 @@ OBJS = adler32.o \ lfg.o \ lls.o \ log.o \ + log2_tab.o \ lzo.o \ mathematics.o \ md5.o \ diff --git a/libavutil/log2_tab.c b/libavutil/log2_tab.c new file mode 100644 index 0000000000..f6cbe79063 --- /dev/null +++ b/libavutil/log2_tab.c @@ -0,0 +1,30 @@ +/* + * This file is part of Libav. + * + * Libav 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. + * + * Libav 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 Libav; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +#include + +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 +}; diff --git a/libavutil/mathematics.c b/libavutil/mathematics.c index ce8919575b..1655e1c25a 100644 --- a/libavutil/mathematics.c +++ b/libavutil/mathematics.c @@ -28,17 +28,6 @@ #include #include "mathematics.h" -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 -}; - const uint8_t av_reverse[256]={ 0x00,0x80,0x40,0xC0,0x20,0xA0,0x60,0xE0,0x10,0x90,0x50,0xD0,0x30,0xB0,0x70,0xF0, 0x08,0x88,0x48,0xC8,0x28,0xA8,0x68,0xE8,0x18,0x98,0x58,0xD8,0x38,0xB8,0x78,0xF8, -- cgit v1.2.3