mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-04-14 00:58:38 +02:00
avfilter/af_sofalizer: allow up to 64 channels
This commit is contained in:
parent
aa125fd06a
commit
f7fd205f11
@ -255,11 +255,11 @@ static int get_speaker_pos(AVFilterContext *ctx,
|
|||||||
{
|
{
|
||||||
struct SOFAlizerContext *s = ctx->priv;
|
struct SOFAlizerContext *s = ctx->priv;
|
||||||
uint64_t channels_layout = ctx->inputs[0]->channel_layout;
|
uint64_t channels_layout = ctx->inputs[0]->channel_layout;
|
||||||
float azim[16] = { 0 };
|
float azim[64] = { 0 };
|
||||||
float elev[16] = { 0 };
|
float elev[64] = { 0 };
|
||||||
int m, ch, n_conv = ctx->inputs[0]->channels; /* get no. input channels */
|
int m, ch, n_conv = ctx->inputs[0]->channels; /* get no. input channels */
|
||||||
|
|
||||||
if (n_conv > 16)
|
if (n_conv < 0 || n_conv > 64)
|
||||||
return AVERROR(EINVAL);
|
return AVERROR(EINVAL);
|
||||||
|
|
||||||
s->lfe_channel = -1;
|
s->lfe_channel = -1;
|
||||||
@ -360,7 +360,7 @@ static int sofalizer_convolute(AVFilterContext *ctx, void *arg, int jobnr, int n
|
|||||||
const int buffer_length = s->buffer_length;
|
const int buffer_length = s->buffer_length;
|
||||||
/* -1 for AND instead of MODULO (applied to powers of 2): */
|
/* -1 for AND instead of MODULO (applied to powers of 2): */
|
||||||
const uint32_t modulo = (uint32_t)buffer_length - 1;
|
const uint32_t modulo = (uint32_t)buffer_length - 1;
|
||||||
float *buffer[16]; /* holds ringbuffer for each input channel */
|
float *buffer[64]; /* holds ringbuffer for each input channel */
|
||||||
int wr = *write;
|
int wr = *write;
|
||||||
int read;
|
int read;
|
||||||
int i, l;
|
int i, l;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user