mirror of https://git.ffmpeg.org/ffmpeg.git
lavfi/silencedetect: fix spelling
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
parent
a55adf24b9
commit
f3b430e0e4
|
@ -38,7 +38,7 @@ typedef struct SilenceDetectContext {
|
||||||
double duration; ///< minimum duration of silence until notification
|
double duration; ///< minimum duration of silence until notification
|
||||||
int mono; ///< mono mode : check each channel separately (default = check when ALL channels are silent)
|
int mono; ///< mono mode : check each channel separately (default = check when ALL channels are silent)
|
||||||
int channels; ///< number of channels
|
int channels; ///< number of channels
|
||||||
int independant_channels; ///< number of entries in following arrays (always 1 in mono mode)
|
int independent_channels; ///< number of entries in following arrays (always 1 in mono mode)
|
||||||
int64_t *nb_null_samples; ///< (array) current number of continuous zero samples
|
int64_t *nb_null_samples; ///< (array) current number of continuous zero samples
|
||||||
int64_t *start; ///< (array) if silence is detected, this value contains the time of the first zero sample (default/unset = INT64_MIN)
|
int64_t *start; ///< (array) if silence is detected, this value contains the time of the first zero sample (default/unset = INT64_MIN)
|
||||||
int64_t frame_end; ///< pts of the end of the current frame (used to compute duration of silence at EOS)
|
int64_t frame_end; ///< pts of the end of the current frame (used to compute duration of silence at EOS)
|
||||||
|
@ -77,12 +77,12 @@ static av_always_inline void update(SilenceDetectContext *s, AVFrame *insamples,
|
||||||
int is_silence, int current_sample, int64_t nb_samples_notify,
|
int is_silence, int current_sample, int64_t nb_samples_notify,
|
||||||
AVRational time_base)
|
AVRational time_base)
|
||||||
{
|
{
|
||||||
int channel = current_sample % s->independant_channels;
|
int channel = current_sample % s->independent_channels;
|
||||||
if (is_silence) {
|
if (is_silence) {
|
||||||
if (s->start[channel] == INT64_MIN) {
|
if (s->start[channel] == INT64_MIN) {
|
||||||
s->nb_null_samples[channel]++;
|
s->nb_null_samples[channel]++;
|
||||||
if (s->nb_null_samples[channel] >= nb_samples_notify) {
|
if (s->nb_null_samples[channel] >= nb_samples_notify) {
|
||||||
s->start[channel] = insamples->pts + av_rescale_q(current_sample / s->channels + 1 - nb_samples_notify * s->independant_channels / s->channels,
|
s->start[channel] = insamples->pts + av_rescale_q(current_sample / s->channels + 1 - nb_samples_notify * s->independent_channels / s->channels,
|
||||||
(AVRational){ 1, s->last_sample_rate }, time_base);
|
(AVRational){ 1, s->last_sample_rate }, time_base);
|
||||||
set_meta(insamples, s->mono ? channel + 1 : 0, "silence_start",
|
set_meta(insamples, s->mono ? channel + 1 : 0, "silence_start",
|
||||||
av_ts2timestr(s->start[channel], &time_base));
|
av_ts2timestr(s->start[channel], &time_base));
|
||||||
|
@ -141,14 +141,14 @@ static int config_input(AVFilterLink *inlink)
|
||||||
int c;
|
int c;
|
||||||
|
|
||||||
s->channels = inlink->channels;
|
s->channels = inlink->channels;
|
||||||
s->independant_channels = s->mono ? s->channels : 1;
|
s->independent_channels = s->mono ? s->channels : 1;
|
||||||
s->nb_null_samples = av_mallocz_array(sizeof(*s->nb_null_samples), s->independant_channels);
|
s->nb_null_samples = av_mallocz_array(sizeof(*s->nb_null_samples), s->independent_channels);
|
||||||
if (!s->nb_null_samples)
|
if (!s->nb_null_samples)
|
||||||
return AVERROR(ENOMEM);
|
return AVERROR(ENOMEM);
|
||||||
s->start = av_malloc_array(sizeof(*s->start), s->independant_channels);
|
s->start = av_malloc_array(sizeof(*s->start), s->independent_channels);
|
||||||
if (!s->start)
|
if (!s->start)
|
||||||
return AVERROR(ENOMEM);
|
return AVERROR(ENOMEM);
|
||||||
for (c = 0; c < s->independant_channels; c++)
|
for (c = 0; c < s->independent_channels; c++)
|
||||||
s->start[c] = INT64_MIN;
|
s->start[c] = INT64_MIN;
|
||||||
|
|
||||||
switch (inlink->format) {
|
switch (inlink->format) {
|
||||||
|
@ -178,7 +178,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *insamples)
|
||||||
|
|
||||||
// scale number of null samples to the new sample rate
|
// scale number of null samples to the new sample rate
|
||||||
if (s->last_sample_rate && s->last_sample_rate != srate)
|
if (s->last_sample_rate && s->last_sample_rate != srate)
|
||||||
for (c = 0; c < s->independant_channels; c++) {
|
for (c = 0; c < s->independent_channels; c++) {
|
||||||
s->nb_null_samples[c] = srate * s->nb_null_samples[c] / s->last_sample_rate;
|
s->nb_null_samples[c] = srate * s->nb_null_samples[c] / s->last_sample_rate;
|
||||||
}
|
}
|
||||||
s->last_sample_rate = srate;
|
s->last_sample_rate = srate;
|
||||||
|
@ -231,7 +231,7 @@ static av_cold void uninit(AVFilterContext *ctx)
|
||||||
SilenceDetectContext *s = ctx->priv;
|
SilenceDetectContext *s = ctx->priv;
|
||||||
int c;
|
int c;
|
||||||
|
|
||||||
for (c = 0; c < s->independant_channels; c++)
|
for (c = 0; c < s->independent_channels; c++)
|
||||||
if (s->start[c] > INT64_MIN)
|
if (s->start[c] > INT64_MIN)
|
||||||
update(s, NULL, 0, c, 0, s->time_base);
|
update(s, NULL, 0, c, 0, s->time_base);
|
||||||
av_freep(&s->nb_null_samples);
|
av_freep(&s->nb_null_samples);
|
||||||
|
|
Loading…
Reference in New Issue