diff --git a/doc/guix.texi b/doc/guix.texi
index d69e6ed215..40a1bddf52 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -51156,7 +51156,7 @@ mpv Media Player
 @code{ao-null-buffer}, @code{ao-null-channel-layouts},
 @code{ao-null-format}, @code{ao-null-latency}, @code{ao-null-outburst},
 @code{ao-null-speed}, @code{ao-null-untimed?}, @code{ao-pcm-append?},
-@code{ao-pcm-file}, @code{ao-pcm-waveheader?},
+@code{ao-pcm-file}, @code{ao-pcm-waveheader?}, @code{archive-exts},
 @code{audio-backward-batch}, @code{audio-backward-overlap},
 @code{audio-buffer}, @code{audio-channels}, @code{audio-client-name},
 @code{audio-delay}, @code{audio-demuxer}, @code{audio-device},
@@ -51181,18 +51181,19 @@ mpv Media Player
 @code{cdda-sector-size}, @code{cdda-skip?}, @code{cdda-span-a},
 @code{cdda-span-b}, @code{cdda-speed}, @code{cdda-toc-offset},
 @code{chapter-merge-threshold}, @code{chapter-seek-threshold},
-@code{chapters-file}, @code{config?}, @code{container-fps-override},
-@code{contrast}, @code{cookies?}, @code{cookies-file},
-@code{corner-rounding}, @code{correct-downscaling?},
-@code{correct-pts?}, @code{cover-art-auto}, @code{cover-art-files},
-@code{cover-art-whitelist}, @code{cscale}, @code{cscale-antiring},
-@code{cscale-blur}, @code{cscale-clamp}, @code{cscale-param1},
-@code{cscale-param2}, @code{cscale-radius}, @code{cscale-taper},
-@code{cscale-window}, @code{cscale-wparam}, @code{cscale-wtaper},
-@code{cursor-autohide}, @code{cursor-autohide-fs-only?}, @code{deband?},
-@code{deband-grain}, @code{deband-iterations}, @code{deband-range},
-@code{deband-threshold}, @code{deinterlace},
-@code{deinterlace-field-parity}, @code{demuxer},
+@code{chapters-file}, @code{clipboard-backends},
+@code{clipboard-monitor?}, @code{config?},
+@code{container-fps-override}, @code{contrast}, @code{cookies?},
+@code{cookies-file}, @code{corner-rounding},
+@code{correct-downscaling?}, @code{correct-pts?}, @code{cover-art-auto},
+@code{cover-art-files}, @code{cover-art-whitelist}, @code{cscale},
+@code{cscale-antiring}, @code{cscale-blur}, @code{cscale-clamp},
+@code{cscale-param1}, @code{cscale-param2}, @code{cscale-radius},
+@code{cscale-taper}, @code{cscale-window}, @code{cscale-wparam},
+@code{cscale-wtaper}, @code{cursor-autohide},
+@code{cursor-autohide-fs-only?}, @code{deband?}, @code{deband-grain},
+@code{deband-iterations}, @code{deband-range}, @code{deband-threshold},
+@code{deinterlace}, @code{deinterlace-field-parity}, @code{demuxer},
 @code{demuxer-backward-playback-step}, @code{demuxer-cache-dir},
 @code{demuxer-cache-unlink-files}, @code{demuxer-cache-wait?},
 @code{demuxer-donate-buffer?}, @code{demuxer-hysteresis-secs},
@@ -51203,7 +51204,7 @@ mpv Media Player
 @code{demuxer-lavf-probe-info}, @code{demuxer-lavf-probescore},
 @code{demuxer-lavf-probesize}, @code{demuxer-lavf-propagate-opts?},
 @code{demuxer-max-back-bytes}, @code{demuxer-max-bytes},
-@code{demuxer-mkv-probe-start-time?},
+@code{demuxer-mkv-crop-compat?}, @code{demuxer-mkv-probe-start-time?},
 @code{demuxer-mkv-probe-video-duration},
 @code{demuxer-mkv-subtitle-preroll},
 @code{demuxer-mkv-subtitle-preroll-secs},
