Commit graph

2791 commits

Author SHA1 Message Date
Jean-Marc Valin
8ccaefd39b Take the PLC out of the stack size critical path 2012-10-23 16:15:23 -04:00
Joshua Bowman
f77e86a235 Fix MSVC linker warnings
Specify the correct debug runtime libraries for the test
and demo executables to prevent mismatch warnings with
the default runtime.

Signed-off-by: Ralph Giles <giles@mozilla.com>
2012-10-23 13:12:25 -07:00
Ralph Giles
662ae9bb18 Include process.h for _getpid on windows.
Previously the test programmes happened to link because _getpid
returns an int, which is the default prototype. Instead, include
the appropriate header to supply a real declaration, fixing the
associated warning.

I moved the getpid->_getpid define to the site of the header
inclusion to make clear what's going on, rather than have it
floating in win32/config.h.
2012-10-23 13:04:36 -07:00
Joshua Bowman
3b60e81d79 Fix the MSVC build.
Updates the project files to include the new encoder source files.
Use OPUS_RESTRICT and include config.h to set the proper defines
for build under MSVC.
2012-10-23 12:20:32 -07:00
Ralph Giles
027ec51bfe Fix MSVC format conversion warnings.
The Microsoft compiler warns about precision reduction from
default double literals to the floats we generally use outside
the fixed-point build. Avoid these by qualifying the literals
as floats.

Thanks to derf for review.
2012-10-23 10:49:18 -07:00
Nils Wallménius
2572c1e788 Merge inverse mdct post-rotate and de-shuffle loops
Saves some memory access and gives a tiny speedup

Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org>
2012-10-21 05:42:56 -07:00
Jean-Marc Valin
ed627f040d Attempt to have at least two bands that are coded
This fixes a SWB hybrid issue where band 18 isn't folded and cannot even
be folded because it's wider than band 17. This was causing noise to
be injected instead.
2012-10-19 19:57:19 -04:00
Ron
b371cf8438 cd doc && make is not the same as make -C doc
Fixes a regression in the recursive builds introduced in 5467ce7b3f
that causes `make check-opus` to fail horribly.

Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
2012-10-19 17:46:03 -04:00
Ralph Giles
3aa264732c Fix an indentation issue. 2012-10-17 11:12:55 -07:00
Jean-Marc Valin
ca24259c59 Fixes two bugs in the high-band attenuation code (gain_fade()) 2012-10-16 00:26:32 -04:00
Philip Jägenstedt
b7b5872c9d Fix minor issues reported by scan-build 2012-10-11 09:21:44 -04:00
Philip Jägenstedt
96480adaff Ignore files created by configure && make 2012-10-11 09:20:24 -04:00
Jean-Marc Valin
ea7c9869cd Adds OPUS_{G,S}ET_FORCE_CHANNELS requests to multistream API 2012-10-10 16:03:36 -04:00
Jean-Marc Valin
e9b36c1e38 Fixes comment-in-comment warning 2012-10-10 13:53:59 -04:00
Jean-Marc Valin
f68799b208 Fixes the high-band hybrid gain from the previous commit
Adds a gain cross-fade to avoid discontinuities and moves it
to a place where it won't affect SILK

Conflicts:

	src/opus_encoder.c
2012-10-10 13:44:26 -04:00
Koen Vos
0b00b31967 Attenuates the HF in hybrid mode to match what SILK does below the cutoff
Conflicts:

	src/opus_multistream.c
	src/opus_private.h
2012-10-10 13:41:07 -04:00
Jean-Marc Valin
b56c278b0e Fixes a fixed-point overflow in the new pitch code 2012-10-10 13:32:16 -04:00
Koen Vos
9cbbcb53ae Improvements to the pitch search
Normalizes the cost function by (x+y) instead of sqrt(x*y)
2012-10-10 09:37:10 -04:00
Jean-Marc Valin
1bcf028af8 Using floor(.5+x) instead of lrint(x) for C90 compilers 2012-10-10 08:58:15 -04:00
Jean-Marc Valin
1b61303fc7 Fixes a bug in the LSB_DEPTH code introduced in cf1053dc 2012-10-09 20:24:49 -04:00
Jean-Marc Valin
b2e19ecd0c copysignf() was C99-only 2012-10-09 19:13:04 -04:00
Jean-Marc Valin
02dcf6aad8 Fixes a fixed-point stereo savings issue causing a celt_ilog2(0) 2012-10-09 15:07:53 -04:00
Jean-Marc Valin
5f4b8dd198 Fixes Makefile.unix 2012-10-09 14:25:06 -04:00
Jean-Marc Valin
0e490591b7 Gets rid of unused boost analysis code that never worked anyway.
Also removes the -exp_analysis suffix from opus_get_version_string()
and fixes a "ISO C90 forbids mixed declarations and code" warning.
2012-10-09 13:51:44 -04:00
Jean-Marc Valin
7315b35e13 Merge branch 'exp_analysis7'
Conflicts:
	celt/celt.c
	celt/mdct.c
	include/opus_defines.h
	src/opus_encoder.c
