mirror of
https://github.com/spoopyghosty0/frameport.git
synced 2026-10-25 20:02:00 +01:00
- Opt-in per game: only launchers of games whose recipe has frame.hw_video_decode (install stage, no APK change; suggested from analysis media_codec, ANALYSIS_VERSION 8) get the codec line (deployment.json hw_video_decode, finalize + upgrade_launchers). Games that had agent 70's per-game codec (Batman) keep it; their old <base>/frameport-codec folders are removed afterwards. Batman: catalog + migration batman_video_patches (frame.hw_video_decode + the hidden adapter setting surface_native, no more package check); 4XVR catalog. - Off switch: Settings -> Installing "Hardware video decoding" (library video.hw_decode, default on) -> agent video_codec_switch (video-codec/disabled, checked by the launcher line and the wrapper); FRAMEPORT_NO_HW_VIDEO=1 for one game. - Connection: the codec is checked once per connection, also after a failed install; a Frame keeps the same or a newer revision built elsewhere (logged) instead of flip-flopping between PCs. - Wrapper: the merged media_codecs.xml goes to $XDG_RUNTIME_DIR/frameport-video, never into the version directory. - Decoder: refused (busy) Iris sessions retry until 20 s after the plugin loaded (SteamVR's link holds a session ~12 s at game start), else 2 s, before the software fallback; VP9 capped at 4096x2304 (XML + component, larger decodes in software); hidden VP9 frames' pictures dropped. Manifest revision 7. - build.py builds from paths with spaces and from freshly extracted FFmpeg sources. Artifacts rebuilt here, identical from two trees (ext4 and the NTFS repo path, two NDK copies); PR #128's own sources rebuild to its binary. - AGENT_VERSION 71 (matches the connection's gate); triage hw-video-decoder-busy, PLAYBOOK row, docs.
33 lines
1.6 KiB
XML
33 lines
1.6 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<MediaCodecs>
|
|
<Decoders>
|
|
<MediaCodec name="OMX.frameport.hevc.decoder" type="video/hevc" rank="64">
|
|
<Limit name="size" min="128x128" max="8192x8192" />
|
|
<Limit name="alignment" value="2x2" />
|
|
<Limit name="block-size" value="16x16" />
|
|
<Limit name="block-count" range="1-138240" />
|
|
<Limit name="blocks-per-second" range="1-7864320" />
|
|
<Limit name="bitrate" range="1-245000000" />
|
|
<Limit name="concurrent-instances" max="1" />
|
|
</MediaCodec>
|
|
<MediaCodec name="OMX.frameport.avc.decoder" type="video/avc" rank="64">
|
|
<Limit name="size" min="128x128" max="8192x8192" />
|
|
<Limit name="alignment" value="2x2" />
|
|
<Limit name="block-size" value="16x16" />
|
|
<Limit name="block-count" range="1-138240" />
|
|
<Limit name="blocks-per-second" range="1-7864320" />
|
|
<Limit name="bitrate" range="1-245000000" />
|
|
<Limit name="concurrent-instances" max="1" />
|
|
</MediaCodec>
|
|
<MediaCodec name="OMX.frameport.vp9.decoder" type="video/x-vnd.on2.vp9" rank="64">
|
|
<Limit name="size" min="128x128" max="4096x2304" />
|
|
<Limit name="alignment" value="2x2" />
|
|
<Limit name="block-size" value="16x16" />
|
|
<Limit name="block-count" range="1-36864" />
|
|
<Limit name="blocks-per-second" range="1-2211840" />
|
|
<Limit name="bitrate" range="1-245000000" />
|
|
<Limit name="concurrent-instances" max="1" />
|
|
</MediaCodec>
|
|
</Decoders>
|
|
</MediaCodecs>
|