mpv/libmpdemux
wm4 74e7a1e937 osd: use libass for OSD rendering
The OSD will now be rendered with libass. The old rendering code, which
used freetype/fontconfig and did text layout manually, is disabled. To
re-enable the old code, use the --disable-libass-osd configure switch.

Some switches do nothing with the new code enabled, such as -subalign,
-sub-bg-alpha, -sub-bg-color, and many more. (The reason is mostly that
the code for rendering unstyled subtitles with libass doesn't make any
attempts to support them. Some of them could be supported in theory.)

Teletext rendering is not implemented in the new OSD rendering code. I
don't have any teletext sources for testing, and since teletext is
being phased out world-wide, the need for this is questionable.

Note that rendering is extremely inefficient, mostly because the libass
output is blended with the extremely strange mplayer OSD format. This
could be improved at a later point.

Remove most OSD rendering from vo_aa.c, because that was extremely
hacky, can't be made work with osd_libass, and didn't work anyway in
my tests.

Internally, some cleanup is done. Subtitle and OSD related variable
declarations were literally all over the place. Move them to sub.h and
sub.c, which were hoarding most of these declarations already. Make the
player core in mplayer.c free of concerns like bitmap font loading.

The old OSD rendering code has been moved to osd_ft.c. The font_load.c
and font_load_ft.c are only needed and compiled if the old OSD
rendering code is configured.
2012-07-28 23:36:07 +02:00
..
aac_hdr.c cleanup: shut up more warnings 2011-05-06 18:33:16 +03:00
aac_hdr.h
asf.h cosmetics: asf.h: Fix comment error 2011-07-06 06:52:22 +03:00
asfguid.h asfguid.h: Use AV_RL32 also in x86 2010-11-02 04:14:20 +02:00
asfheader.c build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
asfheader.h
aviheader.c aviheader.c: silence a warning 2012-02-29 02:49:48 +02:00
aviheader.h cleanup: Silence compilation warnings on MinGW-w64 2012-03-01 00:22:30 +02:00
aviprint.c cleanup: malloc+memset->calloc, sizeof(TYPE)->sizeof(*ptr) 2010-11-02 04:16:46 +02:00
aviprint.h Declare public function print_vprp() in aviprint.h. 2010-02-21 23:36:36 +00:00
demux_aac.c cleanup: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02:00
demux_asf.c demux, vd_ffmpeg: fix demux keyframe flag, set AV_PKT_FLAG_KEY 2012-07-25 01:10:30 +03:00
demux_audio.c build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
demux_avi.c cleanup: shut up more warnings 2011-05-06 18:33:16 +03:00
demux_avs.c cleanup: malloc+memset->calloc, sizeof(TYPE)->sizeof(*ptr) 2010-11-02 04:16:46 +02:00
demux_avs.h
demux_cue.c core: add new support for reading .cue files 2012-01-18 04:25:19 +01:00
demux_demuxers.c demux_demuxers: fix seeking bug (--audiofile) 2011-10-23 03:29:42 +03:00
demux_edl.c EDL: add support for new EDL file format 2011-04-05 06:26:17 +03:00
demux_film.c demux, vd_ffmpeg: fix demux keyframe flag, set AV_PKT_FLAG_KEY 2012-07-25 01:10:30 +03:00
demux_fli.c cleanup: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02:00
demux_gif.c cleanup: shut up more warnings 2011-05-06 18:33:16 +03:00
demux_lavf.c demux_lavf: use lavf for RealMedia (.rm) files by default 2012-07-26 18:32:09 +03:00
demux_lmlm4.c Don't print awkward negative seek message when playing directory 2012-02-19 17:16:05 +01:00
demux_mf.c demux, vd_ffmpeg: fix demux keyframe flag, set AV_PKT_FLAG_KEY 2012-07-25 01:10:30 +03:00
demux_mkv.c demux, vd_ffmpeg: fix demux keyframe flag, set AV_PKT_FLAG_KEY 2012-07-25 01:10:30 +03:00
demux_mng.c cleanup: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02:00
demux_mov.c demux, vd_ffmpeg: fix demux keyframe flag, set AV_PKT_FLAG_KEY 2012-07-25 01:10:30 +03:00
demux_mov.h
demux_mpc.c cleanup: remove NULL checks before free() all over the code 2010-11-14 13:11:20 +02:00
demux_mpg.c cleanup: fix mp_dbg() format string warnings 2011-07-01 03:37:34 +03:00
demux_nemesi.c demux_nemesi: Remove a pointless if 2010-11-02 04:16:46 +02:00
demux_nsv.c cleanup: fix mp_dbg() format string warnings 2011-07-01 03:37:34 +03:00
demux_nut.c demux, vd_ffmpeg: fix demux keyframe flag, set AV_PKT_FLAG_KEY 2012-07-25 01:10:30 +03:00
demux_ogg.c demux, vd_ffmpeg: fix demux keyframe flag, set AV_PKT_FLAG_KEY 2012-07-25 01:10:30 +03:00
demux_ogg.h
demux_packet.h demux, vd_ffmpeg: fix demux keyframe flag, set AV_PKT_FLAG_KEY 2012-07-25 01:10:30 +03:00
demux_pva.c cleanup: shut up more warnings 2011-05-06 18:33:16 +03:00
demux_rawaudio.c cleanup: malloc+memset->calloc, sizeof(TYPE)->sizeof(*ptr) 2010-11-02 04:16:46 +02:00
demux_rawdv.c demux_rawdv.c: fix change missing from recent 8079f4ff82 2012-07-27 04:12:03 +03:00
demux_rawvideo.c
demux_real.c demux, vd_ffmpeg: fix demux keyframe flag, set AV_PKT_FLAG_KEY 2012-07-25 01:10:30 +03:00
demux_real.h
demux_realaud.c demux, vd_ffmpeg: fix demux keyframe flag, set AV_PKT_FLAG_KEY 2012-07-25 01:10:30 +03:00
demux_roq.c cleanup: shut up more warnings 2011-05-06 18:33:16 +03:00
demux_rtp.cpp configure, build: remove --disable-libav support 2011-12-11 07:48:26 +02:00
demux_rtp.h Remove pointless #ifdef checks for DEMUXER_H, which is never set. 2010-02-27 12:48:11 +00:00
demux_rtp_codec.cpp Update Libav API uses 2012-02-01 22:46:27 +02:00
demux_rtp_internal.h configure, build: remove --disable-libav support 2011-12-11 07:48:26 +02:00
demux_smjpeg.c cleanup: shut up more warnings 2011-05-06 18:33:16 +03:00
demux_ts.c demux, vd_ffmpeg: fix demux keyframe flag, set AV_PKT_FLAG_KEY 2012-07-25 01:10:30 +03:00
demux_ts.h demux: Move mp_a52_framesize from demux_ts.c to parse_es.c 2010-11-02 04:15:48 +02:00
demux_ty.c osd: use libass for OSD rendering 2012-07-28 23:36:07 +02:00
demux_ty_osd.c sub/OSD: move some related files to sub/ 2011-01-26 20:39:05 +02:00
demux_ty_osd.h cosmetics: make some arguments const, "unsigned char"->uint8_t 2010-12-16 04:57:18 +02:00
demux_viv.c cleanup: fix mp_dbg() format string warnings 2011-07-01 03:37:34 +03:00
demux_vqf.c build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
demux_xmms.c cleanup: malloc+memset->calloc, sizeof(TYPE)->sizeof(*ptr) 2010-11-02 04:16:46 +02:00
demux_xmms_plugin.h
demux_y4m.c demux, vd_ffmpeg: fix demux keyframe flag, set AV_PKT_FLAG_KEY 2012-07-25 01:10:30 +03:00
demuxer.c Merge remote-tracking branch 'origin/master' 2012-07-28 17:24:05 +02:00
demuxer.h Merge remote-tracking branch 'origin/master' 2012-07-28 17:24:05 +02:00
ebml.c Update Libav API uses 2012-02-01 22:46:27 +02:00
ebml.h demux_mkv: simplify subtitle type recognition 2011-03-31 03:44:37 +03:00
extension.c cosmetics: Remove pointless empty lines at EOF. 2010-02-20 21:02:49 +00:00
genres.h spelling fixes 2010-11-02 04:15:03 +02:00
matroska.h demux_mkv: support Blu-ray subtitles 2011-03-31 03:44:37 +03:00
mf.c windows support: unicode filenames 2012-03-09 20:48:54 +02:00
mf.h
mp3_hdr.c Merge svn changes up to r30798 2010-03-10 02:35:02 +02:00
mp3_hdr.h mp3_hdr.h: fix mp_check_mp3_header() 2010-12-16 06:22:19 +02:00
mp_taglists.c demux_lavf: use Libav RIFF tag lists directly 2012-02-01 22:46:27 +02:00
mp_taglists.h demux_lavf: use Libav RIFF tag lists directly 2012-02-01 22:46:27 +02:00
mpeg_hdr.c cleanup: some warning fixes and minor cleanups 2011-06-29 09:17:19 +03:00
mpeg_hdr.h Parse and use the information from the frame rate extension header for MPEG-2. 2010-02-21 13:53:41 +00:00
mpeg_packetizer.c
mpeg_packetizer.h
ms_hdr.h Get the proper codec id when a WAVE_FORMAT_EXTENSIBLE extension exists in a 2010-02-22 14:27:32 +00:00
parse_es.c demux: Move mp_a52_framesize from demux_ts.c to parse_es.c 2010-11-02 04:15:48 +02:00
parse_es.h demux: Move mp_a52_framesize from demux_ts.c to parse_es.c 2010-11-02 04:15:48 +02:00
parse_mp4.c Merge svn changes up to r30643 2010-03-10 00:00:06 +02:00
parse_mp4.h cosmetics: Remove pointless empty lines at EOF. 2010-02-20 21:02:49 +00:00
qtpalette.h
stheader.h video, audio: use lavc decoders without codecs.conf entries 2012-07-24 09:01:47 +03:00
video.c demux, vd_ffmpeg: fix demux keyframe flag, set AV_PKT_FLAG_KEY 2012-07-25 01:10:30 +03:00
yuv4mpeg.c cleanup: shut up more warnings 2011-05-06 18:33:16 +03:00
yuv4mpeg.h cosmetics: Remove pointless empty lines at EOF. 2010-02-20 21:02:49 +00:00
yuv4mpeg_intern.h
yuv4mpeg_ratio.c cosmetics: Remove pointless empty lines at EOF. 2010-02-20 21:02:49 +00:00