FFmpeg
Functions
enc_psy.c File Reference
#include <float.h>
#include "libavutil/mem.h"
#include "enc_psy.h"
#include "celt.h"
#include "pvq.h"
#include "tab.h"
#include "libavfilter/window_func.h"

Go to the source code of this file.

Functions

static float pvq_band_cost (CeltPVQ *pvq, CeltFrame *f, OpusRangeCoder *rc, int band, float *bits, float lambda)
 
static void step_collect_psy_metrics (OpusPsyContext *s, int index)
 
static void search_for_change_points (OpusPsyContext *s, float tgt_change, int offset_s, int offset_e, int resolution, int level)
 
static int flush_silent_frames (OpusPsyContext *s)
 
static void psy_output_groups (OpusPsyContext *s)
 
int ff_opus_psy_process (OpusPsyContext *s, OpusPacketInfo *p)
 
void ff_opus_psy_celt_frame_init (OpusPsyContext *s, CeltFrame *f, int index)
 
static void celt_gauge_psy_weight (OpusPsyContext *s, OpusPsyStep **start, CeltFrame *f_out)
 
static int bands_dist (OpusPsyContext *s, CeltFrame *f, float *total_dist)
 
static void celt_search_for_dual_stereo (OpusPsyContext *s, CeltFrame *f)
 
static void celt_search_for_intensity (OpusPsyContext *s, CeltFrame *f)
 
static int celt_search_for_tf (OpusPsyContext *s, OpusPsyStep **start, CeltFrame *f)
 
int ff_opus_psy_celt_frame_process (OpusPsyContext *s, CeltFrame *f, int index)
 
void ff_opus_psy_postencode_update (OpusPsyContext *s, CeltFrame *f)
 
av_cold int ff_opus_psy_init (OpusPsyContext *s, AVCodecContext *avctx, struct FFBufQueue *bufqueue, OpusEncOptions *options)
 
void ff_opus_psy_signal_eof (OpusPsyContext *s)
 
av_cold int ff_opus_psy_end (OpusPsyContext *s)
 

Function Documentation

◆ pvq_band_cost()

static float pvq_band_cost ( CeltPVQ pvq,
CeltFrame f,
OpusRangeCoder rc,
int  band,
float bits,
float  lambda 
)
static

Definition at line 31 of file enc_psy.c.

Referenced by bands_dist().

◆ step_collect_psy_metrics()

static void step_collect_psy_metrics ( OpusPsyContext s,
int  index 
)
static

Definition at line 82 of file enc_psy.c.

Referenced by ff_opus_psy_process().

◆ search_for_change_points()

static void search_for_change_points ( OpusPsyContext s,
float  tgt_change,
int  offset_s,
int  offset_e,
int  resolution,
int  level 
)
static

Definition at line 168 of file enc_psy.c.

Referenced by ff_opus_psy_process().

◆ flush_silent_frames()

static int flush_silent_frames ( OpusPsyContext s)
static

Definition at line 188 of file enc_psy.c.

Referenced by psy_output_groups().

◆ psy_output_groups()

static void psy_output_groups ( OpusPsyContext s)
static

Definition at line 210 of file enc_psy.c.

Referenced by ff_opus_psy_process().

◆ ff_opus_psy_process()

int ff_opus_psy_process ( OpusPsyContext s,
OpusPacketInfo p 
)

Definition at line 227 of file enc_psy.c.

Referenced by opus_encode_frame().

◆ ff_opus_psy_celt_frame_init()

void ff_opus_psy_celt_frame_init ( OpusPsyContext s,
CeltFrame f,
int  index 
)

Definition at line 258 of file enc_psy.c.

Referenced by celt_encode_frame().

◆ celt_gauge_psy_weight()

static void celt_gauge_psy_weight ( OpusPsyContext s,
OpusPsyStep **  start,
CeltFrame f_out 
)
static

Definition at line 314 of file enc_psy.c.

Referenced by ff_opus_psy_celt_frame_process().

◆ bands_dist()

static int bands_dist ( OpusPsyContext s,
CeltFrame f,
float total_dist 
)
static

Definition at line 367 of file enc_psy.c.

Referenced by celt_search_for_dual_stereo(), and celt_search_for_intensity().

◆ celt_search_for_dual_stereo()

static void celt_search_for_dual_stereo ( OpusPsyContext s,
CeltFrame f 
)
static

Definition at line 386 of file enc_psy.c.

Referenced by ff_opus_psy_celt_frame_process().

◆ celt_search_for_intensity()

static void celt_search_for_intensity ( OpusPsyContext s,
CeltFrame f 
)
static

Definition at line 402 of file enc_psy.c.

Referenced by ff_opus_psy_celt_frame_process().

◆ celt_search_for_tf()

static int celt_search_for_tf ( OpusPsyContext s,
OpusPsyStep **  start,
CeltFrame f 
)
static

Definition at line 425 of file enc_psy.c.

Referenced by ff_opus_psy_celt_frame_process().

◆ ff_opus_psy_celt_frame_process()

int ff_opus_psy_celt_frame_process ( OpusPsyContext s,
CeltFrame f,
int  index 
)

Definition at line 459 of file enc_psy.c.

Referenced by celt_encode_frame().

◆ ff_opus_psy_postencode_update()

void ff_opus_psy_postencode_update ( OpusPsyContext s,
CeltFrame f 
)

Definition at line 480 of file enc_psy.c.

Referenced by opus_encode_frame().

◆ ff_opus_psy_init()

av_cold int ff_opus_psy_init ( OpusPsyContext s,
AVCodecContext avctx,
struct FFBufQueue bufqueue,
OpusEncOptions options 
)

Definition at line 516 of file enc_psy.c.

Referenced by opus_encode_init().

◆ ff_opus_psy_signal_eof()

void ff_opus_psy_signal_eof ( OpusPsyContext s)

Definition at line 590 of file enc_psy.c.

Referenced by opus_encode_frame().

◆ ff_opus_psy_end()

av_cold int ff_opus_psy_end ( OpusPsyContext s)

Definition at line 595 of file enc_psy.c.

Referenced by opus_encode_end().