- imc: use correct position for flcoeffs2 calculation
- hevc: check slice address length
- snow: remove an obsolete av_assert2
- webp: fix infinite loop in webp_decode_frame
- wavpack: limit extra_bits to 32 and use get_bits_long
- ffmpeg: only count got_output/errors in decode_error_stat
- ffmpeg: exit_on_error if decoding a packet failed
- pthread_frame: forward error codes when flushing
- huffyuvdec: validate image size
- wavpack: use get_bits_long to read up to 32 bits
- nutdec: check maxpos in read_sm_data before returning success
- s302m: fix arithmetic exception
- vc1dec: use get_bits_long and limit the read bits to 32
- mpegaudiodec: copy AVFloatDSPContext from first context to all contexts
- avcodec/vp8: Check buffer size in vp8_decode_frame_header()
- avcodec/vp8: Fix null pointer dereference in ff_vp8_decode_free()
- avcodec/diracdec: Check for hpel_base allocation failure
- avcodec/rv34: Clear pointers in ff_rv34_decode_init_thread_copy()
- avfilter/af_aresample: Check ff_all_* for allocation failures
- avcodec/pthread_frame: clear priv_data, avoid stale pointer in error case
- swscale/utils: Clear pix buffers
- avutil/fifo: Fix the case where func() returns less bytes than requested in av_fifo_generic_write()
- ffmpeg: Fix cleanup after failed allocation of output_files
- avformat/mov: Fix deallocation when MOVStreamContext failed to allocate
- ffmpeg: Fix crash with ost->last_frame allocation failure
- ffmpeg: Fix cleanup with ost = NULL
- avcodec/pthread_frame: check avctx on deallocation
- avcodec/sanm: Reset sizes in destroy_buffers()
- avcodec/alac: Clear pointers in allocate_buffers()
- bytestream2: set the reader to the end when reading more than available
- avcodec/utils: use a minimum 32pixel width in avcodec_align_dimensions2() for H.264
- avcodec/mpegvideo: Clear pointers in ff_mpv_common_init()
- oggparsedirac: check return value of init_get_bits
- wmalosslessdec: reset frame->nb_samples on packet loss
- wmalosslessdec: avoid reading 0 bits with get_bits
- Put a space between string literals and macros.
- avcodec/rawenc: Use ff_alloc_packet() instead of ff_alloc_packet2()
- avcodec/aacsbr: check that the element type matches before applying SBR
- avcodec/h264_slice: Use w/h from the AVFrame instead of mb_w/h
- vp9/update_prob: prevent out of bounds table read
- avfilter/vf_transpose: Fix rounding error
- avcodec/h264_refs: discard mismatching references
- avcodec/mjpegdec: Fix small picture upscale
- avcodec/pngdec: Check values before updating context in decode_fctl_chunk()
- avcodec/pngdec: Copy IHDR & plte state from last thread
- avcodec/pngdec: Require a IHDR chunk before fctl
- avcodec/pngdec: Only allow one IHDR chunk
- wmavoice: limit wmavoice_decode_packet return value to packet size
- swscale/swscale_unscaled: Fix rounding difference with RGBA output between little and big endian
- ffmpeg: Do not use the data/size of a bitstream filter after failure
- swscale/x86/rgb2rgb_template: fix signedness of v in shuffle_bytes_2103_{mmx,mmxext}
- vda: unlock the pixel buffer base address.
- swscale/rgb2rgb_template: Fix signedness of v in shuffle_bytes_2103_c()
- swscale/rgb2rgb_template: Implement shuffle_bytes_0321_c and fix shuffle_bytes_2103_c on BE
- swscale/rgb2rgb_template: Disable shuffle_bytes_2103_c on big endian
- swr: Remember previously set int_sample_format from user
- swresample: soxr implementation for swr_get_out_samples()
- avformat/swfdec: Do not error out on pixel format changes
- ffmpeg_opt: Fix forcing fourccs
- configure: Check for x265_api_get
- swscale/x86/rgb2rgb_template: don't call emms on sse2/avx functions
- swscale/x86/rgb2rgb_template: add missing xmm clobbers
- library.mak: Workaround SDL redefining main and breaking fate tests on mingw
- vaapi_h264: fix RefPicList[] field flags.
* Update configure for auto detection of system libx264 configuration
* Add tile format frame packing value
* Stricter validation of crop-rect values
* Add mono frame packing value
* Validate frame packing value instead of clipping
* x86inc: Correctly warn on use of SSE2 instructions in SSE functions
* x86inc: Fix instantiation of YMM registers
* matroska: Correctly write display width and height in stereo mode
* Use POC type 0 for AVC-Intra
* Fix ARCH variable name conflict with BSD ports (bsd.port.mk) read-only variable
* Fix negative percentages in final stats output
Upstream announcement for 11.2.202.491:
https://helpx.adobe.com/security/products/flash-player/apsb15-18.html
Adobe Security Bulletin
Security updates available for Adobe Flash Player
Release date: July 14, 2015
Last updated: July 16, 2015
Vulnerability identifier: APSB15-18
CVE number: CVE-2015-5122, CVE-2015-5123
Platform: Windows, Macintosh and Linux
{perl>=5.16.6,p5-ExtUtils-ParseXS>=3.15}:../../devel/p5-ExtUtils-ParseXS
since pkgsrc enforces the newest perl version anyway, so they
should always pick perl, but sometimes (pkg_add) don't due to the
design of the {,} syntax.
No effective change for the above reason.
Ok joerg
Upstream announcement for 11.2.202.481:
https://helpx.adobe.com/security/products/flash-player/apsa15-03.html
Security Advisory for Adobe Flash Player
Release date: July 7, 2015
Vulnerability identifier: APSA15-03
CVE number: CVE-2015-5119
Platform: Windows, Macintosh and Linux
Upstream announcement for 11.2.202.468:
https://helpx.adobe.com/security/products/flash-player/apsb15-14.html
Security updates available for Adobe Flash Player
Release date: June 23, 2015
Vulnerability identifier: APSB15-14
CVE number: CVE-2015-3113
Platform: Windows, Macintosh and Linux
Changelog:
2015-04-03 v1.4.0 "Indian Runner Duck"
This release includes significant improvements to the VP9 codec.
- Upgrading:
This release is ABI incompatible with 1.3.0. It drops the compatibility
layer, requiring VPX_IMG_FMT_* instead of IMG_FMT_*, and adds several codec
controls for VP9.
- Enhancements:
Faster VP9 encoding and decoding
Multithreaded VP9 decoding (tile and frame-based)
Multithreaded VP9 encoding - on by default
YUV 4:2:2 and 4:4:4 support in VP9
10 and 12bit support in VP9
64bit ARM support by replacing ARM assembly with intrinsics
- Bug Fixes:
Fixes a VP9 bitstream issue in Profile 1. This only affected non-YUV 4:2:0
files.
- Known Issues:
Frame Parallel decoding fails for segmented and non-420 files.
- postproc: fix unaligned access
- avformat: clarify what package needs to be compiled with SSL support
- avcodec/libx264: Avoid reconfig on equivalent aspect ratios
- avcodec/flacenc: Fix Invalid Rice order
- tls_gnutls: fix hang on disconnection
- avcodec/hevc_ps: Only discard overread VPS if a previous is available
- ffmpeg: Free last_frame instead of just unref
- avcodec/ffv1enc: fix bps for >8bit yuv when not explicitly set
- avio: fix potential crashes when combining ffio_ensure_seekback + crc
- examples/demuxing_decoding: use properties from frame instead of video_dec_ctx
- h264: er: Copy from the previous reference only if compatible
- doc: fix spelling errors
- configure: only disable VSX for !ppc64el
- ffmpeg_opt: Check for localtime() failure
- avformat/singlejpeg: fix standalone compilation
- configure: Disable VSX on unspecified / generic CPUs
- avformat: Fix bug in parse_rps for HEVC.
- takdec: ensure chan2 is a valid channel index
- avcodec/h264_slice: Use AVFrame dimensions for grayscale handling
- FFT video filter
- TDSC decoder
- DTS lossless extension (XLL) decoding (not lossless, disabled by default)
- showwavespic filter
- DTS decoding through libdcadec
- Drop support for nvenc API before 5.0
- nvenc HEVC encoder
- Detelecine filter
- Intel QSV-accelerated H.264 encoding
- MMAL-accelerated H.264 decoding
- basic APNG encoder and muxer with default extension "apng"
- unpack DivX-style packed B-frames in MPEG-4 bitstream filter
- WebM Live Chunk Muxer
- nvenc level and tier options
- chorus filter
- Canopus HQ/HQA decoder
- Automatically rotate videos based on metadata in ffmpeg
- improved Quickdraw compatibility
- VP9 high bit-depth and extended colorspaces decoding support
- WebPAnimEncoder API when available for encoding and muxing WebP
- Direct3D11-accelerated decoding
- Support Secure Transport
- Multipart JPEG demuxer
The Lua check now also checks for lua52.pc, as used by Arch Linux testing.
(X11) vo_opengl's icc-profile-auto now queries the current ICC profile relative to the center of the window.
ao_coreaudio, ao_alsa now support adding dummy padding channels for better compatibility with hardware decoders that only support specific channel counts (e.g. 5.1 now should work on a decoder that only accepts 7.1).
Channel fallback (in case the audio device doesn't natively support a given channel layout) has been improved.
vf_vapoursynth now rejects unaligned video instead of outputting corrupted video.
mpv now tries to autoload .sup subtitles as well.
Add extern "C" guards to the public headers for C++ compatibility
Improvements to style override API and implementation
Bugfixes:
* Fix some rasterizer bugs of unknown severity
* Fix a broken memset() of unknown severity
* Make timestamp parsing more lenient, which makes libass accept invalid files accepted by most other ASS parsers
* Increase compatibility with broken ASS drawings accepted by VSFilter
- avcodec/libtheoraenc: Check for av_malloc failure
- ffmpeg_opt: Fix -timestamp parsing
- hevc: make avcodec_decode_video2() fail if get_format() fails
- avcodec/cavsdec: Use ff_set_dimensions()
- swr: fix alignment issue caused by 8ch sse functions
- avcodec/mjpegdec: fix len computation in ff_mjpeg_decode_dqt()
- avcodec/jpeg2000dec: fix boolean operator
- avcodec/hevc_ps: Explicitly check num_tile_* for negative values
- avformat/matroskadec: Cleanup error handling for bz2 & zlib
- avformat/nutdec: Fix use of uinitialized value
- tools/graph2dot: use larger data types than int for array/string sizes
- avformat/matroskaenc: Check ff_vorbiscomment_length in put_flac_codecpriv()
- avcodec/mpeg12dec: use the correct dimensions for checking SAR
- xcbgrab: Validate the capture area
- xcbgrab: Do not assume the non shm image data is always available
- avfilter/lavfutils: disable frame threads when decoding a single image
- avformat/mov: Do not read ACLR into extradata for H.264
- ffmpeg: remove incorrect network deinit
- OpenCL: Avoid potential buffer overflow in cmdutils_opencl.c
- libvpxenc: only set noise reduction w/vp8
- vp9: remove another optimization branch in iadst16 which causes overflows.
- lavf: Reset global flag on deinit
- network: Do not leave context locked on error
- vp9: remove one optimization branch in iadst16 which causes overflows.
- fate: Include branch information in the payload header
- avformat/utils: Ensure that AVFMT_FLAG_CUSTOM_IO is set before use
- avformat/img2dec: do not rewind custom io buffers
- avcodec/alsdec: Use av_mallocz_array() for chan_data to ensure the arrays never contain random data
- avcodec/atrac3plusdsp: fix on stack alignment
- swresample/swresample-test: Randomly wipe out channel counts
- swresample: Check channel layouts and channels against each other and print human readable error messages
- swresample: Allow reinitialization without ever setting channel layouts (cherry picked from commit 80a28c7509a11114e1aea5b208d56c6646d69c07)
- swresample: Allow reinitialization without ever setting channel counts
- dashenc: replace attribute id with contentType for the AdaptationSet element
- avformat/matroskaenc: Use avoid_negative_ts_use_pts if no stream writes dts
- avformat/mux: Add avoid_negative_ts_use_pts
- tests/fate-run: do not attempt to parse tiny_psnrs output if it failed
- cafdec: free extradata before allocating it
- imgutils: initialize palette padding bytes in av_image_alloc
- aacdec: don't return frames without data
- id3v2: catch avio_read errors in check_tag
- avi: Validate sample_size
- aacsbr: break infinite loop in sbr_hf_calc_npatches
- diracdec: avoid overflow of bytes*8 in decode_lowdelay
- diracdec: prevent overflow in data_unit_size check
- avformat/matroskadec: Use tracks[k]->stream instead of s->streams[k]
- matroskadec: use uint64_t instead of int for index_scale
- pngdec: don't use AV_PIX_FMT_MONOBLACK for apng
- pngdec: return correct error code from decode_frame_common
- nutdec: fix illegal count check in decode_main_header
- nutdec: fix memleaks on error in nut_read_header
- apedec: prevent out of array writes in decode_array_0000
- apedec: set s->samples only when init_frame_decoder succeeded
- swscale/ppc/swscale_altivec.c: POWER LE support in yuv2planeX_8() delete macro GET_VF() it was wrong
- alac: reject rice_limit 0 if compression is used
- alsdec: only adapt order for positive max_order
- bink: check vst->index_entries before using it
- mpeg4videodec: only allow a positive length
- aacpsy: correct calculation of minath in psy_3gpp_init
- alsdec: validate time diff index
- alsdec: ensure channel reordering is reversible
- ac3: validate end in ff_ac3_bit_alloc_calc_mask
- aacpsy: avoid psy_band->threshold becoming NaN
- aasc: return correct buffer size from aasc_decode_frame
- matroskadec: export cover art correctly
- mxfenc: don't try to write footer without header
- mxfenc: fix memleaks in mxf_write_footer
- rtpenc_mpegts: Set chain->rtp_ctx only after avformat_write_header succeeded
- rtpenc_mpegts: Free the right ->pb in the error path in the init function
pkgsrc changes:
* Add LUA_VERSION_INCOMPATIBLE= 53 to reflect upstream changelog. No
functional changes intended.
Changes:
Release 0.9.0
-------------
Changes that may break users' config files have been annotated with a
(!).
* Note: mpv is not compatible with Lua 5.3. Lua 5.1 or 5.2 is
required.
* The minimum required libass version is now 0.12.1 or newer.
* The minimum required FFmpeg version is now 2.4.0 (equiv. Libav 11)
or newer.
* The internal libmpg123 support was removed. This was already not
used by default in the previous release.
* (!) The LIRC support was removed. Configure LIRC remotes as input
devices instead.
* (!) The Linux Joystick support was removed.
* (!) vf_screenshot was removed, as they are now handled at a VO
level and is compatible with all VOs.
* (!) --ass-use-margins has been renamed to --sub-use-margins and
applies only to plain-text (non-ASS) subtitles (enabled by
default). The new --ass-force-margins option applies only to ASS
subtitles (disabled by default). To get the old behaviour back,
enable both at the same time.
* (!) The --sub-scale-with-window option now only applies to plain
text (non-ASS) subtitles (enabled by default). The new
--ass-scale-with-window option does the same but only with ASS
subtitles (disabled by default).
* (!) The range for the param1 for the gaussian vo_opengl scaler has
been redefined. Instead of being an arbitrary 1-100 range, have a
default value of 1.0, and anything higher is blurrier.
* (!) The seek, playlist_next, playlist_prev, loadfile and loadlist
parameters no longer accept numerical parameters where symbolic
parameter names exist.
* (!) vo_opengl changes:
+ (!) The smoothmotion suboption has been renamed to
interpolation. The old name is still supported for now.
+ (!) The bilinear_slow scaler has been renamed to triangle.
+ (!) scale-down has been renamed to dscale and now has its own
set of config options (e.g. dscale-radius).
+ (!) Scaler radius no longer defaults to 3 but to a preferred
value that may be different for each filter.
+ The scale-radius option may now go down as low as 0.5, which
is the value used by the nearest filter.
+ spline36 is the new cscale default for opengl-hq. This might
break setups that use fbo-format=rgb8. To work around it,
leave fbo-format as its default, or set to something higher
than 8, or set cscale=bilinear, the previous default.
* (!) vf_format no longer converts video to YUYV if there is no
parameter. Video is now passed unchanged unless a format is
specifically requested.
* (!) The --colormatrix, --colormatrix-input-range,
--colormatrix-output-range and --colormatrix-primaries options have
been converted into vf_format suboptions. See commit 27715b7 and
the manual for details.
* vf_mirror's implementation was replaced with calling into
libavfilter's vf_hflip filter, thus depending on libavfilter to
function.
* The device subption to ao_wasapi has been deprecated in favor of
--audio-device.
* --video-rotate now allows 360 as an argument instead of stopping at
359.
* Several improvements to af_scaletempo.
* Options that have multiple options and also include a "yes" option
now default to that if specified with no arguments.
* The default value of --cache-default is now 150000 (153.6 MB, ~146
MiB).
* JPEG screenshots now use the same subsampling as the source video.
The images are still RGB regardless of source format though.
Bug fixes
* mpv no longer saves position on files that can't be resumed (issue
#1701).
* (X11) Fix the player thinking the mouse has left the window in some
WMs / embeddings (issue #1672).
* mpv no longer freezes on wayland when the compositor stops asking
it to draw itself (e.g. when minimized) (issue #249).
* .ac3 files are no longer rejected by --audio-file-auto (issue
#1759).
* ao_wasapi now automatically enables exclusive when passthrough is
attempted (issue #1742).
* Attempt to fix flickering on Intel VAAPI drivers with --hwdec=vaapi
and --vo=opengl (issue #1765).
* youtube-dl will no longer download video streams when video
playback is disabled with --no-video.
* (Windows) mpv now prevents system sleep when playing a video-only
file. Previously, only files with an opened audio track would
prevent sleep.
New features
* vo_opengl features:
+ Added ewa_ginseng, ewa_hanning, robidoux, robidouxsharp,
oversample and haasnsoft scalers.
+ There are now ewa_lanczossoft and ewa_lanczossharp aliases to
ewa_lanczos that are tuned to be blurrier and sharper,
respectively.
+ Added gamma-auto option that uses ambient light sensors to
automatically adjust the video gamma. See commit c028d78 for
details.
+ Added blend-subtitles option to draw subtitles directly into
the video instead of rendered afterwards. Potentially
necessary for correct rendering with files that use ASS
subtitles for typesetting in combination with an icc-profile.
There is a default option for drawing after upscaling, and a
video option for drawing before upscaling. See details and
warning on the manual.
+ There is now a tscale option, used to choose the temporal
scaler used in the interpolation mode (previously
smoothmotion).
+ There is a new scale-blur parameter to adjust the amount of
blur that most of the filters produce. Deviating from the
default may introduce artifacts in EWA filters.
+ (Windows) There is now a dwmflush option that might help
improve rendering of high-fps video. Disabled by default. See
manual for options.
* New Linux-only vo_drm video output driver. Uses the direct
rendering / kernel modesetting drivers to draw directly to the
framebuffer, but with no hardware acceleration. See manual for
details.
* New pseudo-gui builtin profile, automatically used when launched
from mpv.desktop by opening mpv.exe on windows (mpv.com still works
as usual), or by opening the mpv.app bundle. The pseudo-gui tries
to make the player window behave closer to what a desktop player
would do, by not immediately closing and allowing the user to
drag&drop files for playback. See manual for details.
* mpv can now play directories by automatically playing their
contents instead. Works everywhere but on Windows, due to issues
with Windows' C runtime.
* Add support to pitch correct stretched audio with librubberband.
* Add support for the Raspberry Pi 2's hardware decoder when FFmpeg
(or Libav) is built with --enable-mmal. See commit 8fff125 for
details.
* The --cache option now accepts a "yes" option, that always enables
a --cache-default-sized cache on all cases a cache can be used,
unless --cache-default disables caching.
* ao_pulse, ao_coreaudio and ao_wasapi now support device
hotplugging.
* New --osd-align-x and --osd-align-y options can be used to align
the OSD independently from subtitles.
* New --osd-bold and --sub-text-bold options can be enabled to bold
all OSD or plain-text subtitle text, respectively.
* Added a default keybind to the u key that enables/disables ASS
style overriding. When enabled, is equivalent to
--ass-style-override=force.
* There is now a MOUSE_ENTER keybind, that is called when the mouse
cursor enters the VO from outside.
* The new --ytdl-params option can be set to arguments that are
always given to youtube-dl invocations. There is no sanity
checking, so invalid options can prevent mpv from working with http
URLs.
* There's a new --demuxer-mkv-fix-timestamps option, enabled by
default, that tries to guess more accurate video timestamps by
using FPS information, if available. See manual for details.
* The new --window-scale option can be used to scale the video window
by the specified multiplier, before other options such as --autofit
are applied.
* vo_direct3d_shaders now supports NV12 colorspace without using
stretchrect, but it seems no drivers actually support that.
* (Client API) Added a rescan_external_files command, as requested on
issue #1586.
* (Client API) If enabled, initializing the Client API will now also
load the user's mpv.conf.
* (Client API) There's a new mpv_opengl_cb_report_flip() call for API
users to call to inform mpv of when exactly a frame was displayed.
* (Client API) The mpv_opengl_cb_render() function was deprecated in
favor of the new, simpler mpv_opengl_cb_draw() function.
* (Client API) There is a new screenshot_raw command. See input.rst
for details.
* The --input-file argument may now also be a file descriptor in the
form "fd://N", where N is the FD number.