[FFmpeg-devel] [PATCH] avcodec/tests: added test for celp_math.c

Thomas Turner thomastdt at googlemail.com
Thu Mar 23 11:18:53 EET 2017


Signed-off-by: Thomas Turner <thomastdt at googlemail.com>
---
 libavcodec/Makefile          |  1 +
 libavcodec/tests/celp_math.c | 22 ++++++++++++++++++++++
 tests/fate/libavcodec.mak    |  5 +++++
 3 files changed, 28 insertions(+)
 create mode 100644 libavcodec/tests/celp_math.c

diff --git a/libavcodec/Makefile b/libavcodec/Makefile
index b8d7a00..eae7b8e 100644
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
@@ -1023,6 +1023,7 @@ SKIPHEADERS-$(CONFIG_VDPAU)            += vdpau.h vdpau_internal.h
 SKIPHEADERS-$(CONFIG_VIDEOTOOLBOX)     += videotoolbox.h vda_vt_internal.h
 
 TESTPROGS = avpacket                                                    \
+            celp_math                                                   \
             imgconvert                                                  \
             jpeg2000dwt                                                 \
             mathops                                                    \
diff --git a/libavcodec/tests/celp_math.c b/libavcodec/tests/celp_math.c
new file mode 100644
index 0000000..24cfced
--- /dev/null
+++ b/libavcodec/tests/celp_math.c
@@ -0,0 +1,22 @@
+#include "libavutil/libm.h"
+#include "libavcodec/celp_math.c"
+
+int main(void)
+{
+    int i;
+    const float f1[3]   = {0.0,  1.1,  2.2};
+    const float f2[3]   = {3.3,  4.4,  5.5};
+    const int16_t i1[3] = {6,  7,  8};
+    const int16_t i2[3] = {9, 10, 11};
+
+    float   r = ff_dot_productf(f1, f2, FF_ARRAY_ELEMS(f1));
+    int64_t d = ff_dot_product(i1, i2, FF_ARRAY_ELEMS(i1));
+
+    av_assert0(16.94f == r);
+    av_assert0(212 == d);
+
+    for (i = 1024; i >= 1; i/=2)
+        av_assert0(ff_log2_q15(i) == (1<<15)*((int)log2(i))+(1<<2));
+
+    return 0;
+}
diff --git a/tests/fate/libavcodec.mak b/tests/fate/libavcodec.mak
index 32b0c1e..07417f0 100644
--- a/tests/fate/libavcodec.mak
+++ b/tests/fate/libavcodec.mak
@@ -8,6 +8,11 @@ fate-cabac: libavcodec/tests/cabac$(EXESUF)
 fate-cabac: CMD = run libavcodec/tests/cabac
 fate-cabac: REF = /dev/null
 
+FATE_LIBAVCODEC-yes += fate-celp_math
+fate-celp_math: libavcodec/tests/celp_math$(EXESUF)
+fate-celp_math: CMD = run libavcodec/tests/celp_math
+fate-celp_math: REF = /dev/null
+
 FATE_LIBAVCODEC-$(CONFIG_GOLOMB) += fate-golomb
 fate-golomb: libavcodec/tests/golomb$(EXESUF)
 fate-golomb: CMD = run libavcodec/tests/golomb
-- 
1.9.1



More information about the ffmpeg-devel mailing list