Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
Name: mpv-devel | Distribution: openSUSE:Factory:zSystems |
Version: 0.39.0+git20240923.b64c53f730bd | Vendor: openSUSE |
Release: 1.3 | Build date: Mon Sep 23 19:57:39 2024 |
Group: Development/Libraries/C and C++ | Build host: reproducible |
Size: 138442 | Source RPM: mpv-0.39.0+git20240923.b64c53f730bd-1.3.src.rpm |
Packager: https://bugs.opensuse.org | |
Url: http://mpv.io | |
Summary: A library to link together with mpv player |
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. This package contains all the development files.
GPL-2.0-or-later
* Mon Sep 23 2024 [email protected] - 14904.patch: add patch to fix build while excluding win32-smtc. This will be upstreamed soon so we can get rid of it then. - Update to version 0.39.0+git20240923.b64c53f730bd: * ci/lint-commit-msg: make some minor adjustments to the rules * Update MPV_VERSION * Release 0.39.0 * TOOLS/gen-interface-changes: small usability improvement * ci/msys2: disable some features for 32-bit build * console.lua: fix the height calculation with --video-osd=no * meson: use relative file paths for file2string * ytdl_hook: make path and json available to other scripts * select.lua: don't use add_forced_key_binding * ytdl_hook: fix typo (chapters -> chapter) * DOCS/man/options.rst: further tweak sub-ass-use-video-data description * TOOLS/cycle-deinterlace-pullup.lua: fix removing the filter * options: fix missing comma in default watch_later_options values * workflows/comment: fix workflow syntax * Revert "mp_image: don't restore image params if they're unknown" * f_hwtransfer: filter out unsupported hwuploads from p->fmts * hwdec/vaapi: additionally probe hwupload format conversions * wayland: properly use tranche_formats when getting compositor formats * vo_dmabuf_wayland: reject formats not supported by the GPU * wayland: rename wayland_format to compositor_format * sub/sd_ass: don't override event attributes to mpv defaults * TOOLS/gen-mpv-desktop.py: set --no-config when probing protocols * f_auto_filters: don't set interlaced-only for userdeint * DOCS/man/options.rst: fix nono typo * vo_gpu_next: allow setting antiring value for cscale * DOCS/man/options.rst: clarify sub-ass-use-video-data a bit * DOCS/interface-changes: fix format for sub-ass-use-video-data * console.lua: respect --video-osd=no * console.lua: truncate more characters with --msg-module and --msg-time * console.lua: fix highlighting the selected item with --msg-module * osdep/terminal-win: reset tmp_buffers_key when uninit * player/main: revert msg uninit order changes * DOCS/man/options.rst: update description of `hwdec=auto` behaviour * sub/osd: add log if osd rendering takes too long time * meson: require Vulkan loader/headers >= 1.3.238 * vd_lavc: add Vulkan hardware decoding to autoprobe * console.lua: sync colors after msg.c change * msg: don't use bold colors and instead use bright ones * console.lua: fix completing empty --dscale and --cscale * vo_gpu{,_next}: convert scale options to type choice * stream: don't mark stdin as a filesystem file * vulkan: don't tolerate suboptimal swapchain configurations * ao_alsa: assume device lost if we couldn't recover after 10 attempts * ao_alsa: don't early exit out of the loop if we have an error * ytdl_hook: add some more yt-dlp tags * sub: add ass-video-aspect-override option * sub: merge vsfilter-aspect and vsfilter-blur-compat options * vf_d3d11vpp: adjust options for userdeint filter * wayland: fix vertical resizing * various: use talloc_replace * ta_utils: add talloc_replace * ta_talloc: remove non-existent function prototype * stats.lua: don't use ASS tags when use_ass is false * player/main: uninit input after terminal uninit * video/out/wayland_common: set key state only on keyboard_enter keys * input: add MP_KEY_STATE_SET_ONLY * input/keycodes: fix typo * ci/win32: add dav1d * stats.lua: fix text size/alignment for key bindings page * DOCS/man/options: update defaults for `--hwdec-codecs` * DOCS/man/options: fix deinterlacing typo * input: fix use of bstr like null terminated one * osdep/io: redefine off_t for Windows build * sub: remove dead code * vo_gpu: restore dovi mapping directly on image_params after init * mp_image: don't restore image params if they're unknown * etc/mpv.conf: update stale comment about mpv config location * vo_libmpv: use fallback colorspace for Dolby Vision * input.conf: swap the positions of values for `ctrl+h` binding * vf_d3d11vpp: add output format selection * vf_format: restore image params before dovi mapping * vo_gpu: use fallback colorspace for Dolby Vision * mp_image: save fallback colorspace when dovi metadata is present * ci/linux: disable leak detector temporarily * command: expand ~ paths in load-config-file * video/out/gpu/video: use video rectangle for video-target-params * video/out/wayland_common: don't pass mouse inputs on resizing edges * fuzzer_options_parser: add options parser fuzzing * DOCS/vf: update obsolete note hwdec in d3d11vpp * f_hwtransfer: fix best upload format selection * vf_d3d11vpp: skip conversion mode selection if not requested * vf_d3d11vpp: don't force nv12 output * vf_d3d11vpp: alloc output frames through AVHWFramesContext * vulkan/context_display: don't fake avalibity of callbacks * video/csputils: remove space from choice option for chroma loc * DOCS/man/vf: don't document removed vf_format field * console.lua: pre-filter searched commands if the line is filled * playlist: fix setting current item with autocreate-playlist * demux_mkv: fix av_parser_codec leak * console.lua: add numpad + - * / keybindings * vf_d3d11vpp: ensure width and height is even * vf_d3d11vpp: add support for Intel VSR and NVIDIA RTX scaling modes * vf_d3d11vpp: add support for scaling * DOCS/man/options.rst: add a note about the effective limit of --pitch * DOCS/man/mpv.rst: add documentation for the numpad volume key bindings * DOCS/interface-changes: fix KP_DIVIDE typo * github/issue_template: don't use markdown for "Important Information" * github/issue_template: ask users to check for already supported features * hwdec_vulkan: allow using multiple decoding family queues * hwdec_vulkan: update to new libavutil queue family API * console.lua: implement history search * Revert "ci/mingw: don't run test on 32-bit binary" * ci/{mingw,win32}: specify nasm as it seems to be required now by libass * img_format: prevent an offset >= MP_MAX_PLANES into bpp * common/playlist: add missing playlist_dir clear * player/loadfile: don't clear watch later for auto playlist parent file * context_drm_egl: always use drmModeAddFB2WithModifiers * drm_prime: fix use of formats with modifiers * input.conf: add KP_DIVIDE/KP_MULTIPLY key bindings * various: handle numpad add/subtract/multiply/divide keycodes * input/keycodes: add KP_ADD/SUBTRACT/MULTIPLY/DIVIDE keycodes * demux_playlist: use --directory-filter-types for --autocreate-playlist * common/playlist: add playlist_set_current() * player/misc: add str_in_list() and use it * demux_playlist: add only media files when opening directory * options: add --{video,audio,image}-exts * demux_playlist: add --directory-filter-types * demux_playlist: add --autocreate-playlist-{video,audio,image}-exts * demux: add --autocreate-playlist * video: hwdec: extend look up of hwdecs to consider device type as well * vo: hwdec: add AVHWDeviceType property to hwdecs * DOCS/man: improve explanation on how to shift notes with --pitch * audio: add pitch-shifting feature * ci/freebsd: update to 14.1 * ci/win32: update to FFmpeg 7.0 * workflows/fuzz: report OOMs and timeouts * console.lua: guard user-data/osc/margins value * DOCS/man/input: document user-data/osc/margins * DOCS/man/input: reserve user-data/osc and user-data/mpv sub-paths * {osc,select}.lua: show playlist entries with trailing / * input: fix inverted condition * input: don't mutate 'section' variable inside a loop * vo_libmpv: don't steal pointer provided by the API user * fuzzer_set_property: ensure idle is enabled * loadfile: fix relative file open exclusion for fuzzing * input: use bstr for section name * demux_mf: disable glob for fuzzing * loadfile,select.lua: print only one bitrate * player/audio: invert audio_started boolean * ad_spdif: update list of DTS_HD profiles * TOOLS/stats-conv: minor cleanup * TOOLS/stats-conv: silence linter messages * TOOLS/stats-conv: convert to pyqt6 * github/workflows/{build,fuzz}: exclude pr/issue template paths * github/issue_template: fix paragraph spacing * win32/smtc: add thumbnail support * ci/{msys2,win32}: explicitly enable win32-smtc * win32: add Media Control support * ci/msys2: install cppwinrt * osdep/threads-win32: cast function type directly to avoid warnings * build: bump minimal Windows version to 10 * VERSION: rename to MPV_VERSION to avoid standard library header conflict * meson: define WINRT_NO_SOURCE_LOCATION * meson: minor adjustment for compatibility * input/ipc: use bstr for fd parsing * input/ipc-win: support fd:// for --input-ipc-client * DOCS/man: add more --input-ipc-client references * player/scripting: remove outdated comment about posix_spawn * meson: check for vulkan headers * DOCS/compile-windows.md: fix MSYS2 packages * build: detect VT_GETMODE on OpenBSD * github/issue_template: add a note about log file * player/command: fix --force-window=yes acting like immediate * player: don't decrement --ab-loop-count=N and add remaining-ab-loops * player: don't decrement --loop-file=N and add remaining-file-loops * player: remove empty line from --help * options/m_config_frontend: remove empty line from --show-profile * options: move all wayland specific options to vo_opts * various: allow changing GPU API options at runtime * m_option: add UPDATE_VO flag * external_files: allow specifying --cover-art-whitelist filenames * DOCS/options: remove misdirection in `sub-color` * sd_ass: fix margin y scale with font size * DOCS/man/options: clarify subtitle scale options * sd_ass: fix sub scale with window when use_margins is enabled * command: remove deprecated packet-*-bitrate properties * loadfile,select.lua: print bitrates of tracks * various: sync shown track flags * various: print Image instead or Video for image tracks * osc.lua: don't hide osc when touch is active * player: remove empty line from --version * fuzzer: stop player after 5 seconds of playback * playloop: move run_command_opts to command_event for playback-restart * command: run input commands after idle state is ready * workflows/fuzz: run all sanitizers * vo_gpu_next: support --gamma-factor * ci/mingw: update dependency versions * test/libmpv_lifetime: don't re-define ASAN macro * player/command: don't return ill-formed node if there is no default val * fuzzer_set_property: reset sstep to 0 to avoid seeking loop * test/libmpv_lifetime: activate test on macOS * mac/vulkan: error out on context creation without an NSApplication * demux/ebml: bump ebml size limit to 512 MiB * ci: add fuzzing of pull requests for 20 minutes * player/command: fix M_PROPERTY_KEY_ACTION for filter metadata * DOCS/input: fix filter name without label * wayland: avoid potential floating point errors while scaling * player/{command,scripting}: log subprocess execution * demux_mf: don't run glob() on urls * demux_mf: support URLs in @listfile and filemask * x11_common: handle runtime keepaspect/keepaspect-window change * sub: add (sub/osd)-border-style; renaming sub options * ytdl_hook.lua: fix hook triggering while it shouldn't * input.conf: add zoom, pan, scale and rotate keybinds for numpad * player/core: add core thread handle to MPContext * fuzzer_set_property: set duration to 0.1s * test/libmpv_lifetime: add test to test libmpv ability to reinit itself * win32: unregister window class on dll detach * vo/opengl/context_win: fix crash on init failure * demux_mkv: ignore duplicated BlockAdditions to avoid memory leak * player/loadfile: prevent fuzzers from loading absolute directories * player/loadfile: cancel playback cleanly if thread fails to start * demux_edl: don't try to extract dirname from self-expanding protocols * vo_dmabuf_wayland: don't use -ve margins in window size calculation * DOCS/input: fix "does does" typo * ao: don't add buffer length to timeout twice * ao: use the right type for pending samples * demux/ebml: fix ebml size check * stream_bluray: check fread return value * test/libmpv_encode: check fread return value * wayland: use wl_list_empty instead of wl_list_length * wayland: bump wayland-protocol requirement to 1.31 * ao_pipewire: bump minimum libpipewire version to 0.3.57 * ytdl_hook.lua: allow changing try_ytdl_first during runtime * Wed Aug 14 2024 llyyr <[email protected]> - Remove fix-docs-path.patch: move files after install instead. - Move 'Copyright' file to licenses. - Stop installing example mpv.conf and input.conf provided by upstream to /etc/mpv. These are purely examples and don't actually set any options. The user can already see them for reference in %{_defaultdocdir}/mpv. - Run tests * Sat Jul 06 2024 [email protected] - Update to version 0.38.0+git20240706.00f43e0916fa: * wayland: fix missed int -> double conversion for cursor scaling * stats.lua: active key bindings: identify prefix nonrepeatable * console.lua: restore the order of items after clearing the input line * console.lua: minor tweaks * console.lua: remove the scale script-opt * player/loadfile: enable streams in order of types when loading file * demux: avoid seeking video streams for refresh seek * demux: don't log if track isn't refreshed * video/out/gpu/context: convert --gpu-api to object settings list * video/out/gpu/context: simplify --gpu-context's check_unknown_entry * ytdl_hook: strip quotes from cookie values * input/cmd: move m_option_type_cycle_dir to m_option.c * player/lua: restore original lua allocator before close * wayland: add a --wayland-present option * stats.lua: fix codec-profile position for audio * misc/natural_sort: avoid implementation-defined behavior in comparison * fuzzers: wait for file start event before idle * filters/f_lavfi: fix null dereference on empty graph * demux_playlist: don't add base path to self-expanding protocols * test/paths: add tests for mp_basename and mp_dirname * test/paths: use helper functions for result testing * bstr: change memcpy to memmove to allow aliased copies * fuzzer_set_property: fix setting audio-files list * mac/menu: add option to disable default shortcuts * m_option: parse the timestamp as unsigned value * various: add more format specifiers checks * playlist: let playlist-next go to first item if player is idle * playlist: let playlist-prev go to last item in playlist * options: remove some options with .deprecation_message * options: remove various OPT_REMOVED usage * options: remove some deprecated OPT_REPLACED option mapping * fuzzer_load: seal the input fd after writing the data * console.lua: assume non-ASCII characters span 2 cells for truncation * console.lua: let libass clip lines in select mode * console.lua: subtract --osd-margin-x in the max width calculation * fuzzer_set_property: destroy mpv also on error * meson: add fuzzers alias for all fuzzer targets * player/playloop: fix null dereference if filter_root does not exist * loadfile: update the format of terminal track information * DOCS/input: document undocumented track-list sub-properties * m_option: add a way for aliases to use sub option prefix * fuzzer_set_property: don't run mpv if set property failed * fuzzer_load_{config_file,input_conf}: take into account file size limit * m_option: ignore excessive elements only for obj_settings_list * player/command: limit user-data name splits to 100 * m_config_frontend: disallow profile=default in config files * misc/random: set constant seed for fuzzing * fuzzers: disallow include command in more principal way * ad_{lavc,spdif}: initialize channel layout * options: add secondary-{sid,sub-delay} to watch_later_options * fuzzer_load: disallow include option in config files * input/keycodes: validate parsed value to avoid overflow * m_option: do float multiplication to avoid integer overflow * common: validate parsed unicode codepoints value * m_options: fix obj settings list leak on error * vo_gpu: optimize pass_info_reset * demux: allow refresh seek for non-video streams * av_log: sort library version print and add missing libavdevice * ad_spdif: fix lavf version check * various: remove no longer needed availability checks * misc/uuid: remove no longer needed vendored implementation * various: remove av channel layout check * ci/openbsd: bump to 7.5 and remove libplacebo subproject * meson: increase FFmpeg minimum required version to 6.1 * select.lua: consider --sub-delay for the subtitle line selector * select.lua: don't use sub-start to preselect subtitle lines * vo_tct: clear backbuffer on reconfig * options: remove deprecated auto choice for --mute * player/command: alias playback-time to time-pos * test/libmpv_test: fix some stray tabs * ao_pipewire: fix some stray tabs * test/libmpv_encode: avoid mktemp warning * osc.lua: don't use legacy argument for seeking * ao_avfoundation: guard features only available on macOS 11.3 and 12 * cocoa-cb: guard color spaces that are only available on 10.15.4 upwards * mac/compat: fix broken CGColorSpace declaration on SDK 11 only * mac/event: remove swift 5.6 language feature that is mandatory with 6.0 * mac/compat: add withLock fallback for xcode older than 14 * mac/log: properly guard logger usage behind platform version check * bash-completion: remove hashbang * fuzzers: enable edl, file and lavf protocols * m_options: limit list entries to 100 * m_options: fix mark_del leak on error * fuzzer_set_property: force untimed and pause state * demux_edl: fix infinite loop on empty EDL files * fuzzers: disable some targets as we hit out of space errors * osc.lua: add script message to show up the OSC * stream: don't exit on first iteration if there is no match * ad_spdif: add an assert for lavf_ctx * editorconfig: punish tab usage * osc.lua: replace tabs with spaces * fuzzers/meson: set link language to cpp * demux_lavf: fix null derefence of stream variable * d3d11: return minimum bitdepth for display output and swapchain * demux_lavf: add format hack entry for jpeg metadata frames * demux_lavf: fix null derefence in io_open callback * stats.lua: align 100% correctly on page 2 * vf_vapoursynth: upgrade to VapourSynth API v4 * demux_lavf: drop jpeg frames that are at a nonzero pos * Revert "demux_lavf: pass jpg filenames to ffmpeg for probing" * input: map Num 5 to distinct value when numlock is off * input.conf: make Alt+BS reset panscan * console.lua: don't enable the console-input input section * osc.lua: fix timetotal and timems settings * stats.lua: display file tags * input: don't resolve double clicks on the active mouse section * lua: don't pass nil as the second argument of mp.get_property_number * DOCS/interface-changes: fix formatting * TOOLS/gen-interface-changes.py: sort interface changes by file content * DOCS/contribute.md: require interface change begin with type * stats.lua: remove print_perfdata_passes * stats.lua: add page 5 for currently selected tracks information * stats.lua: make the append function increment index only on newline * sub: update codec info * osc.lua: add option to use display fps for update interval * osc.lua: unify observe_property style * osc.lua: add option to make rendering smoother * opengl: add --egl-output-format * opengl: add --egl-config-id * vf_vapoursynth: add parameter to pass arbitrary string to script * options: add --osd-playlist-entry * DOCS/compile-windows.md: improve Windows build documentation * console.lua: prettify unselected track log messages * select.lua: support extracting ytdl_hook subtitles * select.lua: hide the hour when it's 0 * select.lua: seek to the currect subtitle line when paused without video * select.lua: preselect the correct sub line with duration >= 100 minutes * loadfile: improve the format of terminal track information * ci/mingw: install wine optionally * ci/mingw: use Ubuntu 24.04 * ci/msys2: compact build script * ci/msys2: re-enable 32-bit builds * ci/mingw: don't run test on 32-bit binary * hwdec_vaapi: suppress comparision warning * wayland_common: properly handle modifiers for keyboard enter keys * meson: add -fno-trapping-math to default flags * meson: add -fno-signed-zeros to default flags * ci/mingw: enable javascript support * osc.lua: fix user configurable colors * ra_d3d11: make cache header constant size regardless of the build * ao_wasapi: don't limit the scope of execution context * w32_common: stop IME initialization timer after first try * default.js: handle canceled key bindings * defaults.lua: handle canceled key bindings * command: add canceled state to key-binding client message * input: mark a command as canceled if it is explicitly dropped * bstr: use memchr and memrchr for bstrchr and bstrrchr * terminal-win: use proper NTAPI callback for FLS * DOCS/compile-windows.md: update Windows compilation documentation * common: clang supports __builtin_clz also in non-GNU modes * parse_commandline: fix incorrect win32 check * misc/thread_tools: fix incorrect win32 check * ao_pcm: fix incorrect win32 check * player/main: concat string at compile time * sub/sd_ass: rewrite is_animated() * meson: clear flags used for build * {x11_common,context_x11egl}: suppress Wundef warning * ao_pipewire: fix access to undefined byte order definitions * osdep/endian: add missing byte order defines * ao_coreaudio_chmap: fix shadowed variable * stream_cdda: suppress Wundef warning * fuzzers/common: add prototype for LLVMFuzzerTestOneInput * input: fix grammar errors and typo * input: only begin VO dragging if the section allows * autoload.lua: always accept current file as a valid file * autoload.lua: match also image extension * autoload.lua: cosmetic changes * autoload.lua: fix options update * sub: avoid unneeded calls to is_animated * input: reset doubleclick timer when dragging begins * input: un-hardcode VO dragging * input: prevent MBTN_LEFT conflict with VO dragging * input: implement VO dragging deadzone * input: fix mouse position equality check * input: begin VO dragging when moving mouse while left button is down * DOCS/man/options.rst: remove DVD menu reference for --input-cursor * test/meson: remove unneded sources * ci/mingw: resolve pkgconfig deprecation warning in meson * ci/mingw: run meson tests * ci/mingw: add exe_wrapper to cross file * ci/mingw: support encode mode * ci/mingw: use ninja for cmake builds * test/paths: skip normalize tests if pathcch library is not available * test_utils: don't use subprocess for diffing test results * test/libmpv_encode: print logs also during initialize * test/libmpv_encode: don't use mpv internals for test * player/playloop: remove now unused get_percent_pos() * win32: quantize taskbar playback position into uint8 range * Revert "d3d11: calc vsync interval on real stats, not just last interval" * TOOLS/autoload.lua: fix directory_mode and ext options * osd: don't use get_percent_pos function * command: simplify printing floats as integers * README: link to discussions * osc.lua: fix lint warnings * TOOLS/test-hooks.lua: fix lint warning * TOOLS/status-line.lua: fix lint warnings * TOOLS/osd-test.lua: fix lint warning * TOOLS/observe-all.lua: fix lint warning * TOOLS/nan-test.lua: fix lint warnings * TOOLS/cycle-deinterlace-pullup.lua: fix lint warnings * TOOLS/command-test.lua: fix lint warnings * TOOLS/autoload.lua: fix lint warnings * TOOLS/autodeint.lua: fix lint warnings * TOOLS/autocrop.lua: fix lint warnings * TOOLS/ao-null-reload.lua: fix lint warnings * ytdl_hook.lua: fix lint warnings * console.lua: fix lint warnings * mpv.desktop: fix capitalization error * mpv.desktop: add Arabic translation * TOOLS/gen-interface-changes: wrap long lines to 80 col * input.conf: change 'u' binding to cycle between 'force' and default * options: make sub-ass-override default to 'scale' * options: move sub-ass-override 'scale' above 'force' * sd_ass: only set sub-scale for 'scale', 'force' or 'strip' * DOCS/input: clarify the difference between audio-pts and time-pos * player: replace get_current_time with get_playback_time in some spots * player/playloop: force get_playback_time to be at least 0 * player: put speed adjustment back into playing_audio_pts * player/video: fix incorrect VO frame duration and frame drops * x11: correct position coordinates if mpv was launched with --fs * vo_vaapi: remove redundant function call * vo_vaapi: fix use-after-free when quitting * vo_vaapi: fix use-after-free of current frame * console.lua: fix crash with set ;<Tab> * console.lua: fix crash if no completions exist * Revert "ao_pipewire: add EOF handling" * Revert "ao_pipewire: wait for draining finishes before restart ao" * playloop: don't loop when seeking to the end of cover art while paused * ao_pipewire: wait for draining finishes before restart ao * ao_pipewire: add EOF handling * ao_avfoundation: use blocking ao_read_data * ao_avfoundation: add EOF handling * ao: add ao_stop_streaming * ao: add eof, pad_silence, and blocking arguments for ao_read_data * ao_coreaudio: set ao->device_buffer base on hardware latency * osxbundle: refactor Information Property List * wayland_common: ignore unknown key states * wayland_common: handle pressed keys in keyboard_enter event * DOCS/man: replace legacy option syntax usage * Revert "fuzzers/load: clear old temp files if they exist" * ad_spdif: check return value of av_parser_parse2 * ad_spdif: check for AC3 if parser fails to detect profile * ad_spdif: set codec params * stream_lavf: don't add ffmpeg bluray or dvd protocols * build: dynamically generate mpv.desktop file protocols * stream: implement get_protocols method for stream_lavf * av_common: parent mp_get_lavf_demuxer contents to the list * wayland: use wl->callback_surface for idle inhibitor creation * fuzzers/load: clear old temp files if they exist * DOCS/man/console.rst: remove extraneous words * mp_image: remove unneeded PL_HAVE_LIBDOVI check * fuzzers: always return 0 * DOCS/options: --sub-scale-by-window doesn't affect ASS subtitles * ci/lint: only allow specific characters in subjects * ci/lint: allow the first word after : to be an option with -- * ci/lint: only allow space instead of \s or \s+ * workflows/comment: more newline fixes to make formatting work * workflows/comment: add missing escape fix * ci/mac: silence unnecessary reinstall warnings * select.lua: allow ffmpeg to print errors if it fails * osc.lua: handle osd-scale-by-window runtime update * stats.lua: handle osd-scale-by-window runtime update * {stats,osc}.lua: respect --osd-scale-by-window by default * stats.lua: add add auto value to vidscale option * osc.lua: add auto value to vidscale option * DOCS/man/options.rst: recommend --osd-scale-by-window for UI scale * meson: limit concurrent link jobs to 16 * ao: don't call driver->set_paused after reset * osdep/path-win: fix leak of portable_path * osdep/io: fix leak of environment strings on win32 * DOCS/interface-changes.rst: document loadfile breaking change * DOCS/man/input.rst: document breaking change of loadfile index argument * DOCS/man: note that default autoprobe order is unrealiable * DOCS/compatibility.rst: add requirement when changing default values * DOCS/compatibility.rst: add provision for dealing with severe breakages * DOCS/compatibility.rst: require more details about breaking changes * DOCS/compatibility.rst: fix formatting * ci: save cache also on failures * playloop: don't redraw without subs on quit * workflows/cleanup_caches: minor cosmetic changes * workflows/comment: refactor comment workflow to not use github-script * console.lua: fix completing change-list ao/vo/gpu-context remove * input: prioritize builtin bindings matching longer key sequences * console.lua: fix the max log lines calculation * stats.lua: prevent freeze in certain cases with vidscale=no * console.lua: use all available lines for selection * select.lua: strip trailing zeros from FPS values * select.lua: handle sub-start being earlier than ffmpeg's timestamps * select.lua: don't needlessly initialize default_item * select.lua: preselect the previous sub line without a current line * select.lua: fix preselecting the current subtitle line * console.lua: add nonrepeatable prefix to command_prefixes * input/cmd: add nonrepeatable prefix * ad_spdif: add missing codec_desc initialization * ci/cleanup_caches: group by cache prefixes too * ci: clear old caches to avoid master branch cache trashing * msg: clear status line only if needed * msg: split mp_msg_flush_status_line into private and public variant * msg: check target stream before printing * ci: don't pin Ubuntu version where it doesn't matter * ci/mingw: clean installed packages * ci/mingw: use meson for libass build * ci/mingw: remove non-existent cmake option * wayland: also log version numbers with protocol interface names * ci/win32: override link args only for the target that needs them * ci/win32: add Vulkan-Loader * meson: assume vkCreateDisplayPlaneSurfaceKHR is available when internal * ci/win32: build shaderc * ci/win32: use ccache * ci/win32: enable all available projects from meson's wrapdb * ci/win32: add spirv-cross * ci/win32: add shaderc * ci/win32: remove Strawberry Perl from path * github/issue_template: ask for possible sample files on feature request * github/issue_template: rework system info section and provide commands * github/issue_template: move mpv information into its own section * github/issue_template: add information on how to create backtraces * github/issue_template: mention (nightly) builds and packages for testing * github/issue_template: reword file upload instruction * github/issue_template: reword log file instructions * github/issue_template: be more specific about performance-related issues * github/issue_template: add checkboxes as instruction check * github/issue_template: rework issue templates with github forms * github/issue_template: mention github Discussions for questions * wayland: cap xdg_wm_base at 4 if wm_capabilities aren't supported * Revert "player: do not exit when a seek gets queued" * stream: remove directory playlist hint * stream: check file descriptor passed to fd:// or fdclose:// * various: add missing checks for directory streams * {options,player}: fix stream leaks * stream: disallow reading or writing to directories * fuzzer: add dedicated fuzzers for each demuxer * fuzzer_load: use memfd_create instead of real file * fuzzer_load: merge file and config load into one file * fuzzers: don't build binaries for disabled protocols * av_common: fix integer overflow when adjusting timebase * select.lua: strip brackets in select-subtitle-line * select.lua: add this script * console.lua: close when pressing enter with input.select * console.lua: fix ctrl+f and ctrl+b keybindings * console.lua: don't crash when scrolling without matches * console.lua: truncate lines longer than the maximum width * console.lua: don't convert integers for mp.input to string * input: fix builtin sequence bindings * console.lua: implement a command parser to complete more things * player: add option-info/<name>/expects-file * osc.lua: remove scaleforcedwindow * autocrop.lua: fix some lint warnings * ytdl_hook.lua: fix some lint warnings * stats.lua: fix some lint warnings * osc.lua: fix some lint warnings * options.lua: fix some lint warnings * defaults.lua: fix some lint warnings * console.lua: fix some lint warnings * auto_profiles.lua: fix some lint warnings * test-hooks.lua: fix variable shadowing warning * status-line.lua: fix unused variable warning * skip-logo.lua: fix some lint warnings * pause-when-minimize.lua: fix unused variable warning * ontop-playback.lua: fix unused variable warning * observe-all.lua: fix some lint warnings * cycle-deinterlace-pullup.lua: fix unused variable warnings * command-test.lua: fix some lint warnings * autoload.lua: fix some lint warnings * autodeint.lua: fix some lint warnings * audio-hotplug-test.lua: fix some lint warnings * acompressor.lua: break long lines * github/workflows: add lua linting * Revert "stream: don't try to read from all-sparse/no-data files" * vf_vapoursynth: pass image properties from input * vf_vapoursynth: fix _ChromaLocation * hwdec_cuda_vk: add missing io.h include * audio: report EOF also for untimed AO mode * console.lua: increase margins from the bottom-left corner * vo_gpu_next: check if existing cache file has correct size * test: test mp_guess_lang_from_filename with [] and () * meson: add link flags also to cpp * audio: change bps format to int64_t * fuzzers: set network-timeout to 1 second * command: add dolby-vision-profile and dolby-vision-level to track-list * demux_mkv: inject AV_PKT_DATA_DOVI_CONF to demuxed packets * demux_mkv: demux Block Additional Mappings * test: test mp_guess_lang_from_filename() * misc/language: move mp_guess_lang_from_filename() here * external_files: detect language tags with hyphens * external_files: rename variables in guess_lang_from_filename() * lcms: check for null arg in gl_parse_3dlut_size * misc/language: store string length instead of null terminator * player/loadfile: match language and subcodes * Revert "misc: add language-matching utilities" * Revert "loadfile: use mp_match_lang_single" * Revert "loadfile: compute audio lang for sub selection when using lavfi-complex" * fuzzer_loadfile_direct: exclude paths also for file:// * demux_edl: make protocol comparison case insensitive * fuzzer_set_property: fix for other types than string * dmabuf: fix warnings on 320-bit build * filter/vf_gpu_vulkan: fix Vulkan handle type * player/client: fix typo in description of MPV_ERROR_UNINITIALIZED * fuzzers: add fuzzer for config parsers * Revert "ao: in ao_play_data, wakeup core for untimed AO as well" * ao: in ao_play_data, wakeup core for untimed AO as well * af_scaletempo: optimize overlap search * af_scaletempo: use taxicab distance for offset search * af_scaletempo: don't use a window for offset search * af_scaletempo: use Hann function for overlap window * af_scaletempo: add comment to overlap calculation * js: fix defaults.js * scripting: add mp.input.select() * drm_prime: remove off by one when allocating new ref counter * drm_prime: fix issue detected by valgrind * stream: don't try to read from all-sparse/no-data files * various: fix comma style * various: fix indentation * various: fix tabs in code * various: fix trailing whitespace * hwdec_cuda: reduce nesting in check functions * hwdec_cuda: avoid gpu wakeup by deferring cuInit * msg: print all messages to one stream * player/main: select msg output stream early * github/workflows: link MSVC artifacts in comments * ci: add Windows native build * test: mark libmpv as expected fail if OSC is not available * test/libmpv_encode: minor adjustments for win32 build fix * win32: add WinMain * player/configfiles: fix utime.h include for Windows SDK * stream_file: declare structures available only in Windows DDK * osdep/mpv.rc: fix encoding of MPVCOPYRIGHT * common: define some bits for Windows SDK * ao_wasapi_utils: define missing GUIDs for C * ao_wasapi_changenotify: fix IsEqualPropertyKey for C * various: remove unused sys/time.h include * osdep/compiler: clang also recognizes those attributes * osdep/main-fn-win: add struct typedef for compatibility * osdep/semaphore: don't include files if they are not used * win32: fix platform checks * io_utils: use mp_mkostemps instead of mkstemp * osdep/dirent: add implementation for Windows SDK build * ao_wasapi: fix include order * various: move strings.h inclusion to common.h * various: move unistd.h inclusion to common.h * meson: add defines for Windows build to avoid warnings * meson: remove Windows subsystem version, it is 6.0 by default * command: add normalize-path command * DOCS/lua: fix some argument names * DOCS/input: move escape-ass documentation * misc/path_utils: normalize win32 paths * player: normalize paths for resuming playback * cocoa-cb: add support for macOS color space transformation (EDR/HDR) * github/workflows: add swift linting * test: fflush between printf and abort * powershell-completion: add PowerShell command line completion * DOCS/input: document sub-seek 0 * docs: mention Cache section in sub-seek * command: return lavfi filters in option-info/[av]f/choices * osc: remove trailing space * demux_mkv: fix image detection * demux: keep track of ts information per stream type * win32: fix maximize state with --border=no * sd_ass: don't log if subtitles have unknown duration * ci/lint: use long commit hash * demux_mkv: make V_QUICKTIME codec detection generic * osd: show left arrow when playing backwards * tools: add narrow left arrow glyph for OSD * osc: show left arrow when paused while playing backwards * f_lavfi: reject filters with too many in/outs * f_decoder_wrapper: clear decoder info on deinit * ci/mingw: update dependency versions * OSC: implemented user configurable colors * win32: make context menu items accessible from the window menu * win32: move context menu init/uninit to GUI thread * wayland: set wl->scaling if there is no wl->current_output yet * sub/osd: fix rounding when rescaling bitmap subtitle rects * win32: support multitouch * options: add --native-touch option * wayland_common: support multitouch * input: add MP_TOUCH_RELEASE_ALL * input: add --input-touch-emulate-mouse option * command: add touch-pos property * input: add multitouch support functions * sd_lavc: reduce unnecessary error log on probing nonexistent codecs * sd_lavc: fix null dereference on error * wayland: log if cursor shape support is missing * DOCS: fix spelling of environment and corresponding/corresponds * demux/packet: add support for ITU T.35 metadata in Matroska * demux: support VVC Matroska demux * mac: properly handle regular expressions without force unwrap * mac: code cleanup and consistency changes, fix linting issues * mac/helper: make wakeup callback declaration consistent * mac/touchbar: use KVO block API instead of old obj-c instance method * TOOLS/lua/autoload: make ignore_patterns more generic * TOOLS/lua/autoload: allow multiple ignore_patterns * TOOLS/lua/autoload: add ignore_pattern option * w32_common: fix show-in-taskbar toggling after explorer is restarted * zsh-completion: complete --gpu-context * ci: add fuzzers build test * fuzzers: add new fuzzer targets * player/command: mark sub-text-ass as deprecated * player/command: add sub-text/ass-full sub-property * player/command: move sub-text-ass to a sub-property * sd_ass: allow get_text to return more than 500 bytes * stats.lua: show osd-dimensions property * sub/lavc_conv: don't override style of converted teletext pages * sub/lavc_conv: don't strip ASS style header * DOCS/vf: update vf_gpu options * vf_gpu: vulkan and egl implementations * af_scaletempo2: migrate to internals to talloc * af_scaletempo2: remove redundant buffer zeroing * ao_wasapi: fix player core lockup when avoiding premature buffer fills * Revert "ao_wasapi: address premature buffer fills in exclusive mode" * m_config_core: fix forced option notification with m_config_cache * mac/input: add support for dead key reporting * mac: make display-names unique to allow specific selection * dec_sub: fix locking for sub_ass_get_extradata * test: make libmpv_test abort if an error is logged * vo_dmabuf_wayland: use wl_fixed_from_int when setting viewport source * vo_dmabuf_wayland: fix scaling for subsurface positioning * DOCS/man: refer to "mp.options functions" for script config docs * player/loadfile: check if forced track is also tagged as default first * ao/avfoundation: optimise preprocessors for included coreaudio code * ao/audiounit: fix building for iOS * ao_coreaudio: add a comment for ignoring returned sample count * Revert "ao_coreaudio: signal buffer underruns" * input: fix deadlock in adding gamepad input src * d3d11: disable IDXGIInfoQueue usage if dxgidebug.h is incomplete * d3d11: use IDXGIInfoQueue instead ID3D11InfoQueue * demux: also read "CUESHEET" tag from stream metadata * ao_wasapi: set 0 buffer duration on initialization for shared mode * ao_wasapi: add `--wasapi-exclusive-buffer` option * context_drm_egl: guard gbm_device on uninit * x11: always do a reset_size if geometry/autofit is updated at runtime * options: flag geometry/autofit options with force_update * player: always notify when writing window-scale option * m_option: add a force_update boolean * stats.lua: add option to disable scale with video size * stats.lua: add option to control plot border width * stats.lua: remove redundant style override * demux_lavf: pass jpg filenames to ffmpeg for probing * m_option: change confusing error messages for obj_settings_list * DOCS/man/options: mention the new priority list usage of --gpu-context * various: add GPU context description * video/out/gpu/context: add auto dummy context * video/out/gpu/context: convert --gpu-context to use obj_settings_list * video/out/gpu/context: don't use hidden flag for contexts * DOCS/client-api-changes.rst: fix formatting * command: use property_time() for sub-start and sub-end * Thu Apr 18 2024 [email protected] - Update to version 0.38.0+git20240418.2f8038c59885: * vo_gpu_next: invalidate cache object if requested by libplacebo * stats.lua: display short decoder name if not generic one is used * player/command: add track-list/N/decoder * stats.lua: filter input bindings by typing them * terminal-win: support mouse input events * terminal-win: implement terminal_get_size2 * terminal-win: implement terminal_set_mouse_input * terminal: add terminal_set_mouse_input function * terminal-unix: style fix * vo_{tct,sixel,kitty}: implement mouse support * terminal-unix: ignore unhandled mouse CSI sequences * terminal-unix: support mouse escape codes * sd_ass: add `sub-vsfilter-bidi-compat` to enable vsfilter bidi compat * sd_ass: fix margins for all styles when overriding PlayResX * sd_ass: replace ifdef with explicit version check * DOCS: document --show-in-taskbar option * w32_common: implement --show-in-taskbar option * x11_common: implement --show-in-taskbar option * x11_common: detect wm support for _NET_WM_STATE_SKIP_TASKBAR * stats.lua: inherit OSD styles * DOCS/input: minor typo correction * osc: add playlist_media_title option * dec_sub: fix locking for sub_ass_get_extradata * input: make mp_input_queue_cmd return a meaningful value * dec_sub: don't use recursive mutex * dec_sub: fix locking for sub_is_{primary,secondary}_visible * input: don't use recursive mutex * input: avoid unnecessary recursive locks * input: remove mp prefix for static functions * input: fix locking of mp_input_bind_key * options: fix runtime update of teletext-page * sub/sd_lavc: check decoder output type for dvb and arib * sub/lavc_conv: set dvb teletext and arib caption output type to ASS * sub/lavc_conv: take sd context as a parameter for lavc_conv_create * Update VERSION * Release 0.38.0 * Revert "ao_coreaudio: switch to ao_read_data_nonblocking()" * test: add an encoding test with libmpv * player/misc: fix audio-only fallback when video init fails * player/command: remove codec-info and use track-list directly * player: avoid busy looping during reinit_sub * demux_mkv: print chapter timestamp with constant length * demux_mkv: add BCP 47 language tags support * github/issue_template: remove question template * stats.lua: add codec profile * player/loadfile: add codec profile to print_stream() * player/command: add video-codec-info and audio-codec-info * wayland: fix segfault in surface_handle_enter due to memory read * osxbundle: use arg list instead of a string for signing subprocess call * wayland: check if scale actually changes in scaling events * wayland: only perform a rescale if window is on one output * demux_mkv: don't warn if yaw/pitch projection is set to 0 * demux_mkv: remove not needed v_projection_pose_roll_set * demux_mkv: corrected direction of ProjectionPoseRoll rotation * TOOLS/lua/autoload: fix allow extending ext sets from script-opts * vo_gpu_next: rotate target crop * msg: use fwrite * msg: use defines for hide/restore cursor code * wayland: apply keepaspect options to wayland configure bounds * wayland: avoid unneeded calls to xdg_toplevel state functions * wayland: enforce a state change after a reconfigure * msg: don't keep status line in partial * vo_gpu_next: set target resolution to crop value * stats.lua: remove unused variables * stats.lua: use '➜' (U+279C) instead '→' (U+2192) * mac/log: fix use after free when freeing mpv handle * af_scaletempo2: prioritize louder channels for similarity measure * test: support format refs for multiple ffmpeg versions * test: update format refs for new major ffmpeg version * DOCS/man/mpv: correct description of F8/F9 keybinds * command: don't use OSD_ASS_0 when converting lists to strings * mac/vulkan: add support for frame timing via presentation feedback * mac/window: fix window pinch gesture and modify current-window-scale * various: make filter internal function names more descriptive * ao: rename playthread to ao_thread * vo_gpu_next: keep target params in priv instead of alocating it * player/lua: fix trailing whitespace for mp.log output * stats.lua: fix scrolling for page 2 * Revert "vo_dmabuf_wayland: assume counter-clockwise rotations" * bstr: change bstr0_s to bstr0_lit, restrict it only for string literals * vo_tct: reduce lut_item size and generate it without snprintf * vo_tct: use fwrite when appropriate * win32: change fputs to fwrite wrapper * vo_tct: add synchronized output support * vo_tct: add --vo-tct-buffering option * misc/bstr: add bstr0_s for static initialization * vo_tct: write frame fully instead of every pixel * terminal-win: add more control codes support in non-VT mode * vulkan: use pl_vk_inst_create * DOCS/man/vo: document vo_caca's hardcoded keybinds * DOCS/man/options: mention the impact of --hwdec-codecs on startup time * DOCS/man: unify flag option descriptions * vo: add win32 context menu support * ao_pipewire: fix delay calculation * mac/remote: use event type as key state for proper mapping in function * mac/apphub: fix opening several files at once via Finder or App icon * mac/common: reuse hidpi window scale frame calculation helper * mac/window: cleanup unfsContentFrame usage and make it none optional * mac/window: fix unfs window size retrieval * audio/ad_spdif: utilize defined freeing function for AVIOContext * audio/ad_spdif: specify media type and sample rate in output codecpar * ci/build-mingw64: enable the SPDIF muxer * ao_coreaudio: register hotplug_cb in normal init() as well * ao_pipewire: support set_pause * ao_wasapi: support set_pause * ao_avfoundation: support set_pause * ao: set_pause for pull based ao * demux: fix seek ranges of images * player/loadfile: set track->forced_select outside of compare_track * mac/app: add some verbose logging for app startup and file handling * mac/apphub: only instantiate log and option when in Application mode * mac/menu: remove redundant quit func and use identical command func * mac/app: cleanup and optimise App launch and termination * mac/apphub: move opening url into AppHub * mac/app: use new open url App event to simplify open file event handling * mac/log: fallback to system logger if no mp_log is yet available * mac/app: rewrite App c main function, startup and termination in swift * mac/app: rewrite Application class in swift * wayland_common: set mouse position on pointer enter * mpv.desktop: translate to Italian * ao_pipewire: fix buffer size calculation * ao_pipewire: fix nframes calculation * ao_alsa: fix snd_config memory leak * video: also reset video-sync state when resetting video state * mac/view: fix cursor visibility when toggling fullscreen * mac: cleanup swift bridge header imports and unify them * mac/apphub: make DnD behaviour on bundle icon configurable * mac/log: rename log functions and cleanup class * mac: use LogHelper directly instead of mp_log * mac: rename mpvHandle to mpv * mac: remove now unnecessary objective-c forwarding * mac/apphub: move cocoa-cb into AppHub * mac/apphub: move menu bar into AppHub * mac/app: remove unused Application flag * mac/apphub: move mac options into AppHub * mac/apphub: move app icon into AppHub * mac: cleanup mac headers and include preprocessors * win32: fix native key repeat support * DOCS/options: document key autorepeat defaults * ao_coreaudio: handle latency change on hotplug * ao_avfoundation: initial avfoundation ao support * af_scaletempo2: fix false reporting of frame availability * vo_gpu: support video-target-params * vo_direct3d: support video-target-params * vo_xv: support video-target-params * meson: improve option descriptions * meson: refine dependencies of many feature checks * meson: remove some unneeded features from list * DOCS: update for new --pulse-latency-hacks defaults * demux_mkv: support V_FFV1 tag * player/command: optimize duplicated property search in command_init * ci/mingw: use GAS for vulkan loader * mac/event: only initialise an EventHelper when necessary * mac/touchbar: use AppHub directly instead of the singleton * mac/remote: use AppHub directly instead of the singleton * mac/touchbar: use EventHelper for event handling * mac/touchbar: move touch bar into AppHub * mac/remote: use EventHelper for event handling * mac/touchbar: fix devision by 0 * mac/remote: fix devision by 0 * cocoa-cb: use EventHelper for event handling * cocoa-cb: use a separate mpv_handle for cocoa-cb to simplify shutdown * mac/apphub: migrate remaining events functionality to new AppHub * mac/event: add helper to subscribe to mpv events and property changes * hwdec/vulkan: enable the stable AV1 extension * ci/msys2: fix vulkan package name * ao_pulse: reenable latency hacks by default * player/command: fix udata talloc parent * mac/libmpv: remove unused functions * mac: optimise and shorten some code * mac/option: remove now unused computed option variables * mac/option: rename option structs to properly represent their content * mac/libmpv: remove mac option handling in favour of option handler * mac/option: make option helper none optional * mac/option: make option helper vo struct independent * mac/option: optimise option pointer access * mac/option: remove unused and obsolete variables * mac/option: move option functionality from mpv helper to option helper * mac/type: move c<>swift type bridging into a dedicated type helper * meson: conditionalize searching for ANGLE's EGL * meson: get rid of 'egl-helpers' feature * meson: fix EGL version check * video/egl_helpers: fix fallback logic for EGL_KHR_create_context * video/egl_helpers: log error for eglCreateContext * options: add --input-commands option * console.lua: complete fixed precision properties * test: fflush output stream before abort * m_property: add `>` for fixed precision floating-point expansion * osc.lua: escape text * command: add escape-ass * input: remove max active section limit * input: raise maximum key down limit to 16 * stats.lua: use term-size as terminal output size * player/command: add term-size/[w,h] property * stats.lua: fix and unify scroll hint * stats.lua: use term_ellipsis for page 4 * stats.lua: truncate long lines for the terminal * stats.lua: use scroll function for page 2 and 0 * stats.lua: refactor page 4 scrolling into function * stats.lua: add more information in audio section * msg: clear buffered status_line on flush * msg: simplify the line_skip calculation * TOOLS: add an interface-changes generator script * DOCS: document the new way to handle interface changes * meson: remove winmm dependency for win32 desktop target * win32: increase hires timer resolution * win32: avoid multi byte string to wide conversion if not needed * win32: add puts/fputs wrappers * win32: optimize mp_vfprintf a little * misc/bstr: add bstr_to_wchar for win32 * player/main: move terminal_uninit to the end * win32: cache GetConsoleMode state for stdout/stderr * win32: don't touch buffering options * win32-console-wrapper: fix printf specifiers * win32: don't pass std handles if they are attached to console * DOCS/options: improve wording of dither-depth * af_lavcac3enc: fix memory leak on 2ch audio * various: use thread safe mp_strerror() * image_writer: refactor screenshot write functions * image_writer: fix TOCTOU in screenshot filename generation * Revert "osdep/io: ignore 'x' mode for mp_fopen" * repack: add restrict qualifier to src/dst pointers * win32: resolve dropped shell links (Windows shortcuts) * win32: implement shell link target resolving * video/image_writer: attach MDVC metadata and CLLI metadata * builtin.conf: remove debanding from the high-quality profile * input.conf: add `b` to toggle debanding * vo_gpu_next: make `dither-depth=auto` mean 8 bpc for non-d3d11 SDR * vulkan: remove color_depth stub * osdep/main-fn-win: fix implicit conversion warning * osdep/threads: fix warning: initializer element is not constant * ao_lavc: fix warning: ISO C forbids forward references to 'enum' types * vo_gpu_next: fix -Wembedded-directive warning * video/out/gpu/spirv: fix warning: zero size arrays are an extension * common/msg: fix warning: void function should not return void expression * common/msg: fix warning: use of non-standard escape character '\e' * options/m_config: fix no newline at end of file * various: fix -Wold-style-declaration warning * video/out/placebo/utils: fix -Wignored-qualifiers warning * demux/cache: fix -Wtype-limits warnings * meson: bump warning level to 2 * vo_gpu_next: don't render ASS subtitles at HDR colorspace * mac/touchbar: simplify item and view creation * mac/touchbar: optimise time item update * mac/touchbar: optimise constraint calculation * mac/touchbar: use DateComponentsFormatter for time formatting * mac/touchbar: simplify update items logic * mac/touchbar: take playback speed into account for rate limiting * mac/touchbar: rewrite touch bar in swift * win32: remove all NC area on Windows 10 with --title-bar=no * win32: add helper function to check Windows 10 build number * osc: add missing window controls for --title-bar=no * win32: adjust top border offset when title bar is disabled * win32: add DWMWA_VISIBLE_FRAME_BORDER_THICKNESS definition * win32: use dpi aware GetSystemMetricsForDpi * win32: update maximized state when leaving fullscreen * win32: fix window maximized state after setting window size * various: use static assertions where appropriate * DOCS/options: --x11-name sets the instance name, not the class's * demux: add a format-name property * wayland_common: respect compositor's preferenced size on state change * DOCS/options: clarify --autofit-larger effect * wayland_common: always use the current geometry for prepare_resize * x11_common: unmaximize window on runtime geometry change * win32: support runtime geometry update * x11_common: fix window x/y position when updating geometry on runtime * github/issue_template: add note about --profile=fast and --hwdec * gpu-next: add support for --dither-depth=auto * d3d11: get real on the wire bits per color channel * d3d11: add mp_get_dxgi_output_desc * mac/view: optimise drag and drop event handling * mac/input: optimise scroll wheel event handling * mac/input: move scroll wheel event handling into input helper * mac/input: optimise mouse movement enabled check * mac/input: fix switched mouse forward and back button * mac/input: move mouse event handling into input helper * ao_coreaudio: stop audio unit after idle timeout * stream: enable caching for sockets, pipes and FIFOs * vo_{drm,wlshm}: make query_format checks more correct * vo_drm: add support for YUYV format * vo_{drm,wlshm,x11}: add support for video-target-params * vo: move target_params into responsibility of VO * context_drm_egl: log fallback correctly * vo_drm: add support for BGR formats * vo_drm: use native matching pixel format for XRGB2101010 * mac/input: add missing special keys * mac/input: add simplified mp_keymap init * mac/input: remove wrongly mapped modifier keys * mac/event: move key event handling to input helper and optimise it * mac/input: define AltGr mask as static NSEvent.ModifierFlags variable * mac/events: remove redundant functions and optimise input helper usage * mac/helper: move input ctx related functionality into new input helper * mac/events: move input ctx related functionality into new input helper * wayland_common: move WAYLAND_DISPLAY check above vo_wayland_state init * wayland_common: require WAYLAND_DISPLAY to be set for initialization * vo_gpu/vo_gpu_next: fix transparency in glx * meson: fix ios-gl hwdec build * vo_gpu: fix broken chroma plane for rotated semi-planar formats * path: don't load any files if --no-config is passed * DOCS/tech-overview.txt: add builtin.conf to etc/ description * DOCS/tech-overview.txt: update for merged pull/push glue code * DOCS/tech-overview.txt: add vo_gpu_next reference * DOCS/tech-overview.txt: add a section for the new filter framework * DOCS/tech-overview.txt: update for removed stream inputs * DOCS/tech-overview.txt: update for split m_config.c/h * DOCS/tech-overview.txt: fix function/member/header names * ad_spdif: update deprecated FF_PROFILE_DTS_HD_HRA definition * options: remove trailing whitespaces * options: remove --focus-on-open and add --focus-on * stats.lua: display video parameters after filtering * vf_format: add hdr10plus sub-parameter to format video filter * mp_image: add Dolby Vision metadata mapping * csputils: add missing PL_COLOR_SYSTEM names * mp_image: add mp_image_params_static_equal for finer comparision * wayland: always rescale geometry if in a fullscreen/maximized state * filters/f_lavfi: rename channellayout to ch_layout * swresample: stop using deprecated {in,out}_channel_layout options * filters/f_lavfi: handle removed AV_OPT_TYPE_CHANNEL_LAYOUT * ad_spdif: handle const buf pointee in avio_alloc_context * osxbundle: avoid running `codesign` with deprecated `--deep` argument * vo_gpu_next: infer target parameters * vo_gpu_next: add support for video-target-params * vo: add video-target-params property * player/command: fix video-params/[average-bpp, alpha] when hw decoding * mp_image: add imgfmt_name to mp_image_params * meson: remove main function from libmpv build * osxbundle: activate Game Mode with App bundle * mac/menu: add explicit menu type instead of an inferred type * mac/menu: make menu creation recursive to allow nested submenus * mac/menu: move conditional Bundle menu items into config * mac/menu: keep track of menu items with dynamic actions * mac/menu: merge file and url config properties * mac/menu: properly guard playlist array access * mac/menu: attach menu config to menu item for direct access * mac/menu: replace app.command usage with event.command * mac/menu: fix touch bar menu item * mac/menu: rename Preferences to Settings for consistency with macOS * mac/menu: remove duplicate key assignment Undo/Zoom * mac/menu: optimise loading files function * mac/menu: replace deprecated openFile() usage * mac/menu: remove unnecessary alert config fields and alert * mac/menu: rewrite menu bar in swift * mac/app: remove unused function * github/workflows: generate html and pdf in docs job as well * DOCS/man/input.rst: fix incorrect syntax * mac/vulkan: directly retrieve current render size without caching * mac/vulkan: workaround for MoltenVK problem that causes flicker * github/workflows: update actions/upload-artifact to v4 * ad_spdif: handle deprecated FF_PROFILE_* definitions * wayland_common: fix pointer serial conflict * video/filter: add field order support for built in deinterlacers * f_auto_filters: pass field parity to lavfi bwdif deinterlacers * options: add --deinterlace-field-parity option * wayland: fix missing lround in cursor surface * wayland: guess the first hidpi frame better * Revert "player: reset av state on speed changes" * player/video: subtract frame_time from delay when ao_chain starts audio * player/audio: also adjust apts by audio speed in audio_start_ao * test/test_utils: add mp_msg_set_max_level stub * ci/mingw: update dependency versions * ci/mingw: add dav1d decoder * ci/mingw: enable nvdec * demux_lavf: always find stream info for avif files * vo_gpu_next: render subtitles at video colorspace * sub: add flag if sub_bitmap should be rendered in video color space * DOCS/options: fix Vulkan typo * vo_gpu: add missing PL_COLOR_TRC_ST428 case in lcms * wayland_common: toplevel resize fixes * w32_common: make dragging asynchronous * w32_common: re-add fullscreen check when start dragging * input: centralize VO dragging * wayland_common: implement VOCTRL_BEGIN_DRAGGING * w32_common: implement VOCTRL_BEGIN_DRAGGING * x11_common: implement VOCTRL_BEGIN_DRAGGING * command: add begin-vo-dragging command * Revert "player: add ao-volume option, to set the system volume at startup" * sd_ass: fix use-after-free in ft->event_format * wayland_common: fix type of dnd_action * wayland_common: fix initialization order issue with protocols * wayland_common: fix DND read error handling * wayland_common: read DND data in larger chunks * wayland_common: log if DND fails * wayland_common: free DND resources on shutdown and error * cocoa-cb: render on main queue instead of dedicated queue * mac/vulkan: set NSView as layer delegate like recommended by MoltenVK * osxbundle: fix bundling when homebrew is not installed * mac/vulkan: remove old deprecated VK_MVK_macos_surface extension remains * various: avoid function pointer casts * misc/jni: reduce duplication in mapping struct * misc/jni: introduce macros for deleting references * misc/jni: general code cleanup and refactor * ao_audiotrack: refactor JNI class retrieval * ao_audiotrack: remove two dead variables * ao_audiotrack: fix missing check for passthrough support * osdep/mac: make mac naming of files, folders and function consistent * wayland: drop some unneeded curly braces (no-op) * wayland: drop buffer scale for cursor as well * wayland: rename configured to geometry_configured (no-op) * wayland: fix check for set_surface_scaling * sd_ass: don't wrongly recognize \pos as \p * build: fix build when disabling cocoa-cb * mac: remove unnecessary metal layer colour space update * mac: set layer content scale on init * cocoa-cb: remove pre-allocation and initialise only when used * console.lua: fix blurry cursor when --osd-blur is set * stats.lua: fix blurry graphs when --osd-blur is set * DOCS/options: clarify --sub-blur and --osd-blur options * vo_gpu_next: simplify pl_clear_mode enum mapping * ci: clone repos with shallow submodules * vo_gpu_next: add --border-background option * vo_gpu_next: support --background option * vo_gpu: pre-multiply alpha when dealing with background colors * vo_gpu/vo_gpu_next: rework --alpha into --background option * player: rename --background to --background-color * vo_gpu/vo_gpu_next: set ctx->opts.want_alpha in specific functions * hwdec/dmabuf_interop: reduce magic constant use * hwdec/dmabuf_interop_gl: migrate to EXT_EGL_image_storage on desktop GL * hwdec/dmabuf_interop_gl: refactor texture creation * hwdec/dmabuf_interop_gl: restyle macros to fit line length * video: don't define IMGFMT_VULKAN conditionally * osd_libass: update the OSD bar's dent and border size * DOCS/options: make --scale documentation more consistent * wayland: remove old sway/wlroots hack * player/audio: remove misleading comment about delay * player: reset av state on speed changes * player: remove speed adjustment from playing_audio_pts * ci: add explicit build test for ffmpeg 4.4 * DOCS: move ALSA option documentation to ao.rst * DOCS/options: clarify the impact of --audio-buffer * DOCS/options: remove lavrresample reference * DOCS/options: remove --alsa-device * DOCS/ao: update SDL ao version reference * vo_gpu_next: fix win32 io wrap * player/main: don't set the main thread name * Revert "ci/mingw: pin Vulkan version again" * DOCS: add `insert` commands and args to interface-changes * input/player: add loadfile/loadlist insert-at command * player: change insert_next to insert_at * input: add insert-next support for drag-and-drop * player: add loadlist insert-next commands * player: add loadfile insert-next commands * DOCS/man: remove outdated softvol entry * player: add ao-volume option, to set the system volume at startup * ao: don't clip floating point formats at non-unity gain * osdep/io: add mp_unlink() * sub: fix LRC lines with multiple timestamps * ci: add OpenBSD * ci: fix typing in lint-commit-msg.py * image_writer: cleanup leftover files if image writing fails * player: set hidpi-window-scale to no by default * DOCS/options: clarify hidpi-window-scale * player/command: handle runtime toggling of hidpi-window-scale * win32: clean up hidpi window scale behavior * x11: clean up hidpi-window-scale behavior * vo_gpu: use fbo texture height for fragment coordinate calculation * test: add missing libplacebo dependency * github/workflows: add macOS 14 arm runner with most recent xcode * github/workflows: add vulkan, mujs and urchadet to macOS dependencies * github/workflows: link macOS artifacts in comments * github/workflows: bundle macOS App and upload it as artifact * mac: code consistency changes * osxbundle: use dylib script directly instead of in a subprocess * osxbundle: add homebrew vulkan loader location to search path * osxbundle: resolve loader_path on rpath retrieval * osxbundle: remove unused import * osxbundle: fix syntax warning with python 3.12 * meson: add custom target for macOS App bundling * ao_wasapi: scale queried AO volume to (0, 100) * ao_wasapi: address premature buffer fills in exclusive mode * player: fix watch later config comments when ignoring path * player/loadfile: rewrite sub autoselection logic * github/workflows: update cross-platform-actions to v0.23.0 * command: fix sub-seek while paused without a video * command: don't add SUB_SEEK_OFFSET twice with sub-seek * options/path: move path utility functions to misc/path_utils * osdep/io: move I/O utility functions to misc/io_utils * osdep/io: ignore 'x' mode for mp_fopen * vo_gpu: fix fragment coordinate calculation when dithering * vo_gpu: fix fragment coordinate calculation when drawing checkerboard * x11_common: handle window dragging in ButtonPress event * various: make mentions of macOS consistent * DOCS: make mentions of macOS consistent * DOCS/man: document Ctrl+WHEEL_UP/WHEEL_DOWN keybinds * input.conf: bind Ctrl+WHEEL_UP/DOWN to video-zoom * DOCS/mpv: update ancient profiles config example * osxbundle: add optional source path argument * osxbundle: remove old version retrieval fallback * osxbundle: bundle vulkan driver and layers * vo: make libmpv last in the auto-probing order for cocoa-cb only * encode_lavc: don't use deprecated `avcodec_close` * af_lavcac3enc: don't use deprecated `avcodec_close` * wayland_common: update pointer serial on pointer_enter * cocoa-cb: lock CGLContext on uninit and manual redraw * github/workflows: switch back to luajit for macos * vo_gpu_next: fix some lut-related memory leaks * vo_gpu_next: move gpu-next opts to specific sub option * vo: remove VOCTRL_SET_EQUALIZER and simplify into UPDATE_VIDEO * wayland_common: drop shape device check when spawning cursor * wayland_common: properly determine has_keyboard_input * wayland_common: handle scroll accumulation for each seat * wayland_common: handle keyboard state per seat * wayland_common: set cursor visibility for all seats for voctrl * wayland_common: handle removal of seats * wayland_common: prevent cursor_seat stale reference * wayland_common: handle cursor_shape_device per seat * wayland_common: drop unnecessary xdg_toplevel null check * wayland_common: implement multi-seat support * wayland_common: indentation nit * vulkan/context_win: make --alpha work and runtime changeable * opengl/context_win: make --alpha runtime changeable * d3d11: make --alpha runtime changeable * opengl/context_win: make --alpha=yes work * d3d11: set window to transparent if --alpha=yes is specified * w32_common: add function to control window transparency state * command: add window-id to MPV_EVENT_VIDEO_RECONFIG property change * DOCS/man: add description of display-names property for wayland * vo_gpu_next: don't add 0 width/height sub bitmaps to pl_overlay * osdep/threads-posix: fix headers for OpenBSD build * DOCS: document --input-preprocess-wheel option * input: add --input-preprocess-wheel option * DOCS/lua: clarify `repeatable` and `complex` for `add_key_binding` * m_option: fix memory leak in parse_obj_settings_list * demux_mkv: don't return null bstr with size specified * demux_mkv: error if needed compression settings were not found * demux_mkv: fix memory leak on invalid blocks * ao_pipewire: add support for SPDIF formats * ao_pipewire: don't interpret unknown formats * DOCS/options: mention that sub-clear-on-seek can now break things * player/sub: attempt to detect animated subtitles * vo_gpu_next: move the frame->redraw check for blended subtitles * player/sub: avoid wasteful subtitle redraws * dec_sub: expand sub packet caching * vo: ensure that frames are not eaten on reconfig * Reapply "video: remove another redundant wakeup" * Revert "vo: remove frame timing check from vo_still_displaying()" * ci/lint: add Reapply to the no prefix whitelist * mac/remote: simplify cover retrieval * mac/remote: remove unnecessary nowPlayingInfo variable * mac/remote: add album and artist info * mac/remote: add seek support * mac/remote: add chapter title info * mac/remote: add media-title info * mac/remote: add playback rate info * mac/remote: add duration and current position info * mac/remote: remove make current observer when stopped * mac/remote: replace command handler with generic handler function config * mac/remote: simplify repeatable key logic * mac/remote: move configs to initialiser for new MediaPlayer shorthands * mac/remote: move class local struct and enum definition to extension * mac/remote: use explicit struct instead of generic array for configs * DOCS/man: more words about --teletext-page * sub: allow setting lavc txt_page special values via teletext_page * ci/mingw: pin Vulkan version again * x11_common: fix Xft.dpi detection ignoring --hidpi-window-scale * README: mention libplacebo subproject integration * meson: set default options for libplacebo if using subproject * osdep: fix infinite loop when cancelling subprocess * various: replace dead links in comments * wayland: don't press keys again when releasing modifiers * demux: clarify the meaning of still_image * hwdec_drmprime: check for AV_PIX_FMT_P210 before using it * demux_mkv: add tags for A_MPEG/L1(mp1) audio * js: complex key-binding: send also key_text * wayland: set current_output on surface leave if applicable * demux_mkv: set only image flag and ignore still_image * demux_mkv: increase probing size for still image * sd_lavc: support secondary subs properly * console.lua: move functions to strip common characters * f_output_chain: prevent double free of child filters * stats.lua: use deinterlace-active property instead * player/command: add deinterlace-active property * player: add an auto option to deinterlace * vo_vdpau: cosmetic changes to timings * ao_sndio: add missing config.h include * github/workflows: ignore more files from build workflow * demux_mf: detect webp * Revert "demux: put type2format into codec_tags with helper functions" * player: remove all rpi-specific code * audio: rename ao_read_data_unlocked * player: ensure runtime updates of certain rendering options * github/workflows: revert to github-script@v6 * vo_vdpau: fix timing for nanoseconds * command: add load-input-conf * input: make parse_config_file return bool * input: remove unused parameter from parse_config_file * command: add load-config-file * wayland_common: warn if scrolling will be broken * wayland_common: add touch listener boilerplate * wayland_common: prefer axis_value120 if supported * wayland_common: properly handle high resolution scrolling * DOCS/mpv: document how mf:// URLs are formed * demux_mf: explain why a printf format is unsupported * demux_mf: remove code repetition * x11_common: support --title-bar * demux_mkv: detect images by reading blocks and timecodes * Revert "demux_mkv: check if the video codec is an image" * wayland: look for "default" cursor as well as "left_ptr" * meson: bump libplacebo required version to 6.338.2 * io: add mp_save_file * vo_gpu_next: save cache to separate files * stream: increase max_size to INT_MAX minus padding * hwdec_drmprime: add P010 and P210 support * hwdec_aimagereader: handle lack of JNI gracefully * common: don't force terminal log buffer to small size * version.h.in: bump copyright year * vo: change vo_frame duration to double * vo_dmabuf_wayland: scale smarter in hidpi situations * wayland: don't rescale dimensions if hidpi-window-scale is disabled * wayland: drop buffer_scale use for viewporter * vo: ensure a dropped frame is always freed * all: add missing repr assignments * github/workflows: update actions package versions * osdep/timer: update documentation and test for mp_time_ns * options/m_option: suppress warning about validate function call * ad_spdif: fix DTS 44.1khz passthrough playback * player/command: don't reselect demux stream on only UPDATE_OSD * player/video: force vo reconfigure on color parameters change * f_lavfi: use libplacebo utils instead of mp_csp_* * vo_gpu_next: simplify after recent changes * csputils: replace more primitives with pl_ * csputils: replace mp_chroma_location with pl_chroma_location * csputils: replace mp_alpha_type with pl_alpha_mode * csputils: replace mp_colorspace with pl_color_space * command: do a normal seek instead of a refresh seek when switching vo * f_auto_filters: use bwdif_cuda for deinterlacing with cuda hwdec * osdep/io: expand path before LoadLibrary * osc: add osc-windowcontrols_title option * Revert "player/video: loosen logic checks for adjust_sync" * bash-completion: parse the mpv options lazily * f_auto_filters: change fallback deinterlace to bwdif * sub: add `--sub-lavc-o` option * win32: stop waiting for messages if the window is destroyed * msg: reset status_lines when setting --really-quiet * player: remove --term-remaining-playtime option * command: restore lang after track reload * command: minor m_property_strdup_ro style changes * stats.lua: display the current GPU context * command: export current-gpu-context property * player/command: reselect track after UPDATE_SUB_HARD * chmap: mp_image_pool: drop stale mentions of Libav in comments * common: stream: don't mention Libav in errors/warnings * TOOLS/autocrop.lua: drop Libav mention * DOCS/*: remove mentions of Libav * console.lua: highlight the selected suggestion in the terminal * libplacebo: fix out-of-bounds read with --really-quiet * scripting: don't observe properties with type nil * osc: don't autohide mouse cursor when hovering over windowcontrols title * TOOLS/lua/autoload: skip loading when playback is aborted * DOCS: reorder --volume-max documentation to where --volume is * DOCS: add documentation for --volume-gain options * command: add osd display for volume-gain * audio: add --volume-gain options to control volume in decibels * sub: fix sub-seek and sub-step -1 with unknown duration subs * demux_lavf: detect ico as images * wayland_common: guard against negative configure sizes * command: fix bitrate unit capitalization * stats.lua: make capitalization consistent across pages * win32: change to alphanumeric mode on the first keypress * win32: default to alphanumeric input when the IME is first initialized * win32: move IME candidate window to video window * win32: handle WM_UNICHAR * win32: re-enable IME * filter_sdh: optimize get_char_bytes * terminal: don't print escape sequence if not tty * terminal-unix: don't install handler before pipe * terminal-unix: move all processing out of sighandler * console.lua: style log lines in the terminal * terminal-unix: don't set `SA_RESETHAND` for SIGTERM/SIGQUIT * Revert "github/workflows: don't install angleproject on msys2" * github/workflows: disable MSYS 32-bit builds * wayland: accept active modifiers even if they aren't physically held * wayland: don't ignore key modifiers if they were consumed * DOCS/mpv: the playback position is not remembered after poweroff * player: add forced choice to subs-with-matching-audio * scripting: add mp.input * filter_sdh: fix incorrect placement of null terminator * filter_sdh: sanitize get_char_bytes heuristic to avoid overflow * ao_null: fix reset() implementation * github/workflows: don't install angleproject on msys2 * demux_lavf: remove `fix_editlists` hack for mp4 * f_lavfi: provide color_space and color_range params for lavfi * x11_common: prefer Xft.dpi for HiDPI scaling * x11_common: allow DPI scale in unit of 0.5 * msg: return zero length if bstr_split_utf8 fails * vo_gpu_next: respect d3d11 swapchain output format preference * README: specify the meaning of "not too ancient Linux" * README: recommend --profile=fast for crappy GPUs * DOCS/options: note that --geometry doesn't fully work on wayland * console.lua: expand ~/ in file completion * msg: improve term_disp_width to support unicode * ci/build-freebsd: use march=native for QEMU hosted build * player/video: set video_out to NULL before broadcasting events * command: allow changing --gpu-api and --gpu-context at runtime * DOCS/ao: change wrong note on which driver is preferred * console.lua: hide the cursor when unfocused * console.lua: don't reinsert completion_append after cycling * DOCS/man: remove "Linux desktop issues" section * vo_sdl: support the focused property * DOCS/man: use the correct directive type for "Warning" admonitions * win32: add support for --input-cursor-passthrough option * screenshot: remove artificial limit on the number of screenshots taken * DOCS/options: fix documentation for --force-window window size * various: use correct PATH_MAX for win32 * osdep: clarify and rename a constant on win32 * various: fix capitalization of 'GitHub' * msg: reduce nesting in mp_msg_flush_status_line * msg: keep status line on the end of file * console.lua: refactor find_common_prefix * mac: add support for --input-cursor-passthrough option * DOCS/options: fix --image-display-duration's documentation * DOCS/interface-changes: add --secondary-sub-ass-override * common/av_log: do not assume AVClass.item_name is always set * mac: add support for --auto-window-resize option * mac: update geometry/autofit opts on runtime * win32: opt in to the windows segment heap * win32: support long file paths * osc: allow disabling special mouse wheel behavior * terminal-unix: enable the cursor after ctrl+z * options: add --secondary-sub-ass-override * lua: don't return a second value from successful format_json * command: support passing scale to `keypress` * input: add value argument for mp_input_put_key_artificial * OSC: fix indentation and stray whitepace * sd_ass: remove unneeded ontop variable * player: refactor secondary subtitle options and properties * DOCS/options: fix documentation for replaygain-clip * demux_mkv: add HDMV Text subtitles to subtitle codec list * demux_mkv: check that subtitle type is set before accessing it * hwdec_drmprime: try and declare support for weird forked ffmpeg formats * hwtransfer: actually treat hardware formats as supported input formats * w32_common: remove executable bit from file * mac: add support for drag-and-drop option * console.lua: clear the suggestions when you move the cursor * console.lua: complete current-tracks sub-properties * console.lua: implement case-insensitive completion * mac: add support for window-id property * demux/codec_tags: add jxl/jpegxl extension mapping to image codecs * options: add --secondary-sub-pos * Revert "OSC: Remove merriment" * OSC: Remove merriment * playlist: correctly populate playlist-path with the --playlist option * github/issue_template: unify spellings * github/issue_template: request uploading attachments to github * github/issue_template: unify requested information across templates * sub: don't busy loop if the player is paused for cache * etc/mpv.desktop: add audio/vnd.wave and video/vnd.avi * w32_common: rename some camelCase struct member names to snake_case * win32: temporarily disable aero shake while dragging hack is active * win32: stop fullscreen window from moving while dragging hack is active * x11_common: fix compose key handling * filter_sdh: add full width parentheses to the enclosures string * filter_sdh: add --sub-filter-sdh-enclosures option * filter_sdh: combine skip_bracketed and skip_parenthesized * player/command: make new overlay-add arguments actually optional * player/command: add ability to scale overlay * console.lua: cycle through completions * console: automatically determine the font_hw_ratio * DOCS/interface-changes: document renaming of MP_KEY_BACK * win32: properly handle WM_XBUTTONUP and WM_XBUTTONDOWN * input: add missing forward media key * console.lua: simplify the condition to print to the terminal * m_option: respect pathlist seperator when printing * mpv.desktop: add keywords * image_writer: default to lossless AVIF screenshots * image_writer: add missing mp_image_params in convert_image * image_writer: print screenshot format in verbose log * image_writer: use common format selection for AVIF screenshots * Revert "github/workflows: install xxhash on msys2" * Revert "ci/mingw: use vulkan-loader v1.3.266" * meson: use subprocess-dummy.c fallback when fork func doesn't exist * ao_wasapi: clean GUID definitions * ao_wasapi: fix MP3 GUID * input: fix double click handling * mac: report modifier keys on precise scrolling * mac: fix initial window size and position when already maximized * github/workflows: install xxhash on msys2 * playloop: use a 16:9 ratio with --force-window * ci: remove dvbin from freebsd run * meson: enable dvbin by default again * meson: fix check for dvbin availability * ci/tumbleweed: don't enable shaderc * build: only directly link shaderc and spirv-cross on windows * vo_gpu: fix ra_fbo stack-use-after-scope * common/av_log: use bstr for log callback * vo_kitty: init all fields of struct sigaction before using it * ra_pl: add missing initializer * ao_sndio: remove duplicated condition * vo: don't pass VADRMPRIMESurfaceDescriptor by value * wayland: simplify reading data * mp_image: remove local params copy from mp_image_setfmt * ta: inline OOM checks * player/command: don't pass mp_image_params by value * vo_gpu: don't pass gl_user_shader_hook by value * vo_gpu: don't pass mp_pass_perf by value * vo_gpu: don't pass ra_fbo by value * Reapply "osdep/meson: add libplacebo include dir to swift compile" * Revert "osdep/meson: add libplacebo include dir to swift compile" * ci: remove leftover libplacebo subproject options * meson: move mpv.com target after mpv.exe to avoid meson version warning * ci/msys2: remove libplacebo.wrap * ci: update mpv.com path again * meson: generate .com in the same place as the .exe if possible * DOCS/options: clarify --spirv-compiler * build: restrict git describe to top level source directory * options: add --osd-bar-border-size * DOCS/mpv: quotes in mpv.conf don't escape backslash * options: add secondary-sub-delay * vaapi: bump vaapi info callback to verbose messages * vaapi: add missing NULL check * DOCS/options: remove the mention of cocoa and its removed backend * mac: fix a race condition when updating the window title * mac: fix libmpv usage without embedding * mac: cleanup some unused and unneeded code * osdep/io: add PRINTF_ATTRIBUTE for printf overrides * meson: add missing _GNU_SOURCE in check * meson: adjust win32 defines * meson: don't define __USE_MINGW_ANSI_STDIO * sdl_gamepad: add version check for SDL_HINT_JOYSTICK_THREAD * ci/build-macos: enable Werror to catch issues quicker * osdep/macosx: add default switch cases to suppress Wswitch * ao_coreaudio_chmap: suppress vla warning * various: replace some OOM handling * ao/coreaudio_exclusive: fix segfault when changing formats * meson: also expose present_sync for VT-only after a96d04f19d73 * player: remove shared-script-properties property * vo: add params mutex * vaapi: add support for vaapi-win32 * vaapi: pass module into create() * d3d11: expose mp_get_dxgi_adapter and mp_dxgi_validate_adapter * d3d11: rename d3d11 adapter to DXGI adapter * Tue Nov 21 2023 [email protected] - Remove 0001-Revert-meson-bump-required-version-to-0.62.patch: * Leap 15.5 does not provide libplacebo>=6.338 so mpv can't be built there anymore. - Clean up spec file since building on Leap 15.5 isn't a possibility - Update to version 0.37.0+git20231121.2a57a6ee: * Update VERSION * Release 0.37.0 * vo_gpu_next: reduce number of requested frames from VO * mac: title bar fix 1px none covered video at top * mac: add rotation menubar entries * mac: fix reporting of left wheel and right wheel scrolling * command: add missing null check to event handler * DOCS/options: admonish users for touching --3dlut-size * vo_gpu_next: bump ICC cache size limit to 20 MB * DOCS/options: reword cache options * vo_gpu_next: don't re-save unmodified cache * vo_gpu_next: dramatically simplify cache code * vo_direct3d: remove redundant condition * opengl/context: remove duplicated conditions * ra_d3d11: fix off by one check * vo: add missing return variable assignment * win32: don't jump over variable init with goto * various: add some missing error checks * demux: add missing NULL check * common/msg: remove redundant check * ao_wasapi: add missing comma in strings array * vo_gpu_next: disable drift compensation for screenshots * vo_gpu_next: add validation for invalid pl_queue usage * vo_gpu_next: set frame duration if provided by VO * vo_gpu_next: interpolate only if display_synced or a still frame * vo_gpu_next: request more frames to account for anti aliasing * vo_gpu_next: make the first frame check less ominous * vo_gpu_next: remove incorrect interpolation disabling * vo_gpu_next: fix pl_queue refill on reset * vo: pass approximate frame duration in vo_frame * vo: avoid overshooting the expected end of the frame during pause * player/video: account for repeats in ideal_frame_vsync_duration * vo_sdl: fix broken mouse wheel multiplier * DOCS: properly document --force-window-position for sdl vo * loadfile: remove some dead code * hwdec_vulkan: use VK_NULL_HANDLE when counting the number of images * test: update ffmpeg format refs * vo_gpu_next: set max cache size back down to 10 MiB * hwdec: support videotoolbox with libplacebo * osxbundle: sign bundle with ad-hoc pseudo identity * osxbundle: remove mpv-bundle symlink to allow code signing * osxbundle: resolve relative linked dependency paths * zsh-completion: complete options after --help * command: notify media-title on force-media-title change * audio: fix UB when casting INFINITY to integer * vo: delay vsync samples by at least 10 refreshes * player: don't remove all selected sub tracks in mp_dselect_track * stats.lua: fix incorrect storage aspect ratio value * command: export storage aspect ratio (sar) properties * vo_gpu_next: guard from cache save conflict * demux_playlist: simplify ini parsing * DOCS/options: update watch-later-options docs * options: add more properties to default watch-later-options * options: remove not relevant props from default watch-later-options * vo_gpu_next: disable libplacebo drift_compensation * player/video: fix calculation of ideal_frame_vsync_duration * m_option: remove leftovers of del action * vo_gpu_next: update overlays for blend subtitles on frame redraws * DOCS/options: osd-shadow is ignored with osd-back-color * demux: always update the cache on init * vo_gpu_next: fix interpolation * vo: add frame vsync and vsync duration * vo_gpu_next: improve PTS clamping * vo_gpu_next: add some additional sanity checking for interpolation * wayland: fix shift+tab keyboard input * console: fix crash for long suggestion strings * osdep/w32_keyboard: remove duplicated MP_KEY_BACK mapping * wayland: obey initial size hints set by the compositor * cocoa: remove OpenGL cocoa backend * mac: change display name retrieval to localizedName NSScreen property * mac: fix build on older swift versions * TOOLS/macos-sdk-version: remove legacy sdk version retrieval * vo_gpu_next: overwrite cache files atomically * osdep/io: implement rename() wrapper * vo_gpu_next: refactor cache saving code * DOSC/input: clarify a couple of commands where no-osd has no effect * player/command: make show-progress work regardless of osd prefix * vo: don't sleep 1ms always when requested time is in the past * vo: replace some magic numbers with timer macros * demux/lavf: don't use deprecated side data * editorconfig: add max line * mac: remove runtime checks and compatibility for macOS older than 10.15 * meson: remove several macos-10-* build options * player/loadfile: remove blank line on exit * msg: ensure status line is always visible * msg: factor out print code * msg: convert dump_stats to bstr * msg: use bstr for partial msg * msg: check isatty separately per each stream * Revert "player: cut off status line on terminal width" * Revert "player: don't print status line again when quitting" * msg: refactor how terminal messages are printed * stats.lua: disable ASS formatting when printing to terminal * msg: don't mix partial log messages, with unrelated log levels * vo: replace VOCTRL_HDR_METADATA with direct VO params read * audio: avoid unnecessary silence padding in read_buffer() * ao_audiotrack: switch to ao_read_data_nonblocking() * ao_coreaudio: switch to ao_read_data_nonblocking() * ao_pipewire: switch to ao_read_data_nonblocking() * audio: introduce ao_read_data_nonblocking() * threads-win32: add comment about local decl of a function * threads-win32: support UWP in mp_thread_set_name * meson: add missing source file for UWP * osdep/threads-posix: use CLOCK_MONOTONIC if supported * osdep/timer-linux: check clock availability on init * DOCS/option: discourage the use of video-latency-hacks a bit more * vo_gpu_next: add --target-gamut option * stats.lua: remove unused variable * console.lua: don't print the console log to the OSD when switching VO * player/command: handle force window on runtime vo changes * stats: don't overwrite color and alpha of `osd-back-color` * console: don't overwrite color and alpha of `osd-back-color` * sub: add --sub-stretch-durations option * player/command: fix typo in sig-peak value computation * win32: fix hit test using client rc instead window * vo_gpu: apply ICC profile and dithering only to window screenshots * vo_gpu_next: drop alpha channel from screenshots if unneeded * image_writer: improve format conversion logging * console: wrap rows at the top * console: optimize table generation * console: enable completions without a prefix * console.lua: complete raw properties * console: avoid redundant completion appendage * present_sync: remove unneeded clear_values function * vo: require successive vsyncs to be more than swapchain depth * present_sync: only save as many entries as the swapchain depth * vo: replace max swapchain depth magic number * DOCS/mpv: consistent formatting of keybindings * DOCS/console: correct capitalization of keybindings * wayland: improve wl_output guessing before mpv window is mapped * sub: adjust offsets when sub seeking/stepping * DOCS/input: stop documenting vf del * dec_sub: always copy packet for new segments * drm: use present_sync mechanism for presentation feedback * present_sync: rename function to present_sync_update_values * present_sync: rewrite around linked list * ytdl_hook: fix mixed thumbnail.preference availability * Revert "vo: clear vsync_offset if drawing while paused" * video: reset `display_sync_error` when resetting state * threads: unbreak mpv on builds without asserts * player/command: add video-params and siblings to MPV_EVENT_TICK * ALL: use pl_hdr_metadata and nuke sig_peak * demux_mkv: parse mastering metadata * player/command: remove hdr-metadata property * csputils: add pl_hdr_metadata to mp_colorspace and deprecate sig_peak * player/command: use pl_hdr_metadata_contains * csputils: change mp_hdr_metadata to pl_hdr_metadata * timer: remove unnecesary time conversions * win32/pthread: remove unused code * timer: remove unused code * threads: remove unused code * threads: rename threads.c to threads-posix.c * threads: move pthread debug to threads-posix.h * mp_thread: add win32 implementation * mp_thread: prefer tracking threads with id * ALL: use new mp_thread abstraction * threads: add new mp_thread abstraction * sub: redecode cached packets on UPDATE_SUB_HARD or UPDATE_SUB_FILT * options: add UPDATE_SUB_HARD flag to sub-ass-override * vo_gpu_next: update to newer cache API * ra_pl: drop deprecated cached_program param * vo_gpu_next: remove unneeded PL_API_VER guarding and defines * mp_image: pass rotation correctly to/from AVFrame * win32: add more values for monitor refresh rate detection * DOCS/man/console: update type examples * lua: remove a ton of unneeded parentheses * console.lua: complete file paths * console.lua: complete list option verbs * console.lua: inline mp.options * console.lua: complete list options * console.lua: complete profiles * console.lua: complete commands after help * console: complete infinite cycle-values arguments * m_option: don't try to remove all filter matches * player/main: set main thread name as mpv * vo_gpu_next: use pl_queue_params() macro * vf_vapoursynth: set crop metadata after mapping vapoursynth frame * player/video: loosen logic checks for adjust_sync * player/video: don't reset ao on video chain reinit * demux: make hysteresis-secs respect cache-secs * demux: cosmetics * m_option: drop support for -del for list options * m_option: remove all matches when using -remove * options: make --screenshot-directory/--watch-later-directory aliases * ytdl_hook: reverse thumbnail order * ytdl_hook: support the preference field of thumbnails * ytdl_hook: add thumbnail option * ytdl_hook: support thumbnails * various: remove trailing whitespace * ao_coreaudio: signal buffer underruns * meson: do the macos sdk version comparison in meson * Revert "meson: import python module" * meson: import python module * TOOLS/{file2string,matroska}: drop unneeded stdout output * timer-linux: fallback to CLOCK_MONOTONIC instead of timespec_get * scripting: add 'script' to messages * scripting: rename backend names for concise naming * mp_threads: rename threads for consistent naming across all of them * TOOLS/macos-sdk-version: use packaging instead of distutils for version * timer: remove MP_START_TIME * player/lua: use mp_msg_find_level in check_loglevel * msg: make mp_msg_find_level case insensitive * DOCS/options: clarify `no-config` is a command line flag * player/audio: fix incorrect check on adding delay * semaphore_osx: change mp_sem_timedwait to mp_time * semaphore_osx: don't overwrite global symbols * Revert "hwdec_vulkan: account for vulkan frames now using presentation size" * javascript: use --js-memory-report option instead of MPV_LEAK_REPORT * test: unbreak build when win32-internal-pthreads is disabled * timer: use MP_TIME macros * osdep/timer-win2: rename to timer-win32 * ci/msys2: create a wrap file for libplacebo * meson: remove libplacebo wrap * options: rename --play-dir to --play-direction * options: rename --watch-later-directory to --watch-later-dir * options: rename --screenshot-directory to --screenshot-dir * options: rename --sub-ass-force-style to --sub-ass-style-overrides * options: rename --override-display-fps to --display-fps-override * options: rename --fps to --container-fps-override * player: don't calculate av delay if there's no audio or video * console.lua: complete choice and flag options * console.lua: remove unused capture from completion patterns * console.lua: use string.match() * console.lua: generate completion lists lazily * console.lua: remove repetition from build_completers() * console.lua: remove unnecessary copy * github/workflows: use ubuntu-latest host for freebsd * options: disable --allow-delayed-peak-detect by default * osdep: fix clang warnings with `_FORTIFY_SOURCE` * github/workflows: use macos-13 host for freebsd * README: bump macOS version as a consequence of libplacebo version bump * README: add libplacebo to dependencies and mention wrap * Revert "audio: don't block on lock in ao_read_data" * osdep/meson: add libplacebo include dir to swift compile * test/meson: add missing libplacebo dep * sub: update subtitles if current track is an image * demux_mkv: check if the video codec is an image * demux: put type2format into codec_tags with helper functions * ci/freebsd: disable iconv * github/workflows: use cross-platform-actions for freebsd * ci: disable Werror for libplacebo subproject build * ci/msys2: disable autocrlf * gitignore: update for meson wraps * m_option: initialize m_option_value union properly * workflows/build: install git in freebsd image * meson: make libplacebo a required dependency * subprojects: add a libplacebo wrap * workflows/build: explicitly define `CXX` in the env * .gitignore: ignore subprojects but allow later overriding * vo: define <= 0 as unsupported for last_queue_display_time * vo: change spammy log to trace * vo: average more vsync samples * d3d11: calc vsync interval on real stats, not just last interval * img_format: remove duplicated macros * ta: don't hardcode alignment requirement * osdep: remove alignof emulation * aspect: remove unused multiplication * hwtransfer: handle constraints for hwdec with NULL supported_formats * DOCS/contribute: increase hard column limit to 100 * stats.lua: disable tonemapping plot by default * path: don't treat "hidden" files as extension * ytdl_hook: remove extra playlist insert * ytdl_hook: parse the separate cookies field * vf_vapoursynth: set nominal_fps after the filter * Revert "demux_mkv: PAR should be calculated after applying crop" * demux_mkv: don't set codec crop rect when there is no crop * DOCS/contribute: stop pretending that C11 isn't allowed * meson: remove -D_ISOC99_SOURCE flag * timer: drop ancient macOS fallback * win32/pthread: fix calculation error in pthread_cond_timedwait * dvbin: do a big cleanup on code style and functions * stream_dvb: avoid static function variable * dvb_tune: remove use of time() * dvbin: revise many log lines * stream_dvb: use talloc * stream_dvb: fix missing newlines on log messages * audio: don't block on lock in ao_read_data * win32/pthread: add support for pthread_mutex_trylock * threads: add support for pthread_mutex_trylock * various: sort some standard headers * various: remove ATOMIC_VAR_INIT * osdep: remove atomic.h * osdep: drop atomic fallback * win32/pthread: try to fix system headers leaking through * test: add basic tests for timer code * meson: streamline selection of certain osdep sources * win32/pthread: implement clock_gettime for high-res timer purposes * Revert "win32/pthread: don't convert time through unrelated timer" * mp_image: set crop metadata when converting to AVFrame * demux_mkv: PAR should be calculated after applying crop * ci/lint: allow the first word to be all caps * stats.lua: hide images' FPS * stream_cdda: deprecate --cdda-toc-bias and always check for offsets * stream_cdda: remove printing track info in fill_buffer * stream_cdda: remove fallback for ancient libcdio versions * vo_gpu_next: optimally align DR buffers * vd_lavc: align buffers to multiple of image size * video/mp_image: handle non-power-of-two alignment * common: add mp_lcm helper * github/workflows: put a 20 minute timeout on the freebsd job * thread_tools: suppress -Wstringop-overflow false-positive * stream_cdda: suppress -Wstrict-prototypes from cdio * win32: suppress pointer cast warning * charset_conv: suppress unused-label warning * vo_gpu_next: cast const away to suppress warning * d3d11: don't skip last char in buffer * ci: enable -Werror * win32: clear background only on first paint * TOOLS/autocrop.lua: disable hwdec when needed instead using -copy one * demux/lavf: move tags instead of copying * common/tags: add mp_tags_move_from_av_dictionary() * player/command: truncate anything < 1e-4 in pretty printer * wayland: use ppoll if possible * poll_wrapper: use the actual correct timeout for ppoll * DOCS/options: remove obsolete notice * DOCS/mpv: fix typos in List Options * DOCS/interface-changes: remove redundant change * hwtransfer: handle hwcontexts that don't implement frame constraints * github/workflows: remove macOS 11 build * timer: remove microsecond timer functions * test: change test_utils stubs to ns variants * dither: removed some unused code * vo: convert some final low-hanging things to nanoseconds * client: change underlying mpv_wait_event timer to nanoseconds * dispatch: change mp_dispatch_queue_process timer to nanoseconds * input: convert autorepeat timing to nanoseconds * filters: change end time calculation to nanoseconds * ao: convert all timing code to nanoseconds * stats: convert timers to nanoseconds * demux: convert cache updates to nanoseconds * timer: add convenience time unit conversion macros * command: unbreak runtime play-dir changes * stats.lua: remove compatibility aliases of properties * af_scaletempo2: better defaults * stats.lua: fix page 2 alignment of "Total" * vo_gpu/vo_gpu_next: add vulkan support for macOS * mac: add a window animation lock to wait for animations to finish * hwdec_dxva2egl: fix log value type * stats.lua: add chroma-location * stats.lua: change "Pixel Format" to "Format" * stats.lua: fix missing newline when print_perfdata_passes is enabled * stats.lua: sort filter parameters to ensure consistent output * player/command: change how floating point number are printed * stats.lua: don't print custom pixel format, when hwdec * stats.lua: remove leading zeros from pass timings * stats.lua: add frame info * stats.lua: simplify fps display * stats.lua: adjust spacing between values a little * stats.lua: show HDR meta if not equal to 203 * stats.lua: separate video parameters from video out * f_decoder_wrapper: change video-codec to show description or name * command: fix fps property name * command: early exit in some properties to avoid going through VOCTRL * m_property: add read_sub_validate to check if should be processed * vo_gpu_next: only increment osd_sync in update_overlays if paused * command: fix segfault with playlist-{next,prev}-playlist * README: update release frequency * terminal-unix: make stop/cont sighandlers pipe based * terminal-unix: avoid data race + simplify * terminal-unix: avoid data-race on do_deactivate_getch2 * drm_common: don't spoil errno in signal handler * terminal-unix: don't spoil errno in signal handler * console.lua: print the log and input line to the terminal * ytdl_hook.lua: set metadata with single tracks * defaults.lua: add a disabled parameter to timer constructors * DOCS/options: vdpau requires GLX * win32: improve window snapping behavior * osdep/timer-win2: use Waitable Timer for sleeping * timer: change mp_sleep_us to mp_sleep_ns * libmpv: add mpv_time_ns() * vo: use mp_poll wrapper in wait_events when applicable * osdep: rename polldev to poll_wrapper * vo: change vo->driver->wait_events to nanoseconds * vo: use nanoseconds for frame duration and pts * player: store last_time timestamp in nanoseconds * vo: remove vo_get_estimated_vsync_interval conversion to seconds * DOCS/lua: update read_options example * console.lua: exit with with Ctrl+[ * command: add playlist-next-playlist and playlist-prev-playlist * ci: add sanitizers to Tumbleweed build * core: remove duplicate init_{audio,video}_decoder declarations * core: remove declarations of unused functions * TOOLS/autocrop.lua: add support for detect_min_ratio * DOCS/input: document the full sub-property * console: support utf8 for table formatting * console: cull lines outside of visible area * console: show completion suggestions as table * console: show suggestions for completion * console: refactor text styles for log levels * TOOLS/autocrop.lua: simplify code * player/video: mention --profile=fast and --hwdec in AV desync message * vo: remove frame timing check from vo_still_displaying() * Revert "video: remove another redundant wakeup" * ci/mingw: use vulkan-loader v1.3.266 * mp_image: don't copy crop value from opaque_ref * demux_playlist: use --metacode-codepage when parsing playlist files * demux: change the default of metadata-codepage to auto * demux_cue: deprecate --demuxer-cue-codepage for --metadata-codepage * charset_conv: remove ancient warning about deprecated syntax * stream_lavf: use metadata-codepage option for codepage conversion * af_scaletempo: overlap is a factor not a percentage * DOCS/mpv: update mpv.conf's documentation * TOOLS/autocrop.lua: update comment * sd_ass: enable sub-start and sub-end with unknown duration subs * vo_gpu_next: improve updating overlays * vo_dmabuf_wayland: correct full window size calculation * win32: clear client area to black early * player: remove unused mutate argument in mp_next_file * loadfile: fix an old wonky playlist heuristic * af/vf-command: add ability to target a specific lavfi filter * vo_dmabuf_wayland: free frame if the visibility check fails * external_files: remove duplicate from cover art whitelist * vo_dmabuf_wayland: eliminate an extra frame copy * TOOLS/lua/autoload: bump the msg-level of some logging * meson: declare libmpv as a dependency and override it * win32: adjust WM_NCACTIVATE for better compatibility with window state * vo_dmabuf_wayland: attach solid buffer when using force window * codec_tags: map some more image mimetypes * path: don't override "cache" and "state" paths with configdir * demux: move parent_stream_info before the goto * Revert "demux: constify a struct member" * external_files: base cover-art-whitelist on cover-art-auto-exts * DOCS/interface-changes: also mention --window-affinity * DOCS/interface-changes: mention --backdrop-type * win32: add WS_THICKFRAME style in borderless mode * vo: fully replace draw_image with draw_frame * restore-old-bindings.conf: remove unusable bindings * demux: fix erroneous condition in lazy_stream_needs_wait * win32: set WS_SYSMENU style always * DOCS/lua: remove superfluous parameter * Revert "demux: improve stream selection state" * msg: use nanosecond precision * vo: don't invoke wait, when not needed * vo: increase display refresh rate estimation limit from 99 Hz to 400 Hz * vo: change vsync base to nanoseconds * win32/pthread: define _POSIX_TIMERS to notify they are not supported * win32/pthread: don't convert time through unrelated timer * meson: don't link pthreads when internal impl is used * meson: add missing gl-video test dependency * timer: teach it about nanoseconds * timer: rename mp_add_timeout to reflect what it actually does * timer: remove dead code * timer: simplify mp_time_us_to_realtime * timer: rename mp_time_us_to_timespec to reflect what it actually does * ao_audiotrack: convert to nanoseconds * playloop: make chapter property more accurate when seeking chapters * vo_dmabuf_wayland: assume counter-clockwise rotations * hwdec_drmprime: add nv16 support * audio/chmap: support up to 64 channels * wasapi: clamp number of output channels to 8 * chmap: add more channel layouts up to 22.2 * audio/chmap: link string buffer size to MP_NUM_CHANNELS * playloop: don't refresh seek on external sub streams * demux: improve stream selection state * Revert "demux: eagerly read subtitle streams when switching tracks while paused" * demux: eagerly read subtitle streams when switching tracks while paused * osc: move the idle logo behind other overlays * meson: don't require swift when checking macos sdk * command: only warn shared-script-properties once * wayland: don't double close display fd * command: deprecate shared-script-properties * osc: remove shared-script-properties usage * DOCS/options: update lavfi-complex examples * console.lua: complete properties after cycle-values * af_scaletempo2: raise max playback rate to 8.0 * DOCS/options: add example for custom pitch correction filter * restore-old-bindings.conf: add the old wheel bindings * DOCS/mpv: update the wheel bindings * win32: add option to change backdrop style * recorder: fix a couple of memory leaks * DOCS/options: update libplacebo-opts documentation URL * input.conf: make `u` toggle between force and yes * DOCS/input: update aegisub URL * osc.lua: fix calculation for slider's min-max average * win32: pass window handle to the window-id property * vo_gpu: remove --scaler-lut-size * vo_gpu: remove --scale-cutoff etc * DOCS/af: update audio filters section * github/workflows: rename the job for the docs check * github/workflows: add a workflow to check doc changes * github/workflows: only run build if source/build files change * DOCS/man: remove outdated note about gnome and idle-inhibit * wayland: remove gnome-specific idle-inhibit warning * Sat Sep 23 2023 [email protected] - Update to version 0.36.0+git20230923.140d0185: * ci/mingw: drop old workarounds for vulkan-headers * m_config_core: remove mp_read_option_raw * cuda: move --cuda-device to cuda_opts group * opengl/context_win: move opengl-dwmflush to wingl_opts group * libmpv_gl: replace mp_read_option_raw call * video/out/gpu: replace mp_read_option_raw call * stream: remove unneeded mp_read_option_raw call * options: rename some opt structs to *_opts instead of *_params * stream_bluray: move --bluray-device to stream_bluray_opts * stream_cdda: move cdrom-device to cdda_params * demuxer: remove several mp_read_option_raw calls * demux: make demux opts public * options: move some demux-specific opts to demux opts * demux_lavf: set duration to -1 if unknown * DOCS/options: remove some stray tabs * win32: don't remove WS_CAPTION from style * win32: enable custom WM_NCHITTEST also when title bar is hidden * win32: set window_corners to default for fullscreen * win32: add --window-corners * win32: fix fit_window_on_screen to account for invisible borders * win32: reduce top border thickness to imitate DWM invisible borders * win32: add an option to control window title bar state * win32: add an option to change window affinity * wayland: ensure at least a scale factor of 1 when drawing cursor * github/workflows: comment PR artifacts links * win32: explicitly guard dark mode calls by Windows version * vo_gpu_next: use proper color for subtitles * {github/workflows,ci}: install and enable libplacebo in macOS CI * github/workflows: add macOS 13 build * vo_gpu: don't override scaler options with default ones * builtin.conf: remove unneeded vlang/alang/slang lines * vo_gpu: allow deband-iterations to be 0 * drm: remove selecting the card number with --drm-connector * options: remove --vf-defaults and --af-defaults * options: remove deprecated --record-file option * vo_sixel: change exit-clear handling to OPT_REPLACED * options: remove a few options marked with .deprecation_message * command: stop restarting playback when writing to playlist-pos * command: remove some old deprecated properities * options: remove ancient option fallbacks/deprecation * builtin.conf: remove deprecated opengl-hq profile * demux_playlist: add --directory-mode=auto * various: add missing include in header flles * sub/ass_mp: filters/f_lavfi: forward declare mp_log * sd_ass: use directive instead of writing magic constants * vo_dmabuf_wayland: support osd rendering when there's no video * mp_image: add force_window field * demux_mf: detect svg * sdl_gamepad: fix button detection on modern controllers * TOOLS/autocrop.lua: switch to auto-copy hwdec during cropdetect * TOOLS/autocrop.lua: cleanup timers correctly * vo_gpu_next: fix unscaled screenshot with --blend-subtitles * TOOLS/autocrop.lua: use VO crop always * options: make video-crop validation more strict * player/video: don't try to restore old crop when invalid were provided * vo_gpu: match libplacebo debanding defaults * vo_gpu: match libplacebo peak detection defaults * DOCS: update notes about new profiles * vo_gpu: default to dscale=hermite * DOCS/options: document hermite scaler * DOCS/options: remove potentially offensive language * DOCS/options: remove spline36 section * DOCS/options: change wording to be less inflammatory * af_scaletempo2: fix missing variable init, remove redundant init * af_scaletempo2: truncate final packet to expected length * af_scaletempo2: fix processing of final packet * af_scaletempo2: calculate latency by center of search block * af_scaletempo2: restore exact audio sync on return to 1x speed * af_scaletempo2: fix speed change latency and pts spikes * af_scaletempo2: fix audio artifact on initial WSOLA iteration * af_scaletempo2: fix audio offset when playing back at 1x speed * af_scaletempo2: fix inconsistent search block position after init * af_scaletempo2: move latency calculation to internal function * af_scaletempo2: fix missing dereference when processing final packet * af_scaletempo2: fix audio-video de-sync caused by speed changes * DOCS/vo: remove some dated deprecation warnings about --vo=rpi * meson: enable cplugins on Windows * cplugin: allow loading mpv_* symbols dynamically * libmpv: remove not used mpv.pc.in * osdep/io: provide dlopen, etc. abstraction wrappers for windows * scripting: dll cplugins * builtin.conf: modernize internal profiles * vo: change tscale to oversample by default * vo: make cscale follow scale by default * vo: enable correct-downscaling, linear-downscaling, sigmoid-upscaling * vo: avoid unnecessary redraws when the OSD shows * demux: prepend some cache options with demuxer * filter_kernels: remove bcspline filter * filter_kernels: fix bcspline params * filter_kernels: add hermite filter * vo_gpu_next: fix blur and taper values being zero * vo_dmabuf_wayland: support 90 degree rotations * DOCS/vo: remove outdated reference to --vo-vaapi-deinit-mode * demux_mkv: support ProjectionPoseRoll element * demux_mkv: support PixelCrop* elements * TOOLS/matroska.py: add PixelCrop* elements * demux: add crop to mp_codec_params * win32: remove noisy debug log * osc: add scrolling to audio/sub buttons * vo_gpu: remove --scale-wblur etc * filter_kernels: add ewa_lanczos4sharpest * filter_kernels: refine ewa_lanczossharp/soft constants * filter_kernels: use true jinc radius * filter_kernels: replace magic jinc radius by constant (cosmetic) * filter_kernels: properly sharpen/blur filter radius * vo_gpu: slight bump to hard-coded option size limits * vo_gpu_next: remove ewa_lanczossharp nag * TOOLS/lua/autoload: rename local variable to lowercase * TOOLS/lua/autoload: pass extensions to recursive call * hwtransfer: make probe_formats logging less spammy * vo_gpu: vo_gpu_next: support --icc-3dlut-size=auto * vo_gpu_next: update for new ICC profile API * present_sync: allow future timestamps * vo_gpu_next: map --scaler-resizes-only * TOOLS/lua/autoload: change EXTENSIONS_TARGET to a local variable * TOOLS/lua/autoload: fix specify loading only one type of files * TOOLS/lua/autoload: add directory_mode option * TOOLS/lua/autoload: add recursive directory loading * TOOLS/lua/autoload: avoid adding entries to the playlist more then once * TOOLS/lua/autoload: support directories * meson: check vulkan version * stream: accept dav:// and davs:// urls * meson: rename last feature with underscore * DOCS/options: add catmull_rom as an example for --scale * sd_lavc: fix subtitle presentation time * Revert "sub: add auto option to --sub-fix-timing" * vd_lavc: by default enable cropping by decoder * DOCS/lua.rst: fix typo * player: redo --subs-fallback-forced * vo: change vsync_interval to double * sd_lavc: account for floating point inaccuracy * player/video: apply crop for all frames in vo_frame * screenshot: support crop with --screenshot-sw * vo_gpu_next: support --blend-subtitles when taking screenshoot * vo_gpu: support crop in gl_video_screenshot * vo_gpu_next: support crop in video_screenshot * vo_gpu_next: forwards compatibility with pl_cache * vd_lavc: disable cropping by decoder * mp_image: add missing crop initialization * video: allow overriding container crop if it is present * stats.lua: don't display full frame crop * player/command: mark video-params/crop- unavailable if empty * m_option: return empty rect when no width/height is available * autocrop.lua: enable vo_crop mode by default * autocrop.lua: don't remove crop on startup/exit * autocrop.lua: detect if crop is enabled based on prop * m_option: make m_rect_apply center based * sub: add auto option to --sub-fix-timing * Revert "sd_lavc: use SUB_GAP_THRESHOLD for overlaps/gaps" * path-{darwin,unix}: save cache to subdir when using non-XDG path * meson: add -Bsymbolic for libmpv * vo: vulkan: allow picking devices by UUID * meson: include our local copy of libavutil uuid if ffmpeg is too old * misc: add copy of uuid from ffmpeg * {zsh,bash}-completion: use config when autocompleting profiles * stream/dvbin: recommend to use specific channels.conf file names * stream/dvbin: drop too verbose messages * stream/dvbin: add some helpful verbose output * stream/dvbin: detect ZAP channel configs looking like VDR configs * stream/dvbin: do not forget channel list for multiply delivery systems * stream/dvbin: add support for delivery system ISDB-T * vo_gpu_next: don't rotate gamut visualization * demux_lavf: get total duration from track durations * {zsh,bash}-completion: add missing --no-config flags * options: remove unnecessary clamping on video-pan-x/y * Revert "aspect: change --video-pan-x/y to be relative to the destination rect" * osc: add scrolling to the seekbar * ci/lint: ignore subject length for revert commits * vo_gpu: remove --tone-mapping-mode * loadfile: fix forced subtitles not respecting slang * builtin.conf: add --allow-delayed-peak-detect=no to gpu-hq * win32: allow heap cache optimization and memory decommit * win32: add BASE_SEARCH_PATH_PERMANENT to SetSearchPathMode * win32: don't load dynamically always available functions * win32/displayconfig: remove custom struct redefinition * osc: remove toggle for forced only subpictures * stats.lua: display --video-crop values when used * man/input: remove trailing spaces * player/command: add video-params/crop-[w,h,x,y] * autocrop.lua: use new --video-crop * vo: add --video-crop * player/video: don't copy mp_image_params when not needed * m_option: add OPT_RECT * mp_image: add image crop rect to mp_image_params * aspect: don't override src_start/src_end * common: constify mp_rect_equals * player/command: remove video-aspect property * demux_playlist: default to --directory-mode=lazy * stats.lua: enable --tone-mapping-visualize while stats shown * vo_gpu_next: improve --tonemapping-visualize * stats.lua: display hdr metadata and peak detection * command: add hdr-metadata property * vo_gpu_next: add support for VOCTRL_HDR_METADATA * vo: add VOCTRL_HDR_METADATA to get mp_hdr_metadata * csputils: add mp_hdr_metadata * input.conf: swap wheel up/down with wheel left/right * loadfile: fix --no-subs-with-matching-audio with --slang * osc: replace sub-forced-only with sub-forced-events-only * command: remove sub-forced-only-cur property * player: rename --sub-forced-only to --sub-forced-events-only * player: remove auto choice from sub-forced-only * ci/mingw: attempt to enable Vulkan Video Decoding * README: update minimum windows version and clarify * stats.lua: add hints about scrolling * stats.lua: refactor video params display * stats.lua: remove dummy new lines from headers * stats.lua: display actual output video size after anamorphic correction * player: add always to --subs-fallback-forced * player: add --subs-match-os-language option * loadfile: simplify default track selection a bit * player: remove special auto option from alang/slang/vlang * playlist: remove unused code to track redirects * player: always write redirect entries for resuming playback * vo_dmabuf_wayland: unmap osd surface when not needed * vo_gpu_next: fix --target-contrast=inf * README: replace outdated xinerama reference with xpresent * f_lavfi: don't reject dynamic lavfi ins/outs * osc: fix margin for forced-only subs toggle in bar layout * osc: only add sub forced-only toggle to layout for DVD/PGS subs * input: add missing windows multimedia keys * command: add `sub-ass-extradata` property * vo_gpu_next: update tmp params before rendering frame * vo_gpu_next: make option shim consistent with new API * vo_gpu_next: avoid duplicate code (cosmetic) * vo_gpu_next: correctly set params.frame_mixer * vo_gpu_next: don't nuke main options state in video_screenshot * vo_gpu_next: don't override main options in draw_frame * Sun Aug 27 2023 llyyr <[email protected]> - Disable mujs backend for Leap because it's not available there * Sat Aug 26 2023 Enrico Belleri <[email protected]> - Add fix-docs-path.patch to install docs in our default docdir - Enable jxl - Use meson auto-features instead of disabling everything manually - Small corrections to specfile - Update to version v0.36.0+git20230826.83c0e980: * hwtransfer: check if the source format is accepted directly by the VO * hwtransfer: use the right hardware config to find conversion targets * autoconvert: destroy sub filter immediately if reconfiguration is needed * output_chain: don't reset autoconvert on changes to unrelated filters * hwtransfer: implement support for hw->hw format conversion * player: make all autoload extensions configurable * player: use audio pts corresponding to playing audio on EOF * input: add missing keypad key defines * sub/osd: signal osd_changed on resize * win32: don't ignore --screen and --fs-screen * DOCS/mpv: document ZOOMIN & ZOOMOUT multimedia keys * input: add new keys: Back, Tools, ZoomIn, ZoomOut * vo_gpu_next: move line to correct location (cosmetic) * vo_gpu_next: correctly handle GAMUT_AUTO * ci/mingw: disable vulkan for 32-bit build * ci/mingw: don't include useless DLLs in artifact * ci/mingw: refactor build script into functions * ci/mingw: enable more ffmpeg features * ci/mingw: add necessary deps and enable vulkan * ci/mingw: move functional test to workflow * ci/mingw: update dependency versions * vo_gpu_next: reword error message on empty screenshot * DOCS/options: clarify the video-pan-x/y example * aspect: change --video-pan-x/y to be relative to the destination rect * aspect: don't allow scaled_src_size be 0 * DOCS/options: fix typo in video-pan-x example * meson: rename all features with underscores * context_drm_egl: remove references to VAAPI in error messages * context_drm_egl: more correctness fixes for uninit procedure * Revert "ao/pulse: implement period_size" * w32_common: try to get the monitor from the window bounds * w32_common: don't fit to screen when VO_WIN_FORCE_POS is set * ao/pulse: implement period_size * ao/jack: set device_buffer to JACK buffer size * demux_mf: utilize stdbool bool for if a format specifier was bad * demux_mf: early exit with the '%%' case * win32_common: fixes minimized window being focused on launch * ao_oss: add "spdif" passthrough support for high bitrate codecs (e.g. Dolby Atmos, DTS-HD, etc.) over HDMI * drm_common: skip cards that don't have connected outputs * meson: remove redundant libplacebo version check for Vulkan interop * x11: set sizehint for fs-screen and fs-screen-name * x11: remove xinerama and refactor window geometry * x11: require randr 1.4 * context_drm_egl: don't free egl properties if they are null * vo_gpu_next: correctly clear removed hooks * sd_lavc: use SUB_GAP_THRESHOLD for overlaps/gaps * Revert "sub/sd_lavc: don't check endpts when getting subs" * vo_gpu_next: fix typo in video_screenshot() * vo_gpu_next: add --libplacebo-opts * vo_gpu_next: don't re-set frame_mixer * vo_gpu_next: move allow_delayed to move appropriate place * vo_gpu_next: switch to new pl_options system * TOOLS/lua/autoload: Enable run-time updates of options * TOOLS/lua/autoload: may specify loading only one type of files * vo_gpu_next: fix leak of --icc-profile-auto on uninit * vo_gpu_next: drop redundant PL_HAVE_LCMS check * ci: update freebsd to latest release channel * ci: disable libplacebo in msys2 build * vo_gpu_next: use pl_dispatch_info_move to avoid useless data copy * libplacebo: drop PL_API_VER compatibility paths * ra_pl: drop PL_API_VER compatibility paths * vo_gpu_next: drop PL_API_VER compatibility paths * meson: remove redundant libplacebo-next check * hwdec_cuda: drop old PL_API_VER compatibility path * meson: bump minimum libplacebo dependency to v6.292 * stats.lua: display output resolution if it differs to native one * stats.lua: hide window scale in fullscreen * vo_gpu: allow --hdr-peak-decay-rate=0.0 * loadfile: avoid infinite playlist loading loops * build: check for SNDCTL_DSP_HALT for oss-audio * vo: clear vsync_offset if drawing while paused * win32: fix display resolution calculation on mulitple monitors * demux_playlist: remove len restriction on headerless m3u * wayland: clear all keys on keyboard_handle_leave * wayland: clear saved mpkey more aggressively * wayland: use fallback for display-fps/width/height * x11: add --x11-wid-title option * player: add playlist-path properties * vf_vapoursynth: save display resolution as a variable * player: add --term-remaining-playtime option * player: make sub-pos a float value * x11_common: drop unnecessary NULL check * x11_common: avoid unnecessary XUnmapWindow() call * stats.lua: use video-params/aspect-name * player/command: add video-params/aspect-name * ytdl_hook: improve Windows exe search with suffix * command: don't print "unknown" on video tracks * player/video: avoid spamming logs with EOF * audio: drain ao before setting pause * command: show "no" for hwdec-current if hwdec failed * command: fix some fringe play-dir behavior * sub/sd_lavc: don't check endpts when getting subs * sub: fix switching tracks while paused * path-unix: abort on path truncation * osc: support speed-independent time-remaiing display * command: fix stack smashing when displaying aspect-ratio * external_files: add sbv to the sub whitelist * external_files: alphabetize file extensions * DOCS: update LGPL building instructions * m_option: change m_option_type_aspect to double * vo_gpu_next: actually fix screenshots with PAR * ao_audiotrack: enable pcm-float by default * ao_audiotrack: support more channel layouts * ao_audiotrack: support media role * ao_audiotrack: don't ignore ao_read_data return value * ao_audiotrack: allow byte buffer data transfer for float samples * ao_audiotrack: align buffer size to sample size * ao_audiotrack: do not needlessly resample * ao_audiotrack: fix broken exception checks * ao_audiotrack: remove unused writeV23 * vo_gpu_next: take into account PAR when taking screenshots * ad_spdif: fix this not working at all * vo_gpu_next: add ability to use named hook params * mp_image: properly infer color levels for some pixfmts * vo_gpu_next: increase non-interpolation queue size * vo_gpu_next: update for new pl_filter configuration API * win32: signal VO_EVENT_DPI on dpi changes * test/meson: add missing avutil dependency to chmap test * test: indicate test function ran in log * test: enable log messages for libmpv test * test: refactor helper methods to be universally usable * options: fix relative time parsing * options: rename variables in parse_timestring * vd_lavc: repeatedly attempt to fallback if hwdec fails in reinit * DOCS/options: fix typo in hdr-peak-percentile * vo_gpu/vo_gpu_next: fix setting an empty dscale * builtin.conf: add --hdr-peak-percentile=99.995 to gpu-hq * vo_gpu_next: add --hdr-peak-percentile * player/main: do not print build time, if it is unknown * version: move NO_BUILD_TIMESTAMPS check to version.h.in * build: remove version.py * vo_vdpau: set hwdec image format * test: bump libmpv test timeout * drm: bump minimum version to 2.4.105 * ci: update the mpv.com path * build: remove outdated generated directory * ao_pipewire: set media role during init() * audio: add AO_INIT_MEDIA_ROLE_MUSIC * Mon Jul 31 2023 [email protected] - Remove waf build: removed upstream - Make meson a hard requirement now - Bump libplacebo requirement to 6.292.0 for Tumbleweed - Add patch 0001-Revert-meson-bump-required-version-to-0.62.patch to lower meson requirement for Leap - Update to version 0.36.0+git.20230730.1bbc7a2c: * ao_sndio: use sio_flush() to improve controls responsiveness * draw_bmp: fix overflowing coordinates in mark_rcs * Revert "audio: add AOCONTROL_UPDATE_MEDIA_ROLE" * Revert "ao_pipewire: handle AOCONTROL_UPDATE_MEDIA_ROLE" * meson: look for linux/input-event-codes.h with libwayland flags * version.py: fix build date * options: restore old default sub selection behavior * vo_gpu_next: fix assertion on wayland * vo_gpu_next: delay swapchain submit until flip_frame() * path-win: move state directory to %LOCALAPPDATA% * path-win: add subdirectory for cache * Revert "ci/msys2: double down on running meson through python3.11" * ad_spdif: fix segfault due to early deallocation * test: enhance libmpv test * player/video: check for track and decoder existence * video_writer: fix gamma for YUV screenshots * image_writer: log pixfmt conversion * encode_lavc: fix leak of codecpar * zimg: fix abort on subsampled input with odd heights * demux_mkv: add missing space to log msg * build: remove unneeded libdl requirement for vaapi * build: refactor vaapi handling * ci/mingw: reduce git clone depth to 1 * ci/mingw: use ccache * ci/mingw: disable fail-fast * ci/mingw: check if binary is runnable before packaging * language-posix: as a fallback, treat "C" as "en" * msg: print MSGL_WARN and higher error messages to stderr * build: vaapi-x-egl is not used anywhere, remove it * build: vaapi-egl should explicitly depend on egl * build: vaapi-drm and vaapi-wayland do not depend on egl * ci/mingw: update luajit to fix i686 crashes * wayland: restore xkb_keysym_to_utf8 handling * build: internally rename gl-wayland to egl-wayland * waf: remove waf as a build system * Sun Jul 23 2023 [email protected] - Update to version 0.36.0+git.20230723.60a26324: * Update VERSION * Release 0.36.0 * Revert "vo_gpu_next: use pl_dispatch_info_move to avoid useless data copy" * ao_pipewire: for_each_sink: properly check termination condition * DOCS/vo: clarify dmabuf-wayland a bit * vo_dmabuf_wayland: correctly handle force-window * player/video: check for forced eof * vd_lavc: respect vd-lavc-software-fallback opt * vo_vaapi: restore hardware video decoding * vo_vaapi: fix segfault in draw_osd * ao_pipewire: use native buffersize by default * terminal-unix: fix not listening on input after being foregrounded * osc: don't add margins to osc-deadzonesize * DOCS: clarify screenshot window and screenshot-sw * vo_drm: remove VOCTRL_SCREENSHOT_WIN * screenshot: implement screenshot-window in sw for most VOs * screenshot: clarify software screenshot logic * image_writer: use proper specifier for int64_t * {zsh,bash}-completion: run mpv with --no-config * bash-completion: do not complete removed options * zsh-completion: do not complete removed options * zimg: fix broken sig_peak handling * image_writer: move tag_csp check into image_writer_flexible_csp() * image_writer: replace sprintf usage * image_writer: share some code between write_lavc and write_avif * image_writer: error check avif-pixfmt option * image_writer: fix still-picture option for AVIF * image_writer: remove duplicate packet writing code * TOOLS: remove obsolete travisCI-related scripts * wayland_common: remove questionable gcd impl and global state * wayland: don't treat tiled and maximized windows the same * wayland: add locked_size convenience shorthand * builtin.conf: add --hdr-contrast-recovery to gpu-hq * vo_gpu_next: add --hdr-contrast-recovery/smoothness * builtin.conf: unset default languages in libmpv and encode profiles * vd_lavc: repeatedly attempt to fallback if hwdec fails in receive_frame * wayland: handle modifier keys correctly * vo_gpu_next: add --target-contrast option * loadfile: make get_audio_lang function static * DOCS/release-policy.md: add additional advice * loadfile: compute audio lang for sub selection when using lavfi-complex * wayland: wrap resize requests in prepare_resize * sd_ass: fix converted subtitles having too-wide borders * sd_ass: don't reconfigure ass on every frame * player: set default cache dir on macOS * DOCS/mpv: clarify the location of cache/state files * path-win: implement cache directories * DOCS/interface-changes: document change in ctrl+h behaviour * vd_lavc: map `hwdec=yes` to `hwdec=auto-safe` * vd_lavc: add `drm` and `drm-copy` to the `auto-safe` list * input: update ctrl+h to toggle `auto-safe` rather than `auto` * vd_lavc: try other hwdecs when falling back after an hwdec failure * Fri Jul 14 2023 [email protected] - Update to version 0.35.1+git.20230714.1f683401: * vo_dmabuf_wayland: error out if compositor doesn't support the format * build: make dmabuf-wayland a build option and require drm * console: sort the output from the `help` command * player: delete watch later redirect entries again * wayland: use xdg_surface_set_window_geometry * Revert "wayland_gl: wait until resize to create egl_window" * vo_dmabuf_wayland: guard in destroy_osd_buffers * vo_dmabuf_wayland: stop lazy loading hwdec * vo_dmabuf_wayland: don't try to get pts without frame->current * draw_bmp: ensure last slice is less than total width (again) * vo_dmabuf_wayland: add osd support * vo_dmabuf_wayland: init wl_list at the top of preinit * vo_dmabuf_wayland: stop guarding viewport interfaces * video/image_writer: check for write errors * video/image_writer: fix file leak in error path * wscript: add 1.32 protocols to sources * stats.lua: set sans-serif as default font * wayland: add xdg_toplevel.wm_capabilities handler * wayland: add support for suspended toplevel state * wayland: add cursor-shape-v1 support * vd_lavc: fix delay_queue for videos with frames < max_delay_queue * vd_lavc: prefer d3d11va-copy over dxva2-copy * vo_wlshm: bail out of resize if width/height is 0 * wayland: fix memory leak with multiple monitors * player: delete watch_later file after successful load * json: unify json_parse depth to MAX_JSON_DEPTH=50 * terminal-unix: better error detection logic * TOOLS/idet: fix some outdated cli syntax * demux_playlist: sort files before directories * demux_playlist: add option to control recursive directory loading * TOOLS/lua/autoload: allow extending ext sets from script-opts * various: correctly ignore cache files with --no-config * vo_gpu/vo_gpu_next: enable gpu shader and icc cache by default * vo_gpu: fix some cache related memory leaks * player: add --input-cursor-passthrough option * TOOLS/lua/autoload: avoid unnecessary playlist manipulation, performance * wscript: bump required libplacebo-next version to 5.266 * vo_gpu_next: remove synchronization from info_callback * vo_gpu_next: use pl_dispatch_info_move to avoid useless data copy * ci/msys2: double down on running meson through python3.11 * vo_x11: don't rely on XFree to free calloc-ed data * vo_x11: check for calloc() failure * win32: add support for drag-and-drop option * options: add no to drag-and-drop * test/meson: explicitly specify lavf dependency * player/screenshot: add "screenshot" logger * video/image_writer: add avif screenshot support * options: drop unnecessary casts * options: use designated initializer * vd_lavc: do inline string array initialisation for hwdec_api * vd_lavc: let the user provide a priority list of hwdecs to consider * osdep: remove erroneous POLLERR emulation * wayland: remove erroneous POLLERR usage * image_writer: respect jpeg-quality when using ffmpeg for writing * image_writer: remove unused struct fields * mp_image: abort on av_buffer_ref() failure * loadfile: fix leak due to setting NULL parent * hwdec: fix undeclared identifier in mediacodec_embed * vo_drm: fix null dereference and using closed fd * github/workflows: do not copyback files from freebsd VM * github/workflows: bump freebsd VM memory size to 8GB * hwdec: do not add hwdec device if it failed to create * vd_lavc: check if av_device_ref is available * ci/msys2: switch to Python 3.11 to fix crashes during build * loadfile: insert missing parentheses * osc: add toggle for forced-only subs * loadfile: expose auto-forced-only when printing stream info * command: add sub-forced-only-cur prop * command: report auto-forced-only flag in track desc * sub: rewrite auto-forced-only support * player: add more precise sub fallback options * options: default slang to auto * loadfile: support "auto" as a language option * loadfile: use mp_match_lang_single * loadfile: take a const char* in match_lang * loadfile: short-circuit early on null stream language * osdep: add mp_get_user_langs * osdep: move cfstr<->cstr conversions to a new apple_utils.c file * misc: add language-matching utilities * options: set subs-with-matching-audio to off by default * vo: hwdec: prioritise `drmprime` over `drmprime_overlay` * ad_lavc: check for allocation failure * vo_gpu_next: add --corner-rounding option * vo_gpu_next: add missing --gamut-mapping-mode options * ao_pipewire: bump dependency to 0.3.48 * ao_wasapi: use client name instead of hardcoded string * ao_wasapi: remove infinite loop hack in AOCONTROL_UPDATE_STREAM_TITLE * demux/demux_lavf: avoid leaking AVFormatContext during demux_open_lavf * vo_dmabuf_wayland: drop linux-dmabuf-v2 (again) * wayland: bump wayland-protocols to 1.25 * wayland: bump required version to 1.20 * DOCS: fix admonition typo * vo_dmabuf_wayland: update the image of pending buffers * vo_dmabuf_wayland: use a minimum of 15 buffers * ci: use a different mirror for freetype * player: add drag-and-drop option * wayland: avoid misleading log messages on drag/drop * ci/mingw: add dlltool to the meson crossfile * mpv.desktop: add Russian translation for GenericName * ci/mingw: remove cache * ci/mingw: update dependencies versions * ci/msys2: enable egl-angle-lib * github/workflows/build.yml: install ca-certificates package on msys2 * bootstrap.py: update waf to 2.0.25 * DOCS/mpv: add an example for applying profiles to certain paths * player: don't load unwanted files after 519e56f * hwdec_cuda: bump required headers version for timeline semaphores * hwdec_cuda: clear vulkan semaphore fd after passing ownership to cuda * hwdec_vulkan: respect probing flag when logging during init * vulkan: don't assume all ra_ctx implementations have a swapchain * hwdec_cuda: remove usage of deprecated libplacebo sync API * video/out/android: assert WinID value before use * path: handle URLs consistently in mp_basename * lua: read_options: find script-opts prefix at index 1 exactly * demux/demux_lavf: strip URL parameters before matching extension * hwdec_vulkan: enable AV1 support if available * hwdec_vulkan: check for the correct libplacebo version * vo: hwdec_aimagereader: fix compile * hwdec_vulkan: simplify requirement checks for Vulkan interop * vo/vulkan: do not define zero sized array * hwdec_vulkan: account for vulkan frames now using presentation size * f_hwtransfer: disable vulkan multiplane images when uploading from cuda * hwdec_vulkan: use bwdif_vulkan as deinterlacing auto filter * vo: vulkan: request additional extensions and features for ffmpeg * hwdec_vulkan: add Vulkan HW Interop * vo: hwdec: Pass the ra_ctx to hwdecs instead of just the ra * vo_gpu_next: fix to allow using dllimport * vo_gpu_next: respect `gl->flipped` * opengl: move `ra_gl_ctx_params.flipped` to `struct GL` * vo: make mp_frame_perf thread safe * vo_gpu_next: add size guard for pass->num_samples * vo_gpu_next: synchronize voctrl_performance_data access * vo_gpu_next: fix off by one in info_callback * vo_dmabuf_wayland: rewrite around wl_list * vo_gpu_next: fix build on older libplacebo * vo_gpu_next: update to new libplacebo gamut mapping API * vo_gpu_next: remove --tone-mapping-crosstalk * context_drm_egl: check for non-existant drm in uninit * player: improve diagnostics around writing watch_later files * path: let configdir also override "cache" and "state" paths * path: simplify "cache" and "state" fallback * player: always try to detect subtitle language from file name * ra_d3d11: change how messages are ignored during texture size lookup * wayland: improve guessing when mpv is focused * demux/demux_lavf: pass-through mime_type * demux/demux_lavf: pass-through filename for HLS * Revert "demux/demux_lavf: pass dummy filename when an HLS mimetype is detected" * demux/demux_lavf: pass dummy filename when an HLS mimetype is detected * vo_gpu_next: allow to use ICC profile luminance value * mp_image: use the ffmpeg interlaced frame flags where available * ao_oss: return actual OSS playing state * player: use XDG_CACHE_HOME by default * player: use XDG_STATE_HOME for watch_later * path: expand internal path selection API to allow for additional types * osdep: separate out macos paths from path-unix.c * DOCS/options: document required parameter for --x11-name * meson: bump required version to 0.62 * wayland: add support for wl_surface.preferred_buffer_scale * options: read config file as stream * ci: switch to lua51 for MSYS build * ci: use auto detection for lua library version for MSYS * charset_conv: fix memory corruption in mp_iconv_to_utf8 * sub: fix UPDATE_SUB_HARD for converted and external subtitles * console.lua: add a script-opt for the border size * vo_gpu_next: fixes to allow using dllimport * ao_pipewire: clarify --pipewire-buffer=native * ao_pulse: clarify --pulse-buffer=native * ao_pipewire: let sound server determine latency * ao_pipewire: give sound server more flexibility for buffers * hwdec_drmprime: support rpi4_8 and rpi4_10 formats * ytdl_hook: fix clip start and end * libmpv: fix file name in documentation * meson: use the new build_options method * wayland: correctly scale configure_bounds * player/screenshot: avoid non-sRGB spaces with --screenshot-tag-csp=no * video/out/gpu: Fix compilation warning of out of bound access * mp_image: always add AV_FRAME_DATA_DOVI_METADATA when present * ci: add a workflow that lints commit messages * auto_profiles: try to distinguish invalid properties better * auto_profiles.lua: apply profiles when conditions are truthy * osc: skip rendering when osd_dimensions are 0 * win32: follow Windows settings and update dark mode state * d3d11: retry device creation without debug, if SDK is not available * build: add check for eglext_angle.h when checking for ANGLE * context_angle: include eglext_angle.h explicitly * DOCS/input: fix typo * auto_profiles: check for non-existent properties * various: fix various typos in the code base * various: fix typos * demux_lavf: update to handle deprecation of `io_close` * ci: bump cache version to rebuild libplacebo * ci/mingw: require libplacebo-next * build: add an option to control gpu-next * ci/mingw: update meson * meson: fix libplacebo-next version comparison * vo_gpu_next: drop various PL_API_VER checks * wscript: bump libplacebo-next required version to 5.264 * meson: bump libplacebo-next required version to 5.264 * player/screenshot: add filename return field * player: set playlist title to media title if not set already * Revert "player: set playlist title to media title if not set already" * meson: rst2pdf handle dependency file * TOOLS/docutils-wrapper: handle commands without depfile * TOOLS/docutils-wrapper: properly propagate failures * TOOLS/docutils-wrapper: gracefully remove non-existing files * DOCS/lua: fix typo * options: enable scripts related opts also with cplugins. * Sat Mar 18 2023 [email protected] - Update to version 0.35.1+git.20230315.e1727553: * test: update format refs to ffmpeg 6 * github/workflows: fix failure conditions * common/av_common: clean up mp_lavc_set_extradata * sub/sd_lavc: properly fill avctx with codecpar values at init * sub/lavc_conv: properly fill avctx with codecpar values at init * common/av_common: constify mp_codec_params related getters * demux_mkv: support ARIB captions * player/command: fix mem leak in user-data property; closes #11436 * vo_gpu_next: compatibility with libplacebo v6.265 * wayland: make wayland-edge-pixels-pointer default to 16 * wayland: use correct x/y coordinates for the cursor * screenshot: fix segfault when taking a screenshot without video * wayland: fix client side resize * vo_gpu_next: compatibility with PL_API_VER >= 254 * vo_gpu_next: use inverse mapping functions to tag screenshots * video/out/placebo/utils: add mappings from pl enums to mpv enums * video: add missing libplacebo colorspace enums * mp_image: assert if src and dst are different in copy_attributes * mp_image: copy side data in mp_image_copy_attributes * ao_pipewire: use realtime scheduling for data thread * loadfile: strongly prefer that all streams are from the same program * command: expose hls-bitrate and program-id as track-list subproperties * loadfile: report hls_bitrate and program_id in struct track * demux: propagate hls_bitrate and program_id in generated caption tracks * demux_lavf: report program_id * ytdl_hook: only log error when no fallback url available * ytdl_hook: init fragment requires other fragments * vo: fix race condition with redraw requests * ci: separate meson tests and reorganize build steps * test: integrate unittests with meson * ci: use the same arguments when running the built mpv binary * player: remove unittest option * test: update ffmpeg format refs * zimg: fix MP_CSP_PRIM_CIE_1931 mapping * zimg: add ZIMG_TRANSFER_ST428 mapping * zimg: set correct primaries for XYZ * sws_utils: hardcode output gamma and primaries for XYZ * mp_image: fix XYZ gamma and primaries guess * vo_gpu: improve XYZ conversion * mp_image: be less agressive with clearing color information * f_swscale: do not reset color levels to default * csputils: add MP_CSP_TRC_ST428 as defined in ST 428-1 * DOCS/options: mention default value of cursor-autohide * DOCS/options: clarify hidpi-window-scale description * player: add --auto-window-resize option * ra: assert when using params with dimensions * sub: add --sub-fonts-dir and --osd-fonts-dir options * wayland: request frame callbacks on the topmost surface * wayland: deduplicate and cache detection of dmabuf-wayland * wayland: use bool type for alpha framebuffer tracking * vo_gpu: d3d11_helpers: prefer DXGI_SWAP_EFFECT_FLIP_DISCARD if possible Similar to libplacebo[1], DXGI_SWAP_EFFECT_FLIP_DISCARD is used instead of DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL starting with Windows 10. * vf_gpu: initialize depth=1 on target textures * video: initialize depth=1 on screenshot textures * external_files: recognize jxl and avif files as cover art * {console,ytdl_hook}: use the platform property * command: add platform property * ytdl_hook: don't overwrite force-media-title * ytdl_hook.lua: make exec return a single value * TOOLS/autocrop.lua: log a more accurate warning * audio: remove a duplicate clearing of a struct variable * options: change parameter that was forgottin in property transition * client API: reintroduce CONF_TYPE_FLAG for type conversion * Partially revert "options: remove OPT_FLAG" * console: observe osc margins from user-data instead of shared-script-properties * osc: set values in user-data in addition to shared-script-properties * player: set playlist title to media title if not set already * various: fix warning -Wimplicit-const-int-float-conversion * vo_gpu_next: fix warning -Wunused-function * vo_wayland: fix warning -Wvoid-pointer-to-enum-cast * vd_lavc: sort hwdecs without hwdevices last for autoprobing * vd_lavc: prioritize mediacodec for hwdec autoprobe * video: make csp option definitions private * video: make csp equalizer params float * vo_gpu: fix newline in log message * demux: constify a struct member * vo_gpu_next: fix color space hint with target peak override * DOCS: clarify that GLX is deprecated * options: remove explicit initialization of integers to 0 * options: remove OPT_FLAG * options: transition properties from flag to bool * options: transition commands from OPT_FLAG to OPT_BOOL * options: transition options from OPT_FLAG to OPT_BOOL * input: remove unused struct member * DOCS/client-api-changes.rst: move mpv_del_property to 0.36.0 * various: drop unused #include "config.h" * ao_pipewire: drop unused #include "generated/version.h" * Vulkan: add configure check for VK_KHR_display extension * vo_gpu_next: add --tone-mapping-visualize * vo_gpu_next: parse Dolby Vision metadata for dynamic scene brightness * mp_image: forward AV_FRAME_DATA_DOVI_RPU_BUFFER side data * DOCS: document JPEG XL default effort change * Revert "vo_dmabuf_wayland: drop support for linux-dmabuf-v2" * video/image_writer: use effort=4 default for JXL screenshots * ao_pipewire: fix removal of zeroed hooks on old pipewire * vo_gpu_next: allow native CSP screenshots * player/screenshot: pass on ability to output native CSP * screenshot: explicitly default VOCTRL_SCREENSHOT csp * video/image_writer: force sRGB for unsupported formats * video/image_writer: add image_writer_flexible_csp * vo_gpu_next: tag screenshots with correct colorspace * vo_gpu_next: only apply target options in window screenshot mode * vo_gpu_next: be explicit about screenshot repr * m_property: avoid using a small stack buffer in m_property_do_bstr * vo_gpu_next: expose --tone-mapping=st2094-40 and st2094-10 * vo_gpu_next: support mapping HDR10+ dynamic metadata * ao_pipewire: allow usage of global volume control * command: only avoid redrawing when old and new osd are both hidden * DOCS/options: remove testing note in video-sync-max-factor * vf_sub: undeprecate * vo_dmabuf_wayland: reject hw formats not supported by compositor * video/image_writer: change screenshot-tag-colorspace default to yes * vo_dmabuf_wayland: add purgatory list to buffer pool to avoid memory leaks * vo_dmabuf_wayland: ensure buffer pool is cleaned at start of uninit * vo_dmabuf_wayland: simplify buffer pool reset * vo_dmabuf_wayland: only resize when a new frame is about to be drawn * DOCS/input: remove experimental note from sub-text * ao_pipewire: report linking errors from init() * ao_pipewire: add support for exclusive mode * ao_pipewire: move stream flags to dedicated variable * ao_pipewire: adjust message level based on probing * f_hwtransfer: fix leak of framesconstraints * image_pool: properly free frames * ao_pipewire: remove unneeded goto * ao_pipewire: replace opencoded talloc() * ao_pipewire: print stream states as string * ao_pipewire: remove unnecessary empty lines * ao_pipewire: remove opencoded spa_zero() * ao_pipewire: remove some unnecessary linebreaks * ao_pipewire: reduce message level of unsuccessful connection * ao_pipewire: remove unnecessary braces * sws_utils: add check for HAVE_ZIMG to suppress warnings * vo_gpu_next: add check for PL_HAVE_LCMS * hwdec_cuda: fix enum type for semaphore * vo_d3d11: do not call MAKEINTRESOURCEW twice * osdep/io: add void to mp_penviron * demux: remove unused code * ao_lavc: remove unused code * osdep: add MP_FALLTHROUGH * libplacebo: fix enum type cast * stats.lua: display HDR peak in nits * meson: move vector check inside of meson.build * meson: check macos touchbar with has_header * meson: check pthread provider with has_function * video/image_writer: avoid stripping colorspace info when writing image * stream: accept webdav:// and webdavs:// urls * ci: pack mingw64 meson build instead of waf * ci: separate meson/waf build dirs * ci: use meson compile instead of ninja directly * ci: do not print compile commands * meson: replace check_header with has_header * meson: actually use -Werror=format-security * hwdec/vaapi: zero-initialize VADRMPRIMESurfaceDescriptor * player/video.c: don't resync audio if video is an image * vo_lavc: set frame rate on encoder; fixes #11215 * wayland: add auto choice to wayland-configure-bounds * wayland: handle runtime hidpi-window-scale changes correctly * wayland: unbreak runtime geometry/autofit changes * lua/js: remove user-data helpers * lua/js: fix user_data_del util function * doc: correct spelling of user-data/user_data JS/lua helpers * docs: document new user-data property * javascript/defaults: add user_data helpers * lua/defaults: add user_data helpers * player/command: add user-data property * javascript: add mp.del_property() * lua: add mp.del_property() * libmpv: add mpv_del_property() convenience function * player/command: add "del" command * m_property: add M_PROPERTY_DELETE * player/client: support observing sub-properties * options/m_option: support duplicating MPV_FORMAT_BYTE_ARRAY nodes * misc/node: add bstr-based variants for map_get() and map_add() * misc/json: don't wrap top-level pretty strings/infs in quotes * DOCS: Add missing 'not' * hwdec_vaapi: close file descriptors even if surface export fails * vo_dmabuf_wayland: close file handles when surface export fails * vo_dmabuf_wayland: plug leaking file descriptor from solid buffer pool * DOCS/compile-windows.md: update MSYS2 packages * test/repack.c: skip tests that exceeded maximum allowed ZIMG dimension * meson: add missing library dep for egl_angle_lib check * vo_opengl/angle_dynamic: simplify symbol renaming to make it more straightforward * waf: migrate to version.py * ci: migrate MSYS2 build to GitHub Actions * wscript: remove MSVC from compiler lookup * meson: reuse libmpv objects for cplayer * ao_pipewire: align thread name with general conventions * audio: simplify implementation of property ao-volume * stream/dvb: remove some unused variables * x11: remove PresentNotifyMSC from egl/glx/vulkan to fix xpresent timing * wayland: add wp-fractional-scale-v1 support * wayland: rewrite geometry and scaling handling * vo_gpu: implement VO_DR_FLAG_HOST_CACHED * vo_gpu_next: implement VO_DR_FLAG_HOST_CACHED * vd_lavc: add "auto" choice for vd-lavc-dr * vo: add `int flags` to the get_image signature * msg: log-file set at mpv.conf: don't ignore early messages * msg: log-file buffer size: don't use magic number (no-op) * drm: rewrite based around vo_drm_state * mp_image: fix XYZ primaries default * meson: skip some unneeded macos-specific checks * meson: drop feature plain-gl * ci: run meson tests * meson: limit vaapi checks * meson: don't add libmpv and cplayer features to conf_data * meson: remove dependency from libmpv to plain-gl * meson: add simple test executable for libmpv * stream: remove trailing NULL element from stream list * hwdec_cuda: drop support for PL_HANDLE_WIN32_KMT * wayland: only warn when actually missing idle inhibit support * vo: make driver list static * vo: remove trailing NULL element from driver array * ao: remove trailing NULL element from driver array * DOCS/compile-windows.md: update with meson instructions * build: officially deprecate waf * TOOLS/lua/autoload: improve alphanumeric sorting * wayland: store presentation feedbacks in a pool * Revert "wayland: dispatch and wait for compositor events in uninit" * TOOLS/docutils-wrapper: make executable + alphabetize * audio: fix crash during uninit on ao_lavc * meson: also search for rst2html with .py extension * various: replace abort() with MP_ASSERT_UNREACHABLE() where appropriate * various: replace if + abort() with MP_HANDLE_OOM() * stream/dvb: drop support for DVB API before 5.8 * ao_audiotrack: replace malloc with talloc * stream/cookies: use stream_read_file() * {video,audio}: adjust unsafe strncpy usages * video/x11: replace sprintf usage * video: replace sprintf usage * demux_mf: replace unsafe string functions * ra_d3d11: fix incorrect type * DOCS: clarify wid casting on Windows * vo_dmabuf_wayland: drop support for linux-dmabuf-v2 * vo_dmabuf_wayland: support panscan and panning * ta/README: update link to talloc documentation * vo_wlshm: properly support video panscan * player: don't force saving start in watch-later-options * player: add video-sync=display-tempo * player: choose speed of smallest acceptable factor for display sync * TOOLS/lua/autoload: optimize performance of natural sorting * TOOLS/lua/autoload: further optimize the natural sorting * wayland: make vo_wayland_reconfig a bool * wayland: cleanup on vo_wayland_init error * vo: change vo_platform_init to bool * vo_wlshm: cleanup on failure * vo_dmabuf_wayland: goto err instead of returning * vulkan: fix build error for 32bit builds with clang * meson: dynamically compute dependencies for manpage and html build * TOOLS/umpv: support shell-quotes in $MPV * demux: new packet should not point to source buffer when copying data * demux: actually initialise packet buffer when creating new packet * version.py/version.sh: bump copyright year * demux: boost read EBU R128 gain values to ReplayGain's reference level * wayland: dispatch and wait for compositor events in uninit * wayland: initalize display_fd as -1 * wayland: consistently employ use_present * draw_bmp: ensure last slice width is less than total width * vo: hwdec: fix drmGetDeviceNameFromFd2() related memory leak * hwdec_drmprime: fix memory leak * ao_coreaudio: use AudioUnitReset as ao_driver.reset to prevent long restart * vo_opengl: do not blindly reject all Microsoft's OpenGL implementations * demux: add --demuxer-hysteresis-secs option to save power with caching * external_files: recognize webp files as cover art * x11: add modesetting to the xpresent whitelist * build: add configure test for POSIX shm for the sake of vo_kitty * demux: replace deprecated usage of stack allocated AVPackets * audio: reset pull AO at end of file * vo_kitty: Introduce modern sixel alternative * external_files: set log level for potential files to trace * hwdec/d3d11va: fix a possible memory leak * filter_kernels: fix kaiser * man/vo: Typo * man/vo: Correct --vo-sixel-buffered * vo_sixel: Implement write() loop * vo_sixel: Rename draw-clear -> config-clear * osdep/terminal.h: Rename screen buffer controls * vo_sixel: Alias/deprecate exit-clear -> alt-screen * vo_sixel: Make buffering optional * man/vo: Fix rendering error due to non-printables * DOCS/interface-changes: Add --vo-sixel-draw-clear * Revert "ao_pipewire: deactivate stream at end of playback" * vo_sixel: Buffer full output sequence * vo_sixel: Use write(2) on POSIX platforms * vo_tct: Use newer options API * vo_sixel: Move user options to struct * vo_sixel: Add option to skip clear while drawing * osdep/terminal: Move common esc codes to terminal.h * vo_sixel: Use the alternate buffer to restore term * vo_tct: Use the alternate buffer to restore term * ao_pipewire: deactivate stream at end of playback * ao_pipewire: clean up when hotplug_init fails * ao_pipewire: destroy context on connection failure * ao_pipewire: free properties on failure * vd_lavc: Set AV_HWACCEL_FLAG_UNSAFE_OUTPUT flag * hwdec_drmprime: support yuv420p format * ao_coreaudio: use device's nominal sample rate for latency properties * player: add window-id property * ffmpeg: update to handle deprecation of `av_init_packet` * sws_utils: update to handle deprecation of `avcodec_enum_to_chroma_pos` * vd_lavc: update to handle deprecation of `pkt_duration` * ffmpeg: increase minimum required version to 4.4 * wayland: check for resize/move in touch event first * osc: don't spam window-controls bindings on every render * ao_pipewire: log sample queueing * TOOLS/umpv: prefer $XDG_RUNTIME_DIR * vo_gpu_next: don't flush cache on OSD update * meson: fix stdatomic detection on bsd * lcms: fix validate_3dlut_size_opt * lcms: always parse lcms2-related options * vo_dmabuf_wayland: use single-pixel-buffer-v1 * wlbuf_pool.h: add headers for forward declarations * meson: unbreak dl check on BSDs without libdl * meson: prepend MPV_CONFDIR path with prefix * vo_gpu_next: fix undefined behavior on alpha-first formats * wayland: also log refresh rate on surface entrance * drm: remove legacy API * wayland: add support for content-type protocol * player/video: add VOCTRL_CONTENT_TYPE * player/main: log libplacebo version if built with it * common/av_log: move general FFmpeg version before library versions * vo: hwdec: remove legacy_names * player: add --force-render option * wayland: error out if essential protocol support is missing * meson: fix capitalization of "OpenGL" * ao_pipewire: log version information and metadata * DOCS: update release policy to match reality * Update VERSION - Refresh mpv-make-ffmpeg-version-check-non-fatal.patch * Wed Feb 08 2023 [email protected] - Update to version 0.35.1+git.20230128.140ec21c: * ao_pipewire: log version and other useful debug info * wayland: error out if essential protocol support is missing * wayland: also log refresh rate on surface entrance * vo_gpu_next: fix undefined behavior on alpha-first formats * meson: prepend MPV_CONFDIR path with prefix * meson: unbreak dl check on BSDs without libdl * lcms: fix crash with lcms2-related options if lcms is disabled * meson: fix stdatomic detection on bsd * osc: don't spam window-controls bindings on every render * wayland: check for resize/move in touch event first * ao_coreaudio: use device's nominal sample rate for latency properties * ao_pipewire: properly clean up resources * filter_kernels: fix kaiser * hwdec/d3d11va: fix a possible memory leak * external_files: set log level for potential files to trace * vo_opengl: do not blindly reject all Microsoft's OpenGL implementations * ao_coreaudio: use AudioUnitReset as ao_driver.reset to prevent long restart * hwdec_drmprime: fix memory leak * vo: hwdec: fix libdrm-related memory leak * draw_bmp: ensure last slice width is less than total width * wayland: dispatch and wait for compositor events in uninit * demux: boost read EBU R128 gain values to ReplayGain's reference level * version.py/version.sh: bump copyright year * vulkan: fix build error for 32bit builds with clang * vo_wlshm: cleanup on failure * ra_d3d11: fix incorrect type * meson: also search for rst2html with .py extension * audio: fix crash during uninit with ao_lavc * mp_image: fix XYZ primaries default * vd_lavc: add "auto" choice for vd-lavc-dr * vo: implement VO_DR_FLAG_HOST_CACHED * x11: fix issue with xpresent timing feedback - Refresh mpv-make-ffmpeg-version-check-non-fatal.patch * Fri Dec 23 2022 [email protected] - Update to version 0.35+git.20221222.657fd280: * audio: reset pull AO at end of file * vo_kitty: Introduce modern sixel alternative * external_files: set log level for potential files to trace * hwdec/d3d11va: fix a possible memory leak * filter_kernels: fix kaiser * Tue Dec 20 2022 [email protected] - Update to version 0.35+git.20221220.d5c3b9d9: * man/vo: Typo * man/vo: Correct --vo-sixel-buffered * vo_sixel: Implement write() loop * vo_sixel: Rename draw-clear -> config-clear * osdep/terminal.h: Rename screen buffer controls * vo_sixel: Alias/deprecate exit-clear -> alt-screen * vo_sixel: Make buffering optional * man/vo: Fix rendering error due to non-printables * DOCS/interface-changes: Add --vo-sixel-draw-clear * Revert "ao_pipewire: deactivate stream at end of playback" * vo_sixel: Buffer full output sequence * vo_sixel: Use write(2) on POSIX platforms * vo_tct: Use newer options API * vo_sixel: Move user options to struct * vo_sixel: Add option to skip clear while drawing * osdep/terminal: Move common esc codes to terminal.h * vo_sixel: Use the alternate buffer to restore term * vo_tct: Use the alternate buffer to restore term * ao_pipewire: deactivate stream at end of playback * ao_pipewire: clean up when hotplug_init fails * ao_pipewire: destroy context on connection failure * ao_pipewire: free properties on failure * vd_lavc: Set AV_HWACCEL_FLAG_UNSAFE_OUTPUT flag * hwdec_drmprime: support yuv420p format * ao_coreaudio: use device's nominal sample rate for latency properties * player: add window-id property * ffmpeg: update to handle deprecation of `av_init_packet` * sws_utils: update to handle deprecation of `avcodec_enum_to_chroma_pos` * vd_lavc: update to handle deprecation of `pkt_duration` * ffmpeg: increase minimum required version to 4.4 * wayland: check for resize/move in touch event first * osc: don't spam window-controls bindings on every render * ao_pipewire: log sample queueing * TOOLS/umpv: prefer $XDG_RUNTIME_DIR * vo_gpu_next: don't flush cache on OSD update * meson: fix stdatomic detection on bsd * lcms: fix validate_3dlut_size_opt * lcms: always parse lcms2-related options * vo_dmabuf_wayland: use single-pixel-buffer-v1 * wlbuf_pool.h: add headers for forward declarations * meson: unbreak dl check on BSDs without libdl * meson: prepend MPV_CONFDIR path with prefix * vo_gpu_next: fix undefined behavior on alpha-first formats * Sat Nov 19 2022 Mia Herkt <[email protected]> - Use Meson for build where possible as waf will be dropped in a future version * Sat Nov 19 2022 [email protected] - Refresh mpv-make-ffmpeg-version-check-non-fatal.patch - _service: obs_scm -> obs_tar - Do not require libsixel and mujs where no appropriate versions are packaged - Vulkan requires recent libplacebo; disable on Leap <= 15.3 - Update to version 0.35+git.20221118.d3a61cfe: * wayland: also log refresh rate on surface entrance * drm: remove legacy API * wayland: add support for content-type protocol * player/video: add VOCTRL_CONTENT_TYPE * player/main: log libplacebo version if built with it * common/av_log: move general FFmpeg version before library versions * vo: hwdec: remove legacy_names * player: add --force-render option * wayland: error out if essential protocol support is missing * meson: fix capitalization of "OpenGL" * ao_pipewire: log version information and metadata * DOCS: update release policy to match reality * Sun Nov 13 2022 [email protected] - Update to version 0.35+git.20221112.2f747341: * Update VERSION * Release 0.35.0 * meson: fix macos-touchbar check * github/workflows: force deletion of existing upstream python symlinks on macOS * vo_gpu_next: add tunable shader parameters * vo_gpu: mark --gamma-factor and --gamma-auto with deprecation warnings * wayland, x11: fix possibly unsafe bstr usage * ao_pipewire: reload ao on stream disconnect * ao_pipewire: explicitly remove stream hook * ao_pipewire: log generic stream errors * Revert "ao/audiounit: include AVAudioSession buffer in latency calc" * vo_dmabuf_wayland: improve error handling exporting VA surface * hwdec_vaapi: only set VADisplay resource if entire init process has succeeded * github/workflows: remove seccomp disablement * github/workflows: bump linux jobs to Ubuntu 22.04 base VM * github/workflows: move all build jobs to checkout V3 * github/workflows: remove xcode 13.0 to xcode 13.1 override * github/workflows: remove macOS 10.15 image usage * sd_ass: never mangle colours on RGB video * meson: move dmabuf-wayland specific files under the right check * gpu/context: properly guard wldmabuf context * console: add history deduplication * github/workflows: remove pip usage in mingw CI * vo_gpu_next: set background transparency * ci: upload resulting binary of mingw64 build * ci/mingw64: refresh build scripts * ytdl_hook: reverse order of tracks * demux/codec_tags: support more WAVEFORMATEXTENSIBLE tags * wayland_common: always zero out presentation context when destroying it * wayland: correct braindead comment (no-op) * wayland: hack around presentation_feedback weirdness * wayland: free dmabuf_feedback object * test: update to reflect that Vulkan is a generic format again * filters/f_hwtransfer: remove VAAPI <-> Vulkan mapping for now * build: add an additional check for wayland-protocols 1.24 * meson: add more hardcoded values to configuration * meson: use 'dl' instead of 'libdl' in find_library * ci: use meson setup build instead of meson build * ao_coreaudio: specify UTF-8 as text encoding for CFString conversions * options: log profile name if there is no restore data * console: respect the top margin shared script property * vo_dmabuf_wayland: use special ra_ctx_create_by_name * vo_dmabuf_wayland: load all hwdecs in preinit * wayland: always do a display_roundtrip at the end of init * github/workflows: print error logs on freebsd * ci/build-freebsd.sh: remove nonexistent option * vo_dmabuf_wayland: fix DRM builds with no VAAPI * video/out/wayland_common: adjust decoration disagreement log level * video/out/wayland_common: clear decoration request even if compositor disagrees * video/out/wayland_common: don't pass a negative of border flag into ternary * video/out/wayland_common: make decoration state usage explicit * ao_pipewire: compatibility for libpipewire 0.3.19 * ci: require pipewire to be enabled for Tumbleweed Linux builds * wayland: bump dmabuf protocol to version 4 * vo_vaapi_wayland: remove, as it is superceded by vo_dmabuf_wayland * vo_dmabuf_wayland: wayland VO displaying dmabuf buffers * wayland: clean wp_presentation_feedback in discard callback to avoid leak * build_image_converter - use full image format list to create hw_upload * mp_imgfmt: move DRMPRIME format to end of enum * DOCS: document E to cycle through Editions * ao: promote ao_pipewire * ao_pipewire: test for session to contain audio sinks * ao_pipewire: init_boilerplate(): simplify errorhandling * TOOLS/lua/autoload: fix incorrect duplicate file loading behavior * audio/format: fix Type 'struct entry' has incompatible definitions in different translation units * vo_gpu/hwdec: add NULL check for legacy_name * hwdec_aimagereader: fix incorrect return values * demux_mkv: add AVS2 and AVS3 to tag list * wscript: remove some bogus configure options * demux_mf: add support for QOI, PHM and HDR images * f_hwtransfer: allow hw uploads to implicitly convert formats * f_hwtransfer: accept non-power-of-2 hw uploads * hwdec/dmabuf_interop_gl: work-around implicit rgba swizzling * f_hwtransfer: get rid of the shit list * hwdec/vaapi: improve probing of supported sw formats * vo_gpu_next: fix crash on uninit after startup failure * sd_ass: improve handling of subtitles with unknown duration * DOCS: fix minor typo with keep-open description * draw_bmp: fix out of bounds access in mark_rect * vo_gpu/hwdec: rename and introduce legacy names for some interops * x11: fix --on-all-workspaces option * vo_gpu_next: vulkan: libplacebo: unify log prefix * github/workflows: explicitly install Xinerama on FreeBSD * x11: fix a couple of memory leaks * ao_pipewire: allow specification of remote name * ao_pipewire: small cleanups and restructring * osc: scale rendered aspect ratio with window aspect ratio * wayland: correctly handle non-CLOCK_MONOTONIC clocks * vulkan: remove --vulkan-disable-events * vo: hwdec_aimagereader: add missing image format specifier * vo_gpu: hwdec: add Android hwdec utilizing AImageReader * DOCS: deprecate --gamma-factor and --gamma-auto * vo_gpu_next: respect --blend-subtitles=<yes/no> * ao_pipewire: don't try to lock nonexistent loop * ao_pipewire: use target.object * mp_image: strip DoVi metadata that requires an EL * manpage: document bt.2390 parameter * vo_gpu_next: fix screenshots of rotated sources * DOCS/man/vf.rst : replace the outdated syntax * vo_gpu_next: use static assert for array size * vo_gpu_next: update render_info for upstream API change * vo_gpu_next: implement --video-output-levels * TOOLS/lua/autoload: add various extra file extensions * TOOLS/lua/autoload: alphebatize auto-loaded file extensions * ytdl_hook: use subtitle `name` as title if available * af_scaletempo2: fix crash when the number of channels increases * build: update waf to 2.0.24 * f_hwtransfer: mp_image_pool: support HW -> HW mapping * f_autoconvert: f_hwtransfer: support HW -> HW uploads * filters: lavfi: allow hwdec_interop selection for filters * filters: support loading new hwdec_interops from filters * vo: hwdec: do hwdec interop lookup by image format * demux_lavf: extract is_image function * demux_lavf: detect avif images * DOCS/man/options.rst: replace some legacy single-hyphen syntax * vo_gpu_next: support error diffusion dithering * sub: use Unicode linebreaking for non-ASS subs and OSD * ao_audiounit: get the channel layout from the AU itself * mac: avoid unnecessary unsafe conversions; fixes crash in debug builds * TOOLS/lua/autoload: add `m2ts` extension * `.m2ts` used for the Blu-ray disc container file format * ytdl_hook: simplify exclude option parsing * vo_gpu_next: only require full pixel byte alignment * vo_gpu_next: implement ICC 3DLUT caching * vo_gpu_next: use correct pixel size when mapping formats * ao_pipewire: listen to hotplug events * ao_pipewire: use proper hotplug init APIs * ao_pipewire: create is_sink_node helper * audio: list devices for all AOs with hotplug_init * audio: try to use playback AO as hotplug AO first * ta: increase size of names printed * ao_pipewire: handle AOCONTROL_UPDATE_MEDIA_ROLE * audio: add AOCONTROL_UPDATE_MEDIA_ROLE * ao_pipewire: fix indent * repack: add repacker for ccc16x16 formats * mpv.metainfo.xml: add XDG appstream metadata manifest * DOCS: Mention "mono" audio channels option * DOCS/libmpv: fix typo in linkage section * w32: fix typo in F23 mapping * vo_gpu_next: fix typo affecting --target-trc option * macos: add support for F13-F20 keys * w32: add support for F13-F24 keys * x11: add support for F13-F24 keys * wayland: add support for F13-F24 keys * input: add function keys F13-F24 * ad_lavc: strip non-normalized floats * vo_gpu_next: display subtitles without video stream * DOCS/options: update vd-lavc-skiploopfilter, skipidct and related descriptions * DOCS/mpv: remove spaces at EOL, ensure 80 cols * DOCS/mpv: added COMMAND INTERFACE refs to INTERACTIVE CONTROL * ao_pipewire: for_each_sink(): report errors * meson: fix condition for enabling vaapi-egl * meson: fix libplacebo check * audio: fix lack of reinitialization on format change with pull AOs * player/audio: remove explicit drain on EOF * ao_pipewire: make sure not to exceed the available buffer * audio: don't try to drain non-existent AO * vo_gpu_next: pass GL get_proc_addr pointer to libplacebo * ao_pipewire: test on FreeBSD * mpv.desktop: add RIST protocol to desktop entry * osxbundle: add RIST protocol support to app metadata * stream_lavf: enable RIST protocol support via ffmpeg * ao_pipewire: restructure logic a bit * ao_pipewire: only try to read requested data * ao_pipewire: report all available info about chunk * ytdl_hook: improve track detection * misc/random: add xoshiro random number implementation * meson: fix the build-date option * meson: fix building without gl * meson: consistently use feature['foo'] * meson: refactor generating config.h * meson: disable dvdnav by default * meson: reduce dictionary usage * meson: add comment clarifying windows-internal-pthreads * ytdl_hook: consistant behavior for single format * wayland: add support for configure bounds * x11: fix display-{width,height} calculation * DOCS/options: correct wayland-disable-vsync option * ytdl_hook: fix default track for single format * github/workflows: auto-update freebsd-vm within major version * drm_common: remove hard dependency on drmIsKMS() * context_drm_egl: skip page flip wait on error * gpu/hwdec: reorder `drmprime` below `drmprime_drm` * video/drmprime: fix use-after-free * hwdec/drmprime: fix build * hwdec/dmabuf_interop: Properly prefix `priv` struct * hwdec/drmprime: Fix small issues * audio: drain ao on EOF * hwdec/drmprime: add drmprime hwdec-interop * ao_pipewire: tell audio server about number of queued samples * man: remove unhelpful language * ao_pipewire: use mpv logging * hwdec/dmabuf_interop_gl: support basic multi-plane formats * hwdec/dmabuf_interop: use AVDRMFrameDescriptor to describe dmabufs * hwdec/dmabuf_interop: refactor out hwdec_vaapi dependencies * hwdec/vaapi: rename interops to reflect more general use * af_rubberband: add new engine option in rubberband 3.0.0 * drm_common: skip cards that don't support KMS for autodetection * drm: avoid drmModeAtomicCommit races by blocking * video: remove unnecessary code * ytdl_hook: fix playlist index extraction * ci: bump macos runner version * wayland: add missing newline in wayland_common * hwdec_vaapi_pl: support simple multi-plane image formats * vo_gpu_next: fix screenshots on single-frame files * vo_gpu/d3d11: fix VRAM leak * osc.lua: add osc-tcspace script option * osc.lua: add osc-unicodeminus script option * vo_gpu_next: don't crash on !frame->current * ytdl_hook: always set HTTP headers * libplacebo: fix compatibility with libplacebo >= 5 * github/workflows: upgrade FreeBSD to 13.1 * vo_gpu: fix 3DLUT precision * ao_pipewire: prevent deprecation warning for pw_stream_get_time() * ao_pipewire: pipewire uses linear volume * ao_pipewire: don't access core after disconnect * ao_pipewire: zero listeners * ao_pipewire: support ao-volume on non-stereo channel layouts * DOCS/encoding: remove the legacy option syntax * drm_prime: fix newline in error message * meson: fix rst2html command * context_x11egl: remove supposed transparency fix * DOCS: fix typo * DOCS/osc: fix option "showidlescreen" -> "idlescreen" This option was added in mpv-player@ec236f7, but its name in the document description is incorrect * meson: add a summary at the end of configuration * vo_gpu_next: implement --cscale * swresample: don't forcibly clip on every conversion * js: key bindings: ensure priorities for same-key - again * x11: avoid XPresent API calls when it's not needed * lua: command_native_async: make the callback optional * lua: command_native_async: always callback a-sync * x11: add --x11-present option * x11: add nouveau to the xpresent whitelist * x11: correct provider detection logic * vo_vaapi_wayland: remove vaapi format query as formats are never used * meson: remove pointless d3d11 dictionary * x11: replace strcasestr usage with bstr * github/workflows: install libxpresent on freebsd * x11: support xorg present extension * x11: use xrandr providers for driver detection * vo: move wayland presentation to separate files * meson: use require when checking for vdpau * ci/build: Do not manually install Meson in openSUSE container * meson: rearrange library dependency order to avoid crash with fontconfig * vo_vaapi_wayland: only attach solid buffer once to main surface, on creation * vo_vaapi_wayland: remove unnecessary subsurface sync/desync in resize * ci/build-mingw64: enable test building * ci/build-mingw64: bump dependencies * ci/build-mingw64: switch to fossils directory for zlib * ci/build-tumbleweed: attempt to enable unit tests in CI * test/chmap: start adding AVChannelLayout unit tests * audio/chmap: add mp_iterate_builtin_layouts * f_lavfi: switch to AVChannelLayout when available * ad_lavc: switch to AVChannelLayout when available * af_lavcac3enc: switch to AVChannelLayout when available * af_lavcac3enc: refactor chmap adding into its own function * ao_lavc: switch to AVChannelLayout when available * demux_lavf: switch to AVChannelLayout when available * common/av_common: switch to AVChannelLayout when available * audio/aframe: switch to AVChannelLayout when available * audio: add AVChannelLayout helpers to convert from/to mp_chmap * wayland: set appid before initial surface commit * wayland_gl: fix a typo * wayland_gl: wait until resize to create egl_window * DOCS/options: fix incorrect labelling of hr-seek default * sub: jsre filter: abort init early on empty filter list * ci/mingw64: add git libplacebo for gpu-next * github/workflows: move mingw CI to ubuntu 22.04 * ci/mingw64: make meson crossfile global * wayland_gl: use wl->scaling when creating egl_window * wayland: rearrange initialization logic * player: add tiff/tif (TIFF) to list of image extensions * player: add jxl (JPEG XL) to list of image extensions * wayland: remove some unneeded lines from reconfig * vo_gpu_next: fix OSD rendering of screenshots * meson: add internal arg to wayland-protocols' get_variable() * osc.lua: add idlescreen and osc-idlescreen * video/out/dither: remove custom index_t typedef * wayland: force vo_vaapi_wayland scaling to 1 * DOCS/interface-changes: mention vaapi-wayland vo * vo: move allocate_memfd method to wayland_common * vo_vaapi_wayland/wayland_common: code style fixes * wayland: use mp_tag_str not drm_format_string * vo: allow vaapi_wayland and vaapi_x11 to coexist * wayland: don't depend on the order of global announcements * vo: add new vaapi-wayland driver * demux: stop iterating over demuxers as soon as a match is found * osc.lua: fix crash when calling osc-tracklist while idle * player: check for argv before printing help text * player: set EOF when seeking to end with keep-open * various: remove trailing whitespace * wayland: use wl_output v4 for display-names * lua: avoid rare memory leak in mp.join_path * client API: always export symbols on windows * stream_lavf: add support for ipfs and ipns * meson: compile mpv.exe as a win32 gui application * context_drm_egl: support monitor par * github/workflows: add macOS 12 build * video/image_writer: tag colorspace in AVCodecContext * DOCS/input: fix typo "NANME" -> "NAME" * console.lua: don't render a 2nd cursor on the OSC * video/image_writer: fix high-depth JPEG XL screenshots * build: add avcodec jpegxl dependency versions * demux: add support for r128 replaygain tags * DOCS/ao: remove only usage of git.io link shortening service * wayland: use wl_surface_damage_buffer * DOCS/options: properly capitalize JPEG XL * video/image_writer: add Jpeg XL screenshots * various: fix typos * vo_gpu_next: avoid 0x0 resizes * github/workflows: workaround git permissions error * DOCS/options: update the --load-osd-console documentation * DOCS/input: update the ASS tags documentation URL * options: make --cover-art-auto=exact the default * player: add cover-art-whitelist option * DOCS: fix the typo of --sub-justify * DOCS: correct --sub-shadow-color * DOCS/{mpv,options}: document the watch later functionality * vo_wlshm: use draw_frame instead of draw_image * mpv.desktop: add japanese translation * ci: switch Tumbleweed build to openSUSE container registry * vd_lavc: fixup unchecked usage of AV_CODEC_EXPORT_DATA_FILM_GRAIN * vd_lavc: fix decoder initialization when no VO is available * vd_lavc: remove duplicate vd_ffmpeg_ctx pointer from init_avctx * wayland: use wl_output v4 for --fs-screen-name * x11: avoid wasteful rendering when possible * player: rearrange video sync opts/enums/defines * wayland: unify visibility checking code * vo_gpu/d3d11: add message ID based log level mapping * vo_gpu/d3d11: mimic libplacebo backbuffer usage * vo_gpu/d3d11: enable receival of color depth without active backbuffer * vo_gpu/d3d11: add helper function to get ra_format from DXGI_FORMAT * vo_gpu_next: switch to unpooled hwdec mapping * x11: fix screen-name option * mpv.desktop: add turkish translation * options.lua: remove unused function * options: add osd-playing-msg-duration * egl_helpers: request at least 8 alpha bits if necessary * DOCS/input: mark chapter-list as writable * drm: context_drm_egl: add support for enabling VRR * vd_lavc: add vo caps and option to set GPU film grain application * vo_gpu_next: apply film grain if such metadata is present * vf_format: support forwarding/stripping film grain metadata * mp_image: support film grain parameters * vd_lavc: hide a deprecation warning in already handled compatible code * sub/osd: use atomic for osd_state.force_video_pts * osdep/atomic: add mp_atomic_double * Revert "vo_gpu_next: remove unnecessary dependency" * ao_pipewire: Do not hold thread lock during loop stop * ao_pipewire: fix resource lifetimes * vo_gpu_next: remove unnecessary dependency * lua: use correct chunkname when loading script files * vo_gpu[_next]: hwdec: fix logging regression when probing * common/av_log: explicitly include version.h for required libraries * vo_gpu_next: also include stride alignment in DR size * vulkan: correctly inherit proc_addr pointer * ao_sndio: fix parentheses warning * client API: also export mpv_stream_cb_add_ro * vo_gpu: hwdec_vaapi: Improve logging when probing surface formats * DOCS/options.rst DOCS/vo.rst: Update discussion of hwdec usage * vo_gpu_next: fix crash when disabling DR at runtime * vo_gpu_next: don't leak mpi on failed upload * vo_gpu_next: properly keep track of DR allocations * hwdec: warn on unsupported hwdec option value * vo_gpu_next: don't allocate dr_buf as part of the AVBufferRef * hwdec: fix out-of-date preprocessor variable name * ytdl_hook.lua: consider any subprocess status != 0 as error * vo_gpu_next: add D3D11 RA texture wrapping/unwrapping for hwdec * vo_gpu_next: add support for hardware decoding * manpage: add vo_gpu_next wiki link to manpage * vo_gpu_next: configure the VO queue size dynamically * vo_gpu_next: expose EGLDisplay to pl_gpu * vo_gpu: move hwdec loading code to common helper * hwdec: release images as soon as possible after mapping * hwdec_vaapi_vk: rename to vaapi_pl * hwdec_vaapi_gl: properly zero initialize priv struct * filters: Re-add vavpp deinterlacing auto-filter * ytdl_hook: fix url_is_safe to match URL protocols properly * vo_gpu_next: remove/simplify plane flipping hacks * vo_gpu_next: avoid rendering subtitles as HDR/wide gamut * mp_image: fix mp_image_plane_w/h * stats.lua: page 2 - frame timing: use fixed display order * stats.lua: graphs: fix bad rendering due to division by 0 * vo_gpu_next: refactor subtitle rendering * options: add always to stop-screensaver * DOCS/input: document subprocess more clearly * DOCS/input: fix typo * vo_gpu: hwdec: load hwdec interops on-demand by default * ao_pipewire: fix ao-volume handling * vo_gpu_next: don't crash on negative plane strides * vo_gpu: d3d11_helpers: don't create UNORDERED_ACCESS backbuffers in Win7 * meson: remove horrifying macos luajit hack * github/workflows: use lua 5.1 on macos * DOCS/mpv: improve vf=rotate examples * wayland: partially fix drag and drop handling * ao_pipewire: validate pod creation * ao_pipewire: add support for device selection * vo_gpu_next/context: get graphics API-specific contexts from pl_gpu * vf_format: simplify frame type checking after addition of DoVi option * vo_gpu: hwdec_vaapi: Don't probe formats for irrelevant endpoints * ci/appveyor: fix package install line * osc.lua: seekbar hover: speed-up chapter access * js: utils.get_user_path: make wrapper of expand-path - Change source from cpio/tar to tar.xz to reduce the source code size by a factor of 4. - Update waf to version 2.0.24 - Set rubberband to version 3.0.0 which is need for optional dependencies. - Remove --enable-pipewire because it is now autodetected. You can now only disable. - Disable pipwire under Leap because of build error. - Enable openal, sixel. - Enable mujs for Leap >= 15.4. - Enable wayland for Leap >= 15.4. - If libavif is installed default at build time it must have version >= 0.11.1 - Fix rpmlint filename-too-long-for-joliet. * Tue Jun 07 2022 Dominique Leuenberger <[email protected]> - Drop pkgconfig(libkms) BuildRequires: this has been removed from latest libdrm. * Sat Feb 05 2022 Enrico Belleri <[email protected]> - Update to version 0.34.1+git.20220203T182214.5d31c7310c: * libplacebo: switch to new target format API * libplacebo: switch to new GPU limits APIs * libplacebo: switch to v4 naming convention * libplacebo: update log helpers * vo_gpu_next: create shader cache dir if missing * wayland: always start rendering after a resize * filter kernels: add cosine window * vo_gpu_next/context: common'ize things that would be common for non-vulkan * auto_profiles.lua: don't warn if profile-restore=default * Sun Jan 30 2022 Enrico Belleri <[email protected]> - Update to version 0.34.1+git.20220129T121245.4d3ebb9d83: * meson: add version check to wayland-protocols * wayland: always resize when scale changes on surface enter * wayland: support extra mouse buttons * wayland: handle 0x0 resizes correctly * x11: sanitize window title to UTF-8 for EWMH * wayland: sanitize toplevel title to UTF-8 * ao_sndio: audio output added * options: only apply sub-visibility to primary subs * Revert "options: add --sub-visibility=<primary-only|secondary-only>" * options: add --sub-visibility=<primary-only|secondary-only> * player: add thd (TrueHD) to whitelist of audio extensions * player: fix parentheses warning with && * Wed Jan 19 2022 Enrico Belleri <[email protected]> - Update to version 0.34.1+git.20220117T134844.22b0bac28e: * native pipewire AO * Dolby Vision support * player: fix autofit/geometry related segfault * ao_oss: add missing PATH_DEV_MIXER define * egl_helpers: fix context creation if GLES 3 is not available * audio: stop corrupting audio on underreads * wayland: fix a potential segfault on surface enter * vo_gpu: opengl: fix wrong glMemoryBarrier call * vo_gpu: opengl: create context at version 4.4 again * af_lavcac3enc: fix memory leak on no-op * subprocess: unblock/reset signals before running child process * wayland: avoid doing unneccesary window resizes * See https://github.com/mpv-player/mpv/compare/9ca9066d05..22b0bac28e or https://git.srsfckn.biz/mpv/log/?qt=range&q=9ca9066d05..22b0bac28e for the complete changelog. * Sun Nov 21 2021 Enrico Belleri <[email protected]> - Update to version 0.34.0+git.20211101T154439.9ca9066d05: * input.conf syntax: support custom quotes in `XstringX` form & single quotes * ao_oss: readd OSSv4 audio output, default on *BSD * osc: seekbar hover/drag: display target chapter at the OSC title * stats.lua: add page 4 with a list of active key bindings * sub: add --sub-filter-jsre (JS regex) * vo_rpi: restore fullscreen handling * vo_tct: add resize capability * ytdl_hook.lua: search for yt-dlp by default (preferred over youtube-dl) * vo_sixel: many fixes and improvements * filters: switch from scaletempo to scaletempo2, used for speed option * audio/vo_pulse: fix various edge cases and issues * stats.lua: move internal performance info from page 4 to page 0 * command: don't hardcode command lists to be repeatable * vo_gpu: drop support for libplacebo older than v3.104.0 * See https://github.com/mpv-player/mpv/compare/bc9d556f3a..9ca9066d05 or https://git.srsfckn.biz/mpv/log/?qt=range&q=bc9d556f3a..9ca9066d05 for the complete changelog. * Thu Jul 01 2021 [email protected] - Update to version 0.33.1+git.20210630T163736.f2afae55e9: * wayland: refactor surface scaling * sub: fix subs/lyrics on music files with sub-past-video-end=no * wayland: fix wl_surface_set_buffer_scale usage * wayland: always be sure to initially try to render * wayland: remove unused includes * wayland: handle app id option less stupidly * wayland: reorganize wayland common code * stats.lua: add scaled resolution * DOCS: fix typo on seekbarkeyframes * TOOLS/lua/autoload: load files even if current file is hidden * TOOLS/lua/autoload: add ignore_hidden option * player: fix property name * lua: idle observers: ensure timers are up-to-date * lua: timers: don't block forever with slow callbacks * sub: by default, don't render timestamps after video EOF * player: change cover-art-auto behavior * js: idle-observers: minor performance improvement * osc: seekbar hover/drag: display target chapter at the title * manpage: add article in fuzzy explanation * player: remove unnecessary check * player: fix segfault * osc: ensure tick after any mouse-event * osc: don't initialize while mouse-down over an element * osc: update chapter marker positions when duration changes * Mon Jun 14 2021 [email protected] - Update to version 0.33.1+git.20210613T225337.bc9d556f3a: * js: add mp.utils.append_file * vo_gpu: vulkan: displayvk: Fix handling of unconnected planes * vo_gpu: vulkan: implement a VkDisplayKHR backed context * vo_gpu: vulkan: provide a helper to access device name option * vo_rpi: fix argument name * github/issue_template: irc -> IRC * {ci,docs,README}: update IRC references to new network * docs: fix leftover reference to the now defunct --video-sync-adrop-size option * ytdl_hook: improve handling of json parsing errors * Sat May 29 2021 [email protected] - Update to version 0.33.1+git.20210528T161101.d7f3d1fff7: * wayland: refactor dispatching events * manpage: mention cover-art-auto * README: fix link to feature-request issues * player: load cover art with the media filename * win32: support the property 'focused' * osc: re-initialize when chapter list changes * recorder: fix codec_tag / codec_id confusion * recorder: clear codec_tag if no target format support * af_scaletempo2: use gcc vectors to speed up inner loop * vo_gpu: replace --icc-contrast by --icc-force-contrast * wayland: shuffle around the render loop again * wayland: send VO_EVENT_DPI on output event as well * command: add a missing comma to MP_EVENT_WIN_STATE * vo_gpu: fix extreme clipping with --gamut-clipping for HDR outputs * wayland: simplify render loop * player/command: add secondary-sub-text property * sub/osd: hide secondary subtitles if secondary-sub-visibility is false * vo_gpu: hwdec_vaapi: silence errors while probing * stream_lavf: remove uninitialized http_like array * osxbundle: fix slow and wasteful memory allocation * stream_file: disable read ahead for remote files on macOS * build: move mingw jobs to Github actions * build: move website rebuild into Linux/clang travis job * Fri May 14 2021 [email protected] - Update to version 0.33.1+git.20210511T222233.ded36a4470: * options: add some entries to --display-tags defaults * ytdl_hook: expose some JSON fields as tags * edl: add a way to add tags * zsh completion: perform globbing on binary path * vo_gpu: fix trivial memory leak * Revert "vo_gpu: revert 8a09299 and conditionally clear framebuffer again" * vf_sub: restore OSD if removed * options: extend --replaygain-preamp range * audio: fix replaygain being completely broken * Revert "audio: set audio chain ao on reinit" * mac: add support for display-width/display-height property * command: add display-width/display-height property * DOCS/input.rst: clarify --no-input-default-keybindings docs * filter_kernels: fix quadric window * DOCS/lua.rst: fix docs for utils.file_info * build: address AVCodec, AVInputFormat, AVOutputFormat const warnings * scripting (lua/js): utils.getpid: make wrapper of pid property * command: new property: pid (process id) * DOCS: clarify how client/script names work * command: osd-dimensions: return ints and doc fixes * audio: add two minor log messages * ao/pulse: fix incorrect state reported after reset * osc: reset margins when using boxvideo with showfullscreen/showwindowed * wayland: ignore toplevel listener if geometry is 0 * osc: display immediately when visibility changes from never to always * mac: fix window geometry calculation on secondary screens * stream_file: add new identifier for macOS FUSE filesystems * DOCS: mpv.rst: minor escaping clarifications * win32: fit_window_on_screen: simplify, add comments * win32: fit_window_on_screen: centralize logic (no-op) * win32: fit_window_on_screen: ensure top edge is inside * options: win32: ignore and deprecate --fit-border * demux_lavf: fix minor memory leaks * vo_gpu: greatly increase maximum shader cache size * wayland: workaround hidden state detection badness * audio: set audio chain ao on reinit * wayland: update geometry + cursor on output event * Tue Apr 13 2021 [email protected] - Update to version 0.33.1+git.20210412T140928.74f5d4940e: * wayland: support the display-hidpi-scale property * demux: undeprecate --cache-secs * audio/aframe: reuse data buffer if less than 8 channels * stream: turn stream_info.open2's args argument const * stream_slice: fix use-after-free if inner stream fails to open * player/scripting: fix use-after-free when loading script folders * stream_mf: set correct stream origin * demux_mf: improve format string processing * manpage: fix a typo in the --aid option note * vo_gpu: adjust interpolation_threshold's default * options: Add validation macro for int type * demux: Move demuxer help to new standard mechanism * options: Make validation and help possible for all option types * Tue Mar 23 2021 [email protected] - Update to version 0.33.0+git.20210321T171820.6265724f33: * vo_gpu: placebo: keep track of texture sample mode * stats.lua: include a filter's @label when displaying filters on page 1 * ao_oss: add this audio output again * audio: prevent uninit_audio_out during encoding * stream_lavf: add support for Gopher over TLS. * ao/pulse: signal the mainloop when ops are done * player/command: add albumart argument to video-add * player/{core,loadfile}: make cover art loading more explicit * ao/pulse: wait for command completion when setting volume or mute * ytdl_hook: fix crash on missing track bitrate * umpv: Use generator expression for files * wayland: no mouse dragging in fullscreen/maximized * manpage: mention rotate limitations with hwdec * vd_lavc: wrap use of deprecated AVCodecContext.thread_safe_callbacks in #if * manpage: video-rotate supports arbitrary steps * mac: fix traditional fullscreen on macOS 11 * mac: remove an unused variable * Fri Mar 12 2021 Илья Индиго <[email protected]> - Added JS scripting support (mujs) for Tumbleweed and Leap > 15.3. * Thu Feb 25 2021 [email protected] - Update to version 0.33.0+git.20210223T124404.09d7c75bfe: * vo_gpu: libplacebo: require v2.72.0 * appveyor: Use MSYS2's spirv-cross package instead of building it * appveyor: use latest build image for fixed MSYS2 installation * msg: fix really-quiet option to only affect terminal output * mac: add ability to toggle visibility on all workspaces from menubar * command: add label for on-all-workspaces command * mac: support --on-all-workspaces option * vo_gpu: don't abort() if plane tex creation fails * filters/auto_filters: switch from scaletempo to scaletempo2 * af_scaletempo2: fix crash for speed >= 16 * travis: fix macOS VMs with older homebrew versions * mac: only update touch bar items when necessary * mac: use custom touch bar item and slider instead of a touch bar slider * vo_gpu: vaapi: export plane pitch properly * DOCS: fix cplugins information in libmpv.rst. * demuxer/demux_mf: add support for more image codecs * man: update deband-threshold default * vo_gpu: lower default deband threshold * vo_wlshm: support big endian systems * README: update libass dependency harfbuzz as non-optional * manpage: fix PDF build * docs: Fix an old style parameter reference * umpv: remove unused imports * stream_lavf: support rtsps * player: make resetting of track selection to "auto" work * mac: fix dangling pointers * mac: drop build support for swift versions earlier than version 4.1 * mac: fix usage of temporary pointers * manpage: document off-by-one loop-file behavior * Sun Jan 03 2021 [email protected] - Update to version 0.33.0+git.20210103T120530.1251f7bbf9: * manpage: rename OS X references to macOS * vo_gpu: don't segfault if 3DLUT texture fails uploading * input.conf syntax: support custom quotes !XstringX! * input.rst: fix typo commands -> arguments * csputils: add mappings for DCI-P3 (ST.431-2) and P3-D65 (ST.432-1) * vd_lavc: add VP8 to the default allowed hwdec codec list * vo_gpu: cast bvecN to vecN for mix() on older GLSL * bootstrap: log caught URLError * Revert "build: recognize Lua 5.1 on Arch Linux" * build: fail configure if --lua is specified and Lua isn't found
/usr/include/mpv /usr/include/mpv/client.h /usr/include/mpv/render.h /usr/include/mpv/render_gl.h /usr/include/mpv/stream_cb.h /usr/lib64/libmpv.so /usr/lib64/pkgconfig/mpv.pc
Generated by rpm2html 1.8.1
Fabrice Bellet, Wed Dec 4 00:10:59 2024