|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef AVCODEC_AACENC_QUANTIZATION_H |
|
#define AVCODEC_AACENC_QUANTIZATION_H |
|
|
|
#include <stddef.h> |
|
|
|
#include "aacenc.h" |
|
#include "put_bits.h" |
|
|
|
|
|
float ff_quantize_and_encode_band_cost(AACEncContext *s, PutBitContext *pb, |
|
const float *in, float *quant, const float *scaled, |
|
int size, int scale_idx, int cb, |
|
const float lambda, const float uplim, |
|
int *bits, float *energy); |
|
|
|
static inline float quantize_band_cost(struct AACEncContext *s, const float *in, |
|
const float *scaled, int size, int scale_idx, |
|
int cb, const float lambda, const float uplim, |
|
int *bits, float *energy) |
|
{ |
|
return ff_quantize_and_encode_band_cost(s, NULL, in, NULL, scaled, size, scale_idx, |
|
cb, lambda, uplim, bits, energy); |
|
} |
|
|
|
static inline int quantize_band_cost_bits(struct AACEncContext *s, const float *in, |
|
const float *scaled, int size, int scale_idx, |
|
int cb, const float lambda, const float uplim, |
|
int *bits, float *energy) |
|
{ |
|
int auxbits; |
|
ff_quantize_and_encode_band_cost(s, NULL, in, NULL, scaled, size, scale_idx, |
|
cb, 0.0f, uplim, &auxbits, energy); |
|
if (bits) { |
|
*bits = auxbits; |
|
} |
|
return auxbits; |
|
} |
|
|
|
#include "aacenc_quantization_misc.h" |
|
|
|
#endif |
|
|