2012-10-09 03:07:06 -04:00
Jean-Marc Valin
317ffc203e Tuning the speech/music probability model 2012-10-09 02:12:02 -04:00
Hanspeter Niederstrasser
ca82894ef1 remove GNUism from install doc command 2012-10-07 10:33:28 -04:00
Gregory Maxwell
696d68c0c3 Fix typo in documentation for opus_decoder_create(). 2012-10-06 10:51:04 -04:00
Gregory Maxwell
9fec9bb391 Belabor OPUS_SET_BITRATE instead of max_packet, as this is a common trap. 2012-09-27 18:36:51 -04:00
Philip Jägenstedt
ba28403a04 Typo: FIND_PITCH_BANDWI(D)TH_EXPANSION 2012-09-27 09:16:31 -04:00
Philip Jägenstedt
6d9c16d142 Fix common misspellings
I stumbled upon the typo in README.draft, so took the opportunity to
grep for common misspellings using List_of_common_misspellings.txt for
hunspell.
2012-09-27 09:16:30 -04:00
Gregory Maxwell
e23b15f1ea Add some more multistream encoder API tests. 2012-09-26 08:33:16 -04:00
Gregory Maxwell
d8b0a24201 Docbug: Replace opus_encode_frame with opus_encode_float in doxygen. 2012-09-24 21:11:00 -04:00
Jean-Marc Valin
2c3b5eeded Saves channels*overlap*4 bytes off the state encoder
These were only needed with RESYNTH defined
2012-09-21 14:33:01 -04:00
Jean-Marc Valin
6b45974fbd Reduces rate/max rate to make room for redundancy
This fixes a problem where we could end up starving the redundancy
frame, especially for CBR. The solution is to make sure that some
bits are left available -- assuming we use the same rate for redundancy
as for the rest of the frame.
2012-09-20 22:04:37 -04:00
Ron
ff16ab098e Just fix opus-uninstalled.pc instead of tweaking the build dir
Doing it this way means it's only the weird corner case that actually
pays for being weird, and we don't litter the build dir with an extra
link that normal builds really don't need at all.

It also avoids the problem of platforms where LN_S isn't well defined.
2012-09-19 10:09:32 -07:00
Gregory Maxwell
cc71cded76 Replace 'maximum frame size' with 'maximum packet duration' in the docs.
This could be confusing/misleading.
2012-09-19 09:43:52 -04:00
Jean-Marc Valin
9a16e7f944 Fixes a CELT->hybrid switching issue
Prefilling didn't use the right offset because of the extra_delay
changes introduced in the analysis branch.
2012-09-19 03:28:58 -04:00
Ron
c40d5004dd Link the include dir into out-of-tree build dirs
Mostly this is for people building other things using an uninstalled
opus tree so that the opus-uninstalled.pc will return a working -I
with --cflags when PKG_CONFIG_PATH is set to point to the build dir.

The version of AC_OUTPUT that takes parameters has long been
deprecated now, and replaced by AC_CONFIG_* macros, so pass them
with AC_CONFIG_FILES, since we're now using AC_CONFIG_COMMANDS
to do the above.
2012-09-18 16:03:56 -07:00
Gregory Maxwell
bdf0abc08f Move libm in pkgconf to Libs.private to avoid spurious dependencies. 2012-09-17 10:34:01 -04:00
Ralph Giles
3ef8a16616 Opus custom requires libm unconditionally. 2012-09-17 00:05:00 -07:00
Ralph Giles
d47ddfb472 Add -lm to the pkg-config link line.
The floating-point build calls a number of math library
functions, and linking with libm is technically necessary.
It wasn't obvious because most systems support shlib
dependencies and pulled it in that way, or supply the
referenced functions with intrinsics. Discovered the issue
trying to build libopusfile against the uninstalled static
libopus, which unlike opus-tools, doesn't itself need libm.

The -lm argument is only added to Libs for the floating-
point (default) build. It's not necessary for the fixed-
point build.

Also mark which build was used in the .pc file description.
2012-09-16 23:31:28 -07:00
Ralph Giles
a66642a5e1 Remove FLOATING_POINT from config.h.
This isn't used anywhere in the code, floating point is just the
default unless FIXED_POINT is defined.

In the speex codebase, arch.h has a check that both FIXED_POINT
and FLOATING_POINT aren't defined simultaneously, in part as a
check that the build system was constructed with thought about
these and other defines. However, we don't have such a check
and to me it seems unnecessary code.
2012-09-16 23:19:11 -07:00
Ralph Giles
2d2f462157 Remove 'low-delay' from the pkg-config description.
While a feature of Opus, its applications are not limited
to contexts where low delay is important.
2012-09-16 23:18:46 -07:00
Ralph Giles
cf6284a18e Capitalize Opus in the pkg-config file comment header. 2012-09-16 22:40:37 -07:00
Gregory Maxwell
0a17185061 Add a make install instruction to the README. 2012-09-16 01:07:09 -04:00
Jean-Marc Valin
454d3d5959 s/SHL/SHL16/ 2012-09-15 03:09:35 -04:00
Jean-Marc Valin
027ff070f0 Shrinks tansig table, makes data static const 2012-09-14 15:49:18 -04:00
Jean-Marc Valin
97a48473ac Makes dynalloc more conservative for CBR and CVBR 2012-09-14 01:25:05 -04:00
Jean-Marc Valin
ed5989b0fb Bit allocation fix for 16-bit platforms 2012-09-13 17:50:04 -04:00