Mercurial > libavcodec.hg
annotate liba52/resample.c @ 2497:69adfbbdcdeb libavcodec
- samples from mplayer ftp in the "adv" profile seem to have profile=2,
which isn't the advanced one; and indeed, using adv. profile parser fails.
Using normal parser works, and that's what is done
- attempt at taking care of stride for NORM2 bitplane decoding
- duplication of much code from msmpeg4.c; this code isn't yet used, but
goes down as far as the block layer (mainly Transform Type stuff, the
remains are wild editing without checking). Unusable yet, and lacks the AC
decoding (but a step further in bitstream parsing)
patch by anonymous
| author | michael |
|---|---|
| date | Fri, 04 Feb 2005 02:20:38 +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 } |