@@ -51218,9 +51219,6 @@ mpv Media Player
 @code{directory-filter-types}, @code{directory-mode},
 @code{display-fps-override}, @code{display-tags}, @code{dither},
 @code{dither-depth}, @code{dither-size-fruit}, @code{drag-and-drop},
-@code{drm-connector}, @code{drm-device}, @code{drm-draw-plane},
-@code{drm-draw-surface-size}, @code{drm-drmprime-video-plane},
-@code{drm-format}, @code{drm-mode}, @code{drm-vrr-enabled},
 @code{dscale}, @code{dscale-antiring}, @code{dscale-blur},
 @code{dscale-clamp}, @code{dscale-param1}, @code{dscale-param2},
 @code{dscale-radius}, @code{dscale-taper}, @code{dscale-window},
@@ -51249,10 +51247,11 @@ mpv Media Player
 @code{hr-seek-demuxer-offset}, @code{hr-seek-framedrop?},
 @code{http-header-fields}, @code{http-proxy}, @code{hue}, @code{hwdec},
 @code{hwdec-codecs}, @code{hwdec-extra-frames},
-@code{hwdec-image-format}, @code{icc-3dlut-size}, @code{icc-cache?},
-@code{icc-cache-dir}, @code{icc-force-contrast}, @code{icc-intent},
-@code{icc-profile}, @code{icc-profile-auto?}, @code{icc-use-luma?},
-@code{idle}, @code{ignore-path-in-watch-later-config?},
+@code{hwdec-image-format}, @code{hwdec-software-fallback},
+@code{icc-3dlut-size}, @code{icc-cache?}, @code{icc-cache-dir},
+@code{icc-force-contrast}, @code{icc-intent}, @code{icc-profile},
+@code{icc-profile-auto?}, @code{icc-use-luma?}, @code{idle},
+@code{ignore-path-in-watch-later-config?},
 @code{image-display-duration}, @code{image-exts}, @code{image-lut},
 @code{image-lut-type}, @code{image-subs-video-resolution?},
 @code{include}, @code{index}, @code{initial-audio-sync?},
@@ -51261,7 +51260,7 @@ mpv Media Player
 @code{input-commands}, @code{input-conf}, @code{input-cursor?},
 @code{input-cursor-passthrough?}, @code{input-default-bindings?},
 @code{input-doubleclick-time}, @code{input-dragging-deadzone},
-@code{input-ipc-client}, @code{input-ipc-server},
+@code{input-ime?}, @code{input-ipc-client}, @code{input-ipc-server},
 @code{input-key-fifo-size}, @code{input-media-keys?},
 @code{input-preprocess-wheel?}, @code{input-right-alt-gr?},
 @code{input-terminal?}, @code{input-test?},
@@ -51273,42 +51272,45 @@ mpv Media Player
 @code{keep-open-pause?}, @code{keepaspect?}, @code{keepaspect-window?},
 @code{lavfi-complex}, @code{length}, @code{libplacebo-opts},
 @code{linear-downscaling?}, @code{linear-upscaling?},
