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

Unified Diff: third_party/openmax_dl/dl/sp/src/test/test_util.h

Issue 12317152: Add openmax dl routines for review. MUST NOT BE LANDED (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 7 years, 9 months 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
Index: third_party/openmax_dl/dl/sp/src/test/test_util.h
diff --git a/third_party/openmax_dl/dl/sp/src/test/test_util.h b/third_party/openmax_dl/dl/sp/src/test/test_util.h
new file mode 100644
index 0000000000000000000000000000000000000000..5851e123fba5d0277a2e7e7eac614a856cc0b15f
--- /dev/null
+++ b/third_party/openmax_dl/dl/sp/src/test/test_util.h
@@ -0,0 +1,162 @@
+/*
+ * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
+ *
+ * Use of this source code is governed by a BSD-style license
+ * that can be found in the LICENSE file in the root of the source
+ * tree. An additional intellectual property rights grant can be found
+ * in the file PATENTS. All contributing project authors may
+ * be found in the AUTHORS file in the root of the source tree.
+ */
+
+#ifndef WEBRTC_ARM_FFT_TEST_UTIL_H_
+#define WEBRTC_ARM_FFT_TEST_UTIL_H_
+
+#include <stdio.h>
+
+#include "dl/sp/src/test/compare.h"
+
+/* Command line options */
+struct Options {
+ /*
+ * Set to non-zero if test is only for real signals. This is just
+ * for printing out the correct usage message.
+ */
+ int real_only_;
+
+ /* Debugging output level, used in test and non-test mode */
+ int verbose_;
+
+ /* Test mode where all tests are run. */
+ int test_mode_;
+
+ /* Run forward FFT tests (in test mode) */
+ int do_forward_tests_;
+
+ /* Run inverse FFT tests (in test mode) */
+ int do_inverse_tests_;
+
+ /* Minimum FFT order for test mode */
+ int min_fft_order_;
+
+ /* Maximum FFT order for test mode */
+ int max_fft_order_;
+
+ /* FFT Order */
+ int fft_log_size_;
+
+ /* Forward FFT scale factor, only for for fixed-point routines */
+ int scale_factor_;
+
+ /* Signal type to use for testing */
+ int signal_type_;
+
+ /* Signal amplitude */
+ float signal_value_;
+
+ /* Set if the command line options set a value for signalValue */
+ int signal_value_given_;
+};
+
+/*
+ * Information about a test that is known to fail.
+ */
+struct KnownTestFailures {
+ /* FFT order of the test */
+ int fft_order_;
+
+ /* Set to non-zero for inverse FFT case. Otherwise, it's forward FFT */
+ int is_inverse_fft_test_;
+
+ /* The test signal used */
+ int signal_type_;
+};
+
+struct TestInfo {
+ /* True if test is for real signals */
+ int real_only_;
+
+ /* Max FFT order to be tested */
+ int max_fft_order_;
+
+ /* Min FFT order to be tested */
+ int min_fft_order_;
+
+ /* True if forward FFT tests should be run */
+ int do_forward_tests_;
+
+ /* True if inverse FFT tests should be run */
+ int do_inverse_tests_;
+
+ /* SNR threshold for forward FFT tests */
+ float forward_threshold_;
+
+ /* SNR threshold for inverse FFT tests */
+ float inverse_threshold_;
+
+ /*
+ * Array of known test failures. Should either be 0 or point to
+ * an array of known failures, terminated by a test case with
+ * negative fftOrder.
+ */
+ struct KnownTestFailures* known_failures_;
+};
+
+/*
+ * Set default options for the command line options. Must be called
+ * before call |processCommandLine|
+ */
+void SetDefaultOptions(struct Options* options, int real_only,
+ int max_fft_order);
+
+/*
+ * Process the command line options
+ */
+void ProcessCommandLine(struct Options* options, int argc, char* argv[],
+ const char* summary);
+
+/*
+ * Print command line options and their values, for debugging.
+ */
+void DumpOptions(FILE*, const struct Options* options);
+
+/*
+ * Run one forward FFT test of the given size, signal type, and amplitude
+ */
+float RunOneForwardTest(int fft_log_size, int signal_type,
+ float signal_value, struct SnrResult* snr);
+
+/*
+ * Run one inverse FFT test of the given size, signal type, and amplitude
+ */
+float RunOneInverseTest(int fft_log_size, int signal_type,
+ float signal_value, struct SnrResult* snr);
+
+/*
+ * Run all FFT tests, as specified by |info|
+ */
+void RunAllTests(const struct TestInfo* info);
+
+/*
+ * Returns the program name, for debugging.
+ */
+char* ProgramName(char*);
+
+/*
+ * Return true if the specified FFT test is a known failure.
+ */
+int IsKnownFailure(int fft_order, int is_forward_fft, int signal_type,
+ struct KnownTestFailures* known_failures);
+
+/*
+ * Neatly print the contents of an array to stdout.
+ */
+void DumpArrayReal16(const char* array_name, int count, const OMX_S16* array);
+void DumpArrayReal32(const char* array_name, int count, const OMX_S32* array);
+void DumpArrayComplex16(const char* array_name, int count,
+ const OMX_SC16* array);
+void DumpArrayComplex32(const char* array_name, int count,
+ const OMX_SC32* array);
+void DumpArrayFloat(const char* array_name, int count, const OMX_F32* array);
+void DumpArrayComplexFloat(const char* array_name, int count,
+ const OMX_FC32* array);
+#endif

Powered by Google App Engine
This is Rietveld 408576698