0
0
mirror of https://github.com/mpv-player/mpv.git synced 2024-09-20 20:03:10 +02:00
Command line video player
Go to file
Uoti Urpala 5f3c3f8c32 video, audio: use lavc decoders without codecs.conf entries
Add support for using libavcodec decoders that do not have entries in
codecs.conf. This is currently only used with demux_lavf, and the
codec selection is based on codec_id returned by libavformat. Also
modify codec-related terminal output somewhat to make it use
information from libavcodec and avoid excessively long default output.

The new any-lavc-codec support is implemented with codecs.conf entries
that invoke vd_ffmpeg/ad_ffmpeg without directly specifying any
libavcodec codec name. In this mode, the decoders now instead select
the libavcodec codec based on codec_id previously set by demux_lavf
(if any). These new "generic" codecs.conf entries specify "status
buggy", so that they're tried after any specific entries with
higher-priority status.

Add new directive "anyinput" to codecs.conf syntax. This means the
entry will always match regardless of fourcc. This is used for the
above new codecs.conf entries (so the driver always gets to decide
whether to accept the input, and will fail init() if it can't find a
suitable codec in libavcodec). Remove parsing support for the obsolete
codecs.conf directive "cpuflags". This directive has not had any
effect and has not been used in default codecs.conf since many years
ago.

Shorten codec-related terminal output. When using libavcodec decoders,
show the libavcodec long_name field rather than codecs.conf "info"
field as the name of the codec. Stop showing the codecs.conf entry
name and "vfm/afm" name by default, as these are rarely needed;
they're now in verbose output only. Show "VIDEO:" line at VO
initialization rather than at demuxer open. This didn't really belong
in demuxer code; the new location may show more accurate values (known
after decoder has been opened) and works right if video track is
changed after initial demuxer open.