-@code{load-auto-profiles}, @code{load-osd-console?},
-@code{load-scripts?}, @code{load-select?}, @code{load-stats-overlay?},
-@code{load-unsafe-playlists?}, @code{log-file}, @code{loop-file},
-@code{loop-playlist}, @code{lut}, @code{lut-type}, @code{mc},
-@code{media-controls}, @code{merge-files?}, @code{metadata-codepage},
-@code{mf-fps}, @code{mf-type}, @code{monitoraspect},
-@code{monitorpixelaspect}, @code{msg-color?}, @code{msg-level},
-@code{msg-module?}, @code{msg-time?}, @code{mute?}, @code{native-fs?},
-@code{native-keyrepeat?}, @code{native-touch?}, @code{network-timeout},
-@code{oac}, @code{oacopts}, @code{ocopy-metadata?}, @code{of},
-@code{ofopts}, @code{on-all-workspaces?}, @code{ontop?},
-@code{ontop-level}, @code{opengl-check-pattern-a},
-@code{opengl-check-pattern-b}, @code{opengl-early-flush},
-@code{opengl-es}, @code{opengl-glfinish?}, @code{opengl-pbo?},
-@code{opengl-rectangle-textures?}, @code{opengl-swapinterval},
-@code{opengl-waitvsync?}, @code{orawts?}, @code{ordered-chapters?},
-@code{ordered-chapters-files}, @code{oremove-metadata}, @code{osc?},
-@code{osd-align-x}, @code{osd-align-y}, @code{osd-back-color},
-@code{osd-bar?}, @code{osd-bar-align-x}, @code{osd-bar-align-y},
-@code{osd-bar-h}, @code{osd-bar-outline-size}, @code{osd-bar-w},
-@code{osd-blur}, @code{osd-bold?}, @code{osd-border-style},
-@code{osd-color}, @code{osd-duration}, @code{osd-font},
-@code{osd-font-provider}, @code{osd-font-size}, @code{osd-fonts-dir},
-@code{osd-fractions?}, @code{osd-italic?}, @code{osd-justify},
-@code{osd-level}, @code{osd-margin-x}, @code{osd-margin-y},
-@code{osd-msg1}, @code{osd-msg2}, @code{osd-msg3}, @code{osd-on-seek},
-@code{osd-outline-color}, @code{osd-outline-size},
+@code{load-auto-profiles}, @code{load-commands?}, @code{load-console?},
+@code{load-positioning?}, @code{load-scripts?}, @code{load-select?},
+@code{load-stats-overlay?}, @code{load-unsafe-playlists?},
+@code{log-file}, @code{loop-file}, @code{loop-playlist}, @code{lut},
+@code{lut-type}, @code{mc}, @code{media-controls?}, @code{merge-files?},
+@code{metadata-codepage}, @code{mf-fps}, @code{mf-type},
+@code{monitoraspect}, @code{monitorpixelaspect}, @code{msg-color?},
+@code{msg-level}, @code{msg-module?}, @code{msg-time?}, @code{mute?},
+@code{native-fs?}, @code{native-keyrepeat?}, @code{native-touch?},
+@code{network-timeout}, @code{oac}, @code{oacopts},
+@code{ocopy-metadata?}, @code{of}, @code{ofopts},
+@code{on-all-workspaces?}, @code{ontop?}, @code{ontop-level},
+@code{opengl-check-pattern-a}, @code{opengl-check-pattern-b},
+@code{opengl-early-flush}, @code{opengl-es}, @code{opengl-glfinish?},
+@code{opengl-pbo?}, @code{opengl-rectangle-textures?},
+@code{opengl-swapinterval}, @code{opengl-waitvsync?}, @code{orawts?},
+@code{ordered-chapters?}, @code{ordered-chapters-files},
+@code{oremove-metadata}, @code{osc?}, @code{osd-align-x},
+@code{osd-align-y}, @code{osd-back-color}, @code{osd-bar?},
+@code{osd-bar-align-x}, @code{osd-bar-align-y}, @code{osd-bar-h},
+@code{osd-bar-marker-min-size}, @code{osd-bar-marker-scale},
+@code{osd-bar-marker-style}, @code{osd-bar-outline-size},
+@code{osd-bar-w}, @code{osd-blur}, @code{osd-bold?},
+@code{osd-border-style}, @code{osd-color}, @code{osd-duration},
+@code{osd-font}, @code{osd-font-provider}, @code{osd-font-size},
+@code{osd-fonts-dir}, @code{osd-fractions?}, @code{osd-italic?},
+@code{osd-justify}, @code{osd-level}, @code{osd-margin-x},
+@code{osd-margin-y}, @code{osd-msg1}, @code{osd-msg2}, @code{osd-msg3},
+@code{osd-on-seek}, @code{osd-outline-color}, @code{osd-outline-size},
 @code{osd-playing-msg}, @code{osd-playing-msg-duration},
 @code{osd-playlist-entry}, @code{osd-scale},
-@code{osd-scale-by-window?}, @code{osd-shadow-offset},
+@code{osd-scale-by-window?}, @code{osd-selected-color},
+@code{osd-selected-outline-color}, @code{osd-shadow-offset},
 @code{osd-spacing}, @code{osd-status-msg}, @code{oset-metadata},
 @code{ovc}, @code{ovcopts}, @code{panscan}, @code{pause?},
 @code{pipewire-buffer}, @code{pipewire-remote},
 @code{pipewire-volume-mode}, @code{pitch}, @code{play-direction},
