mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-10-31 22:25:38 -04:00
channelmix: only produce REAR/SIDE from FC in simple upmix
Only simple upmixing would replicate the FC channel into REAR/SIDE. The PSD method would take the diff between FL/FR (which would be 0 if only FC is available) and not generate output.
This commit is contained in:
parent
da9868594d
commit
3df0fb21a0
1 changed files with 8 additions and 2 deletions
|
|
@ -441,10 +441,13 @@ static int make_matrix(struct channelmix *mix)
|
||||||
spa_log_debug(mix->log, "produce SIDE from STEREO");
|
spa_log_debug(mix->log, "produce SIDE from STEREO");
|
||||||
_MATRIX(SL,FL) += slev;
|
_MATRIX(SL,FL) += slev;
|
||||||
_MATRIX(SR,FR) += slev;
|
_MATRIX(SR,FR) += slev;
|
||||||
} else if ((src_mask & FRONT) == FRONT) {
|
} else if ((src_mask & FRONT) == FRONT &&
|
||||||
|
mix->upmix == CHANNELMIX_UPMIX_SIMPLE) {
|
||||||
spa_log_debug(mix->log, "produce SIDE from FC");
|
spa_log_debug(mix->log, "produce SIDE from FC");
|
||||||
_MATRIX(SL,FC) += clev;
|
_MATRIX(SL,FC) += clev;
|
||||||
_MATRIX(SR,FC) += clev;
|
_MATRIX(SR,FC) += clev;
|
||||||
|
} else {
|
||||||
|
spa_log_debug(mix->log, "won't produce SIDE");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (unassigned & REAR) {
|
if (unassigned & REAR) {
|
||||||
|
|
@ -456,10 +459,13 @@ static int make_matrix(struct channelmix *mix)
|
||||||
spa_log_debug(mix->log, "produce REAR from STEREO");
|
spa_log_debug(mix->log, "produce REAR from STEREO");
|
||||||
_MATRIX(RL,FL) += slev;
|
_MATRIX(RL,FL) += slev;
|
||||||
_MATRIX(RR,FR) += slev;
|
_MATRIX(RR,FR) += slev;
|
||||||
} else if ((src_mask & FRONT) == FRONT) {
|
} else if ((src_mask & FRONT) == FRONT &&
|
||||||
|
mix->upmix == CHANNELMIX_UPMIX_SIMPLE) {
|
||||||
spa_log_debug(mix->log, "produce REAR from FC");
|
spa_log_debug(mix->log, "produce REAR from FC");
|
||||||
_MATRIX(RL,FC) += clev;
|
_MATRIX(RL,FC) += clev;
|
||||||
_MATRIX(RR,FC) += clev;
|
_MATRIX(RR,FC) += clev;
|
||||||
|
} else {
|
||||||
|
spa_log_debug(mix->log, "won't produce SIDE");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue