Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(212)

Unified Diff: tests/test_opus_decode.c

Issue 107243004: Updating Opus to release 1.1 (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/third_party/opus
Patch Set: Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tests/test_opus_common.h ('k') | tests/test_opus_encode.c » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests/test_opus_decode.c
diff --git a/tests/test_opus_decode.c b/tests/test_opus_decode.c
index 44a0ae524b09ddc2971b3f32b09b95ebe41b1e7e..9c0eb9c72858d5a8f4dc4da6b9f31eb2caebc41e 100644
--- a/tests/test_opus_decode.c
+++ b/tests/test_opus_decode.c
@@ -1,4 +1,4 @@
-/* Copyright (c) 2011 Xiph.Org Foundation
+/* Copyright (c) 2011-2013 Xiph.Org Foundation
Written by Gregory Maxwell */
/*
Redistribution and use in source and binary forms, with or without
@@ -373,6 +373,49 @@ int test_decoder_code0(int no_fuzz)
return 0;
}
+#ifndef DISABLE_FLOAT_API
+void test_soft_clip(void)
+{
+ int i,j;
+ float x[1024];
+ float s[8] = {0, 0, 0, 0, 0, 0, 0, 0};
+ fprintf(stdout," Testing opus_pcm_soft_clip... ");
+ for(i=0;i<1024;i++)
+ {
+ for (j=0;j<1024;j++)
+ {
+ x[j]=(i&255)*(1/32.f)-4.f;
+ }
+ opus_pcm_soft_clip(&x[i],1024-i,1,s);
+ for (j=i;j<1024;j++)
+ {
+ if(x[i]>1.f)test_failed();
+ if(x[i]<-1.f)test_failed();
+ }
+ }
+ for(i=1;i<9;i++)
+ {
+ for (j=0;j<1024;j++)
+ {
+ x[j]=(i&255)*(1/32.f)-4.f;
+ }
+ opus_pcm_soft_clip(x,1024/i,i,s);
+ for (j=0;j<(1024/i)*i;j++)
+ {
+ if(x[i]>1.f)test_failed();
+ if(x[i]<-1.f)test_failed();
+ }
+ }
+ opus_pcm_soft_clip(x,0,1,s);
+ opus_pcm_soft_clip(x,1,0,s);
+ opus_pcm_soft_clip(x,1,1,0);
+ opus_pcm_soft_clip(x,1,-1,s);
+ opus_pcm_soft_clip(x,-1,1,s);
+ opus_pcm_soft_clip(0,1,1,s);
+ printf("OK.\n");
+}
+#endif
+
int main(int _argc, char **_argv)
{
const char * oversion;
@@ -405,6 +448,9 @@ int main(int _argc, char **_argv)
into the decoders. This is helpful because garbage data
may cause the decoders to clip, which angers CLANG IOC.*/
test_decoder_code0(getenv("TEST_OPUS_NOFUZZ")!=NULL);
+#ifndef DISABLE_FLOAT_API
+ test_soft_clip();
+#endif
return 0;
}
« no previous file with comments | « tests/test_opus_common.h ('k') | tests/test_opus_encode.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698