Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion libfaac/frame.c
Original file line number Diff line number Diff line change
Expand Up @@ -308,7 +308,8 @@ int faacEncApplyConfig(faacEncStruct* hEncoder,

if (hEncoder->config.aacObjectType == HE_V1) {
SBRContext *sCtx = hEncoder->sbrContext;
SbrContextUpdateConfig(sCtx, hEncoder->numChannels, hEncoder->config.bitRate * hEncoder->numChannels, &hEncoder->fft_tables);
unsigned long sbr_bitrate = hEncoder->config.bitRate ? (hEncoder->config.bitRate * hEncoder->numChannels) : ((unsigned long)hEncoder->config.quantqual * 1280);
SbrContextUpdateConfig(sCtx, hEncoder->numChannels, sbr_bitrate, &hEncoder->fft_tables);
/* kx * Fs / (2*64): each QMF band is Fs/(2*SBR_QMF_BANDS_64) Hz wide.
* Matching core bandwidth to the SBR crossover avoids a gap or overlap. */
hEncoder->config.bandWidth = SbrContextGetXOverBandwidth(sCtx);
Expand Down
2 changes: 1 addition & 1 deletion libfaac/sbr_analysis.c
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ void SbrAnalyze(SignalAnalysis *sa, float *fullPtrs[], int nch, int numSamples,
}
sa->ch[ch].lastVal = val_in;

sa->ch[ch].transientStrength = smax * (float)sampled / (ssum + SBR_ENERGY_FLOOR);
sa->ch[ch].transientStrength = smax * (float)num_slots / (ssum + SBR_ENERGY_FLOOR);
sa->ch[ch].transientSlot = smax_idx;

/* Evaluate relative energy jumps to inform block switching. */
Expand Down
Loading