Commit graph

3269 commits

Author SHA1 Message Date
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
Gregory Maxwell
bb389c67f9 OPUS_{GET,SET}_LSB_DEPTH for multichannel. 2012-08-06 18:20:03 -04:00
Jean-Marc Valin
1cd5d95b3f Implements OPUS_{GET,SET}_LSB_DEPTH
This implements an API used in future encoders to avoid dynalloc doing silly things
on periodic LSB patterns and to reduce the bitrate on near-silence.
2012-08-06 18:19:30 -04:00
Timothy B. Terriberry
02f19c26f1 Fix fixed-point testilog2.
Use exact integer operations to confirm the value returned is the
 correct one.
2012-08-06 13:08:11 -04:00
Gregory Maxwell
0d57a5dc28 Disable silk_get_TOC in the code, as it's not used or exposed. 2012-08-06 12:29:42 -04:00
Cyril Lashkevich
622046c1f1 Fixed sizeof param in silk_get_TOC. Size for memset was calculated wrong.
Signed-off-by: Gregory Maxwell <greg@xiph.org>
silk_get_TOC is unused, unreachable, and not useful without some
packet pre-processing, but until we remove it it should be correct.
This was also reported by Mozilla.
2012-08-06 12:29:42 -04:00
Gregory Maxwell
bf7c1605f7 Fix opus_encode allowed frame sizes docs, reported by Stefan Hacker. 2012-08-06 09:24:03 -04:00
Chris Moeller
da3b5f779c Added MSVC output directories to gitignore. 2012-07-30 02:34:40 -04:00
Jean-Marc Valin
c4a95d16cf Enables the second dynalloc MDCT only at complexity 8
Also applies the compensation for tonality boost only when
the analysis is enabled.
2012-07-27 14:42:54 -04:00
Jean-Marc Valin
2b627e12e5 Makes VBR rate variations less aggressive at low bit-rates and for CVBR 2012-07-27 14:28:21 -04:00
Gregory Maxwell
446662287e Fix bkp/s -> kb/s in opus_demo. 2012-07-27 00:37:19 -04:00
Rafaël Carré
7909d8af20 Guard _MSC_VER tests, remove FLOAT2INT16 when DISABLE_FLOAT_API. 2012-07-26 14:26:43 -04:00
Jean-Marc Valin
416dc73f28 Smoother intensity stereo decision thresholds
We now have rates for each possible threshold. This also adds some
histeresis but it's not that useful for now because the effective rate
doesn't changes from frame to frame (unless one changes the target rate).
This change also has the side effect of lowering the intensity stereo
point for 64 kb/s to band 15 (instead of 16).
2012-07-25 21:17:59 -04:00
Jean-Marc Valin
32024cb5c2 Adds some histeresis to the stereo saving
This prevents rate reduction due to channel correlation from increasing
by more than 0.25 bit/sample between two frames. This issue was observed
on r.flac where the frame following a transient would lose nearly
1 bit/sample
2012-07-25 01:35:17 -04:00
Jean-Marc Valin
4044ea8a1d VBR tuning: increases transient and dynalloc boost
This only increases the average rate by about 1.5 kb/s, but it
restores the high quality of transients from 1.0. Also it
ensures that dynalloc can never starve other bands when used
aggressively.
2012-07-25 01:32:29 -04:00
Gregory Maxwell
66d429ab53 log2_frac optimization from Simon Hosie back in Aug 2011. 2012-07-24 17:56:49 -04:00
Jean-Marc Valin
bfabfd383d Fixes issues with stereo saving and dynalloc
1) Stereo saving was being too aggressive because it only considered the LF
   and because the savings were multiplied by coded_bins rather than by
   just the number of "side bins" below the intensity threshold
2) In the case of bandlimited signals, dynalloc would allocate way too many
   bits to the last non-zero band. We now explicitly check for the last
   band with a meaningful signal.

These issues were really obvious when encoding the decoded test01.mp3
because of the strong inter-channel correlation and (especially) the 16 kHz
lowpass used by the mp3 encoder.
2012-07-23 15:24:40 -04:00
Gregory Maxwell
b0c120b214 Add some more api docs. 2012-07-21 17:24:11 -04:00
Gregory Maxwell
de4a2ddd06 Replace the remaining instances of restrict with OPUS_RESTRICT.
The usage of restrict in include/opus_custom.h was missed
by the prior commit replacing this keyword with a macro.

Also fixes some prototype/function agreement with respect to
restrict.
2012-07-20 18:02:55 -04:00
Gregory Maxwell
22f7788ac1 Replace a remaining instance of restrict with OPUS_RESTRICT.
The usage of restrict in include/opus_custom.h was missed
by the prior commit replacing this keyword with a macro.
2012-07-20 12:08:29 -04:00
Gian-Carlo Pascutto
0ec93137dc Small cleanups to MSVC build setup.
Add more MSVC files to .gitignore.
Make all configurations use default floating point model.
2012-07-20 08:49:01 -04:00
Chris Moeller
b768c9b0fd Fixes MSVC projects and adds git version generator tool 2012-07-20 08:48:50 -04:00
Gregory Maxwell
de0b5324b6 Replace C99 restrict keyword with OPUS_RESTRICT.
We had previously advised people to -Drestrict on
non-C99 compilers, but this creates problems for
some of the MSVC headers. Instead this just
uses a macro and defines it sanely.
2012-07-18 12:12:35 -04:00