Repository navigation
Commit f57034d
committed
feat: adaptive multi-view decoding and a D button for the debug text (#85)
- Every camera stays on screen: cells start on key frames only (IDR/IRAP and parameter
sets), then are promoted to full rate in priority order (the audio cell, then slot
order) while the estimated load (macroblocks/s) fits the capacity. Promotion waits for
the next key frame. Decoder losses (queue overflow, no input buffer) for 3 s demote the
lowest-priority full cell and lower the capacity; a load that plays 30 s without losses
is proven, and a probe up to 25 % above the capacity is tried. Pausing remains only as a
last resort when even key frames are lost.
- DecodePlanner holds this logic (pure Java, tested). The capacity starts from the
decoder's declared budget (getSupportedFrameRatesFor 1080p) and the learnt value is
stored per device (settings 'decoder_capacity').
- Corner text: 'WxH codec key frames · N fps' for key-frame cells.
- D in the menu after U turns the debug text on/off (stored). Off: only cells that need
attention (not connected, errors, limits, paused, key frames) show text.
- READMEs: D in the menu table, adaptive grid and the measured AG-216 budget.
- Tests: DecodePlannerTest; CellStatsTest updated (key-frame start, key NAL types).1 parent d88da73 commit f57034d
10 files changed
Lines changed: 504 additions & 49 deletions
File tree
- android/app/src
- main/java/com/openipc/decoder
- test/java/com/openipc/decoder
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
62 | 62 | | |
63 | 63 | | |
64 | 64 | | |
| 65 | + | |
65 | 66 | | |
66 | 67 | | |
67 | 68 | | |
| |||
88 | 89 | | |
89 | 90 | | |
90 | 91 | | |
91 | | - | |
| 92 | + | |
92 | 93 | | |
93 | 94 | | |
94 | 95 | | |
| |||
226 | 227 | | |
227 | 228 | | |
228 | 229 | | |
229 | | - | |
| 230 | + | |
230 | 231 | | |
231 | 232 | | |
232 | 233 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
62 | 62 | | |
63 | 63 | | |
64 | 64 | | |
| 65 | + | |
65 | 66 | | |
66 | 67 | | |
67 | 68 | | |
| |||
88 | 89 | | |
89 | 90 | | |
90 | 91 | | |
91 | | - | |
| 92 | + | |
92 | 93 | | |
93 | 94 | | |
94 | 95 | | |
| |||
226 | 227 | | |
227 | 228 | | |
228 | 229 | | |
229 | | - | |
| 230 | + | |
230 | 231 | | |
231 | 232 | | |
232 | 233 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
62 | 62 | | |
63 | 63 | | |
64 | 64 | | |
| 65 | + | |
65 | 66 | | |
66 | 67 | | |
67 | 68 | | |
| |||
88 | 89 | | |
89 | 90 | | |
90 | 91 | | |
91 | | - | |
| 92 | + | |
92 | 93 | | |
93 | 94 | | |
94 | 95 | | |
| |||
226 | 227 | | |
227 | 228 | | |
228 | 229 | | |
229 | | - | |
| 230 | + | |
230 | 231 | | |
231 | 232 | | |
232 | 233 | | |
| |||
0 commit comments