The vd.c changes (primarily done for terminal output changes) remove
round-to-even behavior from code setting dimensions based on aspect
ratio. I hope nothing depended on this; at least the even values were
not consistently guaranteed anyway, as the rounding code did not run
if the video file did not specify a nonzero aspect value.
2012-07-24 09:01:47 +03:00
debian debian: remove leftover references to deleted OSD menu files 2011-11-14 20:24:39 +02:00
DOCS docs: delete outdated translated manpages/docs 2012-07-16 22:10:28 +03:00
drivers the great MPlayer tab removal: part I 2010-04-12 10:56:17 +00:00
etc video, audio: use lavc decoders without codecs.conf entries 2012-07-24 09:01:47 +03:00
ffmpeg_files build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
input options: support parsing values into substructs 2012-07-16 21:08:42 +03:00
libaf af: fix crash when trying to use volume controls with AC3 pass-through 2012-03-09 20:48:54 +02:00
libao2 ao_arts, ao_esd: remove these AOs 2012-05-06 18:29:48 +03:00
libmpcodecs video, audio: use lavc decoders without codecs.conf entries 2012-07-24 09:01:47 +03:00
libmpdemux video, audio: use lavc decoders without codecs.conf entries 2012-07-24 09:01:47 +03:00
libvo vo_vdpau: fix possible crash after preemption 2012-07-16 21:08:42 +03:00
loader build: remove OS/2 support 2012-04-06 17:45:56 +03:00
osdep OSX, input: implement wakeup in response to Cocoa events 2012-04-26 21:03:10 +03:00
rpm libmenu: remove OSD menu functionality (--menu) 2011-10-25 07:05:47 +03:00
stream stream_cdda: print CDTEXT if available 2012-04-28 03:25:04 +03:00
sub font_load_ft.c: fix possible crash with recent Fontconfig 2012-05-17 17:38:00 +03:00
timeline windows support: unicode filenames 2012-03-09 20:48:54 +02:00
TOOLS build, codec-cfg.c: simplify builtin codecs.conf handling 2012-07-16 21:08:42 +03:00
.gitignore build, codec-cfg.c: simplify builtin codecs.conf handling 2012-07-16 21:08:42 +03:00
asxparser.c asxparser: remove code confusing asx/player options 2011-07-26 05:31:30 +03:00
asxparser.h Merge svn change r31134 2010-05-07 22:03:48 +03:00
AUTHORS documentation: remove Changelog, rewrite README 2011-02-15 12:04:32 +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 Add missing multiple inclusion guards. 2009-01-25 20:10:36 +00:00
bstr.c build, codec-cfg.c: simplify builtin codecs.conf handling 2012-07-16 21:08:42 +03:00
bstr.h build, codec-cfg.c: simplify builtin codecs.conf handling 2012-07-16 21:08:42 +03:00
cfg-mplayer.h options: support parsing values into substructs 2012-07-16 21:08:42 +03:00
codec-cfg.c video, audio: use lavc decoders without codecs.conf entries 2012-07-24 09:01:47 +03:00
codec-cfg.h video, audio: use lavc decoders without codecs.conf entries 2012-07-24 09:01:47 +03:00
command.c audio: fix unmute-at-end logic 2012-04-11 03:52:34 +03:00
command.h Merge svn changes up to r30475 2010-03-09 19:18:43 +02:00
configure build, codec-cfg.c: simplify builtin codecs.conf handling 2012-07-16 21:08:42 +03:00
Copyright mp3lib: drop internal mp3lib tree 2011-04-02 07:28:53 +03:00
cpudetect.c build: remove OS/2 support 2012-04-06 17:45:56 +03:00
cpudetect.h loader: Reuse do_cpuid from cpudetect.c in loader/win32.c 2010-11-02 04:15:01 +02:00
cpuinfo.c the great MPlayer tab removal: part II 2010-05-03 23:34:38 +00:00
defaultopts.c options: support parsing values into substructs 2012-07-16 21:08:42 +03:00
defaultopts.h cleanup: remove unused MEncoder-related code 2011-01-25 02:29:31 +02:00
fmt-conversion.c configure, build: require at least Libav 0.7 2011-12-22 01:27:45 +02:00
fmt-conversion.h Add license header to all top-level files missing them. 2010-01-30 23:24:23 +00:00
LICENSE Copyright, LICENSE: change binary license to GPL 3 2011-03-24 23:40:29 +02:00
m_config.c options: make option struct the talloc parent of options 2012-07-16 21:08:42 +03:00
m_config.h options: support parsing values into substructs 2012-07-16 21:08:42 +03:00
m_option.c options: fix specifying string options without parameter 2012-07-16 21:08:42 +03:00
m_option.h options: make option struct the talloc parent of options 2012-07-16 21:08:42 +03:00
m_property.c commands: osd_show_property_text: fix \xNN escapes 2011-08-05 03:46:06 +03:00
m_property.h Add license header to all top-level files missing them. 2010-01-30 23:24:23 +00:00
m_struct.c options: make option struct the talloc parent of options 2012-07-16 21:08:42 +03:00
m_struct.h options: change option parsing to use bstr 2011-07-29 05:50:38 +03:00
Makefile Makefile: delete .d files in "clean" target too 2012-07-16 21:08:42 +03:00
mangle.h Use configure code to define PIC instead of duplicating the check in mangle.h. 2009-11-10 13:08:36 +00:00
metadata.h Remove trailing whitespace from most files 2009-07-07 02:34:35 +03:00
mixer.c mixer: support native audio driver mute 2012-04-11 03:56:28 +03:00
mixer.h mixer: support native audio driver mute 2012-04-11 03:56:28 +03:00
mp_core.h audio: fix unmute-at-end logic 2012-04-11 03:52:34 +03:00
mp_fifo.c input: allow unicode keys and reassign internal key codes 2012-03-25 22:30:37 +03:00
mp_fifo.h input: allow unicode keys and reassign internal key codes 2012-03-25 22:30:37 +03:00
mp_msg.c cosmetics: misc minor cleanups 2012-03-25 22:30:37 +03:00
mp_msg.h windows: fix format string attributes on MinGW 2012-03-01 00:22:29 +02:00
mp_osd.h options: more mplayer.c options moved to option struct 2010-11-14 00:14:56 +02:00
mpbswap.h build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
mpcommon.c cleanup: remove unused MEncoder-related code 2011-01-25 02:29:31 +02:00
mpcommon.h windows: fix format string attributes on MinGW 2012-03-01 00:22:29 +02:00
mplayer.c video, audio: use lavc decoders without codecs.conf entries 2012-07-24 09:01:47 +03:00
mplayer.h options: move sub_name, sub_auto and vobsub_name to struct 2011-04-20 04:22:52 +03:00
options.h options, x11+cocoa: add option --cursor-autohide-delay 2012-03-25 22:30:37 +03:00
parser-cfg.c windows support: unicode filenames 2012-03-09 20:48:54 +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: change -v parsing 2012-05-07 23:51:58 +03:00
parser-mpcmd.h options: change -v parsing 2012-05-07 23:51:58 +03:00
path.c win32: get_path(): fix undefined behavior 2012-04-28 21:47:53 +03:00
path.h windows support: unicode filenames 2012-03-09 20:48:54 +02:00
playtree.c build: fix --enable-debug, remove some "#ifdef MP_DEBUG" 2011-07-30 19:03:20 +03:00
playtree.h options: commandline: accept --foo=xyz style options 2011-07-29 07:24:09 +03:00
playtreeparser.c build: fix --enable-debug, remove some "#ifdef MP_DEBUG" 2011-07-30 19:03:20 +03:00
playtreeparser.h options: commandline: accept --foo=xyz style options 2011-07-29 07:24:09 +03:00
pnm_loader.c vo_gl: Move the read_pnm function into a separate file 2010-11-02 04:18:37 +02:00
pnm_loader.h vo_gl: Move the read_pnm function into a separate file 2010-11-02 04:18:37 +02:00
README documentation: remove Changelog, rewrite README 2011-02-15 12:04:32 +02:00
screenshot.c screenshot: fix dependency on sizeof(AVFrame) 2012-04-15 17:48:12 +03:00
screenshot.h core: add screenshot mode for actual VO window contents 2011-11-25 23:56:28 +02:00
subopt-helper.c subopt-helper: support "no-" prefix to negate suboptions 2011-11-14 20:24:39 +02:00
subopt-helper.h Add license header to all top-level files missing them. 2010-01-30 23:24:23 +00:00
talloc.c talloc.[ch]: remove "type safety" hack that violates C types 2011-08-19 03:01:16 +03:00
talloc.h windows: fix format string attributes on MinGW 2012-03-01 00:22:29 +02:00
version.sh Update copyright year 2012-01-28 13:49:13 +02:00

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
 - libfontconfig
 - 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.