Mercurial > libavcodec.hg
annotate liba52/resample.c @ 1757:3906ddbaffec libavcodec
optimization & bugfix extracted from the 4k line diff between ffmpeg 0.4.7 and http://www.alicestreet.com/ffh263.html
the other parts of the diff where
1. spelling fixes (rejected as only a small part of it could be applied automatically)
2. cosmetics (reindention, function reordering, var renaming, ...) with bugs (rejected)
3. rtp related stuff (rejetced as it breaks several codecs)
4. some changes to the intra/inter decission & scene change detection (quality tests needed first)
| author | michael |
|---|---|
| date | Sat, 24 Jan 2004 23:47:33 +0000 |
| parents | fdb8244da1e5 |
| children | ef2149182f1c |
| rev | line source |
|---|---|
| 1193 | 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){ | |
|
1602
fdb8244da1e5
av_log patch(2 of ?) by (Michel Bardiaux <mbardiaux at peaktime dot be>)
michael
parents:
1412
diff
changeset
|
27 if(a52_resample==NULL) av_log(NULL, AV_LOG_INFO, "Using MMX optimized resampler\n"); |
| 1193 | 28 a52_resample=tmp; |
| 29 return tmp; | |
| 30 } | |
| 31 } | |
| 32 #endif | |
| 33 | |
| 34 tmp=a52_resample_C(flags,chans); | |
| 35 if(tmp){ | |
|
1602
fdb8244da1e5
av_log patch(2 of ?) by (Michel Bardiaux <mbardiaux at peaktime dot be>)
michael
parents:
1412
diff
changeset
|
36 if(a52_resample==NULL) av_log(NULL, AV_LOG_INFO, "No accelerated resampler found\n"); |
| 1193 | 37 a52_resample=tmp; |
| 38 return tmp; | |
| 39 } | |
| 40 | |
|
1602
fdb8244da1e5
av_log patch(2 of ?) by (Michel Bardiaux <mbardiaux at peaktime dot be>)
michael
parents:
1412
diff
changeset
|
41 av_log(NULL, AV_LOG_ERROR, "Unimplemented resampler for mode 0x%X -> %d channels conversion - Contact MPlayer developers!\n", flags, chans); |
| 1193 | 42 return NULL; |
| 43 } |
