Fixes an encoder bugg when requesting a CBR rate over the allowable limit
This commit is contained in:
parent
11785e92c3
commit
66c612ef43
4 changed files with 4 additions and 4 deletions
|
@ -99,6 +99,7 @@ void clt_mdct_clear(mdct_lookup *l)
|
|||
|
||||
#endif /* CUSTOM_MODES */
|
||||
|
||||
/* Forward MDCT trashes the input array */
|
||||
void clt_mdct_forward(const mdct_lookup *l, kiss_fft_scalar *in, kiss_fft_scalar * restrict out,
|
||||
const opus_val16 *window, int overlap, int shift, int stride)
|
||||
{
|
||||
|
|
|
@ -55,7 +55,7 @@ typedef struct {
|
|||
int clt_mdct_init(mdct_lookup *l,int N, int maxshift);
|
||||
void clt_mdct_clear(mdct_lookup *l);
|
||||
|
||||
/** Compute a forward MDCT and scale by 4/N */
|
||||
/** Compute a forward MDCT and scale by 4/N, trashes the input array */
|
||||
void clt_mdct_forward(const mdct_lookup *l, kiss_fft_scalar *in, kiss_fft_scalar *out,
|
||||
const opus_val16 *window, int overlap, int shift, int stride);
|
||||
|
||||
|
|
|
@ -39,8 +39,6 @@
|
|||
#include "modes.h"
|
||||
#include "silk_API.h"
|
||||
|
||||
#define MAX_PACKET (1275)
|
||||
|
||||
/* Make sure everything's aligned to 4 bytes (this may need to be increased
|
||||
on really weird architectures) */
|
||||
static inline int align(int i)
|
||||
|
|
|
@ -425,7 +425,7 @@ int opus_encode(OpusEncoder *st, const opus_int16 *pcm, int frame_size,
|
|||
st->silk_mode.maxInternalSampleRate = 16000;
|
||||
|
||||
/* Call SILK encoder for the low band */
|
||||
nBytes = max_data_bytes-1;
|
||||
nBytes = IMIN(1275, max_data_bytes-1);
|
||||
if (prefill)
|
||||
{
|
||||
int zero=0;
|
||||
|
@ -515,6 +515,7 @@ int opus_encode(OpusEncoder *st, const opus_int16 *pcm, int frame_size,
|
|||
}
|
||||
}
|
||||
|
||||
nb_compr_bytes = IMIN(1275, nb_compr_bytes);
|
||||
ec_enc_shrink(&enc, nb_compr_bytes);
|
||||
} else {
|
||||
nb_compr_bytes = 0;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue