[libav-commits] avutil: Add a copy of ff_sqrt_tab back into avutil to restore ABI compatibility

Martin Storsjö git at libav.org
Sat Oct 20 13:35:36 CEST 2012


Module: libav
Branch: master
Commit: d15c21e5fa3961f10026da1a3080a3aa3cf4cec9

Author:    Martin Storsjö <martin at martin.st>
Committer: Martin Storsjö <martin at martin.st>
Date:      Sat Oct 20 13:32:01 2012 +0300

avutil: Add a copy of ff_sqrt_tab back into avutil to restore ABI compatibility

Earlier versions of for instance of libavcodec expect this symbol to be
present in libavutil. This commit can be reverted after the next major
bump.

New shared builds of avcodec will link to the internal copy of the
table within that library, so those builds won't rely on this table
being present in avutil any longer either.

Signed-off-by: Martin Storsjö <martin at martin.st>

---

 libavcodec/Makefile     |    1 +
 libavcodec/mathtables.c |   11 -----------
 libavcodec/sqrt_tab.c   |   30 ++++++++++++++++++++++++++++++
 libavutil/Makefile      |    1 +
 libavutil/sqrt_tab.c    |    1 +
 5 files changed, 33 insertions(+), 11 deletions(-)

diff --git a/libavcodec/Makefile b/libavcodec/Makefile
index e1787dd..7b76ab2 100644
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
@@ -30,6 +30,7 @@ OBJS = allcodecs.o                                                      \
        resample.o                                                       \
        resample2.o                                                      \
        simple_idct.o                                                    \
+       sqrt_tab.o                                                       \
        utils.o                                                          \
 
 # parts needed for many different codecs
diff --git a/libavcodec/mathtables.c b/libavcodec/mathtables.c
index 141aa78..12877b2 100644
--- a/libavcodec/mathtables.c
+++ b/libavcodec/mathtables.c
@@ -56,17 +56,6 @@ const uint32_t ff_inverse[257]={
   16777216
 };
 
-const uint8_t ff_sqrt_tab[256]={
-  0, 16, 23, 28, 32, 36, 40, 43, 46, 48, 51, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 77, 79, 80, 82, 84, 85, 87, 88, 90,
- 91, 92, 94, 95, 96, 98, 99,100,102,103,104,105,107,108,109,110,111,112,114,115,116,117,118,119,120,121,122,123,124,125,126,127,
-128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,144,145,146,147,148,149,150,151,151,152,153,154,155,156,156,
-157,158,159,160,160,161,162,163,164,164,165,166,167,168,168,169,170,171,171,172,173,174,174,175,176,176,177,178,179,179,180,181,
-182,182,183,184,184,185,186,186,187,188,188,189,190,190,191,192,192,193,194,194,195,196,196,197,198,198,199,200,200,201,202,202,
-203,204,204,205,205,206,207,207,208,208,209,210,210,211,212,212,213,213,214,215,215,216,216,217,218,218,219,219,220,220,221,222,
-222,223,223,224,224,225,226,226,227,227,228,228,229,230,230,231,231,232,232,233,233,234,235,235,236,236,237,237,238,238,239,239,
-240,240,241,242,242,243,243,244,244,245,245,246,246,247,247,248,248,249,249,250,250,251,251,252,252,253,253,254,254,255,255,255
-};
-
 const uint8_t ff_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,
diff --git a/libavcodec/sqrt_tab.c b/libavcodec/sqrt_tab.c
new file mode 100644
index 0000000..3f18d91
--- /dev/null
+++ b/libavcodec/sqrt_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 <stdint.h>
+
+const uint8_t ff_sqrt_tab[256]={
+  0, 16, 23, 28, 32, 36, 40, 43, 46, 48, 51, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 77, 79, 80, 82, 84, 85, 87, 88, 90,
+ 91, 92, 94, 95, 96, 98, 99,100,102,103,104,105,107,108,109,110,111,112,114,115,116,117,118,119,120,121,122,123,124,125,126,127,
+128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,144,145,146,147,148,149,150,151,151,152,153,154,155,156,156,
+157,158,159,160,160,161,162,163,164,164,165,166,167,168,168,169,170,171,171,172,173,174,174,175,176,176,177,178,179,179,180,181,
+182,182,183,184,184,185,186,186,187,188,188,189,190,190,191,192,192,193,194,194,195,196,196,197,198,198,199,200,200,201,202,202,
+203,204,204,205,205,206,207,207,208,208,209,210,210,211,212,212,213,213,214,215,215,216,216,217,218,218,219,219,220,220,221,222,
+222,223,223,224,224,225,226,226,227,227,228,228,229,230,230,231,231,232,232,233,233,234,235,235,236,236,237,237,238,238,239,239,
+240,240,241,242,242,243,243,244,244,245,245,246,246,247,247,248,248,249,249,250,250,251,251,252,252,253,253,254,254,255,255,255
+};
diff --git a/libavutil/Makefile b/libavutil/Makefile
index 227a57e..3451a7c 100644
--- a/libavutil/Makefile
+++ b/libavutil/Makefile
@@ -84,6 +84,7 @@ OBJS = adler32.o                                                        \
        rc4.o                                                            \
        samplefmt.o                                                      \
        sha.o                                                            \
+       sqrt_tab.o                                                       \
        time.o                                                           \
        tree.o                                                           \
        utils.o                                                          \
diff --git a/libavutil/sqrt_tab.c b/libavutil/sqrt_tab.c
new file mode 100644
index 0000000..e3d978b
--- /dev/null
+++ b/libavutil/sqrt_tab.c
@@ -0,0 +1 @@
+#include "libavcodec/sqrt_tab.c"



More information about the libav-commits mailing list