-
Notifications
You must be signed in to change notification settings - Fork 164
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] switch: hwaccel & deco3d #196
Conversation
我这边的测试结果 H264@High@L4 和 HEVC@Main@L4 的1080p 硬解都OK |
@xfangfang 升级到 0.36.0 似乎能解决部分问题?https://gbatemp.net/threads/nxmp-nintendo-switch-media-player.601868/post-10234489
好像 averne 解决的 10bit 解码的问题?averne/FFmpeg@f01d976 等等 nxmp 更新再看看怎么做吧 |
@dragonflylee nxmp 更新 mpv 可能是因为他原来的版本太低了(0.34.1),averne 的 mpv 用的是 0.35.1 应该是正好能用FFmpeg 6.0 的。(他还没开源,或许还有一些内容要修改) |
关于 https://switchbrew.org/w/index.php?title=NV_services&mobileaction=toggle_view_desktop#NvDrvPermission Moonlight-Switch 的做法似乎是在 https://github.com/averne/FFmpeg/blob/tx1/libavutil/hwcontext_tx1.c#L338 |
@dragonflylee 好像确实是这个问题,deko3d 初始化时候也会调用 nvInitialize,所以我在borealis那边修改了一下:xfangfang/borealis@1e45b3c |
添加编译参数 -DUSE_DEKO3D=ON 可将应用底层图形 API 从 OpenGL 切换到 deco3d。(需要搭配适配的 ffmpeg 与 mpv)
测试绝大部分 h264/h265 视频可以硬解,运行功耗最大降低 1W+。
存在的问题:
/dev/nvhost-nvjpg
),不知道是不是和机器内已有的插件冲突现在调用 MPV 方式类似之前在 opengl2/es 上使用的 MPV_NO_FB 模式(不使用独立的 framebuffer,直接控制mpv绘制到屏幕上)。进一步的优化需要异步渲染,更省GPU,减少硬解画面撕裂(或许可以)
Many thanks to averne for the assistance, and gratitude to this hero who single-handedly improves the overall multimedia application experience on the HOS.