Commit graph

2791 commits

Author SHA1 Message Date
Jean-Marc Valin
26dbb8e782 Adds anslysis code for tf_select
For now, we only allow tf_select=1 on transients. This is just to be
on the safe side.
2012-09-12 23:33:30 -04:00
Diego Elio Pettenò
02c653fa0c silk: move down- and upsamplers constants to the header file.
These are only being used outside if the translation unit and only in
a few codepaths; by making them static in the header, the compiler can
optimize them quickly.

This avoids GOT-based access to the external symbol on Unix, and can
allow for constant propagation to optimize the code.

Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
2012-09-12 15:54:33 -04:00
Diego Elio Pettenò
3f2efcbf3d Move to comment a table that is never used in the code.
Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
2012-09-12 15:54:28 -04:00
Diego Elio Pettenò
5f6be0c1c1 Mark tables static when not used outside of their translation unit.
This is similar to the change for functions, but is only used to
perform DCE.

Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
2012-09-12 15:54:22 -04:00
Diego Elio Pettenò
d006b781ca Mark functions static if they are only used in their own translation unit.
This allows the compiler to perform more optimization on them as it
knows how the functions are being called.

Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
2012-09-12 15:54:17 -04:00
Diego Elio Pettenò
d509e9f2a8 opus_demo: mark tables as static constants.
While this is not making a huge difference it still makes the code
more consistent.

Signed-off-by: Diego Elio Pettenò <flameeyes@flameeyes.eu>
2012-09-12 15:54:10 -04:00
Jean-Marc Valin
1d13ff6a97 Fixes multistream doc 2012-09-10 21:53:39 -04:00
Timothy B. Terriberry
77ebbdf986 Expand documentation for the multistream API.
This patch also includes some small edits/additions to the main API
 documentation.
2012-09-10 16:25:45 -04:00
Jean-Marc Valin
1491fa81f4 Fixes to the new repacketizer doc 2012-09-10 16:24:33 -04:00
Timothy B. Terriberry
ddd551e06d Add documentation for the repacketizer API.
This patch also includes some small edits for the main API
 documentation.
2012-09-10 08:22:46 -04:00
Timothy B. Terriberry
6f2d9f5068 Use dynamic stack allocations in SILK decoder.
This allows the decoder to be compiled with
 NONTHREADSAFE_PSEUDOSTACK to move the memory for large buffers off
 the stack for devices where it is very limited.
This patch only attempts to do this for the decoder.
The encoder still requires more than 10 kB of stack.
2012-09-08 02:35:38 -04:00
Jean-Marc Valin
e7f668b3d4 Bump version to 1.0.1 2012-09-08 02:29:35 -04:00
Timothy B. Terriberry
a40689e6ef Remove large multistream stack buffers.
This avoids allocating any buffers on the stack that depend on the
 total channel count.
Such buffers could easily exceed the size of the
 NONTHREADSAFE_PSEUDOSTACK.
It also checks the frame_size argument in both the encoder and
 decoder to avoid allocating large stack buffers for opus_encode()
 calls that would fail anyway or opus_decode() calls that would
 never use all that space anyway.
2012-09-08 02:17:53 -04:00
Timothy B. Terriberry
84dd1cf9b7 Balance parentheses in opus_multistream.c.
This makes simple syntax highlighters (e.g., vim) stop complaining
 because they don't parse the #ifdef's.
2012-09-06 09:30:06 -07:00
Jean-Marc Valin
12190653b2 some doc for --enable-fixed-point and --enable-floating-point 2012-08-31 23:35:12 -04:00
Jean-Marc Valin
e91dfa0f77 bump version, include Makefile.unix 2012-08-31 23:10:12 -04:00
Gregory Maxwell
6e2dd16f0a Add an m4 macro set for pkgconfig less usage with autotools. 2012-08-30 12:27:11 -04:00
Gregory Maxwell
865124f79c Add opus_multistream.h to MSVC project files. 2012-08-29 11:41:30 -04:00
Gregory Maxwell
5467ce7b3f Avoid using make -C, a gnuism, in Makefile.am.
Instead use cd inside the makefiles.
This fixes 'make check', etc. with some non-gnu makes. (HPUX, for example)
2012-08-29 10:31:16 -04:00
Gregory Maxwell
5ae062a759 Completely remove the built-in autotools -fstatck-protector detection.
On some systems (HPPA+HPUX+GCC) -fstatck-protector was causing failures not
at build or link time but at actual runtime. This is much less reasonable to
detect from autotools. It looks this this really can only safely be a white-
list, and the systems which would be whitelisted often already pick up the
setting from the OS build environment in any case.  It isn't important for
OPUS, we were just using it as belt-and-suspenders security and because it
makes some failure types easier to troubleshoot.
2012-08-29 10:29:24 -04:00
Jean-Marc Valin
79a6f4d2ad Makes two static tables const 2012-08-29 09:43:23 -04:00
Jean-Marc Valin
f6c26e0000 Fixes an overflow in silk_log2lin() that was triggered only in debug mode 2012-08-27 00:18:01 -04:00
Timothy B. Terriberry
ad333d0dc4 Fix typo.
Thanks to Andrew D'Addesio for the report.
2012-08-24 11:54:38 -07:00
Gregory Maxwell
907723832e More email address updates for AUTHORS. 2012-08-23 10:14:49 -04:00
Gregory Maxwell
8115a46b7d Update testvector path and filename. 2012-08-21 17:56:51 -04:00
Gregory Maxwell
582eba6f4f Additional multistream tests and reject channels<1 in MS API. 2012-08-21 16:08:35 -04:00
Gregory Maxwell
635b5f2f76 Revise README, update AUTHORS emails. 2012-08-21 14:24:38 -04:00
Ralph Giles
11dd5522b4 Clarify a comment.
Further cleanup of the confusion with the version string settings.
2012-08-21 11:22:08 -07:00
Ralph Giles
d60673780e Propagate OPUS_VERSION to config.h.
I'm not sure how this worked before, the the previous version
string fiddling commit ended up not defining OPUS_VERSION in
the autoconf build, so opus_get_version_string() returned
'unknown'.
2012-08-21 10:49:43 -07:00
Gregory Maxwell
5685bd31a6 Replace long long in celt/ with opus_int64. 2012-08-21 10:45:58 -04:00
Gregory Maxwell
de74fc1b6b Remove C99ism in celt/tests/test_unit_mathops.c w/ fixed point build. 2012-08-19 19:42:49 -04:00
Gregory Maxwell
1b58bc7495 Include tests/run_vectors.sh in EXTRA_DIST. 2012-08-19 16:45:20 -04:00
Gregory Maxwell
e2e1fe922e Use 64-bits in fixed point debug for _P16, fixes spurious failures. 2012-08-19 03:55:23 -04:00
Ralph Giles
3a9b35453c Fix an MSVC warning.
Microsoft Visual Studio 2010 warns about 'C4146: unary minus
operator applied to unsigned type, result still unsigned'
because of the '&-sizeof(void*)' in align().

This commit works around the warning by casting the size_t
to int before negation.

Patch by Hauke, who reported the issue on the opus mailing
list. Reviewed by derf.
2012-08-17 10:16:24 -07:00
Chris Moeller
2b14ac23f1 genversion now adds the header comment to version.mk 2012-08-16 19:19:07 -04:00
Ralph Giles
91b2f6d6b1 Add 'compile' to the git ignore list.
This is another script generated by the autotools build.
2012-08-16 13:38:24 -07:00
Ralph Giles
88ee8a190d Use the string from version.mk in Makefile.draft.
This reduces the number of places the version string
needs to be updated at release.
2012-08-16 13:35:11 -07:00
Ralph Giles
59c5a82e51 Move the release version string to version.mk.
Previously we defined the release version string in configure.ac,
and overrode that with 'git describe --tags' if possible. This
made it difficult for non-autoconf builds to set their version
string correctly.

Instead we create, and check into version control, a file called
version.mk which defines OPUS_VERSION. The configure script reads
that file and uses it as a fallback if the git revision isn't available.

The expectation is that version.mk will be manually updated for
releases, just as the previous configure.ac version was. However,
since this is a simpler format, it is easier for alternate build
systems to use, reducing the number of places which must be updated.

Also removes the OPUS_MINOR_VERSION, etc. defines from config.h.
2012-08-16 12:42:32 -07:00
Chris Moeller
9322362b1b Updated Win32 genversion.bat to generate version.mk if Git is found, use it if it isn't, and produce unknown version and leave it untouched if it isn't already found 2012-08-16 12:23:20 -04:00
Jean-Marc Valin
9a35da4659 Bump version number 2012-08-15 17:39:57 -04:00
Jean-Marc Valin
dc4f83bef5 Fixes a silly bug where only the left channel was used for depth estimation
Result was that stereo files with silence on the left would result in an
extremely low bitrate
2012-08-14 00:37:47 -04:00
Gregory Maxwell
31cf4e1d52 More doc fixes.
In particular we no longer document the default complexity because
we're not guaranteeing to keep the default value constant.  In the
future the default may be lowered in order to keep the default
speed constant.
2012-08-12 14:50:58 -04:00
Ralph Giles
0e232490d8 Only install opus_*.3 manpages. Fixes 'make distcheck'.
We were installing every readable file in man/man3, but
only unstalling files matching opus_*.3. Some doxygen
versions construct manpage versions of the marked up
header files and directory index, which got left on the
system after 'make uninstall'.

I don't think the 'uninstall' target is widely used, it's
often broken and can easily break other software. However,
we rely on 'make distcheck' which does verify this issue.

Instead, only install the opus_*.3 manpages, which are the
core api documentation.
2012-08-10 14:42:00 -07:00
Gregory Maxwell
8d2e9ade8f Use configure.ac provided soname versioning. 2012-08-10 17:21:28 -04:00
Timothy B. Terriberry
07b8e612fa Documentation updates for the CTLs.
In addition to general reformatting and cleanup, this fixes a
 couple of important mistakes:
- The arguments to OPUS_SET_FORCE_CHANNELS are now 1 and 2, not 0
   and 1 (as they were when this was called OPUS_SET_FORCE_MONO).
- The default encoder mode is now constrained VBR, not unconstrained
   VBR.
It also documents defaults for all the other parameters.
2012-08-09 11:35:36 -07:00
Gregory Maxwell
417679c3e5 Disable stack-protector for mingw32 and remove win32 restrict define. 2012-08-09 08:39:15 -04:00
Gregory Maxwell
e852c34280 Add MSVC makefiles to the dist tarball. 2012-08-09 07:37:44 -04:00
Gregory Maxwell
98eed74bf5 Avoid an inconsequential memory leak in tests/test_opus_decode.c.
Match up the exit behavior when the no-fuzz enviroment variable
is set.
2012-08-09 07:22:44 -04:00
Jean-Marc Valin
4ee682f52a Bump version number to 1.0.1 and set libtool version 2012-08-08 14:50:27 -04:00
Gregory Maxwell
88c499c959 Add basic {GET,SET}_LSB_DEPTH API tests. 2012-08-08 00:52:36 -04:00