1
0
mirror of https://github.com/mpv-player/mpv synced 2025-01-30 11:42:04 +00:00
Command line video player
Go to file
wm4 b049ffb330 video: remove rounding of display size to multiples of 2
The code that is changed is responsible for scaling the video size to
display size, so that the resulting video rectangle is letter-boxed
inside the display window. This is before panscan calculations, which
can actually enlarge the video and make it larger than the display size
again. (src_dst_split_scaling() in vo.c takes cares of clipping the
video size to window size.)

I'm not sure why this rounding is done, as using panscan controls can
introduce odd sizes again. The rounding has been part of the code since
the initial commit. On the other hand, this rounding can slightly
influence the aspect ratio of the displayed image to the worse. It
forces the image to be scaled by an additional pixel, without actually
correcting the display size into the other direction.

Although video sizes are usually at least aligned on 2 (and often more),
odd sizes can still happen when playing e.g. anamorphic DVDs.

Remove the additional rounding.

(Note that we still round the _source_ image position and size when the
displayed image is larger than the screen, e.g. when panscan is used.
This is needed by some VOs so that the image source rectangle starts on
full chroma pixels. Maybe this rounding should be moved to the
respective VOs, which includes at least vo_direct3d.)
2013-03-17 22:07:13 +01:00
audio af_lavrresample: add new resampling filter to replace the old ones 2013-03-13 23:51:30 +01:00
compat configure: bump minimum FFmpeg/Libav versions, remove compat hacks 2013-03-13 23:52:04 +01:00
core configure: bump minimum FFmpeg/Libav versions, remove compat hacks 2013-03-13 23:52:04 +01:00
demux demux_mkv: support ALAC 2013-03-15 12:17:39 +01:00
DOCS af_lavrresample: add new resampling filter to replace the old ones 2013-03-13 23:51:30 +01:00
etc input: ignore normal mouse click by default 2013-03-14 00:10:15 +01:00
osdep Prefix keycode defines with MP_ 2013-02-12 10:27:00 +01:00
stream network: set default user-agent to MPlayer's 2013-02-26 01:55:52 +01:00
sub Prefix CODEC_ID_ with AV_ 2013-03-13 23:51:30 +01:00
TOOLS demux_mkv: support V_UNCOMPRESSED video tracks 2013-01-24 17:45:13 +01:00
video video: remove rounding of display size to multiples of 2 2013-03-17 22:07:13 +01:00
.gitignore core: redo how codecs are mapped, remove codecs.conf 2013-02-10 17:25:56 +01:00
AUTHORS
configure video: use new method to get QP table 2013-03-15 14:21:42 +01:00
Copyright Copyright: cleanup entries for removed code 2013-02-03 16:53:49 +01:00
LICENSE
Makefile af_lavrresample: add new resampling filter to replace the old ones 2013-03-13 23:51:30 +01:00
README.rst README: add a new one using ReST 2013-01-07 21:09:11 +01:00
talloc.c
talloc.h clang: fix all warnings except deprecations 2012-11-13 22:19:18 +01:00
version.sh version.sh: fix git rev. generation (.git is not always a directory) 2013-02-06 23:03:37 +01:00

mpv
###

Overview
========

**mpv** is a movie player based on MPlayer and mplayer2. It supports a wide
variety of video file formats, audio and video codecs, and subtitle types.

If you are wondering what's different from mplayer2 and MPlayer you can read
more about the changes_.

Compilation
===========

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.

Essential dependencies (incomplete list):

- gcc or clang
- X development headers (xlib, X extensions, libvdpau, libGL, libXv, ...)
- Audio output development headers (libasound, pulseaudio)
- fribidi, freetype, fontconfig development headers (for libass)
- libass
- FFmpeg libraries (libavutil libavcodec libavformat libswscale libpostproc)
- libjpeg
- libquvi if you want to play Youtube videos directly
- libx264 if you want to use encoding (has to be explicitly enabled when
  compiling ffmpeg)

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 (mpv-build_) that first compiles FFmpeg
libraries and libass, and then compiles the player statically linked against
those.

If you are running Mac OSX and using homebrew we provide homebrew-mpv_, an up
to date formula that compiles mpv with sensible dependencies and defaults for
OSX.

Bug reports
===========

Please use the `issues tracker`_ provided by GitHub to send us bug reports or
feature requests.

Contributing
============

For small changes you can just send us pull requests through GitHub. For bigger
changes come and talk to us on IRC before you start working on them. It will
make code review easier for both parties later on.

Contacts
========

You can find us on IRC in ``#mpv-player`` on ``irc.freenode.net``

.. _changes: https://github.com/mpv-player/mpv/blob/master/DOCS/man/en/changes.rst
.. _mpv-build: https://github.com/mpv-player/mpv-build
.. _homebrew-mpv: https://github.com/mpv-player/homebrew-mpv
.. _issues tracker: https://github.com/mpv-player/mpv/issues