30 a =
M_SQRT2 - cos(2.0 *
M_PI * cutoff / sample_rate);
32 c = (a - sqrt((a + b) * (a - b))) / b;
34 coeff[0] =
lrintf(c * 2.0 * (1 << bits));
35 coeff[1] =
lrintf(-(c * c) * (1 << bits));
39 int bufsize,
int *header_size,
int *
coeff)
51 if (bufsize >= offset && offset >= 6 && memcmp(buf + offset - 6,
"(c)CRI", 6))
55 if (buf[4] != 3 || buf[5] != 18 || buf[6] != 4) {
int ff_adx_decode_header(AVCodecContext *avctx, const uint8_t *buf, int bufsize, int *header_size, int *coeff)
Decode ADX stream header.
#define AVERROR_INVALIDDATA
Invalid data found when processing input.
uint64_t_TMPL AV_WL64 unsigned int_TMPL AV_WL32 unsigned int_TMPL AV_WL24 unsigned int_TMPL AV_WL16 uint64_t_TMPL AV_WB64 unsigned int_TMPL AV_WB32 unsigned int_TMPL AV_WB24 unsigned int_TMPL AV_RB16
void ff_adx_calculate_coeffs(int cutoff, int sample_rate, int bits, int *coeff)
Calculate LPC coefficients based on cutoff frequency and sample rate.
void void avpriv_request_sample(void *avc, const char *msg,...) av_printf_format(2
Log a generic warning message about a missing feature.
uint64_t_TMPL AV_WL64 unsigned int_TMPL AV_WL32 unsigned int_TMPL AV_WL24 unsigned int_TMPL AV_WL16 uint64_t_TMPL AV_WB64 unsigned int_TMPL AV_RB32
static const uint8_t offset[127][2]
int bit_rate
the average bitrate
#define AVERROR_PATCHWELCOME
Not yet implemented in FFmpeg, patches welcome.
int sample_rate
samples per second
main external API structure.
common internal and external API header
int channels
number of audio channels
static const double coeff[2][5]