mirror of
https://github.com/mpv-player/mpv
synced 2024-12-26 09:02:38 +00:00
Command line video player
b6628f4e1e
Rewrite the csputils.c code generating a conversion matrix for YUV->RGB conversions (currently used by vo_gl only). Functional differences: - The separate "mplayer default" colorspace is removed, and BT.601 is used instead (the default colorspace was in fact BT.601; see below). - The old code was missing chroma scaling. As a result the "mplayer default" colorspace actually mapped to BT.601, and everything else was buggy (I guess the other colorspaces were added with particular coefficient semantics, without understanding that the original "default colorspace" was actually BT.601 and why its coefficients differed from the added version). - The old code had a bug in the equalizer hue equations. - The old code assumed that for specifying whether input and output were limited-range or full-range YUV or RGB it would make sense to specify "no conversion" meaning full-range YUV to full-range RGB or limited-range YUV to limited-range RGB. This isn't true; limited- range YUV has different ranges for luma and chroma (16-235 vs 16-240) which means you have to scale chroma for limited->limited conversions. The new code assumes limited->limited conversions for the levelconv parameter 2. It'd probably make sense to change the API later to specify the ranges of input and output separately. - The undocumented EBU and XYZ colorspaces are removed. I doubt any videos use these. Also the EBU colorspace looks like it'd expect a different input range - at least no input would map to full RGB red as it was. |
||
---|---|---|
debian | ||
DOCS | ||
drivers | ||
etc | ||
ffmpeg_files | ||
input | ||
libaf | ||
libao2 | ||
libmenu | ||
libmpcodecs | ||
libmpdemux | ||
libvo | ||
loader | ||
osdep | ||
rpm | ||
stream | ||
sub | ||
timeline | ||
TOOLS | ||
.gitignore | ||
access_mpcontext.h | ||
asxparser.c | ||
asxparser.h | ||
AUTHORS | ||
av_log.c | ||
av_log.h | ||
av_opts.c | ||
av_opts.h | ||
bstr.c | ||
bstr.h | ||
cfg-mplayer.h | ||
codec-cfg.c | ||
codec-cfg.h | ||
command.c | ||
command.h | ||
configure | ||
Copyright | ||
cpudetect.c | ||
cpudetect.h | ||
cpuinfo.c | ||
defaultopts.c | ||
defaultopts.h | ||
edl.c | ||
edl.h | ||
fmt-conversion.c | ||
fmt-conversion.h | ||
LICENSE | ||
m_config.c | ||
m_config.h | ||
m_option.c | ||
m_option.h | ||
m_property.c | ||
m_property.h | ||
m_struct.c | ||
m_struct.h | ||
Makefile | ||
mangle.h | ||
metadata.h | ||
mixer.c | ||
mixer.h | ||
mp_core.h | ||
mp_fifo.c | ||
mp_fifo.h | ||
mp_msg.c | ||
mp_msg.h | ||
mp_osd.h | ||
mpbswap.h | ||
mpcommon.c | ||
mpcommon.h | ||
mplayer.c | ||
mplayer.h | ||
options.h | ||
parser-cfg.c | ||
parser-cfg.h | ||
parser-mpcmd.c | ||
parser-mpcmd.h | ||
path.c | ||
path.h | ||
playtree.c | ||
playtree.h | ||
playtreeparser.c | ||
playtreeparser.h | ||
pnm_loader.c | ||
pnm_loader.h | ||
README | ||
subopt-helper.c | ||
subopt-helper.h | ||
talloc.c | ||
talloc.h | ||
version.sh |
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.