~ubuntu-branches/debian/wheezy/vlc/wheezy

« back to all changes in this revision

Viewing changes to extras/ffmpeg/libavcodec/liba52/resample.c

Tags: upstream-0.7.2.final
ImportĀ upstreamĀ versionĀ 0.7.2.final

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
 
2
// a52_resample_init should find the requested converter (from type flags ->
 
3
// given number of channels) and set up some function pointers...
 
4
 
 
5
// a52_resample() should do the conversion.
 
6
 
 
7
#include "a52.h"
 
8
#include "mm_accel.h"
 
9
#include "config.h"
 
10
#include "../libpostproc/mangle.h"
 
11
 
 
12
int (* a52_resample) (float * _f, int16_t * s16)=NULL;
 
13
 
 
14
#include "resample_c.c"
 
15
 
 
16
#ifdef ARCH_X86
 
17
#include "resample_mmx.c"
 
18
#endif
 
19
 
 
20
void* a52_resample_init(uint32_t mm_accel,int flags,int chans){
 
21
void* tmp;
 
22
 
 
23
#ifdef ARCH_X86
 
24
    if(mm_accel&MM_ACCEL_X86_MMX){
 
25
        tmp=a52_resample_MMX(flags,chans);
 
26
        if(tmp){
 
27
            if(a52_resample==NULL) av_log(NULL, AV_LOG_INFO, "Using MMX optimized resampler\n");
 
28
            a52_resample=tmp;
 
29
            return tmp;
 
30
        }
 
31
    }
 
32
#endif
 
33
 
 
34
    tmp=a52_resample_C(flags,chans);
 
35
    if(tmp){
 
36
        if(a52_resample==NULL) av_log(NULL, AV_LOG_INFO, "No accelerated resampler found\n");
 
37
        a52_resample=tmp;
 
38
        return tmp;
 
39
    }
 
40
    
 
41
    av_log(NULL, AV_LOG_ERROR, "Unimplemented resampler for mode 0x%X -> %d channels conversion - Contact MPlayer developers!\n", flags, chans);
 
42
    return NULL;
 
43
}