FFmpeg
Data Fields
AACNMRCurves Struct Reference

#include <aacenc.h>

Data Fields

float nd [2][128][NMR_NCAND]
 dist / threshold per candidate, per pair slot More...
 
int nb [2][128][NMR_NCAND]
 spectral bits per candidate, per pair slot More...
 
NMRSlot slot [2]
 pair slots (solo solves use slot 0) More...
 
int pair
 current element is a CPE: pool the pair budget More...
 
int rc_gl
 rc_global latched at frame start: the corridor bootstrap must not flip the CPE defer logic between channels of one frame More...
 
int rc_fill_seeded
 reservoir seeded full at stream start (decoder buffer starts full) More...
 
int pending
 slot 0 holds a deferred first channel More...
 
uint8_t zero_prev [16][128]
 per-channel band zero state last frame (zeroing hysteresis) More...
 
int zero_nw [16]
 window count zero_prev was recorded on More...
 
float thr_prev [16][64]
 per-channel long-grid law thresholds of the previous frame More...
 
uint8_t thr_prev_ok [16]
 thr_prev holds a long-frame measurement More...
 
uint8_t pns_prev [16][128]
 per-channel PNS state last frame (decision hysteresis) More...
 
uint8_t pns_run_on [16][128]
 consecutive frames the band has WANTED PNS More...
 
uint8_t pns_run_off [16][128]
 consecutive frames the band has wanted OUT More...
 
uint8_t smode [16][128]
 per-pair previous stereo mode per band, two banks per pair (long/short grid): each grid's memory persists across the other's frames instead of being wiped at window switches More...
 
uint8_t smode_band [8][128]
 last decided stereo mode per band index (side-band tests) More...
 
uint8_t tns8_prev [16]
 short-TNS accepted last frame (per channel): Schmitt state for the accept bar More...
 
uint8_t sinit [16]
 stereo state bank initialized More...
 
int smode_nw [8]
 window count the stored modes were decided on More...
 
float sema_es [16][128]
 smoothed side energy per band (stereo-decision EMA) More...
 
float sema_em [16][128]
 smoothed mid energy per band More...
 
float sema_img [16][128]
 smoothed I/S image-error/mask ratio per band More...
 
float lam [16]
 per-channel operating lambda of the previous frame, 0 = none yet More...
 
int counted [16]
 per-channel bits the trellis accounted for in the last solve More...
 
float side_ema
 running estimate of real-minus-counted bits per frame More...
 
int side_inited
 side_ema holds a measurement More...
 
int64_t rc_frame_num
 frame the reservoir was last advanced for More...
 
float lam_rc
 global-lambda rate control: operating lambda, 0 until bootstrapped More...
 
int rc_fill
 virtual bit reservoir fill, + = bits saved vs nominal More...
 
int frames_since_short
 long-block frames since the last short run (the "gap"): large = isolated transient More...
 
int prev_was_short
 previous frame was a short block (for run-start detection) More...
 
float run_burst
 transient bit-burst factor, set at run start and held across the short run More...
 
float lam_slew
 final operating lambda of the previous RC frame (slew-limiter state) More...
 
float nd_ema
 smoothed achieved distortion/real-mask over long-frame coded bands (1 = at threshold; >>1 flags psy-unreliable noise-class content) More...
 
float press
 rate-pressure ramp [0,1]: lambda EMA against anchors that scale up when nd_ema flags noise-class content (psy masks unreliable there, lambda reads inflated) More...
 
float lam_short_ema
 smoothed operating lambda of short frames More...
 
float lam_long_ema
 smoothed operating lambda of long frames More...
 
float lam_floor
 lambda min-tracker (snaps down, +2%/frame up): sustained-strain floor; bursty spikes at a comfortable rate cannot raise it More...
 

Detailed Description

Definition at line 204 of file aacenc.h.

Field Documentation

◆ nd

float AACNMRCurves::nd[2][128][NMR_NCAND]

dist / threshold per candidate, per pair slot

Definition at line 205 of file aacenc.h.

◆ nb

int AACNMRCurves::nb[2][128][NMR_NCAND]

spectral bits per candidate, per pair slot

Definition at line 206 of file aacenc.h.

◆ slot

NMRSlot AACNMRCurves::slot[2]

pair slots (solo solves use slot 0)

Definition at line 207 of file aacenc.h.

◆ pair

int AACNMRCurves::pair

current element is a CPE: pool the pair budget

Definition at line 208 of file aacenc.h.

◆ rc_gl

int AACNMRCurves::rc_gl

rc_global latched at frame start: the corridor bootstrap must not flip the CPE defer logic between channels of one frame

Definition at line 209 of file aacenc.h.

◆ rc_fill_seeded

int AACNMRCurves::rc_fill_seeded

reservoir seeded full at stream start (decoder buffer starts full)

Definition at line 210 of file aacenc.h.

◆ pending

int AACNMRCurves::pending

slot 0 holds a deferred first channel

Definition at line 211 of file aacenc.h.

◆ zero_prev

uint8_t AACNMRCurves::zero_prev[16][128]

per-channel band zero state last frame (zeroing hysteresis)

Definition at line 212 of file aacenc.h.

◆ zero_nw

