29 for (
int i = 0;
i <
size;
i++) {
36 int size,
int is_signed,
int maxval,
const float Q34,
39 for (
int i = 0;
i <
size;
i++) {
40 float qc = scaled[
i] * Q34;
41 int tmp = (int)
FFMIN((
float)(qc + rounding), (
float)maxval);
42 if (is_signed && in[
i] < 0.0f) {
53 const float *node,
const float *lamsf,
54 int n_cur,
int n_prev,
int base,
int step,
int mdiff)
56 for (
int o = 0; o < n_cur; o++) {
58 float bestc = FLT_MAX;
59 for (
int op = 0;
op < n_prev;
op++) {
60 int d =
base + (o -
op) * step;
62 if (d < -mdiff || d > mdiff)
64 c = dpp[
op] + lamsf[d + mdiff];
70 bp[o] = best < 0 ? 0 : best;
71 dp[o] = best < 0 ? FLT_MAX : node[o] + bestc;
83#elif ARCH_X86 && HAVE_X86ASM
void ff_aacenc_dsp_init_aarch64(AACEncDSPContext *s)
void ff_aacenc_dsp_init_riscv(AACEncDSPContext *s)
void ff_aacenc_dsp_init_x86(AACEncDSPContext *s)
#define i(width, name, range_min, range_max)
static __device__ float sqrtf(float a)
static __device__ float fabsf(float a)
static void nmr_trellis_step_c(float *dp, uint8_t *bp, const float *dpp, const float *node, const float *lamsf, int n_cur, int n_prev, int base, int step, int mdiff)
static void quantize_bands(int *out, const float *in, const float *scaled, int size, int is_signed, int maxval, const float Q34, const float rounding)
void ff_aacenc_dsp_init(AACEncDSPContext *s)
static void abs_pow34_v(float *out, const float *in, const int size)
static int op(uint8_t **dst, const uint8_t *dst_end, GetByteContext *gb, int pixel, int count, int *x, int width, int linesize)
Perform decode operation.
Utility Preprocessor macros.