Mercurial > mplayer.hg
annotate libmpcodecs/ad.c @ 23510:a6c619ee9d30
Teletext support for tv:// (v4l and v4l2 only)
modified patch from Otvos Attila oattila at chello dot hu
Module uses zvbi library for all low-level VBI operations (like I/O with vbi
device, converting vbi pages into usefull vbi_page stuctures, rendering them
into RGB32 images).
All teletext related stuff (except properties, slave commands and rendering
osd in text mode or RGB32 rendered teletext pages in spu mode) is implemented
in tvi_vbi.c
New properties:
teletext_page - switching between pages
teletext_mode - switch between on/off/opaque/transparent modes
teletext_format - (currently read-only) allows to get format info
(black/white,gray,text)
teletext_half_page - trivial zooming (displaying top/bottom half of teletext
page)
New slave commands:
teletext_add_dec - user interface for jumping to any page by editing page number
interactively
teletext_go_link - goes though links, specified on current page
author | voroshil |
---|---|
date | Sun, 10 Jun 2007 00:06:12 +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 }; |