| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
Casting to unsigned to avoid shifting negative values left.
|
|
|
|
| |
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
|
|
|
|
|
|
| |
NSQ_LPC_BUF_LENGTH is independent of DECISION_DELAY.
Signed-off-by: Felicia Lim <flim@google.com>
|
| |
|
|
|
|
| |
Use of celt_fir remains off by default
|
|
|
|
|
|
|
|
| |
The "mem" in celt_fir_c() either is contained in the head of input "x"
in reverse order already, or can be easily attached to the head of "x"
before calling the function. Removing argument "mem" can eliminate the
redundant buffer copies inside.
Update celt_fir_sse4_1() accordingly.
|
|
|
|
|
|
| |
this has the side-effect of removing some C++ style comments
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
|
|
|
|
| |
Signed-off-by: Timothy B. Terriberry <tterribe@xiph.org>
|
|
|
|
|
|
|
|
|
| |
This could happen when we had more than 32 bits on the first hybrid band with
a transient just in the middle of the frame. The band would be split and the
first half of the frame could end up with non-zero energy, but not enough
bits for a pulse. Because it's the first band, no folding would be possible.
This would cause noise to be injected for the entire duration of the first
half and that noise should then get folded to higher bands.
|
| |
|
|
|
|
|
|
|
| |
The change also makes the analysis run for sampling rates of 16 kHz and 24 kHz
since the features are only computed on the 0-8 kHz band. The longer time
window (20 ms instead of 10 ms) makes the tonality estimator more reliable
for low-pitch harmonics.
|
| |
|
| |
|
| |
|
|
|
|
| |
Thanks to Zhendong Wu for spotting the issue
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Remove version.mk and references to it in the repo.
genversion.bat will now generate the same version strings as
update_version script, i.e. without 'v' prefix and without a
fallback if git archive is used.
If run from a release tarball it'll use package_version,
like configure. If run from a git repo, it will use the same
'git describe' with '-dirty' as update_version.
Signed-off-by: Ralph Giles <giles@thaumas.net>
|
|
|
|
|
|
|
| |
Ensure that the SILK encoder's log gain is 63, not 64, when encoding
a maximum-value delta gain index of 40. This matches the decoder
and RFC 6716 4.2.7.4, and prevents an assertion failure in the rare
case that the gain is later independently coded.
|
|
|
|
| |
Signed-off-by: Ralph Giles <giles@thaumas.net>
|
|
|
|
|
| |
This was just enabling commented-out code, setting a fixed
default removes dead code.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also remove the SILK_DEBUG_STORE_CLOSE_FILES flush call from
opus_demo.
This is debugging code which is no longer used, but defining
the symbols for SILK_DEBUG_STORE_CLOSE_FILES and calling it
from opus_demo causes linking problems on Microsoft Visual Studio
where we have strict controls on public symbols and want to
test the compiled DLL.
Since the code isn't in active use, it's better to remove it
to avoid clutter and address the linking issue.
|
|
|
|
| |
Signed-off-by: Ralph Giles <giles@thaumas.net>
|
|
|
|
| |
Signed-off-by: Ralph Giles <giles@thaumas.net>
|
|
|
|
|
|
| |
frame_size_select() ensures that frame_size is a valid size or -1,
!st->variable_duration is always false, and delay_compensation is
no longer needed to choose the frame size.
|
| |
|
|
|
|
| |
That experiment never actually worked
|
|
|
|
| |
Signed-off-by: Ralph Giles <giles@thaumas.net>
|
| |
|
|
|
|
|
| |
We now try not to fold below band 17 since that produces a lot of harshness.
This mostly helps around 32-40 kb/s.
|
| |
|
|
|
|
|
|
|
|
| |
Fix Hybrid redundancy assertion failure in ec_enc_shrink(), even
if SILK produces more than maxBits, by reducing or eliminating
redundancy when necessary. Don't reserve space for redundancy that
is too small to be used for redundancy. When there is not enough
space for redundancy, allow the regular frame to use all the bits.
|
|
|
|
|
|
| |
With packets of 80 ms or more, a SILK bandwidth switch was missing
the second half of the redundancy, because st->silk_bw_switch was
cleared too early before any recursive calls.
|
| |
|
|
|
|
| |
As reported by agatx in https://trac.xiph.org/ticket/2291
|
|
|
|
| |
Reported by wtchang in trac: https://trac.xiph.org/ticket/2160
|
| |
|
|
|
|
| |
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
These rely on TF rather than short windows to avoid partial collapse.
|
|
|
|
| |
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
|
|
|
|
|
|
| |
Also clean up comments from the last patches
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
|
|
|
|
| |
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
|
|
|
|
|
|
| |
long frames
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
|
|
|
|
| |
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
|
|
|
|
| |
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
|
|
|
|
|
|
| |
The transient detector would trigger on low-pitch vowels, but we didn't have
enough bits to properly code the high bands as a transient, resulting in
partial collapse and unstable energy.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Different distributions of doxygen have different default
values of HAVE_DOT setting, so we need to pick a specific
setting to avoid 'missing dot' warnings on some platforms.
Doxygen uses it to generate inclusion graphs for our various
header files, which is somewhat useful, but not essential.
We therefore enable dot if it's present (usually through
the parent graphviz package) but disable it if it's not
available, silencing the warning, but not giving uniform
results.
|
|
|
|
|
|
| |
Without that, we could bust the budget and end up with the
if (ec_tell(&enc) <= 8*nb_compr_bytes)
being false, followed by an assert failure later.
|