##⇘⇘基本说明：
## 行首存在注释符"#"，代表此项处于不启用状态（即恢复 MPV 的默认设置状态），删去即启用
## 部分启用的参数没有"="，则该项实际为"yes"。例如 deband 默认关闭： --deband 实际等效 --deband=yes；类推 --deband=no 等效注释掉该参数
## 注释内容解释 —— # <可选值> [条件要求] 参数意义说明（补充）

########
# 基础 #
########

## 解码
vo=gpu-next                           # <gpu/gpu-next/libmpv> 视频输出驱动。许多后续选项也只能在此三项下正常工作。当前版本默认值即 gpu-next
                                      ## gpu 具有最高普适性和完成度；gpu-next 查看此处讨论 https://github.com/hooke007/MPV_lazy/discussions/39；libmpv为部分前端设计，一般不使用
                                      ## gpu-next 具有更好的前景，目前已实现杜比视界 RPU 层元数据的解析映射，尚不支持 EL 层元数据解析
                                      ## gpu-next 和 gpu 之间的具体区别见官方 wiki 相关说明：https://github.com/mpv-player/mpv/wiki/GPU-Next-vs-GPU
gpu-api=d3d11                         # <opengl/vulkan/d3d11> [SVP 补帧时推荐设置为 d3d11] 选择图形绘制接口
                                      ## opengl 是最不推荐选择。windows 的原生渲染为 d3d11（mpv 对于 windows 的默认，显卡注意开自适应电源模式）
                                      ## 通过 d3d11-adapter 可以设定 mpv 使用哪块显卡。详见文档：https://mpv.io/manual/master/#options-d3d11-adapt
                                      ### gpu-api 的选择？
                                      ## Linux/macOS： vulkan 或者 opengl，推荐 vulkan
                                      ## Windows：vulkan、d3d11 及 opengl 都可选。推荐使用 d3d11 的原生 api，具有最好的性能并实现了 10bit 输出
#gpu-context=auto                     # <win/dxinterop/angle/d3d11/winvk/macvk> 选择输出后端。此项通常由 --gpu-api=<value> 自动决定正确值；--gpu-api=opengl 时默认选用 angle，此时最好改为 win/dxinterop
#fbo-format=auto                      # 内处理精度。此项通常由 --gpu-api=<value> 自动决定正确值，默认首选 16 位及以上的精度。--vo=gpu-next 下此参数不可修改
#d3d11-exclusive-fs=yes               # --gpu-api=d3d11 下的全屏独占
#d3d11-flip=no                        # [通常发生在 --d3d11-exclusive-fs=yes 和 --on-top 一起使用时] 可用于避免 MPV 全屏时的冻屏问题
                                      # 如果存在上述问题则启用该参数，否则不应该使用，因为 d3d11 下的翻转模型性能最好。经测试，N 卡驱动下 flip 模式存在性能限制，遇到渲染瓶颈时建议禁用
                                      # [当 --gpu-context=angle 也存在全屏冻屏问题时] 用参数 --angle-flip=no 代替 d3d11-flip=no
#d3d11va-zero-copy=yes                # [当 gpu-api=d3d11 时] 默认情况下，当使用带有--gpu-api=d3d11 的硬件解码时，视频图像将从解码器表面复制（GPU 到 GPU）到着色器资源。
                                      # 设置此选项可通过直接从解码器图像采样来避免复制。这可能会提高性能并降低功耗，但可能会由于填充而导致图像在底部和右侧边缘采样不正确，并可能引发驱动程序错误，因为 Direct3D 11 从技术上不允许从解码器表面采样（尽管大多数驱动程序支持。）               
                                      # 当解码卡顿掉帧时可启用此项尝试改善
hwdec=auto-copy                       # 指定应使用的硬件视频解码 API，软解改为 no，Windows 上的硬解建议使用 d3d11va 或 d3d12va-copy。d3d11va 具有最好的硬件解码支持，提供了 av1 格式的 4k60 帧和 8k 下的原生硬解加速。nvdec 虽然支持 yuv444 硬解，但该格式较为少见而且软解下并无压力
                                      # --hwdec=auto-safe 等效 --hwdec=yes。当 --gpu-api=d3d11 时，值 auto 首选 d3d11va；当 --gpu-api=vulkan 时，值 auto 首选 nvdec。auto-copy 首选 d3d11va-copy
                                      # 不推荐选用理论上解码效率最高的无-copy 的原生硬解，目的是确保全部设置/滤镜/着色器正常作用（有些不支持）。注意无-copy 的 nvdec 硬解不支持 d3d11，只支持 vulkan 和 opengl
                                      ## 也可以使用多个值组成的优先级列表，例如值 vulkan-copy,nvdec-copy,auto 表示依次尝试这些解码模式
                                      ## 使用 auto 不指定特定硬解 api 时建议使用 auto-safe 参数，这将优先查找开发者积极支持的硬解 api（windows 下为 d3d11va 或 nvdec）
                                      ## 硬解模式可能会遇到一些问题，推荐优先使用软解（官方手册不推荐使用硬解）
                                      ## 经测试发现--vo=gpu 下的 copy 硬解模式在 4K 及以上视频帧率>=60fps 时将会产生异常掉帧，建议使用软解模式或无 copy 硬解模式
#hwdec-codecs=all                     # 在选定范围内的编码格式尝试硬解，当前版本默认值为 --hwdec-codecs="h264,vc1,hevc,vp8,vp9,av1,prores"
#hwdec-threads=0                      # 指定用于硬件解码的线程数（默认值：4）。如果设置为 0，则将自动按可用的 CPU 内核数确定线程数
#vd-lavc-dr=no                        # [当 gpu-api=d3d11 时] 启用直接渲染（默认：auto）。如果设置为 yes，视频将直接解码到 GPU 视频内存（或暂存缓冲区）
                                      # 如果设置为 no，视频将解码到系统内存，然后复制到 GPU 内存。这可能会导致性能下降，但可能会解决某些低端 intel GPU 上的问题
                                      # 默认值 auto 会根据解码器和 GPU 的能力自动选择（即对于低端 intel GPU 设备自动禁用）
#vd-queue-enable=yes                  # 启用视频解码器队列（默认：no）。如果设置为 yes，视频解码器将在单独的线程上运行，这可能会导致性能下降，但可能会解决某些低端 intel GPU 上的问题
#vd-lavc-threads=8                    # 用于解码的线程数。是否实际支持线程取决于编解码器（默认值：0）。0 表示自动检测机器上的内核数并使用它，最多为 16。您可以手动设置超过 16 个线程
#vd-lavc-assume-old-x264=yes          # 假设视频是由旧的、有缺陷的 x264 版本编码的（默认：no）。仅当 x264 yuv444p10 格式的视频解码错误时尝试启用此项解决 ffmpeg 对旧的 x264 编码的兼容问题
#opengl-pbo=yes                       # 启用 PBO。在某些驱动程序上，这可能会更快，特别是如果源视频大小很大（例如所谓的“4K”视频）。在其他驱动程序上，它可能会更慢或导致延迟问题
##⇘⇘双显卡笔记本的处理
#vd=h264_qsv,hevc_qsv,mpeg2_qsv,vp9_qsv,vp8_qsv,av1_qsv
                                      # 在 Intel 核显&NVDIA_MX_x50 这种配置组合的条件下，如果使用独显渲染，因为 MX 系列独显没有解码单元，即使使用 hwdec 指定硬解实际依然只能软解
                                      # 使用此参数可使用核显硬解、辅助渲染的同时让独显主力渲染（当 hwdec=no 时快进可能造成 MPV 假死，建议使用 xxxx-copy 的解码方式）
#d3d11-adapter="NVIDIA GeForce RTX 2070 Super"
                                      # [当 gpu-api=d3d11 时] 指定某张显卡作为主渲染输出，默认情况下自动选择系统指定的主渲染显卡
                                      # 显卡名可查看任务管理器自行更改适配。该参数等效在驱动面板中设置以独显运行 mpv
                                      # 例如使用 I+N 的双显笔记本的内屏时，实际使用的是"Intel(R) UHD Graphics"，修改该项示例指定独显可降低任务管理器中双显卡的 3d 渲染占比
                                      # 大多数双显卡笔记本在外接显示器时，表现类似“独显直连”，此时无需该参数也会自动用独显输出
                                      # [当 gpu-api=vulkan 时] 用参数 --vulkan-device 代替 --d3d11-adapter
#vulkan-device="NVIDIA GeForce RTX 2070 Super"
                                      # [当 gpu-api=vulkan 时] 此参数代替 --d3d11-adapter 执行指定显卡的职能
                                      # 默认为空，例值 "NVIDIA GeForce RTX 2070 Super" （必须使用完整的设备名或 UUID）

########
# 功能 #
########

title=${?pause==yes:⏸}${?mute==yes:🔇}${?ontop==yes:📌}${?demuxer-via-network==yes:${media-title}}${?demuxer-via-network==no:${filename}}
                                      # 自定义窗口上显示的标题内容，也会影响部分脚本的 title 属性。默认值：${?media-title:${media-title}}${!media-title:No file}
osc=no                                # [第三方 osc 脚本使用的前置条件] 禁用原 OSC（即内置的"osc.lua"脚本）以兼容第三方的界面样式
#fs                                   # fs=fullscreen 打开即全屏幕
#no-border                            # 默认为系统原生窗口界面，启用此项使用无边框界面（去除 Windows 的窗口装饰）
no-title-bar                          # 控制是否使用窗口标题栏播放，默认启用。与 --no-border 不同，--no-title-bar 可以保留 Windows 原生窗口特性
input-ime=no                          # <yes|默认 no> 是否启用全局 IME 特性，默认只在文本输入时激活 IME
#media-controls=yes                   # <yes|默认 player|no>  启用媒体控制接口 SMTC 的集成（仅限 Windows） 
                                      ## 设置为 player，则只有 mpv 播放器会使用控件；将其设置为 yes 还将启用 libmpv 集成的控件
#backdrop-type=auto                   # <auto|none|mica|acrylic|mica-alt> 控制背景/边框样式（仅限 Windows）
window-corners=roundsmall             # <default|donotround|round|roundsmall> 控制窗口圆角的首选项。default: 让系统决定是否圆角; donotround: 禁用圆角；round: 启用圆角；roundsmall: 启用半径较小的圆角
#window-maximized=yes                 # 运行 MPV 自动窗口最大化（无边框界面时的最大化类似“无边窗口模式”而非“全屏”）
#background=none                      # <none|color|默认 tiles> 如果帧具有 alpha 通道，指定使用哪种背景方式（如果有）与它混合。如果没有 alpha 通道，则不执行任何操作
                                      ## none: 不要混合帧并保持 alpha 原样；color: 将帧与背景颜色混合（由--background-color 指定，默认为黑色）
                                      ## tiles: 将帧与 16x16 与指定颜色的棋盘格图案混合，由 --background-tile-color-0 和 --background-tile-color-1 指定（默认为灰色和白色）
#background-color="#778899"           # <格式为 (AA)RRGGBB> 在 --background=color 模式下，用于绘制 mpv 窗口未被视频覆盖的部分的颜色
#background-tile-color-0="#778899"    # <格式为 (AA)RRGGBB> 在 --background=tiles 模式下，用于绘制 mpv 窗口未被视频覆盖的部分的颜色
#background-tile-color-1="#778899"    # <格式为 (AA)RRGGBB> 在 --background=tiles 模式下，用于绘制 mpv 窗口未被视频覆盖的部分的颜色
#background-tile-size=16              # <1-4096> 在 --background=tiles 模式下，指定背景图案的大小（以像素为单位）。默认值为 16
#hidpi-window-scale=yes               # <yes|默认 no> 是否执行 HIDPI 缩放。此参数可能会影响窗口大小，禁用可以保持窗口大小不受 DPI 影响
                                      # 默认值情况下初始化的视频窗口随 DPI 改变大小，例如在缩放 200% 的 4k 的显示器打开 800p 视频后自动执行 2 倍缩放变 1600p。此外还会影响其它脚本部分内容
#window-scale=1.0                     # 指定窗口相对于视频原始大小的缩放倍率，默认为 1.0
                                      # 只有在 hidpi-window-scale=no 时才能让窗口缩放为真实的 1（否则会参照系统 DPI 考量）。优先级低于 geometry 和 --autofit 参数
#current-window-scale=1.0             # 功能同 window-scale，但是此项可以在运行时动态调整当前窗口大小
#auto-window-resize=yes               # <默认 yes|no> 是否允许 mpv 在切换播放文件时自动调节窗口大小。此选项不影响 geometry 和 autofit 的功能
#geometry=75%x70%                     # <[W[xH]][+-x+-y][/WS]>, <x:y> 启动时的具体窗口尺寸（此时具有冻结窗口尺寸的功能）和/或位置（从边角计算到最近的画面边角）
                                      # 若与视频比例不同，自动填充黑边。即使拉伸，也尽可能保持设定比例。使用此项后 --autofit 系列和 --window-scale 参数将无效
