[FFmpeg-devel] [PATCH v2 1/4] avfilter/af_volumedetect.c: Move logdb function
Rémi Denis-Courmont
remi at remlab.net
Sat Jun 29 22:22:02 EEST 2024
Le perjantaina 28. kesäkuuta 2024, 23.15.20 EEST Yigithan Yigit a écrit :
> ---
> 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
> +
> 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);
ldexp(v, -30) ?
> + 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;
--
Rémi Denis-Courmont
http://www.remlab.net/
More information about the ffmpeg-devel
mailing list