Signed-off-by: Thomas Turner <thomas...@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 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel