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 */
|
#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,
|
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)
|
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);
|
int clt_mdct_init(mdct_lookup *l,int N, int maxshift);
|
||||||
void clt_mdct_clear(mdct_lookup *l);
|
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,
|
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);
|
const opus_val16 *window, int overlap, int shift, int stride);
|
||||||
|
|
||||||
|
|
|
@ -39,8 +39,6 @@
|
||||||
#include "modes.h"
|
#include "modes.h"
|
||||||
#include "silk_API.h"
|
#include "silk_API.h"
|
||||||
|
|
||||||
#define MAX_PACKET (1275)
|
|
||||||
|
|
||||||
/* Make sure everything's aligned to 4 bytes (this may need to be increased
|
/* Make sure everything's aligned to 4 bytes (this may need to be increased
|
||||||
on really weird architectures) */
|
on really weird architectures) */
|
||||||
static inline int align(int i)
|
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;
|
st->silk_mode.maxInternalSampleRate = 16000;
|
||||||
|
|
||||||
/* Call SILK encoder for the low band */
|
/* Call SILK encoder for the low band */
|
||||||
nBytes = max_data_bytes-1;
|
nBytes = IMIN(1275, max_data_bytes-1);
|
||||||
if (prefill)
|
if (prefill)
|
||||||
{
|
{
|
||||||
int zero=0;
|
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);
|
ec_enc_shrink(&enc, nb_compr_bytes);
|
||||||
} else {
|
} else {
|
||||||
nb_compr_bytes = 0;
|
nb_compr_bytes = 0;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue