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

Michael Niedermayer michael at niedermayer.cc
Thu Mar 23 15:58:02 EET 2017


On Thu, Mar 23, 2017 at 02:18:53AM -0700, Thomas Turner wrote:
> 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);

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


[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Many things microsoft did are stupid, but not doing something just because
microsoft did it is even more stupid. If everything ms did were stupid they
would be bankrupt already.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20170323/eddb47c0/attachment.sig>


More information about the ffmpeg-devel mailing list