mpv/libmpcodecs
Uoti Urpala 06e3dc8eba timeline: subs: keep subtitle tracks in source time
Timeline handling converted the pts values from demuxed subtitles to
timeline scale. Change the code to do most subtitle handling in
original subtitle source pts, and instead convert current playback
timeline pts to those units when deciding which subtitle to show.
The main functionality changes are that now demuxed subtitles which
overlap chapter boundaries are handled correctly (at least for libass
subtitles), and external subtitles are assumed to use same pts scale
as current source (this needs improvements later).

Before, a video subtitle that had a duration continuing past the end
of the chapter would continue to be shown for the original duration,
even if the chapter ended and playback switched to a position in the
source where the subtitle shouldn't exist. Now, the subtitle will
correctly end.

Before, external subtitle files were interpreted as specifying pts
values in timeline scale. Now, they're interpreted as specifying pts
values in source file time scale, for _every_ source file. This is
probably more likely to be what the user wants for the "main" source
file in case there is one, but almost certainly not quite right for
multiple source files where the same subs could be shown over
different scenes. If the user wants them to match some main source
file, it's probably still better to have incorrect extra subs for
video from some files than to have every subtitle appearing at the
wrong time. The new code makes it easier to change the interpretation
of the subtitle times, and some configurability should be added in
the future.
2012-03-25 22:30:37 +03:00
..
native
ad.c configure, build: remove --disable-libav support 2011-12-11 07:48:26 +02:00
ad.h cosmetics: vf.[ch]: reformat 2011-11-14 20:24:36 +02:00
ad_acm.c
ad_alaw.c
ad_dk3adpcm.c build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
ad_dmo.c
ad_dshow.c
ad_dvdpcm.c
ad_faad.c
ad_ffmpeg.c Update Libav API uses 2012-02-01 22:46:27 +02:00
ad_hwac3.c build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
ad_hwmpa.c
ad_imaadpcm.c build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
ad_internal.h
ad_liba52.c ad_liba52: Fix -ac a52 with tags other than 0x2000 or dnet 2011-04-13 03:15:05 +03:00
ad_libdca.c
ad_libdv.c
ad_libmad.c
ad_libvorbis.c
ad_mpc.c
ad_mpg123.c
ad_msadpcm.c build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
ad_pcm.c audio: disallow partial samples, fix ad_pcm to comply 2011-05-07 22:17:51 +03:00
ad_qtaudio.c cleanup: Silence compilation warnings on MinGW-w64 2012-03-01 00:22:30 +02:00
ad_realaud.c cleanup: shut up more warnings 2011-05-06 18:33:16 +03:00
ad_sample.c
ad_speex.c ad_speex: support decoding stream without header packet 2011-05-02 00:36:21 +03:00
ad_twin.c cleanup: Silence compilation warnings on MinGW-w64 2012-03-01 00:22:30 +02:00
cmmx.h
dec_audio.c audio/video: delete buggy "dynamic plugin" code 2011-10-20 02:16:35 +03:00
dec_audio.h audio: move ready-for-ao data buffer from decoder to AO 2011-07-02 09:22:32 +03:00
dec_teletext.c cleanup: shut up more warnings 2011-05-06 18:33:16 +03:00
dec_teletext.h
dec_video.c core, vo: modify OSD redraw architecture, support EOSD 2011-12-06 05:03:39 +02:00
dec_video.h core, vo: modify OSD redraw architecture, support EOSD 2011-12-06 05:03:39 +02:00
img_format.c cosmetics: misc minor cleanups 2012-03-25 22:30:37 +03:00
img_format.h cosmetics: misc minor cleanups 2012-03-25 22:30:37 +03:00
mp_image.c cosmetics: misc minor cleanups 2012-03-25 22:30:37 +03:00
mp_image.h
mpc_info.h cosmetics: vf.[ch]: reformat 2011-11-14 20:24:36 +02:00
pullup.c vf_*: fix pts values passed to the next filter 2011-04-24 03:55:47 +03:00
pullup.h vf_*: fix pts values passed to the next filter 2011-04-24 03:55:47 +03:00
vd.c configure, build: remove --disable-libav support 2011-12-11 07:48:26 +02:00
vd.h commands, vd_ffmpeg: fix switch_ratio slave command 2011-11-14 20:24:39 +02:00
vd_dmo.c
vd_dshow.c
vd_ffmpeg.c vd_ffmpeg: fix flushing of buffered frames 2012-02-03 20:15:16 +02:00
vd_hmblck.c
vd_ijpg.c
vd_internal.h
vd_libdv.c
vd_libdv.h
vd_lzo.c
vd_mpegpes.c
vd_mpng.c
vd_mtga.c build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
vd_null.c
vd_qtvideo.c cleanup: Silence compilation warnings on MinGW-w64 2012-03-01 00:22:30 +02:00
vd_raw.c
vd_realvid.c build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
vd_sgi.c build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
vd_theora.c build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
vd_vfw.c cleanup: Silence compilation warnings on MinGW-w64 2012-03-01 00:22:30 +02:00
vd_vfwex.c
vd_xanim.c cleanup: fix mp_dbg() format string warnings 2011-07-01 03:37:34 +03:00
vd_xvid4.c cleanup: remove more warnings 2011-05-02 00:46:48 +03:00
vf.c configure, build: support compiling without libpostproc 2012-02-27 18:18:49 +02:00
vf.h core, vo: modify OSD redraw architecture, support EOSD 2011-12-06 05:03:39 +02:00
vf_1bpp.c
vf_2xsai.c
vf_ass.c timeline: subs: keep subtitle tracks in source time 2012-03-25 22:30:37 +03:00
vf_blackframe.c
vf_bmovl.c cleanup: remove more warnings 2011-05-02 00:46:48 +03:00
vf_boxblur.c
vf_crop.c
vf_cropdetect.c
vf_decimate.c
vf_delogo.c vf_delogo: allow to change the rectangle based on the time 2011-07-06 07:13:08 +03:00
vf_denoise3d.c
vf_detc.c vf_*: fix pts values passed to the next filter 2011-04-24 03:55:47 +03:00
vf_dint.c vf_dint, vf_divtc: fix code assuming "char" is signed 2011-07-06 09:15:57 +03:00
vf_divtc.c vf_dint, vf_divtc: fix code assuming "char" is signed 2011-07-06 09:15:57 +03:00
vf_down3dright.c
vf_dsize.c vf_dsize, vf_scale: fix behavior on multiple config() calls 2011-12-19 02:02:32 +02:00
vf_dvbscale.c
vf_eq.c
vf_eq2.c
vf_expand.c vf_expand: always clear the added borders 2011-12-19 21:56:00 +02:00
vf_field.c
vf_fil.c
vf_filmdint.c cleanup: shut up more warnings 2011-05-06 18:33:16 +03:00
vf_fixpts.c
vf_flip.c
vf_format.c
vf_framestep.c
vf_fspp.c vf_fspp: make compile without Libav internals 2012-01-02 06:15:52 +02:00
vf_geq.c Update libav API uses 2011-04-20 04:36:05 +03:00
vf_gradfun.c
vf_halfpack.c
vf_harddup.c
vf_hqdn3d.c
vf_hue.c
vf_il.c
vf_ilpack.c vf_ilpack: fix incompatible function types 2011-07-06 09:24:31 +03:00
vf_ivtc.c vf_*: fix pts values passed to the next filter 2011-04-24 03:55:47 +03:00
vf_kerndeint.c
vf_lavc.c Update Libav API uses 2012-02-01 22:46:27 +02:00
vf_lavcdeint.c cleanup: do libav* initialization on startup 2011-07-18 00:57:05 +03:00
vf_mcdeint.c cleanup: do libav* initialization on startup 2011-07-18 00:57:05 +03:00
vf_mirror.c
vf_noformat.c
vf_noise.c
vf_ow.c
vf_palette.c
vf_perspective.c
vf_phase.c vf_*: fix pts values passed to the next filter 2011-04-24 03:55:47 +03:00
vf_pp.c cleanup: shut up more warnings 2011-05-06 18:33:16 +03:00
vf_pp7.c cleanup: avoid various GCC warnings 2011-04-20 04:22:53 +03:00
vf_pullup.c vf_pullup, vf_yadif: pts handling fixes 2011-06-24 22:31:44 +03:00
vf_qp.c vf_qp: enable compilation depending on libavutil eval API 2011-07-18 00:57:05 +03:00
vf_rectangle.c
vf_remove_logo.c windows support: unicode filenames 2012-03-09 20:48:54 +02:00
vf_rgbtest.c
vf_rotate.c
vf_sab.c vo_gl: don't accept 9/10-bit formats as input 2011-06-29 10:49:41 +03:00
vf_scale.c vf_dsize, vf_scale: fix behavior on multiple config() calls 2011-12-19 02:02:32 +02:00
vf_scale.h video, options: implement better YUV->RGB conversion control 2011-10-16 21:11:11 +03:00
vf_screenshot.c core: add infrastructure to get screenshots from VOs 2011-11-25 23:56:28 +02:00
vf_smartblur.c vo_gl: don't accept 9/10-bit formats as input 2011-06-29 10:49:41 +03:00
vf_softpulldown.c vf_*: fix pts values passed to the next filter 2011-04-24 03:55:47 +03:00
vf_softskip.c
vf_spp.c cleanup: do libav* initialization on startup 2011-07-18 00:57:05 +03:00
vf_stereo3d.c vf_stereo3d: Add support for converting to interleaved 3D 2011-07-06 13:01:07 +03:00
vf_swapuv.c
vf_telecine.c vf_*: fix pts values passed to the next filter 2011-04-24 03:55:47 +03:00
vf_test.c
vf_tfields.c cleanup: remove more warnings 2011-05-02 00:46:48 +03:00
vf_tile.c vf_*: fix pts values passed to the next filter 2011-04-24 03:55:47 +03:00
vf_tinterlace.c vf_*: fix pts values passed to the next filter 2011-04-24 03:55:47 +03:00
vf_unsharp.c
vf_uspp.c Update Libav API uses 2012-02-01 22:46:27 +02:00
vf_vo.c cosmetics: vf_vo.c: reformat 2012-03-25 22:30:37 +03:00
vf_yadif.c configure: Remove checks for default inline asm features 2011-06-28 19:04:22 +03:00
vf_yuvcsp.c
vf_yvu9.c
vfcap.h core, vo: modify OSD redraw architecture, support EOSD 2011-12-06 05:03:39 +02:00
vqf.h