#autofit=70%                          # <[W[xH]]> 初始窗口大小及窗口下文件播放时缩放的目标大小（百分比或像素数），默认：60%
#autofit-larger=90%x90%               # <[W[xH]]> 窗口模式下最大占屏幕的百分比（例如在 FHD 屏上打开 4k 视频初始窗口过大）
autofit-smaller=40%x30%               # <[W[xH]]> 窗口模式下最小占屏幕的百分比（例如在 4k 屏上打开 480p 视频初始窗口过小）
#keepaspect=no                        # 默认 yes，默认情况下 MPV 只按源比例拉伸视频。启用此项将始终变形画面至窗口大小
#keepaspect-window=no                 # 默认 yes，默认情况下 MPV 的窗口比例锁定为视频比例。启用此项以实现窗口自由拉伸行为（当 keepaspect=yes 时四周填充黑边）
#panscan=1.0                          # <0.0-1.0> 裁切画面以充满窗口（建议配合 keepaspect-window=no 使用）
#pause                                # 以暂停状态启动播放器
#loop=inf                             # <N|inf|no> 始终循环播放当前文件
#loop-playlist=no                     # <N|inf|force|no> 播放列表循环
#keep-open=yes                        # <yes|默认 no|always> 播放列表播放完毕后保持打开，always：文件结束自动暂停，不播放下一文件
#keep-open-pause=no                   # <默认 yes|no> 播放列表播放播放完毕后暂停
                                      ## --keep-open=yes、--keep-open-pause=yes 参数为 [end] 条件配置组生效前置条件
idle=yes                              # <yes|no|默认 once> 空闲待机（中止播放或所有文件播放后依旧保持 mpv 运行）
#untimed                              # 输出视频帧时请勿入睡。（开启后无法正确显示补帧数值）
log-file="~~/files/mpv.log"           # 记录 log
ontop                                 # 窗口置顶
snap-window=yes                       # 窗口移动时捕捉窗口到屏幕边缘 (仅限 windows 系统)
#window-affinity=default              # <默认 default|excludefromcmcapture|monitor> 控制 mpv 的窗口关联行为。excludefromcmcapture: MPV 的窗口将被外部应用程序或屏幕录制软件完全排除在捕获之外；monitor: 在 MPV 窗口外变黑
hr-seek=yes                           # <no|absolute|default|yes|always> 选择何时使用不限于关键帧的精确跳转。此类跳转需要将视频从前一个关键帧解码到目标位置，因此可能需要一些时间，具体取决于解码性能
                                      # no：禁用；absolute：只对章节使用精确跳转；default：类似 absolute，但在纯音频的情况下启用精准跳转。可能随版本更新发生行为变化；yes：尽可能使用精确跳转；always：与 yes 相同（为了兼容性）
hr-seek-framedrop=no                  # 跳转时丢帧，关闭利于修正音频延迟    # SVP 补帧时推荐设置为 no
save-position-on-quit=yes             # 退出时记住播放状态。缓存目录默认在设置文件夹中的 "watch_later"
                                      # 退出时也可按快捷键 Q 保存进度
write-filename-in-watch-later-config  # 将文件名写入播放记录缓存文件
#ignore-path-in-watch-later-config    # 使用"稍后观看"功能时忽略路径（即仅使用文件名）。（默认值：no）
resume-playback-check-mtime=yes       # 如果文件的修改时间与保存时相同，则从 watch_later 配置子目录（通常为~/.config/mpv/watch_later/）恢复播放位置。这可以防止在具有不同内容的同名文件中的错误行为（默认：no）
watch-later-dir="~~/cache/watch_later"
                                      # 在此目录中存储 "watch_later" 文件夹，其中的文件记录 --watch-later-options 指定的选项
watch-later-options=start,vid,aid,sid
                                      # [SVP 补帧时推荐设置为留空] 稍后观看的白名单
                                      # 当 --save-position-on-quit=yes 或使用退出时保存到稍后观看的快捷键时，如果不使用白名单，滤镜列表、音量、速率等多个状态也会被保存并在下次启动时恢复
                                      # 具体参数值：start,speed,edition,volume,mute,audio-delay,gamma,brightness,contrast,saturation,hue,deinterlace,vf,af,panscan,aid,vid,sid,sub-delay,sub-speed,sub-pos,sub-visibility,secondary-sub-visibility,sub-scale,sub-use-margins,sub-ass-force-margins,sub-ass-vsfilter-aspect-compat,sub-ass-override,ab-loop-a,ab-loop-b,video-aspect-override
#watch-later-options-clr              # 恢复播放记录时禁止恢复播放过程中所有更改过的设置，这可以解决部分已知问题
#watch-later-options-remove=contrast  # 禁止部分参数恢复的话可使用该项来设置
                                      # 该项指定参数时目前必须单独列出，暂无法像--watch-later-options=option1,option2,...来指定，建议使用 watch-later-options 白名单来设置
save-watch-history=yes                # <yes|默认 no> 是否保存正在播放的文件记录，然后可以通过内部的 select 脚本浏览它
watch-history-path=~~/files/watch_history.jsonl
                                      # 存储观看历史记录的路径。默认值：~~state/watch_history.jsonl
                                      # 此文件每行包含一个 JSON 对象。它的时间字段是 UNIX timestamp，其 path 字段是规范化的 path，其 title 字段是 title（可用时）
reset-on-next-file=vid,aid,sid,secondary-sid,vf,af,loop-file,deinterlace,contrast,brightness,gamma,saturation,hue,video-zoom,video-rotate,video-pan-x,video-pan-y,panscan,speed,audio-delay,sub-pos,sub-scale,sub-delay,sub-speed,sub-visibility,secondary-sub-visibility
                                      # 播放下一文件时需重置的更改项（色彩、画面、音轨、字幕和滤镜相关)
input-ipc-server=\\.\pipe\mpvsocket   # input-ipc-server=<ipc_path> 开启 Ipc 功能，Linux/MacOS: input-ipc-server=/tmp/mpvsocket
                                      # 使用 SVP manager 时此项需设置为 mpvpipe 值
#demuxer-max-bytes=500MiB             # 播放网络视频时的目标缓存大小（KiB 或 MiB）
#demuxer-readahead-secs=20            # 限制网络视频的最大缓存时间（秒数）
#video-exts=3g2,3gp,asf,avi,bdmv,f4v,flv,h264,h265,iso,ifo,ivf,m2ts,m4v,mkv,mov,mp4,mp4v,mpeg,mpg,ogm,ogv,rm,rmvb,ts,vob,webm,wmv,y4m
                                      # 指定选项--autocreate-playlist 和--directory-filter-types 中要匹配的视频文件类型的扩展名列表
#audio-exts=aac,ac3,aiff,ape,au,dsf,dts,flac,m4a,mid,midi,mka,mp3,mp4a,oga,ogg,opus,spx,tak,tta,wav,weba,wma,wv
                                      # 指定选项--audio-file-auto、--autocreate-playlist 和--directory-filter-types 中要匹配的音频文件类型的扩展名列表
#image-exts=apng,avif,bmp,gif,j2k,jp2,jfif,jpeg,jpg,jxl,mj2,png,qoi,svg,tga,tif,tiff,webp
                                      # 指定选项--cover-art-auto、--autocreate-playlist 和--directory-filter-types 中要匹配的图像文件类型的扩展名列表
#playlist-exts=cue,edl,m3u,m3u8,pls    
                                      # 指定要识别的播放列表文件类型的扩展名列表
directory-mode=ignore                 # <默认 auto|recursive|lazy|ignore> 打开目录时，选择递归、懒惰或忽略全部子目录
#directory-filter-types=video         # <video,audio,image> 指定打开目录时要过滤的媒体文件类型。如果列表为空，所有文件都将添加到播放列表中（默认值：video,audio,image）
#autocreate-playlist=same             # <默认 no|filter|same> 指定打开本地文件时自动创建播放列表的行为方式
                                      ## no: 不创建，仅加载单个文件；filter: 从父目录创建一个播放列表，其中包含匹配选项--directory-filter-types 中指定类型的文件；same: 从父目录创建一个播放列表，其中包含与当前加载文件所匹配的选项--*-exts 中相同媒体类型的文件
                                      #! 注意：此选项也受--directory-mode 影响，如果--directory-mode 不为 ignore 将会创建包含子目录的播放列表
#ordered-chapters=no                  # 有序章节列表支持，默认启用，如需禁用可使用 no-ordered-chapters
                                      # 该项是对 mkv 的 chapter-links 特性的支持，禁用的话 mpv 不会加载或搜索其他文件的视频片段，并且也会忽略主文件指定的任何章节顺序
metadata-codepage=auto                # 指定各种输入元数据的编码（默认值：auto）。这会影响文件标签、章节标题等的解释方式。例如，可以将其设置为 auto 以启用编码的自动检测（非 UTF-8 编码是一个晦涩难懂的边缘用例）
msg-level=all=info,auto_profiles=warn 
                                      # <module1=level1,module2=level2,...> 控制每个模块在控制台输出日志的详细程度，这也会影响日志文件。可用 level：<no|fatal|error|warn|info|status 默认|verbose|debug|trace>
                                      # 示例为仅显示 info 及以上级别的信息。更多信息及用例参考官方手册：https://mpv.io/manual/master/#options-msg-level

#######
# OSD #
#######

##⇘⇘OSD 即 On-Screen-Display，通常为屏幕上弹出显示的信息。OSC 即 on-screen-controller，MPV 中指的是简易操控界面
##更多自定义查询 https://mpv.io/manual/master/#osd

no-osd-bar
osd-on-seek=msg-bar                   # <no,bar,msg,msg-bar> 在跳转时间轴时显示的信息类型
osd-bar-w=100
osd-bar-h=2
osd-bar-align-y=-1
#osd-fonts-dir=~~/fonts               # 指定 OSD 字体查找目录，示例即为默认值
osd-font="Noto Sans Mono CJK SC"      # 指定 OSD 字体
osd-font-size=24                      # 更改 OSD 字体大小（全局，影响多个功能显示的文本）（默认值：38）
osd-color="#FFFFFF"                   # OSD 文本主颜色。<格式为 (AA)RRGGBB> AA 为十六进制的透明度，RRGGBB 为十六进制的颜色表示
osd-outline-size=1.0                  # OSD 文本轮廓大小
osd-outline-color="#1C1B1F"           # OSD 文本轮廓颜色
osd-shadow-offset=0                   # OSD 文本字幕阴影大小
osd-back-color="#1C1B1F"              # OSD 文本字幕阴影/背景颜色
osd-border-style=outline-and-shadow   # <默认 outline-and-shadow|opaque-box|background-box> 文本字幕边框的样式
                                      # outline-and-shadow：绘制轮廓和阴影；opaque-box：绘制轮廓和阴影；将轮廓和阴影绘制为不透明框，紧密包裹每一行文本；background-box：绘制一个背景框，将所有文本行框框起来
#osd-spacing=1                        # OSD 文本字幕字间距
#osd-blur=0.5                         # OSD 文本字幕的边缘模糊度 <0..20.0> 
#osd-bar-outline-size=1.2             # OSD 栏的轮廓大小
#osd-scale-by-window=no               # <默认 yes|no> 指定是否根据窗口大小缩放 OSD
osd-playlist-entry=filename           # <默认 title|filename|both> 指定播放列表显示媒体标题或文件名或显示两者
#osd-playing-msg="${?demuxer-via-network==yes:${media-title}}${?demuxer-via-network==no:${filename}} ${!playlist-count==1:列表:${playlist-pos-1}/${playlist-count}}"
                                      # 每个文件开始播放时短暂显示的信息。预设显示文件名
osd-status-msg=${playback-time/full} / ${duration/full} (${percent-pos}%)\nframe: ${estimated-frame-number} / ${estimated-frame-count}
                                      # 跳转时 OSD 显示的信息
osd-fractions=yes                     # 以秒为单位显示 OSD 时间（毫秒精度），有助于查看视频帧的确切时间戳
osd-duration=2000                     # 设置（全局）OSD 文本信息的持续时间（毫秒）（默认值：1000）
#osd-playing-msg-duration=2000        # --osd-playing-msg 文本的持续时间，如不设置此项，则使用全局持续时间

########
# 视频 #
########

### 视频相关设置使用配置组进行设定，以下仅为参数示例说明，具体设置见下方 [通用参数补充区] 和 [配置组] 的相关配置组参数

##⇘⇘以下为 ICC 色彩管理相关参数设置
#icc-profile="~~/icc/ITU-RBT709ReferenceDisplay.icc" 
                                      # 加载 ICC 配置文件并使用它来将视频 RGB 转换为屏幕输出，自行选择显示器对应色域的 icc 配置文件。此选项覆盖 --target-prim、--target-trc 和--icc-profile-auto 选项
                                      ## 由于 mpv 校色目标是 bt.1886(接近 gamma=2.4)，因此当启用--icc-profile-auto 参数使用系统默认 (srgb) 校色文件时，因该 (srgb) 校色文件传输曲线通常为 srgb，将会导致 mpv 画面显示异常
                                      ## 针对以上问题，最好手动指定 gamma 曲线为 gamma2.4 的对应显示器色域校色文件，示例参数可供参考
