Disable the LPC mode highpass filter when set to APPLICATION_AUDIO.
This commit is contained in:
parent
073c4e1472
commit
6db1d526b4
2 changed files with 11 additions and 4 deletions
|
@ -302,9 +302,11 @@ opus_int silk_Encode(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* High-pass filter */
|
/* High-pass filter, deactivated if less than zero */
|
||||||
|
if(encControl->HP_cutoff_Hz>=0) {
|
||||||
psEnc->state_Fxx[ 0 ].sCmn.HP_cutoff_Hz = encControl->HP_cutoff_Hz;
|
psEnc->state_Fxx[ 0 ].sCmn.HP_cutoff_Hz = encControl->HP_cutoff_Hz;
|
||||||
silk_HP_variable_cutoff( psEnc->state_Fxx, psEnc->nChannelsInternal );
|
silk_HP_variable_cutoff( psEnc->state_Fxx, psEnc->nChannelsInternal );
|
||||||
|
}
|
||||||
|
|
||||||
/* Total target bits for packet */
|
/* Total target bits for packet */
|
||||||
nBits = SKP_DIV32_16( SKP_MUL( encControl->bitRate, encControl->payloadSize_ms ), 1000 );
|
nBits = SKP_DIV32_16( SKP_MUL( encControl->bitRate, encControl->payloadSize_ms ), 1000 );
|
||||||
|
|
|
@ -326,7 +326,10 @@ int opus_encode_float(OpusEncoder *st, const opus_val16 *pcm, int frame_size,
|
||||||
/* Mode selection depending on application and signal type */
|
/* Mode selection depending on application and signal type */
|
||||||
if (st->application==OPUS_APPLICATION_VOIP)
|
if (st->application==OPUS_APPLICATION_VOIP)
|
||||||
{
|
{
|
||||||
opus_int32 threshold = 20000;
|
opus_int32 threshold;
|
||||||
|
threshold = 20000;
|
||||||
|
/* OPUS_APPLICATION_VOIP default to auto high-pass */
|
||||||
|
st->silk_mode.HP_cutoff_Hz=0;
|
||||||
/* Hysteresis */
|
/* Hysteresis */
|
||||||
if (st->prev_mode == MODE_CELT_ONLY)
|
if (st->prev_mode == MODE_CELT_ONLY)
|
||||||
threshold -= 4000;
|
threshold -= 4000;
|
||||||
|
@ -342,6 +345,8 @@ int opus_encode_float(OpusEncoder *st, const opus_val16 *pcm, int frame_size,
|
||||||
opus_int32 threshold;
|
opus_int32 threshold;
|
||||||
/* SILK/CELT threshold is higher for voice than for music */
|
/* SILK/CELT threshold is higher for voice than for music */
|
||||||
threshold = 36000;
|
threshold = 36000;
|
||||||
|
/* OPUS_APPLICATION_AUDIO disables the high-pass */
|
||||||
|
st->silk_mode.HP_cutoff_Hz=-1;
|
||||||
if (st->signal_type == OPUS_SIGNAL_MUSIC)
|
if (st->signal_type == OPUS_SIGNAL_MUSIC)
|
||||||
threshold -= 20000;
|
threshold -= 20000;
|
||||||
else if (st->signal_type == OPUS_SIGNAL_VOICE)
|
else if (st->signal_type == OPUS_SIGNAL_VOICE)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue