Mpv硬解后不能使用水平和垂直翻转滤镜的解决方法

本来是个ahk给mpv添加开启硬解开关的脚本帖

但是结果是mpv初学者的学艺不精导致了绕了个弯路

下面有mpv达人给出的mpv源生开启硬解以及后续的双滤镜合并用法

所以把帖子从ahk分区移出了

多费力气,何不mpv原生实现?hwdec这个属性可以在运行中更改,CTRL+h是默认的切换软硬解快捷键。
如果你要自定义,input.conf里写

h cycle-values hwdec “auto” “no” #按h切换硬解软解

2 个赞

你真是我的哥

我gg到的另外的邪道有切换方法吗

mpv.conf

vf=format=fmt=bgra
强制输出bgra格式就可以在硬解模式下使用翻转滤镜

1 个赞

input.conf,可以写在一起

F2 vf toggle format=fmt=bgra;vf toggle hflip

1 个赞

太好了,这下我知道怎么折腾其他快捷键了
mpv想找点能浅显易懂的教程好难

我这里的mpv设置硬解,vo=gpu/gpu-next,hwdec=auto,这两个默认的值都能正常翻转。我觉得问题是不是在其他地方?

不是的,开启硬解不能使用部分滤镜是普遍存在的问题
不然我也搜不到在开启硬解时强制输出bgra来支持滤镜的这种邪道方法

我的是n卡,cpu是老cpu,没核显

1 个赞

我也是n卡,没有核显。
我查了下资料,你是不是用了非copy的硬解方案。我记得翻转滤镜需要在内存里处理,所以硬解方案最好使用copy的方案,比如dxva2-copy,d3d11va-copy,如果是新一点的n卡,可以使用nvdec-copy。如果非要用非copy方案,可以和楼上说的一样,强制bgra。软解没有这方面的问题。
参考资料:mpv_lazy:视频滤镜

copy模式损失效率,我机器差,不是很想用
以后升级了考虑
我去搜了资料保存了以后用

很多功能还是需要copy回内存处理的。

旋转可以用这个

自定义快捷键        cycle-values video-rotate 0 270 180 90;

没看到的是要翻转来着…

这个邪道损失的效率比auto-copy大多了。。。。中间转换格式比copy还要慢一倍

是我啊,大佬,在github看了你的教程,知道了画面处理链路后已经用nvdec-copy了
这个是我在b站搜的教程,那个时候理解比较浅薄