#icc-profile-auto                     # 如果做过专业校色可开启（系统目录存在对应的 icm 校色文档）。未做校色的广色域屏应手动指定 target-prim=<value>
                                      # 启用色彩管理可以让标准色彩空间的视频在广色域显示器上显示相对正确的色彩，关闭会恢复过饱和的状态
                                      # 目前 mpv 在使用 icc 色彩管理时由于校色曲线目标是 bt.1886，会造成部分显示屏出现偏色和画面偏暗等问题 https://github.com/mpv-player/mpv/issues/8009
                                      ## 启用参数--icc-force-contrast=1000，可解决某些校色文件对比度极高导致画面偏暗的问题（oled 屏此项自行测试合理值）。#! 注意仍无法解决 hdr 映射画面偏暗的问题
                                      # 亦或使用--target-prim=<value> 参数管理色彩空间
#icc-intent=0                         # ICC 的色彩转换映射意图，0：感知度，1：相对色度（默认值），2：饱和，3：绝对色度。推荐使用感知度映射  https://github.com/mpv-player/mpv/issues/8009#issuecomment-923607273
#icc-force-contrast=1000              # <no|0-1000000|inf> 色彩管理。覆盖 ICC 文件内的静态对比度数据，默认 no 为不覆盖，oled 可以设置为 inf 即无限（如果 ICC 中此项数据丢失则自动回落到 1000），此项只影响 bt.1886 的内容显示
                                      ## 普通 LCD 一般使用 1000（以面板原生数据为准）；使用 OLED 显示设备的用户尝试使用 1000000 或特殊值 inf。LCD 设置为 1000 可解决某些校色文件对比度极高导致黑色部分太黑
                                      #! --vo=gpu-next 下此项不会生效，默认使用 ICC 文件内标记的对比度数据，缺失时默认为 1000
#icc-3dlut-size=64x64x64              # <默认 auto|RxGxB> 从每个维度的 ICC 配置文件生成的 3D LUT 的大小。范围<2--512>
#icc-cache=no                         # 是否在本地存储 ICC 配置文件的 3dlut 缓存，默认启用
#icc-cache-dir="~~/cache/icc_cache"   # 指定目录存储和加载从 ICC 配置文件创建的 3D LUT。这可以用来加快加载速度。请注意，这些文件包含未压缩的 LUT。它们的大小取决于--icc-3dlut-size，并且可能非常大。注意：这不会自动清除，因此旧的，未使用的缓存文件可能会无限期地停留
                                      ## 缓存生成的 3dlut 本应起到加速作用，但是硬盘 IO 性能不足可能产生反作用，根据实际情况选择禁不禁用
#use-embedded-icc-profile=no          # 加载包含在媒体文件（如 PNG 图像）中的嵌入式 ICC 配置文件。（默认：yes）。请注意，此选项在--vo=gpu 下仅在同时使用显示 ICC 配置文件（--icc-profile 或--icc-profile-auto）时才有效

##⇘⇘以下为 target 色彩管理相关参数设置
#target-prim=auto                     # 广色域屏应该设定此参数为具体值以解决色彩过饱和的问题，当不使用 ICC 色彩管理时，视频颜色将适应此色彩空间。srgb 屏无需更改此默认值（bt.709），其他举例：99% 的 argb 屏幕写 adobe，90%+的 p3 色域屏写 dci-p3 或 display-p3
                                      # 使用--target-prim=<value> 参数管理色彩空间时会导致 hdr 下出现偏色问题，hdr 映射时启用--gamut-mapping-mode=clip 参数可解决该问题  https://github.com/mpv-player/mpv/issues/9071
                                      #! 注意：Win11 24H2 版本后，若已开启系统的 HDR 或 ACM（自动色彩管理）功能不要更改此项，否则会产生色域重复缩限导致色彩欠饱和
#target-gamut=dci-p3                  # 明确限制显示器的色域。您可以使用此选项来限制输出色域，例如 DCIP3-in-BT.2020; 将 `--target-prim` 设置为色彩空间规格，并将 `--target-gamut` 设置为要限制的输出色域。取决与 `--target-prim`。（仅适用于 `--vo=gpu-next`)
                                      #! 注意：Win11 24H2 版本后，若已开启系统的 HDR 或 ACM（自动色彩管理）功能不要更改此项，否则会产生色域重复缩限导致色彩欠饱和
#target-trc=gamma2.2                  # 指定显示屏的传输特性（伽马），未使用 icc 色彩管理时生效。默认值 auto：在--vo=gpu 下 hdr 下使用 gamma2.2，sdr 下不做处理；在--vo=gpu-next 下始终使用 bt.1886 曲线（假设无限对比度，即 oled）
                                      # 建议非 oled 和 hdr 的显示器始终使用 gamma2.2 曲线，避免 mpv 画面过暗。hdr 直通时此项需使用 auto 或 pq 值
#target-contrast=auto                 # <auto|10-1000000|inf> 指定输出显示的测量对比度。此项与--target-peak 结合用于计算显示黑点，用于 HDR 色调映射期间的黑点补偿
                                      # 默认值是 auto，假定 1000:1 对比度（视为典型的 SDR 显示器），当直通 HDR 时，将具有无限的对比度。inf 对比度指定了具有完美黑电平的显示能力，即 OLED 显示器
#target-peak=auto                     # <auto|nits> 指定输出显示器的测量峰值亮度。受--target-trc 参数影响，默认值 auto：根据 trc 参数使用适当值，sdr 默认为 203，hdr 下建议根据实际显示效果指定具体 nits 值
                                      # 当使用 icc 色彩管理时，若 nits 设置为高于默认值（203），显示器将被 mpv 视为 hdr 屏处理
                                      #! 注意：若已开启系统的 HDR 显示模式则此项在 SDR 内容下必须设置为 203，否则会导致画面严重偏暗。HDR 内容下需使用 auto 或峰值亮度值
##⇘⇘以下为 3dlut 相关参数
#lut=<file>                           # [当 --vo=gpu-next 时生效] ，指定自定义 LUT（Adobe .cube 格式）作为颜色转换的一部分应用于颜色。确切的方式取决于--lut-type
#lut-type=conversion                  # [当启用--lut=<file>时生效] ，<默认 auto|native|normalized|conversion> ，控制传入和传出指定为--lut 的 LUT 的颜色值的方式
                                      # auto：从标记的元数据中自动选择 LUT，否则回退到系统（默认）；native：在转换到输出颜色空间之前应用于其原生 RGB 颜色空间中的原始图像内容（非线性光）
                                      # normalized：在转换到输出色彩空间之前，应用于线性光下的归一化 RGB 图像内容
                                      # conversion：全替换从图像色彩空间到输出色彩空间的转换。如果存在此类 LUT，则它具有最高优先级，并覆盖任何 ICC 配置文件以及与色调映射和输出色度相关的选项（--target-prim、--target-trc 等）
#target-lut=<file>                    # [当 --vo=gpu-next 时生效]，指定自定义 LUT 文件（Adobe .cube 格式）以在屏幕上显示之前应用于颜色
                                      # 在编码到目标色彩空间后，此 LUT 以归一化 RGB 形式提供值，因此将在参数 --target-trc 之后处理
#image-lut=<file>                     # [当 --vo=gpu-next 时生效] ，指定自定义 LUT 文件（Adobe .cube 格式）以在图像解码期间应用于颜色。LUT 的确切方式取决于--image-lut-type
#image-lut-type=conversion            # [当启用--image-lut=<file>时生效] ，<默认 auto|native|normalized|conversion> ，控制传入和传出指定为--image-lut 的 LUT 的颜色值的方式
                                      # auto：从标记的元数据中自动选择 LUT，否则回退到系统（默认）；native：在解码为 RGB 之前应用于原始颜色空间中的原始图像内容。例如对于 HDR10 图像，这将输入范围为 0.0-1.0 的 PQ 编码的 YCbCr 值
                                      # normalized：应用于归一化的 RGB 图像内容，在从其原生颜色编码解码之后，但在线性化之前
                                      # conversion：完全取代颜色解码。这种类型的 LUT 应该摄取图像的原生色彩空间并输出归一化的非线性 RGB
##⇘⇘以下为 hdr 相关参数
#inverse-tone-mapping=yes             # <yes|默认 no> [当 --vo=gpu-next 时生效] ，如果设置，则允许反向色调映射（将 SDR 扩展到 HDR），仅在 HDR 设备上有效。不支持使用部分色调映射曲线，请谨慎使用
#target-colorspace-hint=no            # <默认 auto|yes|no> [当 --vo=gpu-next 时生效] ，如果可能的话，自动配置显示器的输出色彩空间以通过媒体流的输入值（这可以用于 HDR 直通或设置 SDR 内容的输出色彩空间）。需要驱动程序支持
                                      ## auto：只有当前显示参数已知时，才会设置目标色彩空间。目前，Wayland、D3D11 和 winvk 都支持此功能；yes：始终设置目标色彩空间；no：不使用目标色彩空间传输
                                      ## Windows 需手动切换显示器 HDR 模式（Windows 的限制）才能实现 HDR 直通
#target-colorspace-hint-mode=target   # <默认 target|source|source-dynamic> [当 --vo=gpu-next 时生效] ，指定如何处理目标色彩空间传输
                                      ## target：使用基于目标显示器实际功能的元数据，当目标元数据不存在时会尝试回退使用 source。这是更可靠的模式
                                      ## source：使用源内容的元数据。这是传统的 HDR 直通模式，假定合成器和显示器将直接处理色彩空间并执行任何必要的映射。不推荐使用
                                      ## source-dynamic：与 'source' 相同，但使用动态的每场景元数据而不是静态 HDR10。这是实验性的，取决于显示器对元数据更改做出反应的能力。请注意，这不会发送完整的 HDR10+ 或杜比视界元数据，但会使用它们来生成 HDR10 动态的每场景元数据
                                      ##! 注意：--target-* 选项会覆盖这几种模式下的元数据
#tone-mapping=hable                   # 色调映射算法，其他推荐能用的有 clip|mobius|reinhard|hable|bt.2390|gamma|spline|bt.2446a|st2094-10|st2094-40，默认 auto，根据内部启发式方法选择最佳曲线（--vo=gpu-next 下实际为 spline）
                                      # spline、bt.2446a、st2094-10 和 st2094-40 算法仅限--vo=gpu-next 下可用
                                      ## vo=gpu 时推荐测试使用 hable 或 bt.2390。hable 相对细节保留的更好，bt.2390 对比度较好
                                      ## vo=gpu-next 时目前推荐测试使用 spline、hable 和 bt.2446a。spline 映射算法配合--hdr-compute-peak 使用时具有目前 mpv 内部最好的色调映射表现
#tone-mapping-param=0.3               # 色调映射算法的小参。hable 和 bt.2446a 无参；bt.2390 在--vo=gpu 下无参，-vo=gpu-next 下默认值 1.0；st2094-10 默认 0.7/mobius 和 spline 默认 0.5/reinhard 默认 0.5/gamma 默认 1.8（--vo=gpu-next 下默认值为 0.3）
                                      # -vo=gpu-next 下使用 bt.2390 时推荐值：2.0 或 ITU-R 规范中的值 0.5
#tone-mapping-max-boost=1.0           # <1.0-10.0> 平均亮度的最大曝光倍数，默认：1.0。增大此值可显示暗处隐藏的细节，过高会使暗处看起来不自然地明亮。可以尝试 1.0,1.33 下的表现，仅限--vo=gpu 下可用
#gamut-mapping-mode=clip              # <默认 auto|clip|perceptual|relative|saturation|absolute|linear|warn|desaturate|darken> 在完成任何色调映射后指定所需的目标显示色域的处理方式，默认 auto：自动选择最佳模式（实际应用 perceptual）
                                      # clip：RGB 每通道硬剪切到目标色域，推荐优先使用；perceptual：使用软膝执行感知平衡的色域映射，具有滚落剪切区域的功能，以及色相转换功能，保持饱和度
                                      # relative：执行相对比色剪切，同时保持亮度和色度之间的指数关系；saturation：执行简单的 RGB->RGB 饱和度映射。永远不会剪切，但会扭曲所有色调和/或导致褪色外观
                                      # absolute：执行绝对比色剪切。像'relative'，但确实不适应白点；linear：线性/均匀地降低图像饱和度，以使整个图像进入目标色域
                                      # warn：只需突出显示色域外像素即可；desaturate：执行恒定亮度比色削波，降低色彩饱和度朝向白色，直到它们在范围内；darken：均匀地使输入略微变暗，以防止在吹出时削波并突出显示，然后比色钳制到输入色域边界，略有偏向以保持亮度的色度
#hdr-contrast-recovery=0.30           # <0.0-2.0> 启用 HDR 对比度恢复算法，该算法旨在增强色调映射后 HDR 视频的对比度。仅适用于 --vo=gpu-next
                                      # 强度（默认值：0.0）表示对比度恢复的程度，0.0 表示完全禁用，1.0 表示 100% 强度。允许使用大于 1.0 的值，但可能会导致过度锐化
                                      ## mpv 内置配置组 gpu-hq 中此项参数默认值为 0.30
