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
timeline
asxparser.c
asxparser.h
av_log.c
av_log.h
av_opts.c
av_opts.h
bstr.c
bstr.h
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
command.h
cpudetect.c
cpudetect.h
defaultopts.c video: simplify decoder pixel format handling 2013-01-13 17:39:31 +01:00
defaultopts.h
encode.h
encode_lavc.c
encode_lavc.h
m_config.c
m_config.h
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
m_property.h
m_struct.c
m_struct.h
mp_common.c
mp_common.h video: decouple internal pixel formats from FourCCs 2013-01-13 20:04:11 +01:00
mp_core.h
mp_fifo.c
mp_fifo.h
mp_msg.c
mp_msg.h
mp_osd.h
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
options.h video: different way to enable hardware decoding, add software fallback 2013-01-13 17:39:32 +01:00
parser-cfg.c
parser-cfg.h
parser-mpcmd.c
parser-mpcmd.h
path.c
path.h
playlist.c
playlist.h
playlist_parser.c
playlist_parser.h
quvi.c
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
subopt-helper.h
version.c