Go to the documentation of this file.
22 #ifndef AVCODEC_OPUSENC_PSY_H
23 #define AVCODEC_OPUSENC_PSY_H
float stereo[CELT_MAX_BANDS]
AVTXContext * mdct[CELT_BLOCK_NB]
int ff_opus_psy_init(OpusPsyContext *s, AVCodecContext *avctx, struct FFBufQueue *bufqueue, OpusEncOptions *options)
int ff_opus_psy_end(OpusPsyContext *s)
float coeffs[OPUS_MAX_CHANNELS][OPUS_BLOCK_SIZE(CELT_BLOCK_960)]
OpusPsyStep * steps[FF_BUFQUEUE_SIZE+1]
FFBesselFilter bfilter_lo[OPUS_MAX_CHANNELS][CELT_MAX_BANDS]
void ff_opus_psy_signal_eof(OpusPsyContext *s)
float change_amp[OPUS_MAX_CHANNELS][CELT_MAX_BANDS]
OpusBandExcitation ex[OPUS_MAX_CHANNELS][CELT_MAX_BANDS]
int ff_opus_psy_celt_frame_process(OpusPsyContext *s, CeltFrame *f, int index)
#define OPUS_BLOCK_SIZE(x)
void(* av_tx_fn)(AVTXContext *s, void *out, void *in, ptrdiff_t stride)
Function pointer to a function to perform the transform.
void ff_opus_psy_postencode_update(OpusPsyContext *s, CeltFrame *f)
const OptionDef options[]
float * bands[OPUS_MAX_CHANNELS][CELT_MAX_BANDS]
#define DECLARE_ALIGNED(n, t, v)
float tone[OPUS_MAX_CHANNELS][CELT_MAX_BANDS]
Structure holding the queue.
int ff_opus_psy_process(OpusPsyContext *s, OpusPacketInfo *p)
#define OPUS_MAX_CHANNELS
float energy[OPUS_MAX_CHANNELS][CELT_MAX_BANDS]
int inflection_points_count
FFBesselFilter bfilter_hi[OPUS_MAX_CHANNELS][CELT_MAX_BANDS]
int64_t total_packets_out
main external API structure.
av_tx_fn mdct_fn[CELT_BLOCK_NB]
struct FFBufQueue * bufqueue
void ff_opus_psy_celt_frame_init(OpusPsyContext *s, CeltFrame *f, int index)
float * window[CELT_BLOCK_NB]