#hdr-contrast-smoothness=3.5          # <1.0-100.0> 启用 HDR 对比度平滑算法，该算法旨在增强色调映射后 HDR 视频的平滑度。仅适用于 --vo=gpu-next
                                      # 平滑度（默认值：3.5）表示 HDR 源为获得对比度信息而低通的程度，值 2.0 对应于 2 倍缩小。使用低 DPI 显示器（<= 100）的用户可能希望降低此值，而使用非常高 DPI 显示器（“视网膜”）的用户可能希望增加此值
#hdr-compute-peak=yes                 # <默认 auto|yes|no> 此选项基本上提供了动态的基于场景的色调映射（较老的显卡不支持此参数，此时画面将变得惨白），可能会使场景变化时亮度随之变化闪烁
                                      # 目前启用--hdr-compute-peak 时部分色调映射曲线（bt.2390,reinhard）下容易出现高光细节丢失或过曝；也有部分色调映射曲线下会有明显改善（spline,bt.2446a,hable）
#hdr-peak-decay-rate=20               # [当 --hdr-compute-peak=yes 时生效] ，用于 HDR 峰值检测算法的衰变率（<0.0-1000.0>默认值：20.0）
#hdr-scene-threshold-low=1.0          # [当 --hdr-compute-peak=yes 时生效] ，亮度差异的下阈值（dB）将被视为场景更改（<0.0-100.0>默认值：1.0）
#hdr-scene-threshold-high=3.0         # [当 --hdr-compute-peak=yes 时生效] ，亮度差异的上阈值（dB）将被视为场景更改（<0.0-100.0>默认值：3.0）
#hdr-peak-percentile=100              # 当 [--hdr-compute-peak=yes] 及 [-vo=gpu-next] 时生效。（<0.0-100.0>默认值：100.0）指定输入图像亮度直方图的哪个百分位数要考虑为真正的峰值
                                      # 如果设置为 100（默认值），则测量最亮的像素。否则，频率的顶部分配逐渐切断。设置得太低会导致剪切非常明亮的细节，但可以提高动态亮度具有非常明亮的孤立高光的场景范围。100 以外的值附带少量性能损失
                                      ## 如果觉得画面亮度总是在跳动可以通过降低此项参数来忽略一部分峰值，不建议低于 99.7
                                      ## mpv 内置配置组 gpu-hq 中此项参数默认值为 99.995
#allow-delayed-peak-detect=no         # 当 [--hdr-compute-peak=yes] 及 [-vo=gpu-next] 时生效，默认 no。使用--hdr-compute-peak 时，允许在有利于性能的情况下将检测到的峰值延迟一帧
                                      # 特别是当不需要高级渲染时，这可以避免不必要的 FBO 处理。注意-vo=gpu 默认延迟峰值处理

##⇘⇘以下为调整画面效果的相关参数设置
#video-sync=display-resample          # 类"ReClock"作用，更改为视频帧与显示器刷新率同步，自动调节音频速度补偿偏移。 # SVP 补帧时推荐关闭
                                      # 默认值 audio（与音频/系统时钟同步）通常兼容性最好但有偶尔的丢帧和重复
#video-sync-max-video-change=5        # [仅当 --video-sync=display-xxxx 时生效] 默认值：1
#interpolation                        # [仅当 --video-sync=display-xxxx 时生效] 减少由于视频 fps 和显示刷新率不匹配而引起的卡顿（也称为画面抖动）。 # SVP 补帧时推荐关闭
                                      # interpolation 使用的算法。详见 https://mpv.io/manual/master/#options-tscale
                                      # 一些讨论见 https://github.com/mpv-player/mpv/issues/2685
#interpolation-preserve=no            # [当 --vo=gpu-next 时生效] ，默认 yes。即使更改渲染器参数，也保留前一帧的插值结果。裁剪和视频放置相关的选项除外，它们总是使缓存无效
                                      # 启用此选项会使渲染器设置的动态更新更平滑，但代价是响应此类更改时延迟稍高
#tscale=oversample                    # [仅开启 --interpolation 时生效] 选择时域插值算法（非 MEMC 运动补偿）。 # SVP 补帧时推荐关闭
                                      # 默认插值算法为 oversample。总体而言 mitchell 更平滑（当然不好和 SVP 插帧比），但会有模糊。oversample 没有模糊，但不平滑（基本还原 24 帧的样子，效果类似 MADVR 的 smoothmotion），triangle 介于两者之间，catmull_rom 相对锐利
                                      # 具体选择哪个请依据自身需求来
#tscale-radius=1.0                    # 设置可调过滤器的半径，必须是介于 0.5 和 16.0 之间的浮点数。如果未指定，则默认为过滤器的首选半径。不适用于每个缩放器和 VO 组合
#tscale-clamp=0.0                     # <0.0-1.0> 指定要乘以负系数的权重偏差。指定 --scale-clamp=1 具有完全去除负权重的效果，从而有效地将值范围限制为 [0-1]。可以指定介于 0.0 和 1.0 之间的值以仅应用适度减少的负权重
                                      # tscale 此项默认值为 1.0，可有效减少 tscale 产生的振铃伪影。其他 scale 算法默认值为 0.0
#tscale-antiring=1.0                  # 设置抗振铃强度。这试图消除振铃，但会在此过程中引入其他伪影。必须是介于 0.0 和 1.0 之间的浮点数。默认值 0.0 完全禁用抗振铃
                                      # 请注意，这不会影响特殊过滤器 bilinear 和 bicubic_fast
#dither-depth=auto                    # <N|no|默认 auto> 是否开启色深抖动弥补色彩转换损失。8 位显示器写 8，10 位显示器写 10，auto 的值取决于--gpu-api，不一定正确
                                      # 如果 8 抖 10 的显示器使用 10 存在输出异常的情况，改回值 8
#dither=fruit                         # <默认 fruit|ordered|error-diffusion|no>  [当启用--dither-depth 时生效], 选择色深抖动算法
                                      # error-diffusion 算法效果最好也最耗能，当效能不足时将自动回落到 fruit 算法
#dither-size-fruit=6                  # [当--dither=fruit 时生效], <2-8> 设置色深抖动矩阵的大小（默认值：6）。矩阵的实际大小为 (2^N)x(2^N)，选项值为 N，因此 6 实际为 64x64
#error-diffusion=sierra-lite          # <simple|默认 sierra-lite|floyd-steinberg|atkinson> [当--dither=error-diffusion 时生效], error-diffusion 使用的算法内核
#temporal-dither                      # [当启用--dither-depth 时生效], 启用时域色深抖动算法 (即帧间混合色深抖动算法)
                                      # 这通过更改平铺抖动矩阵的方向，在每个帧上的 8 种不同的抖动模式之间变化。这有可能导致 LCD 显示器上的闪烁
#temporal-dither-period=1             # <1-128> [当启用--temporal-dither 时生效], 确定色深抖动模式在使用时更新的频率。1（默认值）将在每个视频帧上更新

#scale=ewa_hanning                    # 放大算法，默认算法为 lanczos，推荐算法为--ewa_lanczos、--ewa_lanczossharp 和--ewa_hanning，即 jinc 算法及其变体
                                      # ewa_hanning 相比其他 jinc 算法可减少振铃的产生
                                      # 内置 scale 算法中 spline36 算法更适合实拍类图像，ewa 类算法更适合 anime 类图像
#scale-radius=3.2383154841662362      # 设置可调过滤器的半径，必须是介于 0.5 和 16.0 之间的浮点数。如果未指定，则默认为过滤器的首选半径。不适用于每个缩放器和 VO 组合
#scale-antiring=1.0                   # 设置抗振铃强度。这试图消除振铃，但会在此过程中引入其他伪影。必须是介于 0.0 和 1.0 之间的浮点数。默认值 0.0 完全禁用抗振铃
                                      # 请注意，这不会影响特殊过滤器 bilinear 和 bicubic_fast
                                      ## 使用外部 upscale 类着色器时基本无需启用此项
#cscale=bilinear                      # 色度还原算法；若不指定，则自动采用 --scale（不推荐）。建议使用 bilinear 算法，色度升频算法的差异化感知不明显，一般无需投入过多性能
                                      # 在实际测试中发现 bilinear 算法更适合较差的片源，而 catmull_rom 算法更适合较好的片源
                                      # "KrigBilateral.glsl"虽然效果最好，特殊片源 (VFR) 及特殊着色器组合下可能导致耗能过高
#cscale-radius=3                      # 设置可调过滤器的半径，必须是介于 0.5 和 16.0 之间的浮点数。如果未指定，则默认为过滤器的首选半径。不适用于每个缩放器和 VO 组合
#cscale-antiring=1.0                  # 设置抗振铃强度。这试图消除振铃，但会在此过程中引入其他伪影。必须是介于 0.0 和 1.0 之间的浮点数。默认值 0.0 完全禁用抗振铃
                                      # 请注意，这不会影响特殊过滤器 bilinear 和 bicubic_fast
                                      ## 使用外部 cscale 类着色器时基本无需启用此项
#dscale=catmull_rom                   # 缩小算法。默认算法为 hermite
                                      # 当只使用内置 dscale 算法时推荐 bicubic(变体中推荐 catmull_rom) 或 ewa_hanning，也可自行测试 robidouxsharp 和 ewa_robidouxsharp 及其他算法效果
#dscale-radius=1                      # 设置可调过滤器的半径，必须是介于 0.5 和 16.0 之间的浮点数。如果未指定，则默认为过滤器的首选半径。不适用于每个缩放器和 VO 组合
#dcale-antiring=1.0                   # 设置抗振铃强度。这试图消除振铃，但会在此过程中引入其他伪影。必须是介于 0.0 和 1.0 之间的浮点数。默认值 0.0 完全禁用抗振铃
                                      # 请注意，这不会影响特殊过滤器 bilinear 和 bicubic_fast
                                      ## 使用外部 dcale 类着色器时基本无需启用此项
#linear-upscaling=no                  # [须 --fbo-format 指定 16 位及以上的精度；与 --sigmoid-upscaling 不兼容] （对 HDR 内容无影响）
#sigmoid-upscaling=no                 # [与 --linear-upscaling 不兼容] 放大时非线性的颜色转换，可避免强振铃伪影。默认启用
                                      ## 开发者建议要么优先使用 --sigmoid-upscaling，要么以上两项干脆都不用（即在伽马光下缩放）
                                      ## 使用外部 upscale 类着色器时基本无需启用此项
#correct-downscaling=yes              # [当 --dscale=bilinear 时此项无效] 增强缩小算法的质量（抗锯齿），对于异形比例视频可能产生微小失真。默认启用
                                      ## 可由更好的"SSimDownscaler.glsl"着色器方案替代
#linear-downscaling=no                # [使用"SSimDownscaler.glsl"时须关闭；须 --fbo-format 指定 16 位及以上的精度] （对 HDR 内容无影响）。默认启用
                                      ## 上两项 --linear- 的参数对应 MADVR 中的"scale in linear light"，在缩小时线性处理可以提升颜色对比度的精确性及抑制部分算法产生的振铃伪影
#scaler-resizes-only=no               # 默认 yes，当未进行缩放处理时，使用 bilinear 算法完美还原，禁用时，即使未改变大小，也使用指定的 scale 值进行处理，可以修正 nnedi3 和 ravu 引入的半像素偏移（但没必要）
#deband=no                            # 消去色带，无需常驻，可以选择视片源手动开启
#deband-iterations=1                  # <0-16> 去色带执行次数，越高强度但也越费时费力，数值>4 实际无效（默认 1），3-4 相当于 madvr 的 deband 设为 high 的效果
#deband-threshold=48                  # <0-4096> 滤波器的截止阈值，更高的数字会增加强度，但会逐渐减少图像细节（默认 48）
#deband-range=16                      # <1-64> 初始半径，越大的值去色带越强且性能占用越高；值越小越平滑（默认值 16）。如果增大 --deband-iterations，需减小此值来进行补偿
#deband-grain=32                      # <0-4096> 添加额外动态噪点，有助于掩盖剩余的量化伪影（默认 32）

########
# 音频 #
########

audio-device=auto                     # 此项用于指定启动时的音频输出设备
                                      # 改具体值示例 --audio-device="wasapi/{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}"，设备名获取方式见官方手册
audio-channels=7.1,5.1,stereo         # <默认值 auto-safe|auto|layouts|stereo>，如果双声道系统播放多声道影片时有的声道声音没出现，尝试强制设定为双声道
                                      # 注意：此项必须设置为实际音频输出设备的相关声道值或优先级顺序。mpv 默认的 auto-safe 和 auto 下会出现多声道下混丢声道的问题，不推荐使用
                                      # 示例参数 7.1,5.1,stereo 为常见音频输出设备的优先级顺序，会自动回退选择符合实际音频输出设备的输出值（大多数使用的是 stereo 双声道设备）
                                      # 多声道音轨下混成双声道时，如果觉得背景音过响，角色台词声音小，尝试看看这个：https://github.com/mpv-player/mpv/issues/6563 
