X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Ftags%2Fstable%2Fsrc%2Fmodules%2Fmod_libavcodec%2Flibavcodec%2Fliba52%2Fresample.c;fp=synfig-core%2Ftags%2Fstable%2Fsrc%2Fmodules%2Fmod_libavcodec%2Flibavcodec%2Fliba52%2Fresample.c;h=bb7de9175e18e54623e374ccfaac3ec7107047b1;hb=46036a57bc1ab5583c5d5c2188e8c52d7682d9d5;hp=0000000000000000000000000000000000000000;hpb=6745aa58ba1df6f71ccdcdb332fef4ca8774f278;p=synfig.git diff --git a/synfig-core/tags/stable/src/modules/mod_libavcodec/libavcodec/liba52/resample.c b/synfig-core/tags/stable/src/modules/mod_libavcodec/libavcodec/liba52/resample.c new file mode 100644 index 0000000..bb7de91 --- /dev/null +++ b/synfig-core/tags/stable/src/modules/mod_libavcodec/libavcodec/liba52/resample.c @@ -0,0 +1,43 @@ + +// a52_resample_init should find the requested converter (from type flags -> +// given number of channels) and set up some function pointers... + +// a52_resample() should do the conversion. + +#include "a52.h" +#include "mm_accel.h" +#include "config.h" +#include "../libpostproc/mangle.h" + +int (* a52_resample) (float * _f, int16_t * s16)=NULL; + +#include "resample_c.c" + +#ifdef ARCH_X86 +#include "resample_mmx.c" +#endif + +void* a52_resample_init(uint32_t mm_accel,int flags,int chans){ +void* tmp; + +#ifdef ARCH_X86 + if(mm_accel&MM_ACCEL_X86_MMX){ + tmp=a52_resample_MMX(flags,chans); + if(tmp){ + if(a52_resample==NULL) fprintf(stderr, "Using MMX optimized resampler\n"); + a52_resample=tmp; + return tmp; + } + } +#endif + + tmp=a52_resample_C(flags,chans); + if(tmp){ + if(a52_resample==NULL) fprintf(stderr, "No accelerated resampler found\n"); + a52_resample=tmp; + return tmp; + } + + fprintf(stderr, "Unimplemented resampler for mode 0x%X -> %d channels conversion - Contact MPlayer developers!\n", flags, chans); + return NULL; +}