@@ -74,7 +74,7 @@ struct matrix4_band {
74
74
struct smooth_state sm ;
75
75
struct event_state ev ;
76
76
struct axes ax , ax_ev ;
77
- double fl_boost , fr_boost ;
77
+ double dir_boost ;
78
78
#if DOWNSAMPLE_FACTOR > 1
79
79
struct cs_interp_state lsl_m , lsr_m ;
80
80
struct cs_interp_state rsl_m , rsr_m ;
@@ -91,11 +91,11 @@ struct matrix4_mb_state {
91
91
sample_t norm_mult , surr_mult ;
92
92
struct event_config evc ;
93
93
#if DOWNSAMPLE_FACTOR > 1
94
- struct cs_interp_state fl_boost , fr_boost ;
94
+ struct cs_interp_state dir_boost ;
95
95
#else
96
- double fl_boost , fr_boost ;
96
+ double dir_boost ;
97
97
#endif
98
- struct smf_state dir_boost_smooth [ 2 ] ;
98
+ struct smf_state dir_boost_smooth ;
99
99
ssize_t len , p , drain_frames , fade_frames , fade_p ;
100
100
};
101
101
@@ -255,7 +255,7 @@ sample_t * matrix4_mb_effect_run(struct effect *e, ssize_t *frames, sample_t *ib
255
255
256
256
for (i = 0 ; i < * frames ; ++ i ) {
257
257
double norm_mult = state -> norm_mult , surr_mult = state -> surr_mult ;
258
- double fl_boost = 0.0 , fr_boost = 0.0 , f_boost_norm = 0.0 ;
258
+ double dir_boost = 0.0 , dir_boost_norm = 0.0 ;
259
259
sample_t out_ls = 0.0 , out_rs = 0.0 ;
260
260
const sample_t s0 = ibuf [i * e -> istream .channels + state -> c0 ];
261
261
const sample_t s1 = ibuf [i * e -> istream .channels + state -> c1 ];
@@ -299,13 +299,11 @@ sample_t * matrix4_mb_effect_run(struct effect *e, ssize_t *frames, sample_t *ib
299
299
300
300
struct matrix_coefs m = {0 };
301
301
calc_matrix_coefs (& band -> ax , state -> do_dir_boost , norm_mult , surr_mult , & m );
302
- band -> fl_boost = m .fl_boost ;
303
- band -> fr_boost = m .fr_boost ;
302
+ band -> dir_boost = m .dir_boost ;
304
303
305
304
const double weight = pwr_env_d .sum * fb_weights [k ];
306
- fl_boost += m .fl_boost * m .fl_boost * weight ;
307
- fr_boost += m .fr_boost * m .fr_boost * weight ;
308
- f_boost_norm += weight ;
305
+ dir_boost += m .dir_boost * m .dir_boost * weight ;
306
+ dir_boost_norm += weight ;
309
307
310
308
#if DOWNSAMPLE_FACTOR > 1
311
309
cs_interp_insert (& band -> lsl_m , m .lsl );
@@ -324,27 +322,18 @@ sample_t * matrix4_mb_effect_run(struct effect *e, ssize_t *frames, sample_t *ib
324
322
#if DOWNSAMPLE_FACTOR > 1
325
323
if (state -> s == 0 ) {
326
324
#endif
327
- if (f_boost_norm > 0.0 ) {
328
- fl_boost = sqrt (fl_boost / f_boost_norm );
329
- fr_boost = sqrt (fr_boost / f_boost_norm );
330
- }
331
- else {
332
- fl_boost = 0.0 ;
333
- fr_boost = 0.0 ;
334
- }
335
- fl_boost = smf_asym_run (& state -> dir_boost_smooth [0 ], fl_boost );
336
- fr_boost = smf_asym_run (& state -> dir_boost_smooth [1 ], fr_boost );
325
+ dir_boost = smf_asym_run (& state -> dir_boost_smooth ,
326
+ (dir_boost_norm > 0.0 ) ? sqrt (dir_boost / dir_boost_norm ) : 0.0 );
337
327
#if DOWNSAMPLE_FACTOR > 1
338
- cs_interp_insert (& state -> fl_boost , fl_boost );
339
- cs_interp_insert (& state -> fr_boost , fr_boost );
328
+ cs_interp_insert (& state -> dir_boost , dir_boost );
340
329
}
341
- const double ll_m = norm_mult + cs_interp (& state -> fl_boost , state -> s );
342
- const double rr_m = norm_mult + cs_interp (& state -> fr_boost , state -> s );
330
+ const double dir_boost_interp = cs_interp (& state -> dir_boost , state -> s );
331
+ const double ll_m = norm_mult + dir_boost_interp ;
332
+ const double rr_m = norm_mult + dir_boost_interp ;
343
333
#else
344
- state -> fl_boost = fl_boost ;
345
- state -> fr_boost = fr_boost ;
346
- const double ll_m = norm_mult + fl_boost ;
347
- const double rr_m = norm_mult + fr_boost ;
334
+ state -> dir_boost = dir_boost ;
335
+ const double ll_m = norm_mult + dir_boost ;
336
+ const double rr_m = norm_mult + dir_boost ;
348
337
#endif
349
338
const double lr_m = 0.0 , rl_m = 0.0 ;
350
339
@@ -387,17 +376,17 @@ sample_t * matrix4_mb_effect_run(struct effect *e, ssize_t *frames, sample_t *ib
387
376
if (state -> show_status ) {
388
377
dsp_log_acquire ();
389
378
for (i = 0 ; i < N_BANDS ; ++ i ) {
390
- dsp_log_printf ("\n%s%s: band %zd: lr: %+06.2f (%+06.2f); cs: %+06.2f (%+06.2f); dir_boost: l:%05.3f r: %05.3f; adj: %05.3f; ord: %zd; diff: %zd; early: %zd\033[K\r" ,
379
+ dsp_log_printf ("\n%s%s: band %zd: lr: %+06.2f (%+06.2f); cs: %+06.2f (%+06.2f); dir_boost: %05.3f; adj: %05.3f; ord: %zd; diff: %zd; early: %zd\033[K\r" ,
391
380
e -> name , (state -> disable ) ? " [off]" : "" , i ,
392
381
TO_DEGREES (state -> band [i ].ax .lr ), TO_DEGREES (state -> band [i ].ax_ev .lr ), TO_DEGREES (state -> band [i ].ax .cs ), TO_DEGREES (state -> band [i ].ax_ev .cs ),
393
- state -> band [i ].fl_boost , state -> band [ i ]. fr_boost , state -> band [i ].ev .adj , state -> band [i ].ev .ord_count , state -> band [i ].ev .diff_count , state -> band [i ].ev .early_count );
382
+ state -> band [i ].dir_boost , state -> band [i ].ev .adj , state -> band [i ].ev .ord_count , state -> band [i ].ev .diff_count , state -> band [i ].ev .early_count );
394
383
}
395
- dsp_log_printf ("\n%s%s: weighted RMS dir_boost: l:%05.3f r: %05.3f\033[K\r" ,
384
+ dsp_log_printf ("\n%s%s: weighted RMS dir_boost: %05.3f\033[K\r" ,
396
385
e -> name , (state -> disable ) ? " [off]" : "" ,
397
386
#if DOWNSAMPLE_FACTOR > 1
398
- CS_INTERP_PEEK (& state -> fl_boost ), CS_INTERP_PEEK ( & state -> fr_boost ));
387
+ CS_INTERP_PEEK (& state -> dir_boost ));
399
388
#else
400
- state -> fl_boost , state -> fr_boost );
389
+ state -> dir_boost );
401
390
#endif
402
391
dsp_log_printf ("\033[%zdA" , i + 1 );
403
392
dsp_log_release ();
@@ -521,9 +510,8 @@ struct effect * matrix4_mb_effect_init(const struct effect_info *ei, const struc
521
510
smooth_state_init (& state -> band [k ].sm , istream );
522
511
event_state_init (& state -> band [k ].ev , istream );
523
512
}
524
- for (int i = 0 ; i < 2 ; ++ i )
525
- smf_asym_init (& state -> dir_boost_smooth [i ], DOWNSAMPLED_FS (istream -> fs ),
526
- SMF_RISE_TIME (DIR_BOOST_RT0 ), DIR_BOOST_SENS_RISE , DIR_BOOST_SENS_FALL );
513
+ smf_asym_init (& state -> dir_boost_smooth , DOWNSAMPLED_FS (istream -> fs ),
514
+ SMF_RISE_TIME (DIR_BOOST_RT0 ), DIR_BOOST_SENS_RISE , DIR_BOOST_SENS_FALL );
527
515
528
516
#if DOWNSAMPLE_FACTOR > 1
529
517
state -> len = TIME_TO_FRAMES (DELAY_TIME , istream -> fs ) + CS_INTERP_DELAY_FRAMES ;
0 commit comments