ao=wasapi                             # --ao=<driver1,driver2,...[,]> 指定要使用的音频输出驱动程序的优先级列表，如果列表有尾随的 ','，mpv 将回退到未包含在列表中的驱动程序
                                      ## windows 推荐 wasapi；linux 推荐 alsa，需配合参数--audio-channels=auto；macos 推荐 coreaudio 或 coreaudio_exclusive
                                      ## 经测试如果有其他软件独占音频通道后再打开 MPV 画面会无比卡顿
#audio-exclusive=yes                  # 音频通道独占。如果音频存在卡顿问题可关闭这项或以上一项
#volume=100                           # 播放器启动音量。0 为静音，默认 100
#volume-max=130                       # <100.0-1000.0> 最大音量。默认值 130（130 的响度约为 100 的两倍 1.3^3≈2）
#audio-pitch-correction=no            # [--af=scaletempo/scaletempo2/rubberband 的前置条件] 变速播放时的音调修正，默认 yes。自动插入前三项音频滤镜中其一（更多信息见滤镜区）
#audio-delay=0.04                     # 如需要，可设置音频延迟
#audio-samplerate=96000               # 强制 resample 成 96kHz，24bit（需要音频设备硬件支持）。注意！并非必要
#audio-format=s32
#audio-normalize-downmix=yes          # 如果环绕声音频下混为立体声，则启用/禁用规格化（默认：no）。如果禁用此功能，下混可能会导致削波。如果启用此功能，则输出可能太安静。这取决于源音频
#replaygain=track                     # <默认 no|track|album> 根据文件元数据中存储的重播增益值调整音量增益
                                      # no: 不执行任何调整;track: 应用轨道增益;album: 如果存在专辑增益，则应用专辑增益，否则回退到曲目增益
#ad-lavc-downmix=yes                  # <yes|默认 no> 是否向解码器请求音频通道缩混。某些解码器（例如 AC-3、AAC 和 DTS）可以在解码时重新混合音频
gapless-audio=no                      # <no|yes|weak 默认> 尝试在文件更改时播放连续的音频文件，而不会静音或中断。默认值 weak: 当音频格式发生变化时初始化音频输出
                                      # 设为 yes 时会导致文件保存相同的采样率致使音质降低
#audio-file-auto-exts=aac,ac3,dts,eac3,flac,m4a,mka,mp3,ogg,opus,thd,wav,wv
                                      # 指定使用"audio-file-auto"选项时尝试匹配的音频文件的扩展名。示例即为默认值
audio-file-auto=fuzzy                 # <默认 no|exact|fuzzy|all> 指定自动加载外部音轨的方式
                                      ## no：禁用；exact：自动加载含有符合 BCP 47 语言标签语法的扩展名的外部音轨；fuzzy：自动加载包含视频文件名的外部音轨；all：自动加载检测到的所有音轨
audio-file-paths=audio;audios;audio 5.1;audios 5.1;audio 7.1;audios 7.1;音轨
                                      # <path1:path2:...> 在指定的额外目录中寻找匹配的音轨，支持相对和绝对路径
                                      ## ":" 在 windows 上使用 ";" 代替
alang=japanese,jpn,jap,ja,jp,english,eng,en
                                      # 设置音轨首选语言，但 MPV 优先加载外挂轨道
#aid=1                                # 暂时无法根据其他的 metadata 选择轨道，mpv 又默认偏好外挂轨道，常常选到不想要的音轨
                                      ## 建议使用 trackselect.lua 脚本实现依据 metadata 自动选择指定音轨 https://github.com/po5/trackselect

########
# 字幕 #
########

#sub-font-provider=fontconfig                 # <默认 auto|none|fontconfig> 字体渲染 api 选项，win 推荐使用 auto，DirectWrite 性能最佳
                                              # auto 自动选择系统字体渲染接口：Windows 为 DirectWrite，Linux 为 fontconfig，macOS 为 CoreText
                                              # none 忽略字幕指定字体，使用 sub-font 参数，字幕样式不变（对内挂字幕无效）
                                              # fontconfig 使用 mpv.conf 目录下 fonts.conf 里的字体加载项，可自定义 fonts 路径 <dir>CUSTOMFONTDIR</dir>
                                              # Windows 上使用 fontconfig 时初次会将目录下所有字体写入内存，之后采用按需请求加载方式。加载及切换极为缓慢，不推荐使用
#sub-ass-override=no                          # <yes|no|默认 scale|force|strip> 设置字幕渲染方式，控制是否应用样式覆盖
                                              ## no：禁用；yes：应用所有--sub-ass-*样式覆盖选项；force：强制应用所有--sub-*选项；scale：类似 yes，但也适用--sub-scale；strip：去除所有 ASS 标签和样式，此项也会影响 pgs 和 srt 等格式字幕

#sub-scale-by-window=no                       # 是否根据窗口大小缩放字幕（默认：yes）。影响纯文本及 ASS 格式的字幕
#sub-scale-with-window=no                     # 使字幕字体大小相对于窗口，而不是视频（默认：yes）。仅影响纯文本字幕
#sub-ass-scale-with-window=yes                # 与--sub-scale-with-window 类似，但仅影响 ASS 格式的字幕（默认：no）。某些情况下此项可能导致 ass 样式错位
#embeddedfonts=no                             # 使用嵌入在 Matroska 容器文件和 ASS 脚本中的字体（默认：yes）
sub-codepage=gb18030                          # 指定文本字幕解码时使用的代码页，默认值为 auto：自动检测字幕编码，首先尝试 UTF-8 编码，失败后尝试运行 uchardet 推测字幕编码（mpv 需基于 uchardet 构建）
                                              ## 示例为当字幕编码检测为非 UTF-8 时首先尝试 GB18030 编码（适用于中文字幕用户）
                                              ## 注意：这仅适用于文本字幕文件。其他类型的字幕（特别是 mkv 文件中的字幕）始终假定为 UTF-8
#sub-auto-exts=ass,idx,lrc,mks,pgs,rt,sbv,scc,smi,srt,ssa,sub,sup,utf,utf-8,utf8,vtt
                                              # 指定使用"sub-auto"选项时尝试匹配的字幕文件的扩展名。示例即为默认值
sub-auto=fuzzy                                # <no|默认 exact|fuzzy|all> 指定自动加载外部字幕的方式
                                              ## no：禁用；exact：自动加载含有符合 BCP 47 语言标签语法的扩展名的外部字幕；fuzzy：自动加载包含视频文件名的外部字幕；all：自动加载检测到的所有字幕
sub-file-paths=sub;subs;subtitles;字幕
                                              # <path1:path2:...> 在指定的额外目录中寻找匹配的字幕。支持相对和绝对路径，示例即自动搜索当前文件路径下名为"sub","subtitles","字幕"文件夹内
                                              ## ":" 在 windows 上使用 ";" 代替
slang=chs,sc,zh-Hans,zh-CN,cht,tc,zh-Hant,zh-HK,zh-TW,chi,zho,zh
                                              ## 设置字幕首选语言，但 MPV 优先加载外挂轨道
#sid=1                                        ## 暂时无法根据其他的 metadata 选择轨道，mpv 又默认偏好外挂轨道，常常选到不想要的字幕
                                              ## 建议使用 sub-select.lua 脚本实现依据 metadata 自动选择指定字幕 https://github.com/CogentRedTester/mpv-sub-select
#subs-fallback=default                        # <yes|默认 default|no> 现有字幕轨无法满足 --slang 的条件时回退选择其它字幕，值 default 表示仅选择带有“默认”标记的轨道
#subs-fallback-forced=no                      # <默认 yes|always|no> 自动选择字幕轨道时，如果没有与您的首选语言匹配的轨道，选择与所选音轨的语言匹配的强制轨道
#subs-with-matching-audio=yes                 # <默认 yes|forced|no> 自动选择字幕轨道时，即使选择的音频轨与您首选的字幕语言匹配，也要选择一个完整的/非强制的字幕轨
#subs-match-os-language=yes                   # <默认 yes|no> 自动选择字幕轨道时，选择与操作系统语言匹配的轨道（如果音频流使用其他语言）。请注意，如果设置了"--slang"，这将被完全忽略

#blend-subtitles=yes                          # <yes|video|默认 no> 在插值和颜色管理之前，将字幕混合到视频帧上。值 video 类似于 yes，但是以视频的原始分辨率绘制字幕，并与视频一起缩放
                                              # 启用此功能会将字幕限制在视频的可见部分（不能出现在视频下方的黑色空白处）
                                              # 还会让字幕受 --icc-profile，--target-prim，--target-trc，--interpolation，--gamma-factor 和 --glsl-shaders 等的影响
                                              # 使用 --interpolation 时，配合合适的 tscale 算法，可提高字幕性能
                                              ## hdr 下的问题状态 https://github.com/mpv-player/mpv/issues/6368（静态映射不受影响）
#sub-ass-force-margins=yes                    # [当 --blend-subtitles=yes/video 时无效] 默认值为 no，设为 yes 时，将使 ass 字幕尽可能输出在黑边上
                                              ## 不推荐常设为 yes，会破坏部分 ass 字幕的 pos 标注效果，建议通过快捷键手动开关
#stretch-image-subs-to-screen=yes             # 强制拉伸图形字幕到缩放分辨率而不是参考视频分辨率，可以使 PGS 实现输出在黑边的效果。注意：这可能破坏显示效果
                                              ## 注：当视频比例和 PGS 字幕比例不一致时只有开启此项才能获得正确的字幕显示效果（国内电影压制的内封 pgs 字幕大多存在这种问题）
#sub-hdr-peak=sdr                             # <默认 sdr|10-10000> 控制 HDR 输出中的文本字幕和 OSD 的亮度，特殊值 sdr 对应 SDR 参考白（203 nit）
                                              ## 注意：此选项也会影响使用 --blend-subtitles=<yes|video> 时 HDR 映射 SDR 下的文本字幕亮度
#image-subs-hdr-peak=sdr                      # <默认 sdr|video|10-10000> 控制 HDR 输出中的图像字幕的亮度，特殊值 sdr 对应 SDR 参考白（203 nit），特殊值 video 使用视频元数据
                                              ## 注意：此选项也会影响使用 --blend-subtitles=<yes|video> 时 HDR 映射 SDR 下的图形字幕亮度

##⇘⇘字幕显示出来和 xy-subfilter 不一样？尝试启用下面的设置
#sub-ass-vsfilter-color-compat=full           # <默认 basic|full|force-601|no> 模仿 (xy-)vsfilter 行为转换字幕颜色空间
#sub-ass-use-video-data=none                  # <none|aspect-ratio|默认 all> 控制将有关视频流的哪些信息传递给 libass。除 'all' 之外的任何选项都与标准 ASS 和 VSFilter 不兼容
                                              ## 对于某些类型的损坏的 ASS 文件可能需要尝试设置 'aspect-ratio' 来获得正常的渲染；当变形视频上损坏的 ASS 文件呈现拉伸尝试设置 'none' 来修复，该参数不会对非变形视频产生影响
#sub-ass-video-aspect-override=16:9           # <默认 no|ratio> 允许将任意纵横比传递给 libass，而不是视频的实际纵横比。零或负纵横比等同于 'no'
                                              ## 当选项 'sub-ass-use-video-data' 设置为 none 时该项不起作用
#sub-vsfilter-bidi-compat=yes                 # <yes|默认 no> 启用时会将隐式双向检测设置为"ltr"而不是"auto"以匹配 ass 的默认行为。只有在字幕双向检测出错时才应启用它
                                              ## 这仅影响纯文本（非 ASS）字幕
#sub-ass-style-overrides-append=Encoding=-1   # 强制样式：启用自动检测。可用于修复字符编码及文本方向的识别错误，及改善部分 ass 标签渲染
#sub-ass-style-overrides-append=ScaledBorderAndShadow=no
                                              # 强制样式：不缩放边框和阴影。可防止所谓的“重墨”风格 https://github.com/libass/libass/issues/287
                                              # 注：libass 0.15.2 后的 git 版已修复该问题

#sub-gauss=1.5                                # <0.0-3.0> 将高斯模糊应用于图像字幕（默认值：0）。这有助于使像素化 DVD/Vobsub 看起来更好
#sub-gray=yes                                 # 将图像字幕转换为灰度。可以帮助使黄色 DVD/Vobsubs 看起来更好
#sub-fix-timingyes                            # 调整字幕时序以去除字幕之间的微小间隙或重叠（如果差异小于 210 ms，则去除间隙或重叠）。在某些情况下这可能会使情况变得更糟，此时可尝试禁用此项。默认禁用
#sub-stretch-durations=yes                    # 延长字幕的持续时间，使其在下一个字幕开始时结束。可能有助于错误地具有零持续时间的字幕，但同样可能破坏正常字幕。默认禁用
#sub-fps                                      # 指定字幕文件的帧率（默认：video fps）。仅影响文本字幕
#sub-speed=24/23.976                          # 将字幕事件时间戳与给定值相乘。可用于固定基于帧的字幕格式的播放速度。仅影响文本字幕
                                              # --sub-speed=24/23.976 播放基于帧的字幕，假设帧率为 23.976，每秒 24 帧