int AACNMRCurves::zero_nw[16]

window count zero_prev was recorded on

Definition at line 213 of file aacenc.h.

◆ thr_prev

float AACNMRCurves::thr_prev[16][64]

per-channel long-grid law thresholds of the previous frame

Definition at line 214 of file aacenc.h.

◆ thr_prev_ok

uint8_t AACNMRCurves::thr_prev_ok[16]

thr_prev holds a long-frame measurement

Definition at line 215 of file aacenc.h.

◆ pns_prev

uint8_t AACNMRCurves::pns_prev[16][128]

per-channel PNS state last frame (decision hysteresis)

Definition at line 216 of file aacenc.h.

◆ pns_run_on

uint8_t AACNMRCurves::pns_run_on[16][128]

consecutive frames the band has WANTED PNS

Definition at line 217 of file aacenc.h.

◆ pns_run_off

uint8_t AACNMRCurves::pns_run_off[16][128]

consecutive frames the band has wanted OUT

Definition at line 218 of file aacenc.h.

◆ smode

uint8_t AACNMRCurves::smode[16][128]

per-pair previous stereo mode per band, two banks per pair (long/short grid): each grid's memory persists across the other's frames instead of being wiped at window switches

Definition at line 219 of file aacenc.h.

◆ smode_band

uint8_t AACNMRCurves::smode_band[8][128]

last decided stereo mode per band index (side-band tests)

Definition at line 220 of file aacenc.h.

◆ tns8_prev

uint8_t AACNMRCurves::tns8_prev[16]

short-TNS accepted last frame (per channel): Schmitt state for the accept bar

Definition at line 221 of file aacenc.h.

◆ sinit

uint8_t AACNMRCurves::sinit[16]

stereo state bank initialized

Definition at line 222 of file aacenc.h.

◆ smode_nw

int AACNMRCurves::smode_nw[8]

window count the stored modes were decided on

Definition at line 223 of file aacenc.h.

◆ sema_es

float AACNMRCurves::sema_es[16][128]

smoothed side energy per band (stereo-decision EMA)

Definition at line 224 of file aacenc.h.

◆ sema_em

float AACNMRCurves::sema_em[16][128]

smoothed mid energy per band

Definition at line 225 of file aacenc.h.

◆ sema_img

float AACNMRCurves::sema_img[16][128]

smoothed I/S image-error/mask ratio per band

Definition at line 226 of file aacenc.h.

◆ lam

float AACNMRCurves::lam[16]

per-channel operating lambda of the previous frame, 0 = none yet

Definition at line 227 of file aacenc.h.

◆ counted

int AACNMRCurves::counted[16]

per-channel bits the trellis accounted for in the last solve

Definition at line 228 of file aacenc.h.

◆ side_ema

float AACNMRCurves::side_ema

running estimate of real-minus-counted bits per frame

Definition at line 229 of file aacenc.h.

◆ side_inited

int AACNMRCurves::side_inited

side_ema holds a measurement

Definition at line 230 of file aacenc.h.

◆ rc_frame_num

int64_t AACNMRCurves::rc_frame_num

frame the reservoir was last advanced for

Definition at line 232 of file aacenc.h.

◆ lam_rc

float AACNMRCurves::lam_rc

global-lambda rate control: operating lambda, 0 until bootstrapped

Definition at line 233 of file aacenc.h.

◆ rc_fill

int AACNMRCurves::rc_fill

virtual bit reservoir fill, + = bits saved vs nominal

Definition at line 234 of file aacenc.h.

◆ frames_since_short

int AACNMRCurves::frames_since_short

long-block frames since the last short run (the "gap"): large = isolated transient

Definition at line 235 of file aacenc.h.

◆ prev_was_short

int AACNMRCurves::prev_was_short

previous frame was a short block (for run-start detection)

Definition at line 236 of file aacenc.h.

◆ run_burst

float AACNMRCurves::run_burst

transient bit-burst factor, set at run start and held across the short run

Definition at line 237 of file aacenc.h.

◆ lam_slew

float AACNMRCurves::lam_slew

final operating lambda of the previous RC frame (slew-limiter state)

Definition at line 238 of file aacenc.h.

◆ nd_ema

float AACNMRCurves::nd_ema

smoothed achieved distortion/real-mask over long-frame coded bands (1 = at threshold; >>1 flags psy-unreliable noise-class content)

Definition at line 239 of file aacenc.h.

◆ press

float AACNMRCurves::press

rate-pressure ramp [0,1]: lambda EMA against anchors that scale up when nd_ema flags noise-class content (psy masks unreliable there, lambda reads inflated)

Definition at line 240 of file aacenc.h.

◆ lam_short_ema

float AACNMRCurves::lam_short_ema

smoothed operating lambda of short frames

Definition at line 241 of file aacenc.h.

◆ lam_long_ema

float AACNMRCurves::lam_long_ema

smoothed operating lambda of long frames

Definition at line 242 of file aacenc.h.

◆ lam_floor

float AACNMRCurves::lam_floor

lambda min-tracker (snaps down, +2%/frame up): sustained-strain floor; bursty spikes at a comfortable rate cannot raise it

Definition at line 243 of file aacenc.h.


The documentation for this struct was generated from the following file: