Mercurial > mplayer.hg
annotate libmpcodecs/ad.c @ 30603:c5d8b7640b7d
Call mpcodecs_config_vo with the proper image format for dmo and dshow codecs.
author | reimar |
---|---|
date | Thu, 18 Feb 2010 22:28:55 +0000 |
parents | bbb6ebec87a0 |
children | 9c043456a260 |
rev | line source |
---|---|
30421
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30244
diff
changeset
|
1 /* |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30244
diff
changeset
|
2 * audio decoder interface |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30244
diff
changeset
|
3 * |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30244
diff
changeset
|
4 * This file is part of MPlayer. |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30244
diff
changeset
|
5 * |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30244
diff
changeset
|
6 * MPlayer is free software; you can redistribute it and/or modify |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30244
diff
changeset
|
7 * it under the terms of the GNU General Public License as published by |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30244
diff
changeset
|
8 * the Free Software Foundation; either version 2 of the License, or |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30244
diff
changeset
|
9 * (at your option) any later version. |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30244
diff
changeset
|
10 * |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30244
diff
changeset
|
11 * MPlayer is distributed in the hope that it will be useful, |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30244
diff
changeset
|
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30244
diff
changeset
|
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30244
diff
changeset
|
14 * GNU General Public License for more details. |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30244
diff
changeset
|
15 * |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30244
diff
changeset
|
16 * You should have received a copy of the GNU General Public License along |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30244
diff
changeset
|
17 * with MPlayer; if not, write to the Free Software Foundation, Inc., |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30244
diff
changeset
|
18 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
30244
diff
changeset
|
19 */ |
5344 | 20 |
21 #include <stdio.h> | |
22 #include <stdlib.h> | |
23 #include <string.h> | |
24 | |
25 #include "config.h" | |
26 | |
22599
4faee1254928
Add explicit location for headers from the stream/ directory.
diego
parents:
18765
diff
changeset
|
27 #include "stream/stream.h" |
22601
ed8f90096c65
Add explicit location for headers from the libmpdemux/ directory.
diego
parents:
22599
diff
changeset
|
28 #include "libmpdemux/demuxer.h" |
ed8f90096c65
Add explicit location for headers from the libmpdemux/ directory.
diego
parents:
22599
diff
changeset
|
29 #include "libmpdemux/stheader.h" |
5344 | 30 #include "ad.h" |
31 | |
32 /* Missed vorbis, mad, dshow */ | |
33 | |
34 //extern ad_functions_t mpcodecs_ad_null; | |
35 extern ad_functions_t mpcodecs_ad_mp3lib; | |
36 extern ad_functions_t mpcodecs_ad_ffmpeg; | |
37 extern ad_functions_t mpcodecs_ad_liba52; | |
38 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
|
39 extern ad_functions_t mpcodecs_ad_hwmpa; |
5344 | 40 extern ad_functions_t mpcodecs_ad_pcm; |
41 extern ad_functions_t mpcodecs_ad_dvdpcm; | |
42 extern ad_functions_t mpcodecs_ad_alaw; | |
43 extern ad_functions_t mpcodecs_ad_imaadpcm; | |
44 extern ad_functions_t mpcodecs_ad_msadpcm; | |
45 extern ad_functions_t mpcodecs_ad_dk3adpcm; | |
5519 | 46 extern ad_functions_t mpcodecs_ad_dk4adpcm; |
5344 | 47 extern ad_functions_t mpcodecs_ad_dshow; |
8326 | 48 extern ad_functions_t mpcodecs_ad_dmo; |
5344 | 49 extern ad_functions_t mpcodecs_ad_acm; |
5345 | 50 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
|
51 extern ad_functions_t mpcodecs_ad_faad; |
7174 | 52 extern ad_functions_t mpcodecs_ad_libvorbis; |
16915
6b1d1e4adaea
Speex support. Seeking and pts generation does not work.
reimar
parents:
15958
diff
changeset
|
53 extern ad_functions_t mpcodecs_ad_speex; |
5479
22b289d7f87f
libmad support, rewritten from scratch using Xine decoder as sample
arpi
parents:
5454
diff
changeset
|
54 extern ad_functions_t mpcodecs_ad_libmad; |
7174 | 55 extern ad_functions_t mpcodecs_ad_realaud; |
6927 | 56 extern ad_functions_t mpcodecs_ad_libdv; |
8008 | 57 extern ad_functions_t mpcodecs_ad_qtaudio; |
14276 | 58 extern ad_functions_t mpcodecs_ad_twin; |
15958
087142ef3a2d
musepack demuxing and decoding support (demuxing is v7 bitstream only).
reimar
parents:
14276
diff
changeset
|
59 extern ad_functions_t mpcodecs_ad_libmusepack; |
23821 | 60 extern ad_functions_t mpcodecs_ad_libdca; |
5344 | 61 |
62 ad_functions_t* mpcodecs_ad_drivers[] = | |
63 { | |
64 // &mpcodecs_ad_null, | |
27341
e7c989f7a7c9
Start unifying names of internal preprocessor directives.
diego
parents:
26206
diff
changeset
|
65 #ifdef CONFIG_MP3LIB |
5344 | 66 &mpcodecs_ad_mp3lib, |
8026
b465ba5897a3
usage of libmpeg2, liba52, mp3lib & svq1 can be disabled
arpi
parents:
8008
diff
changeset
|
67 #endif |
27341
e7c989f7a7c9
Start unifying names of internal preprocessor directives.
diego
parents:
26206
diff
changeset
|
68 #ifdef CONFIG_LIBA52 |
5344 | 69 &mpcodecs_ad_liba52, |
30244
5ba6784f6574
More changes needed to make ad_hwac3 truly independent from liba52.
reimar
parents:
28924
diff
changeset
|
70 #endif |
5344 | 71 &mpcodecs_ad_hwac3, |
17397
2e20dd653147
ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
17151
diff
changeset
|
72 &mpcodecs_ad_hwmpa, |
27341
e7c989f7a7c9
Start unifying names of internal preprocessor directives.
diego
parents:
26206
diff
changeset
|
73 #ifdef CONFIG_LIBAVCODEC |
5344 | 74 &mpcodecs_ad_ffmpeg, |
75 #endif | |
76 &mpcodecs_ad_pcm, | |
77 &mpcodecs_ad_dvdpcm, | |
78 &mpcodecs_ad_alaw, | |
79 &mpcodecs_ad_imaadpcm, | |
80 &mpcodecs_ad_msadpcm, | |
81 &mpcodecs_ad_dk3adpcm, | |
5345 | 82 &mpcodecs_ad_msgsm, |
27341
e7c989f7a7c9
Start unifying names of internal preprocessor directives.
diego
parents:
26206
diff
changeset
|
83 #ifdef CONFIG_WIN32DLL |
5344 | 84 &mpcodecs_ad_dshow, |
8326 | 85 &mpcodecs_ad_dmo, |
5344 | 86 &mpcodecs_ad_acm, |
14276 | 87 &mpcodecs_ad_twin, |
8160 | 88 #endif |
27341
e7c989f7a7c9
Start unifying names of internal preprocessor directives.
diego
parents:
26206
diff
changeset
|
89 #ifdef CONFIG_QTX_CODECS |
8008 | 90 &mpcodecs_ad_qtaudio, |
5344 | 91 #endif |
27363
40057010b1fa
Change a bunch of codec-specific preprocessor directives from a HAVE_
diego
parents:
27341
diff
changeset
|
92 #ifdef CONFIG_FAAD |
5454 | 93 &mpcodecs_ad_faad, |
94 #endif | |
27363
40057010b1fa
Change a bunch of codec-specific preprocessor directives from a HAVE_
diego
parents:
27341
diff
changeset
|
95 #ifdef CONFIG_OGGVORBIS |
7174 | 96 &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
|
97 #endif |
27363
40057010b1fa
Change a bunch of codec-specific preprocessor directives from a HAVE_
diego
parents:
27341
diff
changeset
|
98 #ifdef CONFIG_SPEEX |
16915
6b1d1e4adaea
Speex support. Seeking and pts generation does not work.
reimar
parents:
15958
diff
changeset
|
99 &mpcodecs_ad_speex, |
6b1d1e4adaea
Speex support. Seeking and pts generation does not work.
reimar
parents:
15958
diff
changeset
|
100 #endif |
27341
e7c989f7a7c9
Start unifying names of internal preprocessor directives.
diego
parents:
26206
diff
changeset
|
101 #ifdef CONFIG_LIBMAD |
5479
22b289d7f87f
libmad support, rewritten from scratch using Xine decoder as sample
arpi
parents:
5454
diff
changeset
|
102 &mpcodecs_ad_libmad, |
22b289d7f87f
libmad support, rewritten from scratch using Xine decoder as sample
arpi
parents:
5454
diff
changeset
|
103 #endif |
27341
e7c989f7a7c9
Start unifying names of internal preprocessor directives.
diego
parents:
26206
diff
changeset
|
104 #ifdef CONFIG_REALCODECS |
7174 | 105 &mpcodecs_ad_realaud, |
6367 | 106 #endif |
27363
40057010b1fa
Change a bunch of codec-specific preprocessor directives from a HAVE_
diego
parents:
27341
diff
changeset
|
107 #ifdef CONFIG_LIBDV095 |
6927 | 108 &mpcodecs_ad_libdv, |
109 #endif | |
27363
40057010b1fa
Change a bunch of codec-specific preprocessor directives from a HAVE_
diego
parents:
27341
diff
changeset
|
110 #ifdef CONFIG_MUSEPACK |
15958
087142ef3a2d
musepack demuxing and decoding support (demuxing is v7 bitstream only).
reimar
parents:
14276
diff
changeset
|
111 &mpcodecs_ad_libmusepack, |
087142ef3a2d
musepack demuxing and decoding support (demuxing is v7 bitstream only).
reimar
parents:
14276
diff
changeset
|
112 #endif |
27341
e7c989f7a7c9
Start unifying names of internal preprocessor directives.
diego
parents:
26206
diff
changeset
|
113 #ifdef CONFIG_LIBDCA |
23821 | 114 &mpcodecs_ad_libdca, |
115 #endif | |
5344 | 116 NULL |
117 }; |