Index: webrtc/modules/audio_coding/codecs/opus/opus/src/celt/fixed_c6x.h |
diff --git a/webrtc/modules/audio_coding/codecs/opus/opus/src/celt/fixed_c6x.h b/webrtc/modules/audio_coding/codecs/opus/opus/src/celt/fixed_c6x.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..bb6ad927803f9fabc155e10bd7da845fce2e8ce8 |
--- /dev/null |
+++ b/webrtc/modules/audio_coding/codecs/opus/opus/src/celt/fixed_c6x.h |
@@ -0,0 +1,70 @@ |
+/* Copyright (C) 2008 CSIRO */ |
+/** |
+ @file fixed_c6x.h |
+ @brief Fixed-point operations for the TI C6x DSP family |
+*/ |
+/* |
+ Redistribution and use in source and binary forms, with or without |
+ modification, are permitted provided that the following conditions |
+ are met: |
+ |
+ - Redistributions of source code must retain the above copyright |
+ notice, this list of conditions and the following disclaimer. |
+ |
+ - Redistributions in binary form must reproduce the above copyright |
+ notice, this list of conditions and the following disclaimer in the |
+ documentation and/or other materials provided with the distribution. |
+ |
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS |
+ ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT |
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER |
+ OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, |
+ EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, |
+ PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR |
+ PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF |
+ LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING |
+ NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS |
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
+*/ |
+ |
+#ifndef FIXED_C6X_H |
+#define FIXED_C6X_H |
+ |
+#undef MULT16_16SU |
+#define MULT16_16SU(a,b) _mpysu(a,b) |
+ |
+#undef MULT_16_16 |
+#define MULT_16_16(a,b) _mpy(a,b) |
+ |
+#define celt_ilog2(x) (30 - _norm(x)) |
+#define OVERRIDE_CELT_ILOG2 |
+ |
+#undef MULT16_32_Q15 |
+#define MULT16_32_Q15(a,b) (_mpylill(a, b) >> 15) |
+ |
+#if 0 |
+#include "dsplib.h" |
+ |
+#undef MAX16 |
+#define MAX16(a,b) _max(a,b) |
+ |
+#undef MIN16 |
+#define MIN16(a,b) _min(a,b) |
+ |
+#undef MAX32 |
+#define MAX32(a,b) _lmax(a,b) |
+ |
+#undef MIN32 |
+#define MIN32(a,b) _lmin(a,b) |
+ |
+#undef VSHR32 |
+#define VSHR32(a, shift) _lshl(a,-(shift)) |
+ |
+#undef MULT16_16_Q15 |
+#define MULT16_16_Q15(a,b) (_smpy(a,b)) |
+ |
+#define celt_maxabs16(x, len) MAX32(EXTEND32(maxval((DATA *)x, len)),-EXTEND32(minval((DATA *)x, len))) |
+#define OVERRIDE_CELT_MAXABS16 |
+ |
+#endif /* FIXED_C6X_H */ |