Mercurial > mplayer.hg
annotate libmpcodecs/ad.c @ 31538:09e7a988ab93
Fix resizing with -wid after previous commit.
author | reimar |
---|---|
date | Thu, 01 Jul 2010 20:00:19 +0000 |
parents | 083786e4aaf2 |
children | cc5e21203fb5 |
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 | |
31220
002cdc635c03
Use the -a52drc option also for the libavcodec decoder.
reimar
parents:
30634
diff
changeset
|
32 float drc_level = 1.0; |
002cdc635c03
Use the -a52drc option also for the libavcodec decoder.
reimar
parents:
30634
diff
changeset
|
33 |
5344 | 34 /* Missed vorbis, mad, dshow */ |
35 | |
36 //extern ad_functions_t mpcodecs_ad_null; | |
31524 | 37 extern const ad_functions_t mpcodecs_ad_mpg123; |
30634
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
38 extern const ad_functions_t mpcodecs_ad_mp3lib; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
39 extern const ad_functions_t mpcodecs_ad_ffmpeg; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
40 extern const ad_functions_t mpcodecs_ad_liba52; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
41 extern const ad_functions_t mpcodecs_ad_hwac3; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
42 extern const ad_functions_t mpcodecs_ad_hwmpa; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
43 extern const ad_functions_t mpcodecs_ad_pcm; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
44 extern const ad_functions_t mpcodecs_ad_dvdpcm; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
45 extern const ad_functions_t mpcodecs_ad_alaw; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
46 extern const ad_functions_t mpcodecs_ad_imaadpcm; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
47 extern const ad_functions_t mpcodecs_ad_msadpcm; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
48 extern const ad_functions_t mpcodecs_ad_dk3adpcm; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
49 extern const ad_functions_t mpcodecs_ad_dk4adpcm; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
50 extern const ad_functions_t mpcodecs_ad_dshow; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
51 extern const ad_functions_t mpcodecs_ad_dmo; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
52 extern const ad_functions_t mpcodecs_ad_acm; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
53 extern const ad_functions_t mpcodecs_ad_msgsm; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
54 extern const ad_functions_t mpcodecs_ad_faad; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
55 extern const ad_functions_t mpcodecs_ad_libvorbis; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
56 extern const ad_functions_t mpcodecs_ad_speex; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
57 extern const ad_functions_t mpcodecs_ad_libmad; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
58 extern const ad_functions_t mpcodecs_ad_realaud; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
59 extern const ad_functions_t mpcodecs_ad_libdv; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
60 extern const ad_functions_t mpcodecs_ad_qtaudio; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
61 extern const ad_functions_t mpcodecs_ad_twin; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
62 extern const ad_functions_t mpcodecs_ad_libmusepack; |
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
63 extern const ad_functions_t mpcodecs_ad_libdca; |
5344 | 64 |
30634
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
65 const ad_functions_t * const mpcodecs_ad_drivers[] = |
5344 | 66 { |
67 // &mpcodecs_ad_null, | |
31524 | 68 #ifdef CONFIG_MPG123 |
69 &mpcodecs_ad_mpg123, | |
70 #endif | |
27341
e7c989f7a7c9
Start unifying names of internal preprocessor directives.
diego
parents:
26206
diff
changeset
|
71 #ifdef CONFIG_MP3LIB |
5344 | 72 &mpcodecs_ad_mp3lib, |
8026
b465ba5897a3
usage of libmpeg2, liba52, mp3lib & svq1 can be disabled
arpi
parents:
8008
diff
changeset
|
73 #endif |
27341
e7c989f7a7c9
Start unifying names of internal preprocessor directives.
diego
parents:
26206
diff
changeset
|
74 #ifdef CONFIG_LIBA52 |
5344 | 75 &mpcodecs_ad_liba52, |
30244
5ba6784f6574
More changes needed to make ad_hwac3 truly independent from liba52.
reimar
parents:
28924
diff
changeset
|
76 #endif |
5344 | 77 &mpcodecs_ad_hwac3, |
17397
2e20dd653147
ad_hwmpa: pass-through fake audio codec for hardware mpeg decoders
nicodvb
parents:
17151
diff
changeset
|
78 &mpcodecs_ad_hwmpa, |
27341
e7c989f7a7c9
Start unifying names of internal preprocessor directives.
diego
parents:
26206
diff
changeset
|
79 #ifdef CONFIG_LIBAVCODEC |
5344 | 80 &mpcodecs_ad_ffmpeg, |
81 #endif | |
82 &mpcodecs_ad_pcm, | |
83 &mpcodecs_ad_dvdpcm, | |
84 &mpcodecs_ad_alaw, | |
85 &mpcodecs_ad_imaadpcm, | |
86 &mpcodecs_ad_msadpcm, | |
87 &mpcodecs_ad_dk3adpcm, | |
5345 | 88 &mpcodecs_ad_msgsm, |
27341
e7c989f7a7c9
Start unifying names of internal preprocessor directives.
diego
parents:
26206
diff
changeset
|
89 #ifdef CONFIG_WIN32DLL |
5344 | 90 &mpcodecs_ad_dshow, |
8326 | 91 &mpcodecs_ad_dmo, |
5344 | 92 &mpcodecs_ad_acm, |
14276 | 93 &mpcodecs_ad_twin, |
8160 | 94 #endif |
27341
e7c989f7a7c9
Start unifying names of internal preprocessor directives.
diego
parents:
26206
diff
changeset
|
95 #ifdef CONFIG_QTX_CODECS |
8008 | 96 &mpcodecs_ad_qtaudio, |
5344 | 97 #endif |
27363
40057010b1fa
Change a bunch of codec-specific preprocessor directives from a HAVE_
diego
parents:
27341
diff
changeset
|
98 #ifdef CONFIG_FAAD |
5454 | 99 &mpcodecs_ad_faad, |
100 #endif | |
27363
40057010b1fa
Change a bunch of codec-specific preprocessor directives from a HAVE_
diego
parents:
27341
diff
changeset
|
101 #ifdef CONFIG_OGGVORBIS |
7174 | 102 &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
|
103 #endif |
27363
40057010b1fa
Change a bunch of codec-specific preprocessor directives from a HAVE_
diego
parents:
27341
diff
changeset
|
104 #ifdef CONFIG_SPEEX |
16915
6b1d1e4adaea
Speex support. Seeking and pts generation does not work.
reimar
parents:
15958
diff
changeset
|
105 &mpcodecs_ad_speex, |
6b1d1e4adaea
Speex support. Seeking and pts generation does not work.
reimar
parents:
15958
diff
changeset
|
106 #endif |
27341
e7c989f7a7c9
Start unifying names of internal preprocessor directives.
diego
parents:
26206
diff
changeset
|
107 #ifdef CONFIG_LIBMAD |
5479
22b289d7f87f
libmad support, rewritten from scratch using Xine decoder as sample
arpi
parents:
5454
diff
changeset
|
108 &mpcodecs_ad_libmad, |
22b289d7f87f
libmad support, rewritten from scratch using Xine decoder as sample
arpi
parents:
5454
diff
changeset
|
109 #endif |
27341
e7c989f7a7c9
Start unifying names of internal preprocessor directives.
diego
parents:
26206
diff
changeset
|
110 #ifdef CONFIG_REALCODECS |
7174 | 111 &mpcodecs_ad_realaud, |
6367 | 112 #endif |
27363
40057010b1fa
Change a bunch of codec-specific preprocessor directives from a HAVE_
diego
parents:
27341
diff
changeset
|
113 #ifdef CONFIG_LIBDV095 |
6927 | 114 &mpcodecs_ad_libdv, |
115 #endif | |
27363
40057010b1fa
Change a bunch of codec-specific preprocessor directives from a HAVE_
diego
parents:
27341
diff
changeset
|
116 #ifdef CONFIG_MUSEPACK |
15958
087142ef3a2d
musepack demuxing and decoding support (demuxing is v7 bitstream only).
reimar
parents:
14276
diff
changeset
|
117 &mpcodecs_ad_libmusepack, |
087142ef3a2d
musepack demuxing and decoding support (demuxing is v7 bitstream only).
reimar
parents:
14276
diff
changeset
|
118 #endif |
27341
e7c989f7a7c9
Start unifying names of internal preprocessor directives.
diego
parents:
26206
diff
changeset
|
119 #ifdef CONFIG_LIBDCA |
23821 | 120 &mpcodecs_ad_libdca, |
121 #endif | |
5344 | 122 NULL |
123 }; |