0
0
mirror of https://github.com/mpv-player/mpv.git synced 2024-09-20 12:02:23 +02:00
Command line video player
Go to file
wm4 c67e1ba4a6 vo_direct3d: refactor D3D initialization and reconfigure code
This simplifies the code and removes code duplication.

There should be no actual semantic differences to the previous code. The
only exception is that the new code doesn't query the display adapter's
desktop pixel format on backbuffer resizing anymore. In my opinion the
format can never change anyway, and if it does, it will cause the D3D
device to become "uncooperative" and we will recreate it in flip_page.

Remove attempts to handle d3d_device when it's NULL (outside of the
initialization paths). d3d_device can only be NULL if recreating a D3D
device, that was in "incooperative" state, fails. The current (and
previous) code seems to assume that this never happens. It is unlikely
that these NULL checks improved correct operation in any way, or at least
they won't anymore after the recent changes done to the code.

If it should be possible that a device can't be reset/recreated for a
while (during display resolution changes? when another D3D application is
in fullscreen mode?), another solution has to be found.

It is unknown why the code recreates the IDirect3D9 interface when the
device was uncooperative. At least on Windows XP + reference rasterizer,
resuming works without recreating it. Leave this code just in case.
2012-03-17 21:05:39 +01:00
debian debian: remove leftover references to deleted OSD menu files 2011-11-14 20:24:39 +02:00
DOCS vo_gl: add noise filter 2012-02-09 04:58:07 +01:00
drivers the great MPlayer tab removal: part I 2010-04-12 10:56:17 +00:00
etc etc/input.conf: make file contents match default key bindings 2012-01-18 04:14:34 +01:00
ffmpeg_files build: switch to libavutil bswap.h and intreadwrite.h 2012-02-01 22:46:27 +02:00
input Merge remote-tracking branch 'origin/master' into my_master 2012-03-16 19:14:44 +01:00
libaf af: fix crash when trying to use volume controls with AC3 pass-through 2012-03-09 20:48:54 +02:00
libao2 Merge remote-tracking branch 'origin/master' into my_master 2012-03-16 19:14:44 +01:00
libmpcodecs Merge remote-tracking branch 'origin/master' into my_master 2012-03-16 19:14:44 +01:00
libmpdemux Merge remote-tracking branch 'origin/master' into my_master 2012-03-16 19:14:44 +01:00
libvo vo_direct3d: refactor D3D initialization and reconfigure code 2012-03-17 21:05:39 +01:00
loader cleanup: Silence compilation warnings on MinGW-w64 2012-03-01 00:22:30 +02:00
osdep Merge remote-tracking branch 'origin/master' into my_master 2012-03-16 19:14:44 +01:00
rpm libmenu: remove OSD menu functionality (--menu) 2011-10-25 07:05:47 +03:00
stream Merge remote-tracking branch 'origin/master' into my_master 2012-03-16 19:14:44 +01:00
sub Merge remote-tracking branch 'origin/master' into my_master 2012-03-16 19:14:44 +01:00
timeline Merge remote-tracking branch 'origin/master' into my_master 2012-03-16 19:14:44 +01:00
TOOLS vo_vdpau: implement screenshots 2011-11-25 23:56:28 +02:00
.gitignore .gitignore: add /cpuinfo 2011-03-13 22:20:51 +02: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 configure, build: support compiling without libpostproc 2012-02-27 18:18:49 +02: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 bstr: add bstr_eatstart() 2012-02-09 12:44:19 +01:00
bstr.h bstr: add bstr_eatstart() 2012-02-09 12:44:19 +01:00
cfg-mplayer.h Merge remote-tracking branch 'origin/master' into my_master 2012-03-16 19:14:44 +01:00
codec-cfg.c build: Revert "codec-cfg.c: avoid including aviheader.h" 2011-07-07 07:38:24 +03:00
codec-cfg.h codec-cfg: set CODEC_CFG_MIN to the release value in codecs.conf 2010-11-02 04:11:07 +02:00
command.c Merge remote-tracking branch 'origin/master' into my_master 2012-03-16 19:14:44 +01:00
command.h Merge svn changes up to r30475 2010-03-09 19:18:43 +02:00
configure configure: fix --enable-static 2012-03-09 20:48:55 +02:00
Copyright mp3lib: drop internal mp3lib tree 2011-04-02 07:28:53 +03:00
cpudetect.c cpudetect.c: check OS SSE support only with runtime detection 2011-07-06 13:01:07 +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 Merge remote-tracking branch 'origin/master' into my_master 2012-03-05 22:24:57 +01: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: add "disabled option" functionality 2011-09-04 14:36:09 +03:00
m_config.h options: add "disabled option" functionality 2011-09-04 14:36:09 +03:00
m_option.c options: allow choice options without parameter 2012-01-18 04:33:30 +01:00
m_option.h Merge remote-tracking branch 'origin/master' into my_master 2012-03-16 19:14:44 +01: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: change option parsing to use bstr 2011-07-29 05:50:38 +03:00
m_struct.h options: change option parsing to use bstr 2011-07-29 05:50:38 +03:00
Makefile Merge remote-tracking branch 'origin/master' into my_master 2012-03-16 19:14:44 +01: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, libao: add proper mute control 2012-01-18 04:21:46 +01:00
mixer.h mixer, libao: add proper mute control 2012-01-18 04:21:46 +01:00
mp_core.h core: remove old EDL mode (--edl option) 2012-03-09 20:48:54 +02:00
mp_fifo.c input: allow unicode keys and reassign internal key codes 2012-01-18 04:11:48 +01:00
mp_fifo.h input: allow unicode keys and reassign internal key codes 2012-01-18 04:11:48 +01:00
mp_msg.c windows: terminal: unicode, --msgcolor, size change 2012-03-09 20:48:54 +02: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 Use "mplayer2" in version string, not "MPlayer2" 2012-03-14 10:29:35 +01:00
mpcommon.h windows: fix format string attributes on MinGW 2012-03-01 00:22:29 +02:00
mplayer.c Merge remote-tracking branch 'origin/master' into my_master 2012-03-16 19:14:44 +01:00
mplayer.h options: move sub_name, sub_auto and vobsub_name to struct 2011-04-20 04:22:52 +03:00
options.h screenshot: make screenshot filenames configurable 2012-02-29 04:14:54 +01: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: commandline: support "--no-opt" for flag options 2011-09-01 18:32:11 +03:00
parser-mpcmd.h options: move command line preparse together with parse 2011-07-26 06:02:03 +03:00
path.c windows support: unicode filenames 2012-03-09 20:48:54 +02:00
path.h windows support: unicode filenames 2012-03-09 20:48:54 +02:00
playtree.c playtree: --shuffle shouldn't make playlist navigation useless 2012-01-18 02:53:30 +01: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 windows support: use UTF-8 for screenshot filenames 2012-03-17 20:58:16 +01:00
screenshot.h screenshot: make screenshot filenames configurable 2012-02-29 04:14:54 +01: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 Use "mplayer2" in version string, not "MPlayer2" 2012-03-14 10:29:35 +01: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.