mpv/core
wm4 2684280643 sub: add sd_spu.c to wrap spudec, cleanup mplayer.c
This unifies the subtitle rendering path. Now all subtitle rendering
goes through sd_ass.c/sd_lavc.c/sd_spu.c.

Before that commit, the spudec.h functions were used directly in
mplayer.c, which introduced many special cases. Add sd_spu.c, which is
just a small wrapper connecting the new subtitle render API with the
dusty old vobsub decoder in spudec.c.

One detail that changes is that we always pass the palette as extra
data, instead of passing the libdvdread palette as pointer to spudec
directly. This is a bit roundabout, but actually makes the code simpler
and more elegant: the difference between DVD and non-DVD dvdsubs is
reduced.

Ideally, we would just delete spudec.c and use libavcodec's DVD sub
decoder. However, DVD playback with demux_mpg produces packets
incompatible to lavc. There are incompatibilities the other way around
as well: packets from libavformat's vobsub demuxer are incompatible to
spudec.c. So we define a new subtitle codec name for demux_mpg subs,
"dvd_subtitle_mpg", which only sd_spu can decode.

There is actually code in spudec.c to "assemble" fragments into complete
packets, but using the whole spudec.c is easier than trying to move this
code into demux_mpg to fix subtitle packets.

As additional complication, Libav 9.x can't decode DVD subs correctly,
so use sd_spu in that case as well.
2013-05-30 22:40:32 +02:00
..
input Replace calls to usec_sleep() 2013-05-26 16:44:20 +02:00
timeline Fix some cppcheck / scan-build warnings 2013-05-06 23:11:11 +02:00
asxparser.c
asxparser.h
av_common.c av_common: allow calling mp_codec_to_av_codec_id() with NULL 2013-04-20 23:28:26 +02:00
av_common.h demux_lavf, ad_lavc, vd_lavc: pass codec header data directly 2013-02-10 17:25:57 +01:00
av_log.c vf_lavfi: add libavfilter bridge 2013-04-21 04:39:58 +02:00
av_log.h
av_opts.c vf_lavfi: allow setting avopts 2013-05-26 16:44:18 +02:00
av_opts.h
bstr.c bstr: add bstrspn() 2013-04-21 03:47:05 +02:00
bstr.h bstr: add bstrto0() 2013-04-21 03:47:05 +02:00
cfg-mplayer.h options: remove dead -dr1 option 2013-05-21 00:46:53 +02:00
codecs.c core: redo how codecs are mapped, remove codecs.conf 2013-02-10 17:25:56 +01:00
codecs.h core: redo how codecs are mapped, remove codecs.conf 2013-02-10 17:25:56 +01:00
command.c sub: add sd_spu.c to wrap spudec, cleanup mplayer.c 2013-05-30 22:40:32 +02:00
command.h command: give feedback on the OSD if a property is unavailable 2013-02-16 21:41:24 +01:00
cpudetect.c
cpudetect.h
defaultopts.c options: remove some questionable -lavdopts suboptions 2013-05-29 14:57:05 +02:00
defaultopts.h
encode.h Remove vo_fps global variable 2013-03-04 22:21:57 +01:00
encode_lavc.c Replace all calls to GetTimer()/GetTimerMS() 2013-05-26 16:44:20 +02:00
encode_lavc.h Replace all calls to GetTimer()/GetTimerMS() 2013-05-26 16:44:20 +02:00
m_config.c options: use case-sensitive comparsion for options 2013-05-15 15:30:06 +02:00
m_config.h core: add --reset-on-next-file option 2013-04-10 21:32:46 +02:00
m_option.c m_option: allow removing filter entries by content with -vf-del 2013-05-23 01:02:24 +02:00
m_option.h m_option, vf: add label support 2013-05-23 01:02:24 +02:00
m_property.c input: make input command deprecation warnings visible 2013-03-26 01:29:38 +01:00
m_property.h
m_struct.c
m_struct.h
mp_common.c cleanup: remove duplicated function, move escape parsing function 2013-02-16 23:24:46 +01:00
mp_common.h cleanup: remove duplicated function, move escape parsing function 2013-02-16 23:24:46 +01:00
mp_core.h sub: add sd_spu.c to wrap spudec, cleanup mplayer.c 2013-05-30 22:40:32 +02:00
mp_fifo.c Replace all calls to GetTimer()/GetTimerMS() 2013-05-26 16:44:20 +02:00
mp_fifo.h
mp_msg.c encoding: when output is pipe: or pipe:1, avoid mp_msg to stdout 2013-04-15 13:30:21 +02:00
mp_msg.h encoding: when output is pipe: or pipe:1, avoid mp_msg to stdout 2013-04-15 13:30:21 +02:00
mp_osd.h osd: always update already visible OSD bar on seeks 2013-02-16 20:50:05 +01:00
mp_talloc.h video/filter: change filter API, use refcounting, remove filter DR 2013-01-13 20:04:10 +01:00
mplayer.c sub: add sd_spu.c to wrap spudec, cleanup mplayer.c 2013-05-30 22:40:32 +02:00
mplayer.h sub: redo how -no-ass is handled 2013-05-30 22:20:02 +02:00
options.h options: remove some questionable -lavdopts suboptions 2013-05-29 14:57:05 +02:00
parser-cfg.c parser-cfg: fix profile-desc 2013-02-18 17:01:25 +01:00
parser-cfg.h
parser-mpcmd.c options: fix exit code when using help options 2013-05-15 16:02:52 +02:00
parser-mpcmd.h options: fix exit code when using help options 2013-05-15 16:02:52 +02:00
path.c core: support mpv directory itself as a valid location for config files on Windows 2013-05-23 01:01:41 +02:00
path.h core: add playback resume feature (manual/opt-in) 2013-05-05 20:08:11 +02:00
playlist.c
playlist.h
playlist_parser.c
playlist_parser.h
quvi.c Fix lots of bugs in mp_http URL handling 2013-01-10 14:11:26 +01:00
screenshot.c screenshot: show a message on each screenshot taken 2013-02-26 01:55:52 +01:00
screenshot.h screenshot: show a message on each screenshot taken 2013-02-26 01:55:52 +01:00
subopt-helper.c
subopt-helper.h
version.c