With the mpv backend on Android, every subtitle change cost two dropped video frames on a Fire TV Cube (36 per minute with PGS SDH subtitles, 15 with srt, #2240) and accounts for the residual drops on the Shield in #2202, whose sessions also had subtitles on. The diagnostic build showed the drops in pairs: a frame handed over on time, then the video thread waking 90-100 ms late. vo_mediacodec rasterized subtitles and blitted them into the OSD Surface on that thread, and locking the Surface waits CPU-side for the compositor - dequeue plus the release fence, one or two vsyncs, 42-83 ms at 23.976 Hz. Kodi, VLC 4 and ExoPlayer all keep subtitle output off the presentation thread. Move the native pin to edde746/mpv-build@88c1b135e7: the whole OSD stage runs on its own thread, fed with the video pts at every flip, so the video thread never waits on the compositor or on libass. Subtitles latch on the same vsync as the video in the common case and one later when the lock has to wait. Shield on vo=mediacodec with ASS subtitles: no video-thread stage over 10 ms and 0 drops across five 150 s runs, subtitles verified on screen; DTS-HD MA 4K unchanged at 0 drops. The pin keeps the #2202 diagnostics and adds VO stage timing to them. Apple, Linux and Windows assets are unchanged.
58 lines
2.1 KiB
JSON
58 lines
2.1 KiB
JSON
{
|
|
"artifacts": {
|
|
"android": {
|
|
"assetBase": "https://github.com/edde746/mpv-build/releases/download/binaries-android",
|
|
"assets": {
|
|
"arm64-v8a": {
|
|
"asset": "libmpv-android-720132fd31ef-arm64-v8a.tar.gz",
|
|
"checksum": "326693e4d1bf76dd0f91772bddb64ab98ae6f0199b04be289566131389618bd4"
|
|
},
|
|
"armeabi-v7a": {
|
|
"asset": "libmpv-android-720132fd31ef-armeabi-v7a.tar.gz",
|
|
"checksum": "531747a7d13ff272bf6fec52a458ec75f1d7eced85c54df05d3f745ab85f50af"
|
|
},
|
|
"x86": {
|
|
"asset": "libmpv-android-720132fd31ef-x86.tar.gz",
|
|
"checksum": "9d72bab8f7bc4395df1fc241920c595eb5f1da559d33b7d9fe52034c12814261"
|
|
},
|
|
"x86_64": {
|
|
"asset": "libmpv-android-720132fd31ef-x86_64.tar.gz",
|
|
"checksum": "f445f0eb299b59f2ed9f37b33cf23d12492e3cb23cf1fe4d4411e6343b4cf5f5"
|
|
}
|
|
},
|
|
"key": "720132fd31ef"
|
|
},
|
|
"linux": {
|
|
"assetBase": "https://github.com/edde746/mpv-build/releases/download/binaries-linux",
|
|
"assets": {
|
|
"aarch64": {
|
|
"asset": "libmpv-linux-8fb6da562f10-aarch64.tar.zst",
|
|
"checksum": "35e02d31b3b3aaa52272bab4dc54ef328fe8ecc92c2eaa2a015c83b72dfa4bc1"
|
|
},
|
|
"x86_64": {
|
|
"asset": "libmpv-linux-8fb6da562f10-x86_64.tar.zst",
|
|
"checksum": "d3fbbca4d1457dc9205848b50e4483cb33f3877a5c9a3e31f7710f6c95e1e539"
|
|
}
|
|
},
|
|
"key": "8fb6da562f10"
|
|
},
|
|
"windows": {
|
|
"assetBase": "https://github.com/edde746/mpv-build/releases/download/binaries-windows",
|
|
"assets": {
|
|
"aarch64": {
|
|
"asset": "libmpv-windows-500299d05130-aarch64.zip",
|
|
"checksum": "8a4c1a444ba18b1a7a3418a03b7eab23b1fd3496e8e3a52b73673e89eadb4364"
|
|
},
|
|
"x86_64": {
|
|
"asset": "libmpv-windows-500299d05130-x86_64.zip",
|
|
"checksum": "30da11572f25a908cdcd4ea57b45930a21917135a68cb24bc32fd0863af610d0"
|
|
}
|
|
},
|
|
"key": "500299d05130"
|
|
}
|
|
},
|
|
"commit": "88c1b135e70de1c7004d2fd5559ac0965782cbce",
|
|
"formatVersion": 1,
|
|
"repo": "edde746/mpv-build"
|
|
}
|