-@code{player-operation-mode}, @code{playlist-start},
-@code{prefetch-playlist?}, @code{profile},
+@code{player-operation-mode}, @code{playlist-exts},
+@code{playlist-start}, @code{prefetch-playlist?}, @code{profile},
 @code{pulse-allow-suspended?}, @code{pulse-buffer}, @code{pulse-host},
 @code{pulse-latency-hacks?}, @code{quiet?}, @code{really-quiet?},
 @code{rebase-start-time?}, @code{referrer}, @code{replaygain},
@@ -51316,24 +51318,24 @@ mpv Media Player
 @code{replaygain-preamp}, @code{reset-on-next-file},
 @code{resume-playback?}, @code{resume-playback-check-mtime?},
 @code{rtsp-transport}, @code{saturation}, @code{save-position-on-quit?},
-@code{scale}, @code{scale-antiring}, @code{scale-blur},
-@code{scale-clamp}, @code{scale-param1}, @code{scale-param2},
-@code{scale-radius}, @code{scale-taper}, @code{scale-window},
-@code{scale-wparam}, @code{scale-wtaper}, @code{scaler-resizes-only?},
-@code{screen}, @code{screen-name}, @code{screenshot-avif-encoder},
-@code{screenshot-avif-opts}, @code{screenshot-avif-pixfmt},
-@code{screenshot-directory}, @code{screenshot-format},
-@code{screenshot-high-bit-depth?}, @code{screenshot-jpeg-quality},
-@code{screenshot-jpeg-source-chroma?}, @code{screenshot-jxl-distance},
-@code{screenshot-jxl-effort}, @code{screenshot-png-compression},
-@code{screenshot-png-filter}, @code{screenshot-sw?},
-@code{screenshot-tag-colorspace?}, @code{screenshot-template},
-@code{screenshot-webp-compression}, @code{screenshot-webp-lossless?},
-@code{screenshot-webp-quality}, @code{script-opts}, @code{scripts},
-@code{secondary-sid}, @code{secondary-sub-ass-override},
-@code{secondary-sub-delay}, @code{secondary-sub-pos},
-@code{secondary-sub-visibility?}, @code{sharpen},
-@code{show-in-taskbar?}, @code{shuffle?}, @code{sub},
+@code{save-watch-history?}, @code{scale}, @code{scale-antiring},
+@code{scale-blur}, @code{scale-clamp}, @code{scale-param1},
+@code{scale-param2}, @code{scale-radius}, @code{scale-taper},
+@code{scale-window}, @code{scale-wparam}, @code{scale-wtaper},
+@code{scaler-resizes-only?}, @code{screen}, @code{screen-name},
+@code{screenshot-avif-encoder}, @code{screenshot-avif-opts},
+@code{screenshot-avif-pixfmt}, @code{screenshot-directory},
+@code{screenshot-format}, @code{screenshot-high-bit-depth?},
+@code{screenshot-jpeg-quality}, @code{screenshot-jpeg-source-chroma?},
+@code{screenshot-jxl-distance}, @code{screenshot-jxl-effort},
+@code{screenshot-png-compression}, @code{screenshot-png-filter},
+@code{screenshot-sw?}, @code{screenshot-tag-colorspace?},
+@code{screenshot-template}, @code{screenshot-webp-compression},
+@code{screenshot-webp-lossless?}, @code{screenshot-webp-quality},
+@code{script-opts}, @code{scripts}, @code{secondary-sid},
+@code{secondary-sub-ass-override}, @code{secondary-sub-delay},
+@code{secondary-sub-pos}, @code{secondary-sub-visibility?},
+@code{sharpen}, @code{show-in-taskbar?}, @code{shuffle?}, @code{sub},
 @code{sigmoid-center}, @code{sigmoid-slope}, @code{sigmoid-upscaling?},
 @code{slang}, @code{snap-window?}, @code{speed}, @code{spirv-compiler},
 @code{sstep}, @code{start}, @code{stop-playback-on-init-failure?},
@@ -51341,9 +51343,8 @@ mpv Media Player
 @code{stream-lavf-o}, @code{stream-record}, @code{stretch-dvd-subs?},
 @code{stretch-image-subs-to-screen?}, @code{sub-align-x},
 @code{sub-align-y}, @code{sub-ass?}, @code{sub-ass-force-margins?},
