diff --git a/libavfilter/af_bs2b.c b/libavfilter/af_bs2b.c index 25e786761f..0468333a87 100644 --- a/libavfilter/af_bs2b.c +++ b/libavfilter/af_bs2b.c @@ -32,6 +32,8 @@ #include "formats.h" #include "internal.h" +typedef void (*filter_func)(t_bs2bdp bs2bdp, uint8_t *sample, int n); + typedef struct Bs2bContext { const AVClass *class; @@ -41,7 +43,7 @@ typedef struct Bs2bContext { t_bs2bdp bs2bp; - void (*filter)(t_bs2bdp bs2bdp, uint8_t *sample, int n); + filter_func filter; } Bs2bContext; #define OFFSET(x) offsetof(Bs2bContext, x) @@ -165,19 +167,19 @@ static int config_output(AVFilterLink *outlink) switch (inlink->format) { case AV_SAMPLE_FMT_U8: - bs2b->filter = bs2b_cross_feed_u8; + bs2b->filter = (filter_func) bs2b_cross_feed_u8; break; case AV_SAMPLE_FMT_S16: - bs2b->filter = bs2b_cross_feed_s16; + bs2b->filter = (filter_func) bs2b_cross_feed_s16; break; case AV_SAMPLE_FMT_S32: - bs2b->filter = bs2b_cross_feed_s32; + bs2b->filter = (filter_func) bs2b_cross_feed_s32; break; case AV_SAMPLE_FMT_FLT: - bs2b->filter = bs2b_cross_feed_f; + bs2b->filter = (filter_func) bs2b_cross_feed_f; break; case AV_SAMPLE_FMT_DBL: - bs2b->filter = bs2b_cross_feed_d; + bs2b->filter = (filter_func) bs2b_cross_feed_d; break; default: return AVERROR_BUG;