summaryrefslogtreecommitdiffstats
path: root/libavcodec/liba52/resample.c
diff options
context:
space:
mode:
authorArpi <arpi@thot.banki.hu>2003-04-16 20:03:07 +0000
committerArpi <arpi@thot.banki.hu>2003-04-16 20:03:07 +0000
commit1a7c3c85622fa0ff48127cfe38ece15e27bfb17c (patch)
treed2129e00537036d9851375e045518d4e2b1d4597 /libavcodec/liba52/resample.c
parent6814a25c676ae3f0eb73a2d7180b7fe9e62a62ec (diff)
downloadffmpeg-streaming-1a7c3c85622fa0ff48127cfe38ece15e27bfb17c.zip
ffmpeg-streaming-1a7c3c85622fa0ff48127cfe38ece15e27bfb17c.tar.gz
Utility functions (CRC calc & float->int converters)
[imported from MPlayer, based on a52dec's libao] Originally committed as revision 1780 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/liba52/resample.c')
-rw-r--r--libavcodec/liba52/resample.c45
1 files changed, 45 insertions, 0 deletions
diff --git a/libavcodec/liba52/resample.c b/libavcodec/liba52/resample.c
new file mode 100644
index 0000000..284cbbe
--- /dev/null
+++ b/libavcodec/liba52/resample.c
@@ -0,0 +1,45 @@
+
+// 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 <inttypes.h>
+#include <stdio.h>
+#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;
+}
OpenPOWER on IntegriCloud