0
0
mirror of https://github.com/mpv-player/mpv.git synced 2024-09-20 03:52:22 +02:00
mpv/core
wm4 1c65428d6f sub: do not copy the target image if there is no OSD/subs
It's not easy to tell whether the OSD/subs are empty, or if something is
drawn. In general you have to use osd_draw() with a custom callback. If
nothing is visible, the callback is never invoked. (The actual reason
why this is so "hard" is the implementation of osd_libass.c, which
doesn't allow separating rendering and drawing of OSD elements, because
all OSD elements share the same ASS_Renderer.)

To simplify avoiding copies, make osd_draw_on_image() instead of the
caller use mp_image_make_writeable(). Introduce osd_draw_on_image_p(),
which works like osd_draw_on_image(), but gets the new image allocation
from an image pool. This is supposed to be an optimization, because it
reduces the frequency of large allocations/deallocations for image data.

The result of this is that the frequency of copies needed in conjunction
with vf_sub, screenshots, and vo_lavc (encoding) should be reduced.
vf_sub now always does true pass-through if no subs are shown.

Drop the pts check from vf_sub. This didn't make much sense.
2013-01-13 20:04:12 +01:00
..
input path: add mp_find_config_file and reorganize some of the code 2012-12-15 17:38:00 +01:00
timeline cache: refactor how cache enabling is done 2012-12-03 21:08:51 +01:00
asxparser.c Rename directories, move files (step 2 of 2) 2012-11-12 20:08:18 +01:00
asxparser.h
av_log.c demux_lavf: add support for libavdevice 2012-12-03 21:08:51 +01:00
av_log.h
av_opts.c
av_opts.h
bstr.c Replace strsep() uses 2013-01-13 17:32:39 +01:00
bstr.h Replace strsep() uses 2013-01-13 17:32:39 +01:00
cfg-mplayer.h video: decouple internal pixel formats from FourCCs 2013-01-13 20:04:11 +01:00
codec-cfg.c video: simplify decoder pixel format handling 2013-01-13 17:39:31 +01:00
codec-cfg.h video: simplify decoder pixel format handling 2013-01-13 17:39:31 +01:00
command.c Replace strsep() uses 2013-01-13 17:32:39 +01:00
command.h
cpudetect.c Rename directories, move files (step 2 of 2) 2012-11-12 20:08:18 +01:00
cpudetect.h Rename directories, move files (step 2 of 2) 2012-11-12 20:08:18 +01:00
defaultopts.c video: simplify decoder pixel format handling 2013-01-13 17:39:31 +01:00
defaultopts.h
encode_lavc.c sdl, encode_lavc: fix copyright headers 2012-12-28 11:41:30 +01:00
encode_lavc.h sdl, encode_lavc: fix copyright headers 2012-12-28 11:41:30 +01:00
encode.h
m_config.c Rename directories, move files (step 2 of 2) 2012-11-12 20:08:18 +01:00
m_config.h Rename directories, move files (step 2 of 2) 2012-11-12 20:08:18 +01:00
m_option.c video: decouple internal pixel formats from FourCCs 2013-01-13 20:04:11 +01:00
m_option.h video: decouple internal pixel formats from FourCCs 2013-01-13 20:04:11 +01:00
m_property.c Rename directories, move files (step 2 of 2) 2012-11-12 20:08:18 +01:00
m_property.h
m_struct.c Rename directories, move files (step 2 of 2) 2012-11-12 20:08:18 +01:00
m_struct.h Rename directories, move files (step 2 of 2) 2012-11-12 20:08:18 +01:00
mp_common.c Rename directories, move files (step 2 of 2) 2012-11-12 20:08:18 +01:00
mp_common.h video: decouple internal pixel formats from FourCCs 2013-01-13 20:04:11 +01:00
mp_core.h core: allow disabling display of "album art" in audio files 2012-12-11 00:37:55 +01:00
mp_fifo.c input: do not generate double clicks for mouse wheel 2012-12-03 21:08:52 +01:00
mp_fifo.h Rename directories, move files (step 2 of 2) 2012-11-12 20:08:18 +01:00
mp_msg.c build: remove doc/locale language auto-detection, simplify 2012-11-14 11:26:43 +01:00
mp_msg.h Rename directories, move files (step 2 of 2) 2012-11-12 20:08:18 +01:00
mp_osd.h core: minor cleanups 2012-11-20 18:00:16 +01:00
mp_talloc.h video/filter: change filter API, use refcounting, remove filter DR 2013-01-13 20:04:10 +01:00
mpc_info.h
mplayer.c video/out: replace VFCAP_TIMER with vo->untimed, fix vo_image and vo_lavc 2013-01-13 20:04:10 +01:00
mplayer.h sub: remove vobsub reader in favor of ffmpeg vobsub demuxer 2012-12-11 00:37:54 +01:00
options.h video: different way to enable hardware decoding, add software fallback 2013-01-13 17:39:32 +01:00
parser-cfg.c Fix potential bugs and issues, general cleanups 2012-11-20 18:00:14 +01:00
parser-cfg.h
parser-mpcmd.c options: handle -v during pre-parsing command line 2012-12-12 23:02:03 +01:00
parser-mpcmd.h
path.c path: add mp_find_config_file and reorganize some of the code 2012-12-15 17:38:00 +01:00
path.h path: add mp_find_config_file and reorganize some of the code 2012-12-15 17:38:00 +01:00
playlist_parser.c options: rename -ss and -endpos, allow relative times 2012-11-16 21:21:15 +01:00
playlist_parser.h
playlist.c Rename directories, move files (step 2 of 2) 2012-11-12 20:08:18 +01:00
playlist.h Rename directories, move files (step 2 of 2) 2012-11-12 20:08:18 +01:00
quvi.c Fix lots of bugs in mp_http URL handling 2013-01-10 14:11:26 +01:00
screenshot.c sub: do not copy the target image if there is no OSD/subs 2013-01-13 20:04:12 +01:00
screenshot.h
subopt-helper.c Rename directories, move files (step 2 of 2) 2012-11-12 20:08:18 +01:00
subopt-helper.h
version.c build: identify the build time of the binary in the versioning output 2012-12-03 21:08:51 +01:00