tizen 2.3.1 release tizen_2.3.1 submit/tizen_2.3.1/20150915.075406 tizen_2.3.1_release
authorjk7744.park <jk7744.park@samsung.com>
Tue, 8 Sep 2015 13:05:27 +0000 (22:05 +0900)
committerjk7744.park <jk7744.park@samsung.com>
Tue, 8 Sep 2015 13:05:27 +0000 (22:05 +0900)
.gitignore [new file with mode: 0755]
libspeex/resample.c
packaging/speex.spec
speex.manifest [new file with mode: 0755]
tools.manifest [new file with mode: 0755]

diff --git a/.gitignore b/.gitignore
new file mode 100755 (executable)
index 0000000..6c53821
--- /dev/null
@@ -0,0 +1,12 @@
+build_log
+*.log
+*.pyc
+usr
+opt
+*.o
+*.os
+*.exe
+packages
+binaries
+*.ipk
+*~
index bebd1a8..9b05d3d 100644 (file)
@@ -345,20 +345,26 @@ static int resampler_basic_direct_single(SpeexResamplerState *st, spx_uint32_t c
       const spx_word16_t *iptr = & in[last_sample];
 
 #ifndef OVERRIDE_INNER_PRODUCT_SINGLE
-      float accum[4] = {0,0,0,0};
+      sum = 0;
+      for(j=0;j<N;j++) sum += MULT16_16(sinc[j], iptr[j]);
 
+/*    This code is slower on most DSPs which have only 2 accumulators.
+      Plus this this forces truncation to 32 bits and you lose the HW guard bits.
+      I think we can trust the compiler and let it vectorize and/or unroll itself.
+      spx_word32_t accum[4] = {0,0,0,0};
       for(j=0;j<N;j+=4) {
-        accum[0] += sinc[j]*iptr[j];
-        accum[1] += sinc[j+1]*iptr[j+1];
-        accum[2] += sinc[j+2]*iptr[j+2];
-        accum[3] += sinc[j+3]*iptr[j+3];
+        accum[0] += MULT16_16(sinc[j], iptr[j]);
+        accum[1] += MULT16_16(sinc[j+1], iptr[j+1]);
+        accum[2] += MULT16_16(sinc[j+2], iptr[j+2]);
+        accum[3] += MULT16_16(sinc[j+3], iptr[j+3]);
       }
       sum = accum[0] + accum[1] + accum[2] + accum[3];
+*/
 #else
       sum = inner_product_single(sinc, iptr, N);
 #endif
 
-      out[out_stride * out_sample++] = PSHR32(sum, 15);
+      out[out_stride * out_sample++] = SATURATE32(PSHR32(sum, 15), 32767);
       last_sample += int_advance;
       samp_frac_num += frac_advance;
       if (samp_frac_num >= den_rate)
@@ -463,13 +469,13 @@ static int resampler_basic_interpolate_single(SpeexResamplerState *st, spx_uint3
       }
 
       cubic_coef(frac, interp);
-      sum = MULT16_32_Q15(interp[0],accum[0]) + MULT16_32_Q15(interp[1],accum[1]) + MULT16_32_Q15(interp[2],accum[2]) + MULT16_32_Q15(interp[3],accum[3]);
+      sum = MULT16_32_Q15(interp[0],SHR32(accum[0], 1)) + MULT16_32_Q15(interp[1],SHR32(accum[1], 1)) + MULT16_32_Q15(interp[2],SHR32(accum[2], 1)) + MULT16_32_Q15(interp[3],SHR32(accum[3], 1));
 #else
       cubic_coef(frac, interp);
       sum = interpolate_product_single(iptr, st->sinc_table + st->oversample + 4 - offset - 2, N, st->oversample, interp);
 #endif
       
-      out[out_stride * out_sample++] = PSHR32(sum,15);
+      out[out_stride * out_sample++] = SATURATE32(PSHR32(sum, 14), 32767);
       last_sample += int_advance;
       samp_frac_num += frac_advance;
       if (samp_frac_num >= den_rate)
index 0df8fb1..8bacfd9 100644 (file)
@@ -1,21 +1,28 @@
+#sbs-git:slp/unmodified/speex speex 1.2rc1 9bb0e6afe6171ab1c8764f46a809cfa83be7c0d4
+# 
+# Do not Edit! Generated by:
+# spectacle version 0.14
+# 
+
 Name:       speex
 Summary:    A voice compression format (codec)
 Version:    1.2rc1
-Release:    2.23
+Release:    5
 Group:      System/Libraries
-License:    BSD
+License:    BSD-2.0
 URL:        http://www.speex.org/
-Source0:    http://downloads.xiph.org/releases/speex/%{name}-1.2rc1.tar.gz
+Source0:    %{name}-%{version}.tar.gz
 Requires(post):  /sbin/ldconfig
 Requires(postun):  /sbin/ldconfig
 BuildRequires:  pkgconfig(ogg)
 
 %description
-Speex is an audio codec especially designed for compressing voice at low
- bit-rates for applications such as voice over IP (VoIP). In some senses,
- it is meant to be complementary to the Vorbis codec which places a greater
- emphasis on high-quality music reproduction.
- This package contains the encoder and decoder command-line applications.
+Speex is a patent-free compression format designed especially for
+speech. It is specialized for voice communications at low bit-rates in
+the 2-45 kbps range. Possible applications include Voice over IP
+(VoIP), Internet audio streaming, audio books, and archiving of speech
+data (e.g. voice mail).
+
 
 
 %package tools
@@ -58,6 +65,8 @@ make %{?jobs:-j%jobs}
 
 %install
 rm -rf %{buildroot}
+mkdir -p %{buildroot}/usr/share/license
+cp COPYING %{buildroot}/usr/share/license/%{name}
 %make_install
 
 rm -f $RPM_BUILD_ROOT%{_docdir}/speex/manual.pdf
@@ -72,12 +81,14 @@ rm -f $RPM_BUILD_ROOT%{_docdir}/speex/manual.pdf
 
 
 %files
+%manifest speex.manifest
 %defattr(-,root,root,-)
 %doc COPYING
 %{_libdir}/libspeex*.so.*
-
+/usr/share/license/%{name}
 
 %files tools
+%manifest tools.manifest
 %defattr(-,root,root,-)
 %{_bindir}/speexenc
 %{_bindir}/speexdec
diff --git a/speex.manifest b/speex.manifest
new file mode 100755 (executable)
index 0000000..a76fdba
--- /dev/null
@@ -0,0 +1,5 @@
+<manifest>
+       <request>
+               <domain name="_" />
+       </request>
+</manifest>
diff --git a/tools.manifest b/tools.manifest
new file mode 100755 (executable)
index 0000000..0936e07
--- /dev/null
@@ -0,0 +1,9 @@
+<manifest>
+       <request>
+               <domain name="_" />
+       </request>
+       <assign>
+           <filesystem path="/usr/bin/speexdec" label="_" exec_label="none"/>
+           <filesystem path="/usr/bin/speexenc" label="_" exec_label="none"/>
+       </assign>
+</manifest>