Message ID | 1490260733-19386-1-git-send-email-thomastdt@googlemail.com |
---|---|
State | Superseded |
Headers | show |
On Thu, Mar 23, 2017 at 02:18:53AM -0700, Thomas Turner wrote: > Signed-off-by: Thomas Turner <thomastdt@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" missing license header also fails on x86-32 linux can you reproduce it ? /home/michael/ffmpeg-git/ffmpeg/tests/fate-run.sh fate-celp_math "/home/michael/fatesamples/fate/fate-suite/" "" "/home/michael/ffmpeg-git/ffmpeg/linux32" 'run libavcodec/tests/celp_math' '' '/dev/null' '' '1' '' '' '' '' '' '' '' '' /home/michael/ffmpeg-git/ffmpeg/linux32/libavcodec/tests/celp_math Test celp_math failed. Look at tests/data/fate/celp_math.err for details. Assertion 16.94f == r failed at src/libavcodec/tests/celp_math.c:15 Aborted [...]
On Thu, Mar 23, 2017 at 02:18:53AM -0700, Thomas Turner wrote: > Signed-off-by: Thomas Turner <thomastdt@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); floats should not be checked for equality, that is (as seen on x86-32) unreliable easiest is probably to check fabs(16.94f - r) < something [...]
On Thu, Mar 23, 2017 at 6:34 AM, Michael Niedermayer <michael@niedermayer.cc > wrote: > > On Thu, Mar 23, 2017 at 02:18:53AM -0700, Thomas Turner wrote: > > Signed-off-by: Thomas Turner <thomastdt@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" > > missing license header > > also fails on x86-32 linux > can you reproduce it ? > yes, was able to reproduce the error after cross-compilation. Sending in new patch that fixes the error on 32 bit machines > > /home/michael/ffmpeg-git/ffmpeg/tests/fate-run.sh fate-celp_math > "/home/michael/fatesamples/fate/fate-suite/" "" "/home/michael/ffmpeg-git/ffmpeg/linux32" > 'run libavcodec/tests/celp_math' '' '/dev/null' '' '1' '' '' '' '' '' '' '' > '' > /home/michael/ffmpeg-git/ffmpeg/linux32/libavcodec/tests/celp_math > Test celp_math failed. Look at tests/data/fate/celp_math.err for details. > Assertion 16.94f == r failed at src/libavcodec/tests/celp_math.c:15 > Aborted > > [...] > -- > Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB > > No great genius has ever existed without some touch of madness. -- > Aristotle > > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel > >
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
Signed-off-by: Thomas Turner <thomastdt@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