-@code{sub-ass-hinting}, @code{sub-ass-justify?},
-@code{sub-ass-line-spacing}, @code{sub-ass-override},
-@code{sub-ass-scale-with-window?}, @code{sub-ass-shaper},
+@code{sub-ass-justify?}, @code{sub-ass-override},
+@code{sub-ass-prune-delay}, @code{sub-ass-scale-with-window?},
 @code{sub-ass-style-overrides}, @code{sub-ass-styles},
 @code{sub-ass-use-video-data}, @code{sub-ass-video-aspect-override},
 @code{sub-ass-vsfilter-color-compat}, @code{sub-auto},
@@ -51358,12 +51359,13 @@ mpv Media Player
 @code{sub-fix-timing?}, @code{sub-font}, @code{sub-font-provider},
 @code{sub-font-size}, @code{sub-fonts-dir},
 @code{sub-forced-events-only?}, @code{sub-fps}, @code{sub-gauss},
-@code{sub-gray?}, @code{sub-italic?}, @code{sub-justify},
-@code{sub-lavc-o}, @code{sub-margin-x}, @code{sub-margin-y},
-@code{sub-outline-color}, @code{sub-outline-size},
-@code{sub-past-video-end?}, @code{sub-pos}, @code{sub-scale},
-@code{sub-scale-by-window?}, @code{sub-scale-with-window?},
-@code{sub-shadow-offset}, @code{sub-spacing}, @code{sub-speed},
+@code{sub-gray?}, @code{sub-hinting}, @code{sub-italic?},
+@code{sub-justify}, @code{sub-lavc-o}, @code{sub-line-spacing},
+@code{sub-margin-x}, @code{sub-margin-y}, @code{sub-outline-color},
+@code{sub-outline-size}, @code{sub-past-video-end?}, @code{sub-pos},
+@code{sub-scale}, @code{sub-scale-by-window?}, @code{sub-scale-signs?},
+@code{sub-scale-with-window?}, @code{sub-shadow-offset},
+@code{sub-shaper}, @code{sub-spacing}, @code{sub-speed},
 @code{sub-stretch-durations?}, @code{sub-use-margins?},
 @code{sub-visibility?}, @code{sub-vsfilter-bidi-compat?},
 @code{subs-fallback}, @code{subs-fallback-forced},
@@ -51371,7 +51373,7 @@ mpv Media Player
 @code{swapchain-depth}, @code{sws-allow-zimg?}, @code{sws-bitexact?},
 @code{sws-cgb}, @code{sws-chs}, @code{sws-cs}, @code{sws-cvs},
 @code{sws-fast?}, @code{sws-lgb}, @code{sws-ls}, @code{sws-scaler},
-@code{target-colorspace-hint?}, @code{target-contrast},
+@code{target-colorspace-hint}, @code{target-contrast},
 @code{target-gamut}, @code{target-lut}, @code{target-peak},
 @code{target-prim}, @code{target-trc}, @code{taskbar-progress?},
 @code{teletext-page}, @code{temporal-dither?},
@@ -51393,17 +51395,17 @@ mpv Media Player
 @code{vd-lavc-dr}, @code{vd-lavc-fast?}, @code{vd-lavc-film-grain},
 @code{vd-lavc-framedrop}, @code{vd-lavc-o}, @code{vd-lavc-show-all?},
 @code{vd-lavc-skipframe}, @code{vd-lavc-skipidct},