#stretch-dvd-subs=yes                         # 播放变形视频时拉伸 DVD 字幕，默认禁用
#sub-filter-regex-plain=yes                   # 是否首先将 ASS"文本"字段转换为纯文本（默认：no）。这将剥离 ASS 标记并将 ASS 指令（如\N）应用于换行符。如果结果是多行的，则正则表达式锚点^和$匹配每行，但任何匹配项仍会丢弃所有行
#sub-filter-regex-warn=yes                    # 日志丢弃的行具有警告日志级别，而不是详细（默认值：no）。有助于测试
#sub-filter-regex-enable=no                   # 是否启用正则表达式筛选（默认值：yes），以下两项参数为空时不生效
#sub-filter-regex-append=opensubtitles\.org   # --sub-filter-regex-...=... 设置要与文本字幕匹配的正则表达式列表，并删除任何匹配的行（默认：空）匹配不区分大小写，但如何执行此操作取决于 libc，并且很可能仅适用于 ASCII。它不适用于位图/图像字幕
#sub-filter-jsre-append=                      # 与--sub-filter-regex 相同，但使用 JavaScript 正则表达式。共享/受所有--sub-filter-regex-*控制选项影响，只需要 JavaScript 支持

##⇘⇘字幕设置，无内置风格时
#sub-fonts-dir=~~/fonts                       # 指定用于文本字幕的字体查找目录，示例即为默认值
sub-font="Noto Sans CJK SC"                   # 指定纯文本字幕的字体，该参数本应对 ASS 字幕无效，实际影响了 ASS 的缺省默认字体 https://github.com/mpv-player/mpv/issues/8637
sub-font-size=50                              # 文本字幕字体大小
sub-bold=yes                                  # 文本字幕使用粗体样式
#sub-italic=yes                               # 文本字幕使用斜体样式
sub-color="#FFFFFF"                           # 文本字幕字体颜色。<格式为 (AA)RRGGBB> AA 为十六进制的透明度，RRGGBB 为十六进制的颜色表示
sub-outline-size=0.5                          # 文本字幕轮廓大小
sub-outline-color="#000000"                   # 文本字幕轮廓颜色
sub-shadow-offset=0.5                         # 文本字幕阴影大小
sub-back-color="#000000"                      # 文本字幕阴影/背景颜色
#sub-border-style=opaque-box                  # <默认 outline-and-shadow|opaque-box|background-box> 文本字幕边框的样式
                                              # outline-and-shadow：绘制轮廓和阴影；opaque-box：绘制轮廓和阴影；将轮廓和阴影绘制为不透明框，紧密包裹每一行文本；background-box：绘制一个背景框，将所有文本行框框起来
#sub-spacing=1                                # 文本字幕字间距
#sub-blur=0.5                                 # 文本字幕的边缘模糊度，推荐值 0.5-3.0 之间 <0..20.0> 
#sub-use-margins=no                           # 是否使纯文本字幕输出在黑边上，默认 yes
#sub-pos=100                                  # 指定字幕在屏幕上的位置。该值是字幕的垂直位置，占屏幕高度的百分比。默认 100，高于 100 的值会向下移动。影响 ass 字幕及纯文本字幕
#sub-margin-x=25                              # 以缩放像素为单位的子项的左右屏幕边距，此选项指定 sub 向左的距离，以及与右侧边框之间的距离
#sub-margin-y=22                              # 以缩放像素为单位的子项的上部和下屏幕边距，此选项指定纯文本字幕的竖边距。如果只想提高垂直字幕位置，请使用--sub-pos
#sub-align-x=center                           # <left|默认 center|right> 控制文本字幕应与屏幕的哪个角对齐。从未应用于 ASS 字幕，除非在--no-sub-ass 模式下。同样，这不适用于 PGS 图像字幕
#sub-align-y=bottom                           # <top|center|默认 bottom> 控制文本字幕的垂直位置
#sub-justify=left                             # <默认 auto|left|center|right> 控制多行字幕的对齐方式（默认：auto，根据--sub-align-y 定义进行对齐）。建议左对齐
#sub-ass-justify=yes                          # 如果--sub-ass-override 未设置为 no，则在 ASS 字幕上应用--sub-justify。默认值：no


########
# 截图 #
########

### 以下预设参数只是为了截取最高质量的图片
screenshot-format=webp                        # <默认 jpg|(同前)jpeg|png|webp|jxl|avif>
#screenshot-png-compression=7                 # <0-9> PNG 压缩等级，过高的等级影响性能，默认为 7
#screenshot-png-filter=5                      # 设置在 PNG 压缩之前应用的过滤器。0 为无，1 为 sub，2 为 up，3 为 average，4 为 Paeth，5 为 mixed，这会影响可以达到的压缩级别。对于大多数图像，mixed 可实现最佳压缩率，因此它是默认设置。
#screenshot-jpeg-quality=100                  # <0-100> JPEG 的最高质量，默认为 90
#screenshot-jpeg-source-chroma=no             # 用与源视频相同的色度半采样写入 JPEG，默认 yes
#screenshot-webp-lossless=yes                 # 无损 WEBP，默认 no
screenshot-webp-quality=85                    # <0-100> [当 --screenshot-webp-lossless=no 时生效] 有损 WEBP 的质量，默认 75
screenshot-webp-compression=6                 # <0-6> WEBP 压缩等级，过高的等级影响性能，默认为 4。注意：使用有损 WEBP 时这也会影响图片质量
#screenshot-jxl-distance=0                    # <0-15> JXL 的视觉模型距离，0 为质量无损，0.1 为视觉无损，默认 1 相当于 JPEG 的 90 质量
#screenshot-jxl-effort=5                      # <1-9> JXL 压缩等级，过高的等级影响性能，默认 4
screenshot-tag-colorspace=no                  # 使用适当的色彩空间标记屏幕截图（并非所有格式受支持）。默认 yes
#screenshot-high-bit-depth=no                 # 主要影响 PNG 和 JPEG XL，尽可能使用和视频输出时相同的位深，默认 yes。注意：使用同位深时会大幅增加 png/jxl 的最终大小
#screenshot-sw=yes                            # 是否对屏幕截图使用软件渲染，默认：no。如果设置为 yes，则使用软件缩放器将视频转换为 RGB（或目标屏幕截图所需的任何内容）。软件渲染器可能缺少某些功能，例如 HDR 渲染
screenshot-template="~~/files/screen/%{media-title}-%P-%n"
                                              # # [若直接在模板中设置路径，此时无需 --screenshot-dir ] 截图命名模板：https://mpv.io/manual/master/#options-screenshot-template
#screenshot-dir=~~desktop/                    # [若已在截图命名模板中设置路径，此时无需使用该参数 ] 默认保存截图在桌面

####################
# 脚本 滤镜 着色器 #
####################

gpu-shader-cache-dir="~~/cache/shaders_cache"                                   # 指定目录存储编译好的 GPU shaders，加速启动。默认启用
                                                                                ## 注意！如果不放 APPDATA 下，确保该文件夹有用户写入权限。
                                                                                ## 缓存生成的着色器本应起到加速作用，但是硬盘 IO 性能不足可能产生反作用，根据实际情况选择禁不禁用
##⇘⇘脚本部分
##内置脚本开关（如果没有必要的目的，那就不要屏蔽 mpv 内建的功能）
#load-scripts=no                                                                # 自动加载配置文件同目录下的 scripts 子目录中的所有外置脚本，默认 yes。设置为 no 时可用下一行示例的命令加载指定的外置脚本，不推荐
#scripts="~~/scripts/autoload.lua;~~/scripts/playlistmanager.lua;~~/scripts/open_dialog.lua"
#load-auto-profiles=no                                                          # <yes|no|默认 auto> 启用 mpv 内置的条件配置脚本 [auto_profiles.lua]
#load-osd-console=no                                                            # 启用 mpv 内置的控制台脚本 [console.lua]，默认 yes
#load-stats-overlay=no                                                          # 启用 mpv 内置的统计信息脚本 [stats.lua]，默认 yes
#load-select=no                                                                 # 启用 mpv 内置的选择菜单脚本 [select.lua]，默认 yes
#ytdl=no                                                                        # 启用 mpv 内置的网址解析增强脚本 [ytdl-hook.lua]，默认 yes
#ytdl-format=bestvideo*+bestaudio/best                                          # <ytdl|best|worst|mp4|webm|...> 直接传递给 youtube-dl 的视频格式/质量
                                                                                ## ytdl 不会将 --format 选项传递给 youtube-dl，因此不会覆盖其默认值。请注意，有时 youtube-dl 会返回 mpv 无法使用的格式，在这些情况下，mpv 默认值可能会更好
#ytdl-extract-chapters=no                                                       # <默认 yes|no> 启用从 youtube-dl 视频描述中提取章节
#ytdl-raw-options=sub-langs="zh.*",write-subs=,write-auto-subs=
#ytdl-raw-options-append=write-subs=
#ytdl-raw-options-append=yes-playlist=
#ytdl-raw-options-append=cookies-from-browser=Firefox                           # 传递并使用浏览器的 cookies，支持 Firefox、Chrome、Chromium、Edge、Opera、Vivaldi 等浏览器
                                                                                ## 注意：cookies-from-browser 选项需要浏览器已经登录目标网站，且 cookies 未过期
                                                                                ## Chromium 系浏览器（Chrome、Edge 等）需要关闭所有进程才能读取 cookies，或者使用 --ytdl-raw-options-append=cookies=cookies.txt
#ytdl-raw-options-append=cookies=[D:/cookies.txt]                               # 传递并使用 cookies.txt 文件，只支持绝对路径
#ytdl-raw-options-append=proxy=http://127.0.0.1:7890
                                                                                # [当使用 yt-dlp/youtube-dl 解析网址时有效] --ytdl-raw-options=<key>=<value>[,<key>=<value>[,...]] 将自定义的选项传递给 ytdl https://github.com/yt-dlp/yt-dlp#usage-and-options
                                                                                ## 传递多个参数最好独立追加，即写多个 --ytdl-raw-options-append 参数 https://mpv.io/manual/master/#options-ytdl-raw-options
#stream-lavf-o-append=http_proxy=http://127.0.0.1:7890                          # [当使用 libavformat 解析网址时有效] --stream-lavf-o-append=<key>=<value>[,<key>=<value>[,...]] 将自定义的选项传递给 libavformat
                                                                                ## 传递多个参数最好独立追加，即写多个 --stream-lavf-o-append 参数 https://mpv.io/manual/master/#options-stream-lavf-o
                                                                                ## 注意，实际上此选项设置的代理也会传递给 ytdl 以及其他网络请求
#input-builtin-bindings=no                                                      # 在启动期间禁用 mpv 内置键位绑定的加载。此选项不会影响外部加载脚本的键位绑定
input-default-bindings=no                                                       # 禁用 mpv 内置键位及外部加载脚本的--mp.add_key_binding 键位绑定方案
                                                                                ## 可以有效解决脚本快捷键冲突，启用后需在 input.conf 里指定所需快捷键

##⇘⇘滤镜部分
## 设定随 MPV 启动的音/视频滤镜的书写格式（支持多项） --af/vf=滤镜①=参数❶=值:参数❷=值,滤镜②...
## --af 和 --vf 仅能各存在一条。如果不想只使用这条参数，可以拆开写，例如使用 --vf-toggle 单项多次追加更多的滤镜，并不会覆盖 --vf=<value> 指定的滤镜
## 同类别的滤镜算法互斥

## 多通道音轨调节各通道音，防止背景音或人声过小（双通道设备）
#af-toggle=@dynaudnorm:lavfi=[dynaudnorm=f=500:g=31:p=0.5:m=5:r=0.9]
#af-toggle=@dynaudnorm:!dynaudnorm=p=0.65:r=0.9
## 另一组示例
#af-toggle=@loudnorm:lavfi=[loudnorm=I=-16:TP=-1.5:LRA=11]
#af-toggle=@loudnorm:!loudnorm=I=-25:TP=-1.5:LRA=4:linear=false

## 音频变速滤镜三选一（当前默认值已足够好）
#af=scaletempo=scale=1.0:stride=60:overlap=.20:search=14:speed=tempo
                                                                                # 旧版 mpv 使用的音频变速滤镜。示例值为默认参数
                                                                                # 其中的 scale=<N> 控制额外视频加速度；stride=<N> 值太高会导致在高速时跳音，低速出现回声，值太低会改变音调，值增大提升性能
                                                                                # overlap=<N> 重叠百分比，值减少提高分离度且提升性能；search=<N> 搜索最佳重叠位置的长度（毫秒），值减少提升性能
                                                                                # speed=<tempo|pitch|both|none> tempo 节奏与速度同步，pitch 造成卡顿不使用，both 同时兼顾节奏与音调，none 忽略速度变化不使用
#af=scaletempo2=min-speed=0.25:max-speed=4.0:search-interval=30:window-size=20  
                                                                                # 此项参数为变速播放时默认自动激活的音频滤镜。在 min/max-speed=<N> 此速度范围外直接静音处理。scaletempo2 具有更高的音频质量
