Mercurial > mplayer.hg
annotate libmpcodecs/ad.c @ 22809:09f97d0161ba
Handle X-QT extradata in a slightly more correct way
| author | cehoyos |
|---|---|
| date | Mon, 26 Mar 2007 09:35:03 +0000 |
| parents | ed8f90096c65 |
| children | 46b21d6fb61d |
| rev | line source |
|---|---|
| 5344 | 1 /* |
| 2 ad.c - audio decoder interface | |
| 3 */ | |
| 4 | |
| 5 #include <stdio.h> | |
| 6 #include <stdlib.h> | |
| 7 #include <string.h> | |
| 8 | |
| 9 #include "config.h" | |
| 10 | |
|
22599
4faee1254928
Add explicit location for headers from the stream/ directory.
diego
parents:
18765
diff
changeset
|
11 #include "stream/stream.h" |
|
22601
ed8f90096c65
Add explicit location for headers from the libmpdemux/ directory.
diego
parents:
22599
diff
changeset
|
12 #include "libmpdemux/demuxer.h" |
|
ed8f90096c65
Add explicit location for headers from the libmpdemux/ directory.
diego
parents:
22599
diff
changeset
|
13 #include "libmpdemux/stheader.h" |
| 5344 | 14 #include "ad.h" |
| 15 | |
| 16 /* Missed vorbis, mad, dshow */ | |
| 17 | |
| 18 //extern ad_functions_t mpcodecs_ad_null; | |
| 19 extern ad_functions_t mpcodecs_ad_mp3lib; | |
| 20 extern ad_functions_t mpcodecs_ad_ffmpeg; | |
| 21 extern ad_functions_t mpcodecs_ad_liba52; | |
| 22 extern ad_functions_t mpcodecs_ad_hwac3; | |
|
17397
2e20dd653147
ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
17151
diff
changeset
|
23 extern ad_functions_t mpcodecs_ad_hwmpa; |
| 5344 | 24 extern ad_functions_t mpcodecs_ad_pcm; |
| 25 extern ad_functions_t mpcodecs_ad_dvdpcm; | |
| 26 extern ad_functions_t mpcodecs_ad_alaw; | |
| 27 extern ad_functions_t mpcodecs_ad_imaadpcm; | |
| 28 extern ad_functions_t mpcodecs_ad_msadpcm; | |
| 29 extern ad_functions_t mpcodecs_ad_dk3adpcm; | |
| 5519 | 30 extern ad_functions_t mpcodecs_ad_dk4adpcm; |
| 5344 | 31 extern ad_functions_t mpcodecs_ad_dshow; |
| 8326 | 32 extern ad_functions_t mpcodecs_ad_dmo; |
| 5344 | 33 extern ad_functions_t mpcodecs_ad_acm; |
| 5345 | 34 extern ad_functions_t mpcodecs_ad_msgsm; |
|
5356
739cad21c32c
Port dec_audio.c faad aac decoder to libmpcodecs, cleaned up code, improved buffering scheme.
atmos4
parents:
5345
diff
changeset
|
35 extern ad_functions_t mpcodecs_ad_faad; |
| 7174 | 36 extern ad_functions_t mpcodecs_ad_libvorbis; |
|
16915
6b1d1e4adaea
Speex support. Seeking and pts generation does not work.
reimar
parents:
15958
diff
changeset
|
37 extern ad_functions_t mpcodecs_ad_speex; |
|
5479
22b289d7f87f
libmad support, rewritten from scratch using Xine decoder as sample
arpi
parents:
5454
diff
changeset
|
38 extern ad_functions_t mpcodecs_ad_libmad; |
| 7174 | 39 extern ad_functions_t mpcodecs_ad_realaud; |
| 6927 | 40 extern ad_functions_t mpcodecs_ad_libdv; |
| 8008 | 41 extern ad_functions_t mpcodecs_ad_qtaudio; |
| 14276 | 42 extern ad_functions_t mpcodecs_ad_twin; |
|
15958
087142ef3a2d
musepack demuxing and decoding support (demuxing is v7 bitstream only).
reimar
parents:
14276
diff
changeset
|
43 extern ad_functions_t mpcodecs_ad_libmusepack; |
| 5344 | 44 |
| 45 ad_functions_t* mpcodecs_ad_drivers[] = | |
| 46 { | |
| 47 // &mpcodecs_ad_null, | |
|
8026
b465ba5897a3
usage of libmpeg2, liba52, mp3lib & svq1 can be disabled
arpi
parents:
8008
diff
changeset
|
48 #ifdef USE_MP3LIB |
| 5344 | 49 &mpcodecs_ad_mp3lib, |
|
8026
b465ba5897a3
usage of libmpeg2, liba52, mp3lib & svq1 can be disabled
arpi
parents:
8008
diff
changeset
|
50 #endif |
|
b465ba5897a3
usage of libmpeg2, liba52, mp3lib & svq1 can be disabled
arpi
parents:
8008
diff
changeset
|
51 #ifdef USE_LIBA52 |
| 5344 | 52 &mpcodecs_ad_liba52, |
| 53 &mpcodecs_ad_hwac3, | |
|
8026
b465ba5897a3
usage of libmpeg2, liba52, mp3lib & svq1 can be disabled
arpi
parents:
8008
diff
changeset
|
54 #endif |
|
17397
2e20dd653147
ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
17151
diff
changeset
|
55 &mpcodecs_ad_hwmpa, |
| 5344 | 56 #ifdef USE_LIBAVCODEC |
| 57 &mpcodecs_ad_ffmpeg, | |
| 58 #endif | |
| 59 &mpcodecs_ad_pcm, | |
| 60 &mpcodecs_ad_dvdpcm, | |
| 61 &mpcodecs_ad_alaw, | |
| 62 &mpcodecs_ad_imaadpcm, | |
| 63 &mpcodecs_ad_msadpcm, | |
| 64 &mpcodecs_ad_dk3adpcm, | |
| 5345 | 65 &mpcodecs_ad_msgsm, |
| 5344 | 66 #ifdef USE_WIN32DLL |
| 67 &mpcodecs_ad_dshow, | |
| 8326 | 68 &mpcodecs_ad_dmo, |
| 5344 | 69 &mpcodecs_ad_acm, |
| 14276 | 70 &mpcodecs_ad_twin, |
| 8160 | 71 #endif |
|
9502
241bba8f60e8
MACOSX support patch, based on Dan Christiansens work
alex
parents:
8326
diff
changeset
|
72 #if defined(USE_QTX_CODECS) || defined(MACOSX) |
| 8008 | 73 &mpcodecs_ad_qtaudio, |
| 5344 | 74 #endif |
|
5356
739cad21c32c
Port dec_audio.c faad aac decoder to libmpcodecs, cleaned up code, improved buffering scheme.
atmos4
parents:
5345
diff
changeset
|
75 #ifdef HAVE_FAAD |
| 5454 | 76 &mpcodecs_ad_faad, |
| 77 #endif | |
| 78 #ifdef HAVE_OGGVORBIS | |
| 7174 | 79 &mpcodecs_ad_libvorbis, |
|
5356
739cad21c32c
Port dec_audio.c faad aac decoder to libmpcodecs, cleaned up code, improved buffering scheme.
atmos4
parents:
5345
diff
changeset
|
80 #endif |
|
16915
6b1d1e4adaea
Speex support. Seeking and pts generation does not work.
reimar
parents:
15958
diff
changeset
|
81 #ifdef HAVE_SPEEX |
|
6b1d1e4adaea
Speex support. Seeking and pts generation does not work.
reimar
parents:
15958
diff
changeset
|
82 &mpcodecs_ad_speex, |
|
6b1d1e4adaea
Speex support. Seeking and pts generation does not work.
reimar
parents:
15958
diff
changeset
|
83 #endif |
|
5479
22b289d7f87f
libmad support, rewritten from scratch using Xine decoder as sample
arpi
parents:
5454
diff
changeset
|
84 #ifdef USE_LIBMAD |
|
22b289d7f87f
libmad support, rewritten from scratch using Xine decoder as sample
arpi
parents:
5454
diff
changeset
|
85 &mpcodecs_ad_libmad, |
|
22b289d7f87f
libmad support, rewritten from scratch using Xine decoder as sample
arpi
parents:
5454
diff
changeset
|
86 #endif |
| 6367 | 87 #ifdef USE_REALCODECS |
| 7174 | 88 &mpcodecs_ad_realaud, |
| 6367 | 89 #endif |
| 6927 | 90 #ifdef HAVE_LIBDV095 |
| 91 &mpcodecs_ad_libdv, | |
| 92 #endif | |
|
15958
087142ef3a2d
musepack demuxing and decoding support (demuxing is v7 bitstream only).
reimar
parents:
14276
diff
changeset
|
93 #ifdef HAVE_MUSEPACK |
|
087142ef3a2d
musepack demuxing and decoding support (demuxing is v7 bitstream only).
reimar
parents:
14276
diff
changeset
|
94 &mpcodecs_ad_libmusepack, |
|
087142ef3a2d
musepack demuxing and decoding support (demuxing is v7 bitstream only).
reimar
parents:
14276
diff
changeset
|
95 #endif |
| 5344 | 96 NULL |
| 97 }; |