-@code{vd-lavc-skiploopfilter}, @code{vd-lavc-software-fallback},
-@code{vd-lavc-threads}, @code{vd-queue-enable?},
-@code{vd-queue-max-bytes}, @code{vd-queue-max-samples},
-@code{vd-queue-max-secs}, @code{vf}, @code{video}, @code{video-align-x},
-@code{video-align-y}, @code{video-aspect-method},
-@code{video-aspect-override}, @code{video-backward-batch},
-@code{video-backward-overlap}, @code{video-crop}, @code{video-exts},
-@code{video-latency-hacks?}, @code{video-margin-ratio-bottom},
-@code{video-margin-ratio-left}, @code{video-margin-ratio-right},
-@code{video-margin-ratio-top}, @code{video-osd?},
-@code{video-output-levels}, @code{video-pan-x}, @code{video-pan-y},
+@code{vd-lavc-skiploopfilter}, @code{vd-lavc-threads},
+@code{vd-queue-enable?}, @code{vd-queue-max-bytes},
+@code{vd-queue-max-samples}, @code{vd-queue-max-secs}, @code{vf},
+@code{video}, @code{video-align-x}, @code{video-align-y},
+@code{video-aspect-method}, @code{video-aspect-override},
+@code{video-backward-batch}, @code{video-backward-overlap},
+@code{video-crop}, @code{video-exts}, @code{video-latency-hacks?},
+@code{video-margin-ratio-bottom}, @code{video-margin-ratio-left},
+@code{video-margin-ratio-right}, @code{video-margin-ratio-top},
+@code{video-osd?}, @code{video-output-levels}, @code{video-pan-x},
+@code{video-pan-y}, @code{video-recenter?},
 @code{video-reversal-buffer}, @code{video-rotate}, @code{video-scale-x},
 @code{video-scale-y}, @code{video-sync},
 @code{video-sync-max-audio-change}, @code{video-sync-max-factor},
@@ -51441,10 +51443,11 @@ mpv Media Player
 @code{vulkan-device}, @code{vulkan-display-display},
 @code{vulkan-display-mode}, @code{vulkan-display-plane},
 @code{vulkan-queue-count}, @code{vulkan-swap-mode},
-@code{watch-later-directory}, @code{watch-later-options},
-@code{wayland-app-id}, @code{wayland-configure-bounds},
-@code{wayland-content-type}, @code{wayland-disable-vsync?},
-@code{wayland-edge-pixels-pointer}, @code{wayland-edge-pixels-touch},
+@code{watch-history-path}, @code{watch-later-directory},
+@code{watch-later-options}, @code{wayland-app-id},
+@code{wayland-configure-bounds}, @code{wayland-content-type},
+@code{wayland-disable-vsync?}, @code{wayland-edge-pixels-pointer},
+@code{wayland-edge-pixels-touch}, @code{wayland-internal-vsync},
 @code{wayland-present?}, @code{wid}, @code{window-dragging?},
 @code{window-maximized?}, @code{window-minimized?}, @code{window-scale},
 @code{write-filename-in-watch-later-config?},
diff --git a/gnu/home/services/mpv.scm b/gnu/home/services/mpv.scm
index 8d11fa03a3..b6c640a38b 100644
--- a/gnu/home/services/mpv.scm
+++ b/gnu/home/services/mpv.scm
@@ -380,6 +380,7 @@ (define-opt ao-null-untimed? boolean)
 (define-opt ao-pcm-append? boolean)
 (define-opt ao-pcm-file string)
 (define-opt ao-pcm-waveheader? boolean)
