avcodec/iirfilter: Make ff_iir_filter_free_state() also zero the freed pointer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
43fb16cf74
commit
f43ac02723
@ -299,9 +299,9 @@ void ff_iir_filter_flt(const struct FFIIRFilterCoeffs *c,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
av_cold void ff_iir_filter_free_state(struct FFIIRFilterState *state)
|
av_cold void ff_iir_filter_free_statep(struct FFIIRFilterState **state)
|
||||||
{
|
{
|
||||||
av_free(state);
|
av_freep(state);
|
||||||
}
|
}
|
||||||
|
|
||||||
av_cold void ff_iir_filter_free_coeffsp(struct FFIIRFilterCoeffs **coeffsp)
|
av_cold void ff_iir_filter_free_coeffsp(struct FFIIRFilterCoeffs **coeffsp)
|
||||||
@ -349,7 +349,7 @@ int main(void)
|
|||||||
printf("%6d %6d\n", x[i], y[i]);
|
printf("%6d %6d\n", x[i], y[i]);
|
||||||
|
|
||||||
ff_iir_filter_free_coeffsp(&fcoeffs);
|
ff_iir_filter_free_coeffsp(&fcoeffs);
|
||||||
ff_iir_filter_free_state(fstate);
|
ff_iir_filter_free_statep(&fstate);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif /* TEST */
|
#endif /* TEST */
|
||||||
|
@ -107,11 +107,11 @@ struct FFIIRFilterState* ff_iir_filter_init_state(int order);
|
|||||||
void ff_iir_filter_free_coeffsp(struct FFIIRFilterCoeffs **coeffs);
|
void ff_iir_filter_free_coeffsp(struct FFIIRFilterCoeffs **coeffs);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Free filter state.
|
* Free and zero filter state.
|
||||||
*
|
*
|
||||||
* @param state pointer allocated with ff_iir_filter_init_state()
|
* @param state pointer to pointer allocated with ff_iir_filter_init_state()
|
||||||
*/
|
*/
|
||||||
void ff_iir_filter_free_state(struct FFIIRFilterState *state);
|
void ff_iir_filter_free_statep(struct FFIIRFilterState **state);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Perform IIR filtering on signed 16-bit input samples.
|
* Perform IIR filtering on signed 16-bit input samples.
|
||||||
|
@ -141,7 +141,7 @@ av_cold void ff_psy_preprocess_end(struct FFPsyPreprocessContext *ctx)
|
|||||||
ff_iir_filter_free_coeffsp(&ctx->fcoeffs);
|
ff_iir_filter_free_coeffsp(&ctx->fcoeffs);
|
||||||
if (ctx->fstate)
|
if (ctx->fstate)
|
||||||
for (i = 0; i < ctx->avctx->channels; i++)
|
for (i = 0; i < ctx->avctx->channels; i++)
|
||||||
ff_iir_filter_free_state(ctx->fstate[i]);
|
ff_iir_filter_free_statep(&ctx->fstate[i]);
|
||||||
av_freep(&ctx->fstate);
|
av_freep(&ctx->fstate);
|
||||||
av_free(ctx);
|
av_free(ctx);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user