[FFmpeg-devel] [PATCH v3 1/3] avfilter/af_volumedetect.c: Move logdb function

Paul B Mahol onemda at gmail.com
Tue May 21 10:22:21 EEST 2024


On Tue, May 21, 2024 at 9:20 AM Paul B Mahol <onemda at gmail.com> wrote:

>
>
> On Mon, May 20, 2024 at 10:25 PM Yigithan Yigit <
> yigithanyigitdevel at gmail.com> wrote:
>
>> ---
>>  libavfilter/af_volumedetect.c | 20 ++++++++++----------
>>  1 file changed, 10 insertions(+), 10 deletions(-)
>>
>> diff --git a/libavfilter/af_volumedetect.c b/libavfilter/af_volumedetect.c
>> index 8b001d1cf2..327801a7f9 100644
>> --- a/libavfilter/af_volumedetect.c
>> +++ b/libavfilter/af_volumedetect.c
>> @@ -24,6 +24,8 @@
>>  #include "avfilter.h"
>>  #include "internal.h"
>>
>> +#define MAX_DB 91
>> +
>>
>
> That is only true for 16bit input files, not for floats.
>

Ignore this, its just split patch....

>
>
>>  typedef struct VolDetectContext {
>>      /**
>>       * Number of samples at each PCM value.
>> @@ -33,6 +35,14 @@ typedef struct VolDetectContext {
>>      uint64_t histogram[0x10001];
>>  } VolDetectContext;
>>
>> +static inline double logdb(uint64_t v)
>> +{
>> +    double d = v / (double)(0x8000 * 0x8000);
>> +    if (!v)
>> +        return MAX_DB;
>> +    return -log10(d) * 10;
>> +}
>> +
>>  static int filter_frame(AVFilterLink *inlink, AVFrame *samples)
>>  {
>>      AVFilterContext *ctx = inlink->dst;
>> @@ -56,16 +66,6 @@ static int filter_frame(AVFilterLink *inlink, AVFrame
>> *samples)
>>      return ff_filter_frame(inlink->dst->outputs[0], samples);
>>  }
>>
>> -#define MAX_DB 91
>> -
>> -static inline double logdb(uint64_t v)
>> -{
>> -    double d = v / (double)(0x8000 * 0x8000);
>> -    if (!v)
>> -        return MAX_DB;
>> -    return -log10(d) * 10;
>> -}
>> -
>>  static void print_stats(AVFilterContext *ctx)
>>  {
>>      VolDetectContext *vd = ctx->priv;
>> --
>> 2.44.0
>>
>> _______________________________________________
>> ffmpeg-devel mailing list
>> ffmpeg-devel at ffmpeg.org
>> https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>>
>> To unsubscribe, visit link above, or email
>> ffmpeg-devel-request at ffmpeg.org with subject "unsubscribe".
>>
>


More information about the ffmpeg-devel mailing list