+(define-opt archive-exts list-of-string)
 (define-opt
   audio-backward-batch
   integer
@@ -496,7 +497,11 @@ (define-opt
 (define-opt cache-on-disk? boolean)
 (define-opt cache-pause? boolean)
 (define-opt cache-pause-initial? boolean)
-(define-opt cache-pause-wait float (>= val 0))
+(define-opt
+  cache-pause-wait
+  float
+  (>= val 0)
+  (<= val 3.4028234663853e38))
 (define-opt cache-secs double (>= val 0))
 (define-opt cdda-cdtext? boolean)
 (define-opt cdda-device string)
@@ -531,6 +536,10 @@ (define-opt
   (<= val 10000))
 (define-opt chapter-seek-threshold double)
 (define-opt chapters-file string)
+(define-opt
+  clipboard-backends
+  list-of-object-setting)
+(define-opt clipboard-monitor? boolean)
 (define-opt config? boolean)
 (define-opt
   container-fps-override
@@ -737,6 +746,7 @@ (define-opt
   byte-size
   (>= val 0)
   (<= val 4.6116860184274e18))
+(define-opt demuxer-mkv-crop-compat? boolean)
 (define-opt
   demuxer-mkv-probe-start-time?
   boolean)
@@ -858,33 +868,6 @@ (define-opt
   drag-and-drop
   enumeration
   (memq val '(no auto replace append insert-next)))
-(define-opt drm-connector string)
-(define-opt drm-device string)
-(define-opt
-  drm-draw-plane
-  enumeration
-  (or (memq val '(primary overlay))
-      (and (integer? val)
-           (>= val 0)
-           (<= val 2147483647))))
-(define-opt drm-draw-surface-size window-size)
-(define-opt
-  drm-drmprime-video-plane
-  enumeration
-  (or (memq val '(primary overlay))
-      (and (integer? val)
-           (>= val 0)
-           (<= val 2147483647))))
-(define-opt
-  drm-format
-  enumeration
-  (memq val
-        '(xrgb8888 xrgb2101010 xbgr8888 xbgr2101010 yuyv)))
-(define-opt drm-mode string)
-(define-opt
-  drm-vrr-enabled
-  enumeration
-  (memq val '(no yes auto)))
 (define-opt
   dscale
   enumeration
@@ -984,9 +967,9 @@ (define-opt dvbin-full-transponder? boolean)
 (define-opt dvbin-prog string)
 (define-opt
   dvbin-timeout
-  integer
-  (>= val 1)
-  (<= val 30))
+  float
+  (>= val 0)
+  (<= val 3.4028234663853e38))
 (define-opt
   dvd-angle
   integer
@@ -1163,6 +1146,13 @@ (define-opt
   (>= val 0)
   (<= val 256))
 (define-opt hwdec-image-format image-format)
+(define-opt
+  hwdec-software-fallback
+  enumeration
+  (or (memq val '(no yes))
+      (and (integer? val)
+           (>= val 1)
+           (<= val 2147483647))))
 (define-opt icc-3dlut-size string)
 (define-opt icc-cache? boolean)
 (define-opt icc-cache-dir string)
@@ -1214,6 +1204,7 @@ (define-opt
   (>= val 0)
   (<= val 1000))
 (define-opt input-dragging-deadzone integer)
+(define-opt input-ime? boolean)
 (define-opt input-ipc-client string)
 (define-opt input-ipc-server string)
 (define-opt
@@ -1258,7 +1249,9 @@ (define-opt
   load-auto-profiles
   enumeration
   (memq val '(no yes auto)))
-(define-opt load-osd-console? boolean)
+(define-opt load-commands? boolean)
+(define-opt load-console? boolean)
+(define-opt load-positioning? boolean)
 (define-opt load-scripts? boolean)
 (define-opt load-select? boolean)
 (define-opt load-stats-overlay? boolean)
@@ -1280,10 +1273,7 @@ (define-opt
   enumeration
   (memq val '(auto native normalized conversion)))
 (define-opt mc float (>= val 0) (<= val 100))
-(define-opt
-  media-controls
-  enumeration
-  (memq val '(no player yes)))
+(define-opt media-controls? boolean)
 (define-opt merge-files? boolean)
 (define-opt metadata-codepage string)
 (define-opt mf-fps double)
@@ -1366,6 +1356,20 @@ (define-opt
   float
   (>= val 0.1)
   (<= val 50))
+(define-opt
+  osd-bar-marker-min-size
+  float
+  (>= val 0)
+  (<= val 1000))
+(define-opt
+  osd-bar-marker-scale
+  float
+  (>= val 0)
+  (<= val 100))
+(define-opt
+  osd-bar-marker-style
+  enumeration
+  (memq val '(none triangle line)))
 (define-opt
   osd-bar-outline-size
   float
@@ -1449,6 +1453,8 @@ (define-opt
   (>= val 0)
   (<= val 100))
 (define-opt osd-scale-by-window? boolean)
+(define-opt osd-selected-color color)
+(define-opt osd-selected-outline-color color)
 (define-opt osd-shadow-offset float)
 (define-opt
   osd-spacing
@@ -1484,6 +1490,7 @@ (define-opt
   player-operation-mode
   enumeration
   (memq val '(cplayer pseudo-gui)))
+(define-opt playlist-exts list-of-string)
 (define-opt
   playlist-start
   enumeration
@@ -1533,6 +1540,7 @@ (define-opt
   (>= val -100)
   (<= val 100))
 (define-opt save-position-on-quit? boolean)
+(define-opt save-watch-history? boolean)
 (define-opt
   scale
   enumeration
@@ -1761,25 +1769,16 @@ (define-opt
   (memq val '(top center bottom)))
 (define-opt sub-ass? boolean)
 (define-opt sub-ass-force-margins? boolean)
-(define-opt
-  sub-ass-hinting
-  enumeration
-  (memq val '(none light normal native)))
 (define-opt sub-ass-justify? boolean)
-(define-opt
-  sub-ass-line-spacing
-  float
-  (>= val -1000)
-  (<= val 1000))
 (define-opt
   sub-ass-override
   enumeration
   (memq val '(no yes scale force strip)))
-(define-opt sub-ass-scale-with-window? boolean)
 (define-opt
-  sub-ass-shaper
-  enumeration
-  (memq val '(simple complex)))
+  sub-ass-prune-delay
+  double
+  (>= val -1))
+(define-opt sub-ass-scale-with-window? boolean)
 (define-opt
   sub-ass-style-overrides
   list-of-string)
@@ -1850,12 +1849,21 @@ (define-opt
   (>= val 0)
   (<= val 3))
 (define-opt sub-gray? boolean)
+(define-opt
+  sub-hinting
+  enumeration
+  (memq val '(none light normal native)))
 (define-opt sub-italic? boolean)
 (define-opt
   sub-justify
   enumeration
   (memq val '(auto left center right)))
 (define-opt sub-lavc-o list-of-key-value)
+(define-opt
+  sub-line-spacing
+  float
+  (>= val -1000)
+  (<= val 1000))
 (define-opt
   sub-margin-x
   integer
@@ -1880,8 +1888,13 @@ (define-opt
   (>= val 0)
   (<= val 100))
 (define-opt sub-scale-by-window? boolean)
+(define-opt sub-scale-signs? boolean)
 (define-opt sub-scale-with-window? boolean)
 (define-opt sub-shadow-offset float)
+(define-opt
+  sub-shaper
+  enumeration
+  (memq val '(simple complex)))
 (define-opt
   sub-spacing
   float
@@ -1950,7 +1963,10 @@ (define-opt
           sinc
           lanczos
           spline)))
-(define-opt target-colorspace-hint? boolean)
+(define-opt
+  target-colorspace-hint
+  enumeration
+  (memq val '(auto no yes)))
 (define-opt
   target-contrast
   enumeration
@@ -2193,13 +2209,6 @@ (define-opt
   enumeration
   (memq val
         '(none default nonref bidir nonkey all)))
-(define-opt
-  vd-lavc-software-fallback
-  enumeration
-  (or (memq val '(no yes))
-      (and (integer? val)
-           (>= val 1)
-           (<= val 2147483647))))
 (define-opt vd-lavc-threads integer (>= val 0))
 (define-opt vd-queue-enable? boolean)
 (define-opt
@@ -2231,11 +2240,11 @@ (define-opt
 (define-opt
   video-aspect-method
   enumeration
-  (memq val '(bitstream container)))
+  (memq val '(bitstream container ignore)))
 (define-opt
   video-aspect-override
   aspect
-  (>= val -1)
+  (>= val -2)
   (<= val 10))
 (define-opt
   video-backward-batch
@@ -2277,6 +2286,7 @@ (define-opt
   (memq val '(auto limited full)))
 (define-opt video-pan-x float)
 (define-opt video-pan-y float)
+(define-opt video-recenter? boolean)
 (define-opt
   video-reversal-buffer
   byte-size
@@ -2511,6 +2521,7 @@ (define-opt
   enumeration
   (memq val
         '(auto fifo fifo-relaxed mailbox immediate)))
+(define-opt watch-history-path string)
 (define-opt watch-later-directory string)
 (define-opt watch-later-options list-of-string)
 (define-opt wayland-app-id string)
@@ -2533,6 +2544,10 @@ (define-opt
   integer
   (>= val 0)
   (<= val 2147483647))
+(define-opt
+  wayland-internal-vsync
+  enumeration
+  (memq val '(no auto yes)))
 (define-opt wayland-present? boolean)
 (define-opt wid integer64)
 (define-opt window-dragging? boolean)
