summaryrefslogtreecommitdiffstats
path: root/DOCS
diff options
context:
space:
mode:
authorMartin Herkt <lachs0r@srsfckn.biz>2015-09-23 01:12:42 +0200
committerMartin Herkt <lachs0r@srsfckn.biz>2015-09-23 01:12:42 +0200
commitead2933792d6ad958c8ac2d50a0169c3c093ff2b (patch)
tree682e71897c514d537df387e30dc758b8e1bae044 /DOCS
parent181e1377b24498f1a335a5eeecf46907edae092a (diff)
parent79f8ee2808ebdf100d1a3aba9a853f801698a2ad (diff)
downloadmpv-ead2933792d6ad958c8ac2d50a0169c3c093ff2b.tar.bz2
mpv-ead2933792d6ad958c8ac2d50a0169c3c093ff2b.tar.xz
Merge branch 'master' into release/current
Diffstat (limited to 'DOCS')
-rw-r--r--DOCS/client-api-changes.rst17
-rw-r--r--DOCS/client_api_examples/sdl/main.c3
-rw-r--r--DOCS/interface-changes.rst6
-rw-r--r--DOCS/man/af.rst191
-rw-r--r--DOCS/man/input.rst7
-rw-r--r--DOCS/man/options.rst4
-rw-r--r--DOCS/man/vf.rst72
-rw-r--r--DOCS/man/vo.rst77
-rw-r--r--DOCS/release-policy.md96
9 files changed, 163 insertions, 310 deletions
diff --git a/DOCS/client-api-changes.rst b/DOCS/client-api-changes.rst
index 8af045d633..2a97fd29e1 100644
--- a/DOCS/client-api-changes.rst
+++ b/DOCS/client-api-changes.rst
@@ -32,14 +32,15 @@ API changes
::
- ... - add "GL_MP_D3D_interfaces" pseudo extension to make it possible to
+ --- mpv 0.11.0 ---
+ 1.19 - add "GL_MP_D3D_interfaces" pseudo extension to make it possible to
use DXVA2 in OpenGL fullscreen mode in some situations
- 1.19 - mpv_request_log_messages() now accepts "terminal-default" as parameter
+ - mpv_request_log_messages() now accepts "terminal-default" as parameter
1.18 - add MPV_END_FILE_REASON_REDIRECT, and change behavior of
MPV_EVENT_END_FILE accordingly
- a bunch of interface-changes.rst changes
1.17 - mpv_initialize() now blocks SIGPIPE (details see client.h)
- --- mpv 0.9.0 is released ---
+ --- mpv 0.9.0 ---
1.16 - add mpv_opengl_cb_report_flip()
- introduce mpv_opengl_cb_draw() and deprecate mpv_opengl_cb_render()
- add MPV_FORMAT_BYTE_ARRAY
@@ -48,7 +49,7 @@ API changes
mpv.conf.
- minor backwards-compatible change to the "seek" and "screenshot"
commands (new flag syntax, old additional args deprecated)
- --- mpv 0.8.0 is released ---
+ --- mpv 0.8.0 ---
1.14 - add mpv_wait_async_requests()
- the --msg-level option changes its native type from a flat string to
a key-value list (setting/reading the option as string still works)
@@ -61,7 +62,7 @@ API changes
its own and mpv's OpenGL rendering
Warning: this API is not stable yet - anything in opengl_cb.h might
be changed in completely incompatible ways in minor API bumps
- --- mpv 0.7.0 is released ---
+ --- mpv 0.7.0 ---
1.10 - deprecate/disable everything directly related to script_dispatch
(most likely affects nobody)
1.9 - add enum mpv_end_file_reason for mpv_event_end_file.reason
@@ -84,7 +85,7 @@ API changes
1.6 - modify "core-idle" property behavior
- MPV_EVENT_LOG_MESSAGE now always sends complete lines
- introduce numeric log levels (mpv_log_level)
- --- mpv 0.6.0 is released ---
+ --- mpv 0.6.0 ---
1.5 - change in X11 and "--wid" behavior again. The previous change didn't
work as expected, and now the behavior can be explicitly controlled
with the "input-x11-keyboard" option. This is only a temporary
@@ -93,7 +94,7 @@ API changes
although the old option name still works.
1.4 - subtle change in X11 and "--wid" behavior
(this change was added to 0.5.2, and broke some things, see #1090)
- --- mpv 0.5.0 is released ---
+ --- mpv 0.5.0 ---
1.3 - add MPV_MAKE_VERSION()
1.2 - remove "stream-time-pos" property (no replacement)
1.1 - remap dvdnav:// to dvd://
@@ -105,6 +106,6 @@ API changes
insignificant is now significant
- add "cache-free" and "cache-used" properties
- OSX: the "coreaudio" AO spdif code is split into a separate AO
- --- mpv 0.4.0 is released ---
+ --- mpv 0.4.0 ---
1.0 - the API is declared stable
diff --git a/DOCS/client_api_examples/sdl/main.c b/DOCS/client_api_examples/sdl/main.c
index ae4b2b25b0..b3b5952668 100644
--- a/DOCS/client_api_examples/sdl/main.c
+++ b/DOCS/client_api_examples/sdl/main.c
@@ -52,7 +52,8 @@ int main(int argc, char *argv[])
SDL_Window *window =
SDL_CreateWindow("hi", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED,
- 1000, 500, SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN);
+ 1000, 500, SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN |
+ SDL_WINDOW_RESIZABLE);
if (!window)
die("failed to create SDL window");
diff --git a/DOCS/interface-changes.rst b/DOCS/interface-changes.rst
index 2d103ebfb3..713dea8038 100644
--- a/DOCS/interface-changes.rst
+++ b/DOCS/interface-changes.rst
@@ -19,7 +19,9 @@ Interface changes
::
- --- mpv 0.10.0 will be released ---
+ --- mpv 0.11.0 ---
+ - add "af-metadata" property
+ --- mpv 0.10.0 ---
- add --video-aspect-method option
- add --playlist-pos option
- add --video-sync* options
@@ -85,4 +87,4 @@ Interface changes
- add --screenshot-high-bit-depth
- add --screenshot-jpeg-source-chroma
- default action for "rescan_external_files" command changes
- --- mpv 0.9.0 is released ---
+ --- mpv 0.9.0 ---
diff --git a/DOCS/man/af.rst b/DOCS/man/af.rst
index 15bc3050e6..1ff5859d70 100644
--- a/DOCS/man/af.rst
+++ b/DOCS/man/af.rst
@@ -11,6 +11,10 @@ syntax is:
To get a full list of available audio filters, see ``--af=help``.
+ Also, keep in mind that most actual filters are available via the ``lavfi``
+ wrapper, which gives you access to most of libavfilter's filters. This
+ includes all filters that have been ported from MPlayer to libavfilter.
+
You can also set defaults for each filter. The defaults are applied before the
normal filter parameters.
@@ -59,6 +63,13 @@ Available filters are:
(If you just want to set defaults for this filter that will be used
even by automatically inserted lavrresample instances, you should
prefer setting them with ``--af-defaults=lavrresample:...``.)
+ ``normalize=<yes|no>``
+ Whether to normalize when remixing channel layouts (default: yes). This
+ is e.g. applied when downmixing surround audio to stereo. The advantage
+ is that this guarantees that no clipping can happen. Unfortunately,
+ this can also lead to too low volume levels. Whether you enable or
+ disable this is essentially a matter of taste, but the default uses
+ the safer choice.
``o=<string>``
Set AVOptions on the SwrContext or AVAudioResampleContext. These should
be documented by FFmpeg or Libav.
@@ -96,59 +107,6 @@ Available filters are:
If the input channel number is less than ``<minch>``, the filter will
detach itself (default: 3).
-``sweep[=speed]``
- Produces a sine sweep.
-
- ``<0.0-1.0>``
- Sine function delta, use very low values to hear the sweep.
-
-``sinesuppress[=freq:decay]``
- Remove a sine at the specified frequency. Useful to get rid of the 50/60 Hz
- noise on low quality audio equipment. It only works on mono input.
-
- ``<freq>``
- The frequency of the sine which should be removed (in Hz) (default:
- 50)
- ``<decay>``
- Controls the adaptivity (a larger value will make the filter adapt to
- amplitude and phase changes quicker, a smaller value will make the
- adaptation slower) (default: 0.0001). Reasonable values are around
- 0.001.
-
-``bs2b[=option1:option2:...]``
- Bauer stereophonic to binaural transformation using libbs2b. Improves the
- headphone listening experience by making the sound similar to that from
- loudspeakers, allowing each ear to hear both channels and taking into
- account the distance difference and the head shadowing effect. It is
- applicable only to 2-channel audio.
-
- ``fcut=<300-1000>``
- Set cut frequency in Hz.
- ``feed=<10-150>``
- Set feed level for low frequencies in 0.1*dB.
- ``profile=<value>``
- Several profiles are available for convenience:
-
- :default: will be used if nothing else was specified (fcut=700,
- feed=45)
- :cmoy: Chu Moy circuit implementation (fcut=700, feed=60)
- :jmeier: Jan Meier circuit implementation (fcut=650, feed=95)
-
- If ``fcut`` or ``feed`` options are specified together with a profile, they
- will be applied on top of the selected profile.
-
-``hrtf[=flag]``
- Head-related transfer function: Converts multichannel audio to 2-channel
- output for headphones, preserving the spatiality of the sound.
-
- ==== ===================================
- Flag Meaning
- ==== ===================================
- m matrix decoding of the rear channel
- s 2-channel matrix decoding
- 0 no matrix decoding (default)
- ==== ===================================
-
``equalizer=g1:g2:g3:...:g10``
10 octave band graphic equalizer, implemented using 10 IIR band-pass
filters. This means that it works regardless of what type of audio is
@@ -354,64 +312,6 @@ Available filters are:
``mpv '--af=format=channels=5.1' '--audio-channels=5.1'`` would always force
remixing audio to 5.1 and output it like this.
-``sub[=fc:ch]``
- Adds a subwoofer channel to the audio stream. The audio data used for
- creating the subwoofer channel is an average of the sound in channel 0 and
- channel 1. The resulting sound is then low-pass filtered by a 4th order
- Butterworth filter with a default cutoff frequency of 60Hz and added to a
- separate channel in the audio stream.
-
- .. warning::
-
- Disable this filter when you are playing media with an LFE channel
- (e.g. 5.1 surround sound), otherwise this filter will disrupt the sound
- to the subwoofer.
-
- ``<fc>``
- cutoff frequency in Hz for the low-pass filter (20 Hz to 300 Hz)
- (default: 60 Hz) For the best result try setting the cutoff frequency
- as low as possible. This will improve the stereo or surround sound
- experience.
- ``<ch>``
- Determines the channel number in which to insert the sub-channel
- audio. Channel number can be between 0 and 7 (default: 5). Observe
- that the number of channels will automatically be increased to <ch> if
- necessary.
-
- .. admonition:: Example
-
- ``mpv --af=sub=100:4 --audio-channels=5 media.avi``
- Would add a subwoofer channel with a cutoff frequency of 100 Hz to
- output channel 4.
-
-``center``
- Creates a center channel from the front channels. May currently be low
- quality as it does not implement a high-pass filter for proper extraction
- yet, but averages and halves the channels instead.
-
- ``<ch>``
- Determines the channel number in which to insert the center channel.
- Channel number can be between 0 and 7 (default: 5). Observe that the
- number of channels will automatically be increased to ``<ch>`` if
- necessary.
-
-``surround[=delay]``
- Decoder for matrix encoded surround sound like Dolby Surround. Some files
- with 2-channel audio actually contain matrix encoded surround sound.
-
- ``<delay>``
- delay time in ms for the rear speakers (0 to 1000) (default: 20) This
- delay should be set as follows: If d1 is the distance from the
- listening position to the front speakers and d2 is the distance from
- the listening position to the rear speakers, then the delay should be
- set to 15ms if d1 <= d2 and to 15 + 5*(d1-d2) if d1 > d2.
-
- .. admonition:: Example
-
- ``mpv --af=surround=15 --audio-channels=4 media.avi``
- Would add surround sound decoding with 15 ms delay for the sound to
- the rear speakers.
-
``delay[=[ch1,ch2,...]]``
Delays the sound to the loudspeakers such that the sound from the
different channels arrives at the listening position simultaneously. It is
@@ -440,36 +340,6 @@ Available filters are:
Would delay front left and right by 10.5 ms, the two rear channels
and the subwoofer by 0 ms and the center channel by 7 ms.
-``export=mmapped_file:nsamples]``
- Exports the incoming signal to other processes using memory mapping
- (``mmap()``). Memory mapped areas contain a header::
-
- int nch /* number of channels */
- int size /* buffer size */
- unsigned long long counter /* Used to keep sync, updated every time
- new data is exported. */
-
- The rest is payload (non-interleaved) 16-bit data.
-
- ``<mmapped_file>``
- File to map data to (required)
- ``<nsamples>``
- number of samples per channel (default: 512).
-
- .. admonition:: Example
-
- ``mpv --af=export=/tmp/mpv-af_export:1024 media.avi``
- Would export 1024 samples per channel to ``/tmp/mpv-af_export``.
-
-``extrastereo[=mul]``
- (Linearly) increases the difference between left and right channels which
- adds some sort of "live" effect to playback.
-
- ``<mul>``
- Sets the difference coefficient (default: 2.5). 0.0 means mono sound
- (average of both channels), with 1.0 sound will be unchanged, with
- -1.0 left and right channels will be swapped.
-
``drc[=method:target]``
Applies dynamic range compression. This maximizes the volume by compressing
the audio signal's dynamic range. (Formerly called ``volnorm``.)
@@ -493,45 +363,6 @@ Available filters are:
This filter can cause distortion with audio signals that have a very
large dynamic range.
-``ladspa=file:label:[<control0>,<control1>,...]``
- Load a LADSPA (Linux Audio Developer's Simple Plugin API) plugin. This
- filter is reentrant, so multiple LADSPA plugins can be used at once.
-
- ``<file>``
- Specifies the LADSPA plugin library file.
-
- .. note::
-
- See also the note about the ``LADSPA_PATH`` variable in the
- `ENVIRONMENT VARIABLES`_ section.
- ``<label>``
- Specifies the filter within the library. Some libraries contain only
- one filter, but others contain many of them. Entering 'help' here
- will list all available filters within the specified library, which
- eliminates the use of 'listplugins' from the LADSPA SDK.
- ``[<control0>,<control1>,...]``
- Controls are zero or more ``,`` separated floating point values that
- determine the behavior of the loaded plugin (for example delay,
- threshold or gain).
- In verbose mode (add ``-v`` to the mpv command line), all
- available controls and their valid ranges are printed. This eliminates
- the use of 'analyseplugin' from the LADSPA SDK.
- Note that ``,`` is already used by the option parser to separate
- filters, so you must quote the list of values with ``[...]`` or
- similar.
-
- .. admonition:: Example
-
- ``mpv --af=ladspa='/usr/lib/ladspa/delay.so':delay_5s:[0.5,0.2] media.avi``
- Does something.
-
-``karaoke``
- Simple voice removal filter exploiting the fact that voice is usually
- recorded with mono gear and later 'center' mixed onto the final audio
- stream. Beware that this filter will turn your signal into mono. Works
- well for 2 channel tracks; do not bother trying it on anything but 2
- channel stereo.
-
``scaletempo[=option1:option2:...]``
Scales audio tempo without altering pitch, optionally synced to playback
speed (default).
diff --git a/DOCS/man/input.rst b/DOCS/man/input.rst
index c49587eabf..3f4ed5c3dc 100644
--- a/DOCS/man/input.rst
+++ b/DOCS/man/input.rst
@@ -1091,6 +1091,9 @@ Property list
An example of these kind of metadata are the cropping parameters
added by ``--vf=lavfi=cropdetect``.
+``af-metadata/<filter-label>``
+ Equivalent to ``vf-metadata/<filter-label>``, but for audio filters.
+
``pause`` (RW)
Pause status. This is usually ``yes`` or ``no``. See ``--pause``.
@@ -1111,11 +1114,13 @@ Property list
Network cache fill state (0-100.0).
``cache-size`` (RW)
- Total network cache size in KB. This is similar to ``--cache``. This allows
+ Network cache size in KB. This is similar to ``--cache``. This allows
to set the cache size at runtime. Currently, it's not possible to enable
or disable the cache at runtime using this property, just to resize an
existing cache.
+ This does not include the backbuffer size (changed after mpv 0.10.0).
+
Note that this tries to keep the cache contents as far as possible. To make
this easier, the cache resizing code will allocate the new cache while the
old cache is still allocated.
diff --git a/DOCS/man/options.rst b/DOCS/man/options.rst
index f1d045622a..69a2147b37 100644
--- a/DOCS/man/options.rst
+++ b/DOCS/man/options.rst
@@ -761,6 +761,10 @@ Video
:top: top field first
:bottom: bottom field first
+ .. note::
+
+ Setting either ``top`` or ``bottom`` will flag all frames as interlaced.
+
``--frames=<number>``
Play/convert only first ``<number>`` video frames, then quit.
diff --git a/DOCS/man/vf.rst b/DOCS/man/vf.rst
index 6479560444..f4453cb729 100644
--- a/DOCS/man/vf.rst
+++ b/DOCS/man/vf.rst
@@ -17,6 +17,10 @@ normal filter parameters.
To get a full list of available video filters, see ``--vf=help``.
+ Also, keep in mind that most actual filters are available via the ``lavfi``
+ wrapper, which gives you access to most of libavfilter's filters. This
+ includes all filters that have been ported from MPlayer to libavfilter.
+
Video filters are managed in lists. There are a few commands to manage the
filter list.
@@ -409,41 +413,6 @@ Available filters are:
``'--vf=lavfi=yadif:o="threads=2,thread_type=slice"'``
forces a specific threading configuration.
-``noise[=<strength>[:averaged][:pattern][:temporal][:uniform][:hq]``
- Adds noise.
-
- ``strength``
- Set the noise for all components. If you want different strength
- values for luma and chroma, use libavfilter's noise filter directly
- (using ``--vf=lavfi=[noise=...]``), or tell the libavfilter developers
- to stop being stupid.
-
- ``averaged``
- averaged temporal noise (smoother, but a lot slower)
-
- ``pattern``
- mix random noise with a (semi)regular pattern
-
- ``temporal``
- temporal noise (noise pattern changes between frames)
-
- ``uniform``
- uniform noise (Gaussian otherwise)
-
-``hqdn3d[=luma_spatial:chroma_spatial:luma_tmp:chroma_tmp]``
- This filter aims to reduce image noise producing smooth images and making
- still images really still (This should enhance compressibility.).
-
- ``<luma_spatial>``
- spatial luma strength (default: 4)
- ``<chroma_spatial>``
- spatial chroma strength (default: 3)
- ``<luma_tmp>``
- luma temporal strength (default: 6)
- ``<chroma_tmp>``
- chroma temporal strength (default:
- ``luma_tmp*chroma_spatial/luma_spatial``)
-
``eq[=gamma:contrast:brightness:saturation:rg:gg:bg:weight]``
Software equalizer that uses lookup tables (slow), allowing gamma correction
in addition to simple brightness and contrast adjustment. The parameters are
@@ -470,23 +439,6 @@ Available filters are:
and just plain white. A value of 0.0 turns the gamma correction all
the way down while 1.0 leaves it at its full strength (default: 1.0).
-``unsharp[=lx:ly:la:cx:cy:ca]``
- unsharp mask / Gaussian blur
-
- ``l`` is for the luma component, ``c`` for the chroma component. ``x``/``y``
- is the filter size. ``a`` is the amount.
-
- ``lx``, ``ly``, ``cx``, ``cy``
- width and height of the matrix, odd sized in both directions (min =
- 3:3, max = 13:11 or 11:13, usually something between 3:3 and 7:7)
-
- ``la``, ``ca``
- Relative amount of sharpness/blur to add to the image (a sane range
- should be -1.5-1.5).
-
- :<0: blur
- :>0: sharpen
-
``pullup[=jl:jr:jt:jb:sb:mp]``
Pulldown reversal (inverse telecine) filter, capable of handling mixed
hard-telecine, 24000/1001 fps progressive, and 30000/1001 fps progressive
@@ -545,22 +497,6 @@ Available filters are:
when inserting yadif with ``--vf``, so using the above methods is
recommended.
-``delogo[=x:y:w:h:t:show]``
- Suppresses a TV station logo by a simple interpolation of the surrounding
- pixels. Just set a rectangle covering the logo and watch it disappear (and
- sometimes something even uglier appear - your mileage may vary).
-
- ``<x>,<y>``
- top left corner of the logo
- ``<w>,<h>``
- width and height of the cleared rectangle
- ``<t>``
- Thickness of the fuzzy edge of the rectangle (added to ``w`` and
- ``h``). When set to -1, a green rectangle is drawn on the screen to
- simplify finding the right ``x``,``y``,``w``,``h`` parameters.
- ``show``
- Draw a rectangle showing the area defined by x/y/w/h.
-
``sub=[=bottom-margin:top-margin]``
Moves subtitle rendering to an arbitrary point in the filter chain, or force
subtitle rendering in the video filter as opposed to using video output OSD
diff --git a/DOCS/man/vo.rst b/DOCS/man/vo.rst
index ef4a677c62..e3f0757280 100644
--- a/DOCS/man/vo.rst
+++ b/DOCS/man/vo.rst
@@ -290,6 +290,26 @@ Available video output drivers are:
color space conversion and chroma upsampling is generally in the hand of
the hardware decoder APIs.
+ ``opengl`` makes use of FBOs by default. Sometimes you can achieve better
+ quality or performance by changing the ``fbo-format`` suboption to
+ ``rgb16f``, ``rgb32f`` or ``rgb``. Known problems include Mesa/Intel not
+ accepting ``rgb16``, Mesa sometimes not being compiled with float texture
+ support, and some OS X setups being very slow with ``rgb16`` but fast
+ with ``rgb32f``. If you have problems, you can also try passing the
+ ``dumb-mode=yes`` sub-option.
+
+ ``dumb-mode=<yes|no>``
+ This mode is extremely restricted, and will disable most extended
+ OpenGL features. This includes high quality scalers and custom
+ shaders!
+
+ It is intended for hardware that does not support FBOs (including GLES,
+ which supports it insufficiently), or to get some more performance out
+ of bad or old hardware.
+
+ This mode is forced automatically if needed, and this option is mostly
+ useful for debugging.
+
``scale=<filter>``
``bilinear``
@@ -530,17 +550,9 @@ Available video output drivers are:
feature doesn't work correctly with different scale factors in
different directions.
- ``source-shader=<file>``, ``scale-shader=<file>``, ``pre-shaders=<files>``, ``post-shaders=<files>``
+ ``pre-shaders=<files>``, ``post-shaders=<files>``, ``scale-shader=<file>``
Custom GLSL fragment shaders.
- source-shader
- This gets applied directly onto the source planes, before
- any sort of upscaling or conversion whatsoever. For YCbCr content,
- this means it gets applied on the luma and chroma planes
- separately. In general, this shader shouldn't be making any
- assumptions about the colorspace. It could be RGB, YCbCr, XYZ or
- something else entirely. It's used purely for fixing numerical
- quirks of the input, eg. debanding or deblocking.
pre-shaders (list)
These get applied after conversion to RGB and before linearization
and upscaling. Operates on non-linear RGB (same as input). This is
@@ -581,10 +593,6 @@ Available video output drivers are:
never resets (regardless of seeks).
vec2 image_size
The size in pixels of the input image.
- float cmul (source-shader only)
- The multiplier needed to pull colors up to the right bit depth. The
- source-shader must multiply any sampled colors by this, in order
- to normalize them to the full scale.
For example, a shader that inverts the colors could look like this::
@@ -594,6 +602,37 @@ Available video output drivers are:
return vec4(1.0 - color.rgb, color.a);
}
+ ``deband``
+ Enable the debanding algorithm. This greatly reduces the amount of
+ visible banding, blocking and other quantization artifacts, at the
+ expensive of very slightly blurring some of the finest details. In
+ practice, it's virtually always an improvement - the only reason to
+ disable it would be for performance.
+
+ ``deband-iterations=<1..16>``
+ The number of debanding steps to perform per sample. Each step reduces
+ a bit more banding, but takes time to compute. Note that the strength
+ of each step falls off very quickly, so high numbers are practically
+ useless. (Default 4)
+
+ If the performance hit of debanding is too great, you can reduce this
+ to 2 or 1 with marginal visual quality loss.
+
+ ``deband-threshold=<0..4096>``
+ The debanding filter's cut-off threshold. Higher numbers increase the
+ debanding strength dramatically but progressively diminish image
+ details. (Default 64)
+
+ ``deband-range=<1..64>``
+ The debanding filter's initial radius. The radius increases linearly
+ for each iteration. A higher radius will find more gradients, but
+ a lower radius will smooth more aggressively. (Default 8)
+
+ ``deband-grain=<0..4096>``
+ Add some extra noise to the image. This significantly helps cover up
+ remaining quantization artifacts. Higher numbers add more noise.
+ (Default 48)
+
``sigmoid-upscaling``
When upscaling, use a sigmoidal color transform to avoid emphasizing
ringing artifacts. This also implies ``linear-scaling``.
@@ -657,8 +696,7 @@ Available video output drivers are:
``fbo-format=<fmt>``
Selects the internal format of textures used for FBOs. The format can
- influence performance and quality of the video output. (FBOs are not
- always used, and typically only when using extended scalers.)
+ influence performance and quality of the video output.
``fmt`` can be one of: rgb, rgba, rgb8, rgb10, rgb10_a2, rgb16, rgb16f,
rgb32f, rgba12, rgba16, rgba16f, rgba32f.
Default: rgba16.
@@ -821,18 +859,11 @@ Available video output drivers are:
This is equivalent to::
- --vo=opengl:scale=spline36:cscale=spline36:dscale=mitchell:dither-depth=auto:fancy-downscaling:sigmoid-upscaling:pbo
+ --vo=opengl:scale=spline36:cscale=spline36:dscale=mitchell:dither-depth=auto:fancy-downscaling:sigmoid-upscaling:pbo:deband
Note that some cheaper LCDs do dithering that gravely interferes with
``opengl``'s dithering. Disabling dithering with ``dither-depth=no`` helps.
- Unlike ``opengl``, ``opengl-hq`` makes use of FBOs by default. Sometimes you
- can achieve better quality or performance by changing the ``fbo-format``
- suboption to ``rgb16f``, ``rgb32f`` or ``rgb``. Known problems include
- Mesa/Intel not accepting ``rgb16``, Mesa sometimes not being compiled with
- float texture support, and some OS X setups being very slow with ``rgb16``
- but fast with ``rgb32f``.
-
``sdl``
SDL 2.0+ Render video output driver, depending on system with or without
hardware acceleration. Should work on all platforms supported by SDL 2.0.
diff --git a/DOCS/release-policy.md b/DOCS/release-policy.md
index 322e9a010a..5a1f961f37 100644
--- a/DOCS/release-policy.md
+++ b/DOCS/release-policy.md
@@ -1,64 +1,106 @@
Release Policy
==============
-Every few months, a new release is cut off of the master branch and is assigned
-a 0.X.0 version number.
+Once or twice a month, a new release is cut off of the master branch and is
+assigned a 0.X.Y version number, where X is incremented each time a release
+contains breaking changes, such as changed options or added/removed features,
+and Y is incremented if a release contains only bugfixes and other minor
+changes.
-As part of the maintenance process, minor releases are made, which are assigned
-0.X.Y version numbers. Minor releases contain bug fixes only. They never merge
-the master branch, and no features are added to it. Only the latest release is
-maintained.
+There is only one release branch that keeps track of the latest version and
+will not be maintained separately.
-The goal of releases is to provide stability and an unchanged base for the sake
-of Linux distributions. If you want the newest features, just use the master
-branch, which is stable most of the time, except sometimes, when it's not.
+The goal of releases is to provide Linux distributions with something to
+package. If you want the newest features, just use the master branch.
+We try our best to keep it deployable at all times.
Releases other than the latest release are unsupported and unmaintained.
Release procedure
-----------------
-- Create branch release/0.X or cherry-pick commits to the relevant branch.
+- Merge master into branch release/current.
-- Create and/or update the ``RELEASE_NOTES`` file.
+- Create and/or update the `RELEASE_NOTES` file.
-- Create and/or update the ``VERSION`` file.
+- Create and/or update the `VERSION` file.
-- Update ``DOCS/client-api-changes.rst`` (on major releases).
+- Update `DOCS/client-api-changes.rst` (on major releases).
- Create tag v0.X.Y.
- Push branch and tag to GitHub.
-- Create a new GitHub release using the content of ``RELEASE_NOTES`` related to
+- Create a new GitHub release using the content of `RELEASE_NOTES` related to
the new version.
Release notes template
----------------------
-Here is a template that can be used for writing the ``RELEASE_NOTES`` file.
+Here is a template that can be used for writing the `RELEASE_NOTES` file.
```markdown
Release 0.X.Y
=============
-Changes
--------
+Features
+--------
-- List of changes.
+New
+~~~
-Bug fixes
----------
+- List of new features
-- List of bug fixes.
+Removed
+~~~~~~~
-New features
-------------
+- List of removed features
-- List of new features.
+Deprecated
+~~~~~~~~~~
+
+- List of deprecated features
+
+Behavior
+--------
+
+- List of user-visible changes in behavior
+
+Options and Commands
+--------------------
+
+Added
+~~~~~
+
+- List of added options and commands
+
+Changed
+~~~~~~~
+
+- List of changed options and commands
+
+Renamed
+~~~~~~~
+
+- List of renamed options and commands
+
+Deprecated
+~~~~~~~~~~
+
+- List of deprecated options and commands
+
+Removed
+~~~~~~~
+
+- List of removed options and commands
+
+Fixes and Minor Enhancements
+----------------------------
+
+- List of fixes and minor enhancements
This listing is not complete. There are many more bug fixes and changes. The
-complete change log can be viewed by running ``git log <start>..<end>`` in
+complete change log can be viewed by running `git log <start>..<end>` in
the git repository.
```
@@ -66,6 +108,6 @@ Note that the "Release 0.X.Y" title should be removed when creating a new GitHub
release.
When creating a new point release its changes should be added on top of the
-``RELEASE_NOTES`` file (with the appropriate title) so that all the changes in
-the current 0.X branch will be included. This way the ``RELEASE_NOTES`` file
+`RELEASE_NOTES` file (with the appropriate title) so that all the changes in
+the current 0.X branch will be included. This way the `RELEASE_NOTES` file
can be used by distributors as changelog for point releases too.