Command line video player
Go to file
wm4 98f74335d5 sub: fix text subtitle aspect ratio with vo_xv and vo_lavc, refactor
This fixes that vo_xv didn't display text subtitles correctly when
using anamorphic video. It didn't pass the aspect information to the
subtitle renderer. Also, try to render OSD correctly with respect to
aspect ratio settings: on vo_xv, the OSD is rendered into the video,
and needs to be "stretched" too when playing anamorphic video. When
the -monitorpixelaspect option is used, even with VOs such as vo_opengl
the OSD has to be rendered with that aspect ratio.

As preparation for future commits, replace the weird vsfilter_scale
value with a somewhat more sensible video_par member.

Also, struct mp_eosd_res is a better place for the aspect ratio
parameters, as OSD needs this too.

Use osd_draw_on_image() directly in vo_lavc, which fixes aspect ratio
issues as well.
2012-10-24 21:56:33 +02:00
DOCS Remove things related to old OSD 2012-10-24 21:56:33 +02:00
TOOLS Merge branch 'input_changes' into master 2012-10-12 11:53:53 +02:00
etc input: add input test mode 2012-10-14 22:28:51 +02:00
ffmpeg_files build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
input input: fix mp_cmd memory leak 2012-10-14 23:45:41 +02:00
libaf Rename to "mpv" 2012-10-12 10:14:32 +02:00
libao2 Rename to "mpv" 2012-10-12 10:14:32 +02:00
libmpcodecs sub: fix text subtitle aspect ratio with vo_xv and vo_lavc, refactor 2012-10-24 21:56:33 +02:00
libmpdemux core: fix -subfile 2012-10-24 21:56:33 +02:00
libvo sub: fix text subtitle aspect ratio with vo_xv and vo_lavc, refactor 2012-10-24 21:56:33 +02:00
osdep Rename to "mpv" 2012-10-12 10:14:32 +02:00
stream stream: remove NULL checks for open calls 2012-10-14 22:28:51 +02:00
sub sub: fix text subtitle aspect ratio with vo_xv and vo_lavc, refactor 2012-10-24 21:56:33 +02:00
timeline core, timeline: cache external ordered chapter files too 2012-09-18 21:07:30 +02:00
.gitignore Rename to "mpv" 2012-10-12 10:14:32 +02:00
AUTHORS
Copyright Rename to "mpv" 2012-10-12 10:14:32 +02:00
LICENSE Copyright, LICENSE: change binary license to GPL 3 2011-03-24 23:40:29 +02:00
Makefile Remove things related to old OSD 2012-10-24 21:56:33 +02:00
README osd: remove freetype font rendering code 2012-07-28 23:36:08 +02:00
asxparser.c Remove dead code 2012-08-01 17:07:35 +02:00
asxparser.h mplayer: turn playtree into a list, and change per-file option handling 2012-07-31 21:33:26 +02:00
av_log.c stream_ffmpeg: fix broken line from 30afc64532 2012-04-18 01:27:55 +03:00
av_log.h terminal output: show libav version numbers in verbose mode 2011-10-01 20:03:49 +03:00
av_opts.c Update Libav API uses 2012-02-01 22:46:27 +02:00
av_opts.h
bstr.c Adjust ffmpeg/libav #includes to work with recent upstream changes 2012-08-21 18:22:00 +02:00
bstr.h Merge branch 'input_changes' into master 2012-10-12 11:53:53 +02:00
cfg-mplayer.h Remove things related to old OSD 2012-10-24 21:56:33 +02:00
codec-cfg.c options, codecs.conf, img_format: unify imgfmt name handling 2012-08-29 00:14:11 +02:00
codec-cfg.h video, audio: use lavc decoders without codecs.conf entries 2012-07-24 09:01:47 +03:00
command.c Merge branch 'master' into osd_changes 2012-10-16 07:30:30 +02:00
command.h commands: change property expansion format string 2012-10-12 10:10:32 +02:00
configure Rename to "mpv" 2012-10-12 10:14:32 +02:00
cpudetect.c cpudetect: remove unused/forgotten crap 2012-08-01 23:49:06 +02:00
cpudetect.h cpudetect: remove unused/forgotten crap 2012-08-01 23:49:06 +02:00
defaultopts.c core: show quvi page title in window title, clean up libquvi handling 2012-10-14 22:26:41 +02:00
defaultopts.h
encode.h encode: video encoding now supported using mencoder-like options 2012-09-18 21:08:20 +02:00
encode_lavc.c encode: remove dependency on current ffmpeg 2012-10-01 11:04:48 +02:00
encode_lavc.h encode: add options --ovfirst and --oafirst 2012-09-29 15:04:40 +02:00
fmt-conversion.c cleanup: remove XvMC remains, reformat img_format.c 2012-08-28 23:26:16 +02:00
fmt-conversion.h fmt-conversion.h: fix pixfmt.h #include; fixes latest Libav 2012-10-14 21:27:02 +02:00
image_writer.c libmpcodecs: move vf_scale.c swscale helper functions to sws_utils.c 2012-10-24 21:55:43 +02:00
image_writer.h image_writer: rename "filetype" option to "format" 2012-08-06 19:05:32 +02:00
m_config.c Merge branch 'input_changes' into master 2012-10-12 11:53:53 +02:00
m_config.h Merge branch 'input_changes' into master 2012-10-12 11:53:53 +02:00
m_option.c commands: handle property clamping in m_option 2012-10-12 10:10:31 +02:00
m_option.h Merge branch 'input_changes' into master 2012-10-12 11:53:53 +02:00
m_property.c command: reduce some property boilerplate 2012-10-14 23:12:03 +02:00
m_property.h command: reduce some property boilerplate 2012-10-14 23:12:03 +02:00
m_struct.c options: get rid of ambiguous option parsing 2012-08-05 23:51:49 +02:00
m_struct.h Remove dead code 2012-08-01 17:07:35 +02:00
mangle.h mangle: change preprocessor define for macosx 2012-08-01 08:46:20 +02:00
mixer.c mplayer: fix crash when muted and audio codec fails 2012-10-03 01:41:13 +02:00
mixer.h softvol, ao_pulse: prefer ao_pulse volume control by default 2012-09-23 14:57:01 +02:00
mp_core.h core: show quvi page title in window title, clean up libquvi handling 2012-10-14 22:26:41 +02:00
mp_fifo.c input: allow unicode keys and reassign internal key codes 2012-03-25 22:30:37 +03:00
mp_fifo.h VO: remove old VO glue 2012-08-07 01:29:56 +02:00
mp_msg.c Rename to "mpv" 2012-10-12 10:14:32 +02:00
mp_msg.h encode: video encoding now supported using mencoder-like options 2012-09-18 21:08:20 +02:00
mp_osd.h commands: more user-control whether a command shows OSD bars/messages 2012-10-12 10:10:32 +02:00
mpbswap.h build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
mpcommon.c core: remove duplicated format_time() functions 2012-09-18 21:04:47 +02:00
mpcommon.h Fix MP_TARRAY_GROW macro 2012-10-12 10:10:32 +02:00
mplayer.c core: fix -subfile 2012-10-24 21:56:33 +02:00
mplayer.h core: show quvi page title in window title, clean up libquvi handling 2012-10-14 22:26:41 +02:00
options.h input: add input test mode 2012-10-14 22:28:51 +02:00
parser-cfg.c parser-cfg: specify which config file contains the unknown option 2012-08-20 15:36:05 +02:00
parser-cfg.h options: move command line preparse together with parse 2011-07-26 06:02:03 +03:00
parser-mpcmd.c options: fix "--" 2012-09-18 21:07:29 +02:00
parser-mpcmd.h options: get rid of ambiguous option parsing 2012-08-05 23:51:49 +02:00
path.c Rename to "mpv" 2012-10-12 10:14:32 +02:00
path.h Remove win32/qt/xanim/real binary codecs loading 2012-08-16 17:16:33 +02:00
playlist.c playlist: do not add playlist base path to URLs 2012-08-07 03:14:53 +02:00
playlist.h playlist: rename params_count field to num_params for consistency 2012-08-04 19:59:55 +02:00
playlist_parser.c mplayer: turn playtree into a list, and change per-file option handling 2012-07-31 21:33:26 +02:00
playlist_parser.h mplayer: turn playtree into a list, and change per-file option handling 2012-07-31 21:33:26 +02:00
pnm_loader.c
pnm_loader.h
quvi.c core: show quvi page title in window title, clean up libquvi handling 2012-10-14 22:26:41 +02:00
screenshot.c commands: change property expansion format string 2012-10-12 10:10:32 +02:00
screenshot.h screenshot: make screenshot filenames configurable 2012-02-29 04:14:54 +01:00
subopt-helper.c Remove dead code 2012-08-01 17:07:35 +02:00
subopt-helper.h Remove dead code 2012-08-01 17:07:35 +02:00
talloc.c talloc: fix strndup group of functions 2012-10-12 10:10:32 +02:00
talloc.h windows: fix format string attributes on MinGW 2012-03-01 00:22:29 +02:00
version.c Rename to "mpv" 2012-10-12 10:14:32 +02:00
version.sh Change version string 2012-07-29 00:04:17 +02:00

README

Compiling with full features requires development files for several
external libraries. Below is a list of some important requirements. For
more information see the output of './configure --help' for a list of options,
or look at the list of enabled and disabled features printed after running
'./configure'. If you think you have support for some feature installed
but configure fails to detect it, the file config.log may contain information
about the reasons for the failure.

Libraries specific to particular video output methods
(you'll want at least one of VDPAU, GL or Xv):
 - libvdpau (for VDPAU output, best choice for NVIDIA cards)
 - libGL (OpenGL output)
 - libXv (XVideo output)
general:
 - libasound   (ALSA audio output)
 - various general X development libraries
 - libfreetype (for libass)
 - libfontconfig (for libass)
 - libass
 - FFmpeg libraries (libavutil libavcodec libavformat libswscale libpostproc)

Most of the above libraries are available in suitable versions on normal
Linux distributions. However FFmpeg is an exception (distro versions may be
too old to work at all or work well). For that reason you may want to use
the separately available build wrapper that first compiles FFmpeg libraries
and libass, and then compiles the player statically linked against those.