#af=rubberband                                                                  # 声音质量介于 scaletempo 和 scaletempo2 之间。可调节的细参众多，详情见官方文档，这里直接使用默认参数 

#vf-toggle=format:gamma=gamma2.2                                                # MPV 校色曲线目标是 BT.1886，此视频滤镜用于回归常见的显示器标准 https://github.com/mpv-player/mpv/issues/8009
#vf-toggle=fps=fps=60/1.001                                                     # 强制视频以指定帧率输出（此项与补帧冲突），通常被用于增强滚动弹幕的平滑性，不推荐使用 --sub-fps=<value> 。分子数值（取整）为你的显示器刷新率。

##⇘⇘着色器部分
### 着色器相关设置使用配置组进行设定，以下仅为参数示例说明，具体设置见下方 [通用参数补充区] 和 [配置组] 的相关配置组参数
## 此处的 --glsl-shaders=<value> 用于指定每次随 MPV 共同启动的着色器（支持多项）
## 初始加载多个着色器的示例写法
#glsl-shaders="~~/shaders/igv/KrigBilateral.glsl;~~/shaders/igv/FSRCNNX_x2_8-0-4-1.glsl;~~/shaders/igv/FSRCNNX_x2_8-0-4-1.glsl;~~/shaders/igv/SSimSuperRes.glsl;~~/shaders/igv/SSimDownscaler.glsl"
#glsl-shaders="~~/shaders/Anime4K/glsl/Restore/Anime4K_Clamp_Highlights.glsl;~~/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_M.glsl;~~/shaders/Anime4K/glsl/Upscale/Anime4K_Upscale_CNN_x2_S.glsl"

## --glsl-shaders-append 等效 --glsl-shader=<value> （注意和上行说明中参数的区别），表示追加着色器（单次仅能追加一项），并不会覆盖第一条 --glsl-shaders=<value> 指定的着色器，可无限追加该命令。
#glsl-shaders-append="~~/shaders/other/PixelClipper.glsl"                       # 抗振铃着色器，主要用于 mpv 内部 EWA 类缩放算法。与--vo=gpu-next 内部的 AR 算法相比表现要稍好一些
#glsl-shaders-append="~~/shaders/other/JointBilateral.glsl"                     # 双边色度升频着色器 - 高斯版本，使用亮度平面作为指导，在不引入任何振铃的情况下实现更清晰的边缘。仅限--vo=gpu-next 下可用
#glsl-shaders-append="~~/shaders/other/nlmeans_luma.glsl"                       # 降噪着色器，效果表现良好，只是性能耗费较高，仅限--vo=gpu-next 下可用。放置优先级应保持在最前列，否则放大后再降噪的效果会有明显下降
#glsl-shaders-append="~~/shaders/other/colorlevels.glsl"                        # 调整 RGB 输出范围的着色器。如需使用需按设备实际情况调整该着色器里的 REFBLACK 和 REFWHITE 值，否则输出画面可能不符合预期行为
#glsl-shaders-append="~~/shaders/igv/KrigBilateral.glsl"                        # 高级的 cscale 色度升频算法，生效时将覆盖指定的--cscale=xxxxx 算法。目前最优秀的色度升频着色器
#glsl-shaders-append="~~/shaders/igv/FSRCNNX_x2_8-0-4-1.glsl"                   # 快速超分辨率卷积神经网络放大算法。最小缩放触发倍率为 1.2，生效时将覆盖指定的--scale=xxxxx 算法
#glsl-shaders-append="~~/shaders/igv/FSRCNNX_x2_16-0-4-1.glsl"                  # 快速超分辨率卷积神经网络放大算法。16x 效果更好，耗能也更高。最小缩放触发倍率为 1.2，生效时将覆盖指定的--scale=xxxxx 算法
#glsl-shaders-append="~~/shaders/igv/FSRCNNX_x1_16-0-4-1_distort.glsl"          # 快速超分辨率卷积神经网络去伪影算法。去伪影变体，无触发倍率
#glsl-shaders-append="~~/shaders/nnedi3/nnedi3-nns32-win8x4.glsl"               # 超高质量的插值放大算法。最小缩放触发倍率为 1.2，耗能极高，nns16 → nns32 → nns64 → nns128 → nns256；win8x4 → win8x6 质量更好但性能大增
#glsl-shaders-append="~~/shaders/ravu/ravu-zoom-ar-r3.glsl"                     # ravu 放大算法 zoom 变体，通用型，触发倍率＞1，放大到目标分辨率，生效时将覆盖指定的--scale=xxxxx 算法
#glsl-shaders-append="~~/shaders/ravu/ravu-lite-ar-r3.glsl"                     # ravu 放大算法 lite 变体，通用型，最小缩放触发倍率约为 1.2，最锐利的变体，生效时将覆盖指定的--scale=xxxxx 算法
#glsl-shaders="~~/shaders/Ani4K/Ani4Kv2_ArtCNN_C4F32_i2.glsl"                   # Ani4k 放大算法。对于瑕疵的处理效果极好，同时尽可能保留原始画风，是比 Anime4K 更优秀的动画着色器。但性能开销极大，请量力使用
                                                                                # 需在 --vo=gpu-next 下使用，CMP 变体只适用于 --gpu-api=vulkan
#glsl-shaders-append="~~/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_M.glsl" 
                                                                                # Anime4k 放大算法模块（适度画面修复 + 弱感知强化 + 微量伪影引入），CNN 变体最小缩放触发倍率为 1.2，推荐 Restore_CNN_Soft 抗锯齿柔化变体，减少了振铃等其他伪影的产生
                                                                                # Anime4k 着色器介绍及用法参考：https://hooke007.github.io/mpv-lazy/[01]_%E7%AC%AC%E4%B8%89%E6%96%B9%E7%9D%80%E8%89%B2%E5%99%A8%E4%BB%8B%E7%BB%8D.html
#glsl-shaders-append="~~/shaders/igv/SSimSuperRes.glsl"                         # 对 mpv 的内置 --scale=xxxxx 放大算法进行校正（消除振铃伪影，恢复原始清晰度等）
#glsl-shaders-append="~~/shaders/igv/SSimDownscaler.glsl"                       # 缩小算法增强，与--linear-downscaling=no 一起使用。#! 在 --vo=gpu-next 下使用有可能出现不明原因的劣化
#glsl-shaders-append="~~/shaders/igv/adaptive-sharpen.glsl"                     # 自适应锐化算法着色器


##################
# 通用参数补充区 #
##################

#d3d11-output-csp=pq                          # [须 --gpu-api=d3d11] 此项参数用于直出 HDR，且不支持条件配置会影响 sdr 播放。
                                              # 当前版本需先手动打开 win10 OS HDR，再打开 MPV 后全屏开始播放
#use-filedir-conf                             # 在播放文件同目录中加载配置文件
#include="~~/profiles.conf"                   # 追加读取指定的配置文件
                                              # 自此以下的所有配置组参数亦可单独放入"~~/profiles.conf"中，启用此参数时效果一致
#input-conf="~~/input.conf"                   # 指定 input 配置文件，用于指定键位绑定
#libplacebo-opts=tone_map_metadata=cie_y
                                              # 将额外的原始选项传递给 libplacebo 渲染后端（由 --vo=gpu-next 使用），用于调试目的
                                              # 详细参数见：http://libplacebo.org/options
                                              # 示例参数作用为：强制使用峰值检测进行 hdr 色调映射

##⇘⇘以下为常规配置组启用参数，视需求选择使用
#profile=ICC                                  # icc 色彩管理配置组，由操作系统的显示设置指定的 ICC 显示配置文件
#profile=ICC+                                 # icc 色彩管理配置组，使用 color.org 提供的泛 icc 配置文件或专业校色文件，自行选择显示器对应色域的 icc 配置文件
profile=Target                                # target 色彩管理配置组，不可与 icc 色彩管理共存
profile=Dither                                # 抖动算法配置组（fruit），效果接近 error-diffusion，耗能较低
#profile=Dither+                              # 抖动算法配置组（error-diffusion），误差扩散的色深抖动算法，效果最好也最耗能
profile=Tscale                                # [启用前须先注释 --tscale=<value>] 时域插值算法，具体参数见下方配置区的同名配置
#profile=Tscale+                              # [启用前须先注释 --tscale=<value>] 备选的时域插值算法，具体参数见下方配置区的同名配置
profile=HQ                                    # 最常用的内置算法配置组
profile=DeBand-low                            # [启用前需先注释 --deband] 预设的去色带方案，具体参数见下方配置区的同名配置，接近 madvr 的 deband 设为 low，使用 low 时已有很好的效果
#profile=DeBand-medium                        # [启用前需先注释 --deband] 备选的去色带方案，具体参数见下方配置区的同名配置，接近 madvr 的 deband 设为 medium
#profile=DeBand-high                          # [启用前需先注释 --deband] 备选的去色带方案，具体参数见下方配置区的同名配置，接近 madvr 的 deband 设为 high
profile=HDR2SDR                               # HDR 映射 SDR 参数配置组
                                              # 此配置组不会影响 HDR 设备下的 HDR 直通配置，需要配置 HDR 直通时无需注释此配置组，会影响 SDR 内容的显示
                                              # HDR 直通下依然有可能应用到此配置组中的动态映射和算法（HDR 画面亮度超出显示器峰值亮度时）
#profile=SDR2HDR                              # SDR 映射 HDR 参数配置组，仅在 HDR 显示模式下有效，不推荐启用。仅限--vo=gpu-next 下可用
#profile=SWscaler                             # 备选的软件缩放方案

## 以下为着色器配置组，可按需启用以下所需任一配置组（这将覆盖上面的--glsl-shaders-append 参数）
profile=NNEDI3                                # 适用于大多数场景（NNEDI3-32）               ## 绝大多数场景表现良好，对场景的适应性优于其他配置（抑制锯齿和振铃伪影）。喜欢通用性的优先使用此配置组
#profile=NNEDI3+                              # 适用于大多数场景（NNEDI3-64）               ## 理论上 NNEDI3-64 及以上变体具有更好地抑制振铃伪影效果，但耗能量级倍增，视设备性能自行选择是否使用
#profile=ravu-zoom                            # 适用于大多数场景（ravu-zoom）               ## 放大到目标分辨率，4 倍以上的放大效果不如 mpv 内部的 ewa 类 scale 算法
#profile=FSRCNNX                              # 适用于 HD 场景（FSRCNNX）                   ## 效果类似 madvr 的 NGU Sharp，但产生更多振铃伪影，在低解析画面下表现较差
#profile=FSRCNNX+                             # 适用于 SD 场景（FSRCNNX_distort）           ## 对低解析度的画面具有极好的抑制振铃伪影效果，仍有可能出现涂抹感
#profile=Ani4K                                # 适用于大多数动画（Ani4k V2）                ## 对于瑕疵的处理效果极好，同时尽可能保留原始画风，是比 Anime4K 更优秀的动画着色器。但性能开销极大，请量力使用
#profile=AniSD                                # 适用于 SD 动画（AniSD）                     ## 对于 SD 动画的瑕疵的处理效果极好，同时尽可能保留原始画风，是比 Anime4K 更优秀的动画着色器。但性能开销极大，请量力使用
#profile=Anime4K                              # 适用于大多数动画（Anime4k 去伪影抗锯齿）    ## 对锯齿振铃等瑕疵可以起到较好的抑制效果，仍有明显感知度的涂抹劣化
#profile=SSIM                                 # 适用于低性能消耗

##############
# 常规配置组 #
##############

##⇘⇘常规配置没有自动触发条件（内置配置组也全为常规配置）
##需要主设置文件中使用 --profile=<profile1,profile2,...> 或多行 --profile=<xxx> 参数激活数个配置

[ICC]
 icc-profile=""
 icc-profile-auto
 icc-intent=0
 icc-force-contrast=1000
 icc-3dlut-size=auto
 icc-cache-dir="~~/cache/icc_cache"

[ICC+]
 icc-profile="~~/icc/ITU-RBT709ReferenceDisplay.icc"
 icc-intent=0
 icc-force-contrast=no
 icc-3dlut-size=auto
 icc-cache-dir="~~/cache/icc_cache"

[Target]
 icc-profile=""
 icc-profile-auto=no
 target-prim=auto
 #target-trc=gamma2.2
 #target-peak=203
 target-contrast=auto

[Dither]
 dither-depth=auto
 dither=fruit
 dither-size-fruit=6

[Dither+]
 dither-depth=auto
 dither=error-diffusion
 error-diffusion=floyd-steinberg

[Tscale]
 video-sync=display-resample
 #video-sync-max-video-change=5
 interpolation
 #interpolation-preserve=no
 tscale=oversample

[Tscale+]
 video-sync=display-resample
 #video-sync-max-video-change=5
 interpolation
 #interpolation-preserve=no
 tscale=sphinx
 tscale-blur=0.65

