summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Some tuning of temporal VBR.exp_temporalJean-Marc Valin2013-06-131-3/+5
| | | | | Now reduce the effect as the bitrate goes up and don't boost already-boosted transients.
* Adds "temporal VBR", which should be mostly useful at low bitrate.Jean-Marc Valin2013-06-131-2/+30
| | | | | The idea is to allow more noise than the default in quiet segments. Right now, this hurts for high bitrates and would need to be disabled.
* Fixes stupid tf calibration bugs introduced/exposed in f77410dJean-Marc Valin2013-06-131-3/+4
|
* Adds a quick hack to replace the normal calls with the multistream version.Jean-Marc Valin2013-06-131-0/+30
|
* Moves VBR calculations to a separate function.Jean-Marc Valin2013-06-101-84/+108
| | | | | | Does not change the behaviour of the VBR code in most cases. The only exception is that the VBR offset is now taken into accound in the base_rate, which will have a (very minor) impact on CVBR at low rate.
* Drop the stdint size tests that we never use anywhereRon2013-06-091-37/+4
| | | | | These were probably cribbed from libogg, but we don't use them here, opus_types.h instead has a list of hardcoded arch definitions.
* Fixes fixed-point on x86 (no SSE).Jean-Marc Valin2013-06-071-1/+1
|
* Improved SSE version of xcorr_kernel()John Ridges2013-06-062-51/+28
| | | | | The loop no longer reads past its buffer and is slightly faster. Also fixes RESTORE_STACK in celt_iir().
* Forgot to add assembly fileJean-Marc Valin2013-06-061-1/+2
|
* Adds SSE support (only xcorr_kernel() for now)Jean-Marc Valin2013-06-052-0/+103
| | | | | | | There's no CPU detection for it, it only gets enabled by __SSE__ which gcc (other compilers?) defines automatically when supported by -march=, which means at least all x86-64. For ia32, the user needs to enable it in the CFLAGS.
* Add run-time CPU detection and support for ARM architectureAurélien Zanelli2013-06-0411-0/+295
| | | | | | | | | | | | Run-time CPU detection (RTCD) is enabled by default if target platform support it. It can be disable at compile time with --disable-rtcd option. Add RTCD support for ARM architecture. Thanks to Timothy B. Terriberry for help and code review Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org>
* Test the compiler configuration, not the assemblerRon2013-06-041-54/+15
| | | | | | | | | With gcc-4.4 at least, the raw asm.s files will always successfully compile even if the default -march for the compiler would not support those instructions. So switch to testing the inline asm versions, where the compiler will barf if they aren't supported by the default arch if no -march is explicitly given, or if they aren't supported by the requested -march when it is.
* Disables all the surround mode forcing for mono/stereoJean-Marc Valin2013-05-271-3/+4
|
* Check if opus_compare is executable in run_vectors.shAurélien Zanelli2013-05-271-0/+5
| | | | | | If opus_compare doesn't exist or isn't executable, tests failed normally which could be misleading. So test for existence and mode to avoid this ambiguity.
* C89 fixJean-Marc Valin2013-05-261-1/+5
|
* Creates xcorr_kernel() that gets used by pitch_xcorr, celt_fir and celt_iir.Jean-Marc Valin2013-05-263-176/+102
|
* Skip down-sampling in deemphasis() when not needed.Jean-Marc Valin2013-05-261-3/+18
|
* Add an option to disable build of extra programs (demos and tests)Aurélien Zanelli2013-05-262-0/+14
|
* oops (again)Jean-Marc Valin2013-05-251-1/+0
|
* oopsJean-Marc Valin2013-05-251-1/+1
|
* Optimizes remove_doubling() by avoiding redundant calculations of yyJean-Marc Valin2013-05-251-7/+17
| | | | Using a sliding window to pre-compute all yy values.
* Adds missing RESTORE_STACK callsJean-Marc Valin2013-05-251-0/+2
|
* Speeds up celt_iir() by more than a factor of two.Jean-Marc Valin2013-05-251-4/+92
| | | | Again, this only impacts the PLC and we assume the order is a multiple of 4.
* Speeds up celt_fir by more than a factor of two.Jean-Marc Valin2013-05-251-8/+73
| | | | Only impacts the PLC. We now assume that the order is a multiple of 4.
* Fixes two warnings in pitch_xcorr()Jean-Marc Valin2013-05-251-40/+40
| | | | | | Rename y0 and y1 because of the name clash with Bessel functions. Initialize y_3 to zero because gcc is too dumb to realize it can't be used uninitialized.
* Optimizes _celt_autocorr() by using pitch_xcorr()Jean-Marc Valin2013-05-253-22/+58
| | | | | | | | | Computes most of the auto-correlation by reusing pitch_xcorr(). We only need lag*(lag-1)/2 MACs to complete the calculations. To do this, pitch_xcorr() was modified so that it no longer truncates the length to a multiple of 4. Also, the xcorr didn't need the floor at -1. As a side benefit, this speeds up the PLC, which uses a higher order LPC filter.
* Merges the 4th order FIR with the first order FIR in pitch_downsample()Jean-Marc Valin2013-05-241-7/+52
| | | | Also creates a new hardcoded 5th order fir.
* Try to clarify that opus maps to flac/wav but wav doesn't map to opus.Ralph Giles2013-05-251-2/+3
|
* Reference before period.Ralph Giles2013-05-251-3/+3
|
* Hack quoting of hanning article.Ralph Giles2013-05-251-2/+1
| | | | | If there's no complete author tag, we need to add an opening quote character manually. See the EBU entry.
* Wrap lookahead code example in a figure.Ralph Giles2013-05-251-3/+9
|
* Add a wikipedia reference for the Hanning window.Ralph Giles2013-05-251-0/+11
|
* Move the vorbis channel mapping to informative references.Ralph Giles2013-05-251-15/+15
| | | | | The normative reference is now the channel configurations give directly in the draft.
* Fix Ogg draft formatting.Ralph Giles2013-05-251-0/+8
| | | | Previous markup was invalid.
* Remove an unnecessary comma.Ralph Giles2013-05-251-1/+1
|
* Merge JM's encoder suggestions.Ralph Giles2013-05-241-0/+75
| | | | | | | I've done some editing for clarity, but more needs to be done. The language needs clean-up, we should forward-reference the LPC Extrapolation section, and we need a reference for actually computing linear prediction coefficients.
* Bump Ogg draft version and date.draft-ietf-codec-oggopus-01Ralph Giles2013-05-241-2/+2
|
* Move implementation status details to wiki.xiph.org.Ralph Giles2013-05-241-185/+7
| | | | | | More recent versions of draft-sheffer-running-code suggest referring to a wiki. We'd like to try maintaining the implementation status separately.
* Make pitch_xcorr() work when len and max_pitch aren't multiples of 4.Jean-Marc Valin2013-05-241-1/+14
|
* oops, removed a minus sign that should never have appearedJean-Marc Valin2013-05-241-2/+2
|
* Unrolled version of the pitch correlationJean-Marc Valin2013-05-241-9/+105
| | | | About 30% faster on x86.
* Move misplaced RESTORE_STACK.Timothy B. Terriberry2013-05-231-1/+1
| | | | | | Introduced in c152d602. Thanks to Pedro Becerra for the report.
* Make dump_modes compile again.Timothy B. Terriberry2013-05-231-1/+1
|
* Move misplaced RESTORE_STACK.Timothy B. Terriberry2013-05-231-1/+1
| | | | | | Introduced in c152d602. Thanks to Pedro Becerra for the report.
* Remove an unused variable added in 85ede2c6.Timothy B. Terriberry2013-05-231-1/+0
| | | | Thanks to John Ridges for the report.
* Minor configure adjustment.Timothy B. Terriberry2013-05-221-1/+1
| | | | Define ARMv4_ASM to 1 like the other ARM defines.
* Minor FFT cleanups.Timothy B. Terriberry2013-05-221-3/+0
| | | | | | Remove a redundant include and some dead stores. Patch by Aurélien Zanelli <aurelien.zanelli@parrot.com>.
* Port 1ed17cc2 to C_MUL and C_MUL4.Timothy B. Terriberry2013-05-221-10/+10
| | | | | Measures a 0.1% speedup on 96 kbps stereo encode+decode on a Cortex A8.
* Slightly faster C_MULC for ARMv4.Nils Wallménius2013-05-221-5/+5
| | | | | | | | | | Reorder register usage to take advantage of early termination on multiplications and reorder a load instruction to hide its latency on ARM9. Speeds up decoding of a 64 kbps test file by 0.1MHz on an ARM7TDMI and 0.2MHz on an ARM9TDMI. Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org>
* Faster MULT32_32_Q31 for ARM.Nils Wallménius2013-05-221-0/+5
| | | | | | | | | | Uses a C implementation with a 32*32 => 64 multiplication, which ARM has. Speeds up decoding of a 64 kbps test file by 0.5MHz on an ARM7TDMI and 1.0MHz on an ARM9TDMI. 0.2% speedup on a 96 kbps enc+dec test on a Cortex A8. Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org>