[HQ]
 scale=ewa_lanczossharp
 cscale=bilinear
 dscale=catmull_rom
 scale-antiring=0.5
 dscale-antiring=0.5
 linear-upscaling=no
 sigmoid-upscaling=yes
 correct-downscaling=yes
 linear-downscaling=no
 #scaler-resizes-only=no
 deband=no

[DeBand-low]
 profile-desc=DeBand low
 deband-iterations=1
 deband-threshold=48
 deband-range=16
 deband-grain=16

[DeBand-medium]
 profile-desc=deband medium
 deband-iterations=2
 deband-threshold=64
 deband-range=16
 deband-grain=24

[DeBand-high]
 profile-desc=deband high
 deband-iterations=3
 deband-threshold=64
 deband-range=16
 deband-grain=24

[HDR2SDR]
 profile-desc=HDR-SDR 映射参数
 tone-mapping=auto
 #tone-mapping-param=1.0
 #tone-mapping-max-boost=1.0
 gamut-mapping-mode=auto
 hdr-contrast-recovery=0.30
 #hdr-contrast-smoothness=3.5
 hdr-compute-peak=auto
 hdr-peak-percentile=99.995
 hdr-peak-decay-rate=100
 hdr-scene-threshold-low=5.5
 hdr-scene-threshold-high=10
 allow-delayed-peak-detect=no

[SDR2HDR]
 profile-desc=SDR 反向映射 HDR 参数
 icc-profile=""
 icc-profile-auto=no
 target-prim=auto
 #target-gamut=dci-p3   # 或 adobe，用于 argb 色域
 target-trc=auto
 target-peak=auto  # --gpu-api=vulkan 下必须指定显示器的峰值亮度值，--gpu-api=d3d11 下默认值会自动获取此信息
 target-colorspace-hint=auto
 inverse-tone-mapping=yes

##⇘⇘备选的软件缩放方案
##在 mpv 内部需要执行格式转换时会用到软件缩放器
[SWscaler]
 profile-desc=软件缩放配置
 sws-allow-zimg=no                  # 优先使用 zimg（通常具有更高质量）而不是 libswscale，默认 yes。ffmpeg 经常出现和 zimg 间的兼容性问题，建议禁用
 sws-scaler=bicublin                # [libswscale] <fast-bilinear|bilinear|bicubic 默认|x|point|area|bicublin|gauss|sinc|lanczos|spline>
                                    # [libswscale] 缩放算法（同时作用于色度平面）
 #sws-fast=yes                      # [libswscale] 以质量为代价优化性能，默认 no
 zimg-scaler-chroma=bicubic         # [zimg] <point|bilinear|bicubic|spline16|spline36|lanczos 默认>
                                    # [zimg] 色度还原算法
 #zimg-scaler-chroma-param-a=1/3    # [zimg] 色度还原算法的子参数，不支持调节的算法不受影响，默认 default
 #zimg-scaler-chroma-param-b=1/3
 zimg-scaler=bicubic                # [zimg] 缩放算法，可用值参考 --zimg-scaler-chroma
 zimg-scaler-param-a=1/3            # [zimg] 缩放算法的子参数
 zimg-scaler-param-b=1/3
 #zimg-dither=error-diffusion       # [zimg] <no|ordered|random 默认|error-diffusion> 色深抖动算法
 zimg-fast=no                       # [zimg] 以质量为代价优化性能，默认 yes


[NNEDI3]
 profile-desc=适用于大多数场景
 glsl-shaders="~~/shaders/nnedi3/nnedi3-nns32-win8x4.glsl;~~/shaders/igv/adaptive-sharpen_luma.glsl"

[NNEDI3+]
 profile-desc=适用于大多数场景
 glsl-shaders="~~/shaders/nnedi3/nnedi3-nns64-win8x4.glsl;~~/shaders/igv/adaptive-sharpen_luma.glsl"

[ravu-zoom]
 profile-desc=适用于大多数场景
 glsl-shaders="~~/shaders/ravu/ravu-zoom-ar-r3.glsl;~~/shaders/igv/adaptive-sharpen_luma.glsl"

[FSRCNNX]
 profile-desc=适用于 HD 场景
 glsl-shaders="~~/shaders/igv/FSRCNNX_x2_8-0-4-1.glsl;~~/shaders/igv/adaptive-sharpen_luma.glsl"

[FSRCNNX+]
 profile-desc=适用于 SD 场景
 glsl-shaders="~~/shaders/nnedi3/nnedi3-nns32-win8x4.glsl;~~/shaders/igv/FSRCNNX_x1_16-0-4-1_distort.glsl"

[Ani4K]
 profile-desc=Ani4K
 profile-desc=适用于大多数动画
 glsl-shaders="~~/shaders/Ani4K/Ani4Kv2_ArtCNN_C4F32_i2.glsl"

[AniSD]
 profile-desc=AniSD
 profile-desc=适用于 SD 动画
 glsl-shaders="~~/shaders/Ani4K/AniSD_ArtCNN_C4F32_i4.glsl"

[Anime4K]
 profile-desc=Anime4K
 profile-desc=适用于大多数动画
 glsl-shaders="~~/shaders/igv/KrigBilateral.glsl;~~/shaders/Anime4K/glsl/Restore/Anime4K_Restore_CNN_Soft_M.glsl;~~/shaders/Anime4K/glsl/Restore/Anime4K_Clamp_Highlights.glsl"

[SSIM]
 profile-desc=适用于 4k 低性能
 glsl-shaders="~~/shaders/igv/SSimSuperRes.glsl;~~/shaders/igv/SSimDownscaler.glsl"

##############
# 条件配置组 #
##############

##⇘⇘条件触发配置，根据给定条件激发特定参数。简易格式见示例
##仅注释掉 --profile-cond 和 --profile-restore 即可将条件配置变为常规配置，常规配置的使用方法为通用区 --profile=<value>

##⇘⇘条件配置的格式示例
##[FS-loop]                                                  # 配置名称，自定义
##profile-desc    = 全屏时循环播放当前文件                   # 配置的描述，不属于参数，随意写
##profile-cond    = fullscreen                               # 触发该配置的条件。可用的属性列表 https://mpv.io/manual/master/#property-list
##profile-restore = copy                                     # 此参数一般用于回归触发前的通用参数（关闭此项将保留）
##...                                                        # 然后写该条件下触发的参数
##...

##⇘⇘文件名匹配的示例写法：根据文件名中的特定字符触发配置
##字符 "-" 需要使用 LUA 的转义符 "%"
#[VCB-Studio]
#profile-desc=真空断路器
#profile-cond=filename:find("VCB%-Studio")~=nil
#profile-restore=copy
#deband=no

[SD]
 profile-desc=低清源增强
 profile-cond=height <= 720 or width <= 720
 profile-restore=copy
 profile=FSRCNNX+

[Deband]
 profile-desc=YUV420P10 以下的源开启去色带
 profile-cond=get("video-params/average-bpp") < 24
 profile-restore=copy
 deband=yes

[hdr-2390]
 profile-cond=p.tone_mapping == "bt.2390" and p.current_vo == "gpu-next"
 profile-restore=copy
 tone-mapping-param=2.0

#[hdr-spline]
#profile-cond=p.tone_mapping == "spline"
#profile-restore=copy
#tone-mapping-param=1.0

[peak-percentile]
 profile-cond=get("video-params/avg-pq-y") < 0.21 and p.current_vo == "gpu-next"
 profile-restore=copy
 hdr-peak-percentile=99.8

[SDR-gamut]
 profile-desc=SDR 内容的色域映射
 profile-cond=get("video-params/primaries") ~= "bt.709" and get("video-params/gamma") == "bt.1886"
 profile-restore=copy
 gamut-mapping-mode=clip

[SDR-target]
 profile-desc=SDR 显示目标配置
 profile-cond=not get("video-params/max-luma") and not get("inverse-tone-mapping") and p.current_vo == "gpu-next"
 profile-restore=copy
 target-colorspace-hint=no

[HDR]
 profile-desc=HDR 配置
 profile-cond=get("video-params/max-luma") > 203
 profile-restore=copy
 target-peak=auto
 target-colorspace-hint=auto
 target-colorspace-hint-mode=target
 blend-subtitles=no
 deband=no
 vf=""

[HDR-PASS]
 profile-desc=HDR 直通参数，仅在 HDR 显示模式下生效
 profile-cond=get("video-params/max-luma") > 203 and get("video-target-params/max-luma") > 203 and p.current_vo == "gpu-next"
 profile-restore=copy
 icc-profile=""
 icc-profile-auto=no
 target-colorspace-hint=auto
 target-colorspace-hint-mode=target
 inverse-tone-mapping=no      # HDR 下不可启用反向映射功能
 target-prim=auto
 #target-gamut=dci-p3         # 或 adobe，用于 argb 色域
 target-trc=auto
 target-peak=auto             # 或可指定 HDR 显示器的峰值亮度值，默认值会自动获取此信息
 target-contrast=auto         # 或可指定 HDR 显示器的对比度值，默认值会自动获取此信息
 #sub-hdr-peak=100            # 用于调整 HDR 输出下的文本字幕亮度，越低的值越暗
 #image-subs-hdr-peak=10000   # 用于调整 HDR 输出下的图像字幕亮度，越高的值越暗，示例为最大值

[video-sync]
 profile-desc=当音频调整速度超过阈值时改变音视频同步模式，以避免明显的音高变化
 profile-cond=(speed * audio_speed_correction) > 0 and ((speed * audio_speed_correction) < 0.96 or (speed * audio_speed_correction) > 1.04) and not (get("estimated-vf-fps") > 47 or get("display-fps") > 120)
 profile-restore=copy-equal
 video-sync=display-tempo

[fps-fix]
 profile-desc=修复视频帧率和显示刷新率过高引起的异常耗能或掉帧
 profile-cond=get("estimated-vf-fps") > 47 or get("display-fps") > 120
 profile-restore=copy
 video-sync=audio

[8k-fix]
 profile-desc=8k av1 下使用 d3d11va 硬解来解决掉帧问题，该方案仅限 --gpu-api=d3d11 下可用
 profile-cond=get("video-params/w") > 7000 or get("video-params/h") > 3000
 profile-restore=copy
 hwdec=auto-safe
 video-sync=audio

[pgs-fix]
 profile-desc=修复国内电影压制的内封 pgs 字幕画幅比例与视频不一致导致的字幕错位
 profile-cond=get("video-params/aspect") > 16 / 9
 profile-restore=copy
 stretch-image-subs-to-screen=yes

#[deinterlace]
# profile-desc=自动去交错
# profile-cond=get("video-frame-info/interlaced")
# profile-restore=copy
# deinterlace

[audio-filter]
 #副作用：切换音频输出设备时会导致持续的音视频不同步
 profile-desc=音频通道大于 2 时开启动态范围调节滤镜，适用于双通道设备
 profile-cond=get("audio-params/channel-count") > 2
 profile-restore=copy-equal
 af-pre=@dynaudnorm:lavfi=[dynaudnorm=f=500:g=31:p=0.5:m=5:r=0.9]

[pause]
 profile-desc=暂停时取消置顶
 profile-cond=pause
 profile-restore=copy
 ontop=no

#[fullscreen]
# profile-desc=全屏自动置顶
# profile-cond=fullscreen or window_maximized
# profile-restore=copy
# ontop

[maximized]
 profile-desc=最大化时取消窗口大小自动调整
 profile-cond=window_maximized and vid and not get("current-tracks/video/albumart")
 profile-restore=copy-equal
 auto-window-resize=no

[minimized]
 profile-desc=最小化时暂停
 profile-cond=window_minimized and vid and not get("current-tracks/video/albumart")
 profile-restore=copy-equal
 pause

[end]
 profile-desc=播放列表结束后退出全屏
 profile-cond=idle_active
 no-fullscreen
 no-window-maximized

[media-title]
 profile-desc=特殊协议下切换窗口标题显示内容
 profile-cond=path:find('://') ~= nil or path:find('^magnet:') ~= nil
 #profile-cond=demuxer_via_network == true
 profile-restore=copy
 title=${?pause==yes:⏸}${?mute==yes:🔇}${?ontop==yes:📌}${media-title}
 osd-playlist-entry=title

#[image]
# profile-desc=图像
# profile-cond=vid and not get("current-tracks/video/albumart") and estimated_frame_count <= 1
# profile-restore=copy
# prefetch-playlist
# image-display-duration=inf
# scale=ewa_hanning
# cscale=ewa_hanning
# dscale=mitchell

#[audio]
# profile-desc=音乐
# profile-cond=aid and (not vid or get("current-tracks/video/albumart"))
# profile-restore=copy
# prefetch-playlist
# loop-playlist=inf

##⇘⇘配合 display-info.dll 插件实现 mpv 窗口按显示器名称自动切换参数及配置文件（仅限 Windows）
#[TV]
#profile-cond=get("user-data/display-info/name") == 'VX2771-4K-HD'
#profile-restore=copy-equal
#dither-depth=10
#inverse-tone-mapping=yes
#target-colorspace-hint=yes
#script-opts-append=changerefresh-auto=yes
#script-opts-append=changerefresh-rates=23;24;25-50;29-59;30-60;50;59;60