mirror of
git://f0xx.org/android_cast
synced 2026-07-29 04:18:09 +03:00
snap + backend headache
This commit is contained in:
@@ -2,8 +2,27 @@
|
||||
|
||||
Research and recommendations for **movie cast** vs **video cast** quality enhancement in the Android Cast project. Combines user requirements, comparison tables, algorithm choices, placement (sender vs receiver), and fit with the current codebase.
|
||||
|
||||
**Status:** Planning / research only — not implemented.
|
||||
**Related code (today):** sender `ScreenCastService` → `VideoEncoder` / `AudioEncoder` → network; receiver network → `VideoDecoder` / `LibvpxCapableVideoDecoder` / `AudioDecoder` → `TextureView` / `AudioTrack`.
|
||||
**Status:** Receiver experimental presets in **Developer settings** — audio PCM chain + video GLES post-decode (immersive / HDR shaders).
|
||||
**Related code:** `app/.../receiver/av/*`, `ReceiverVideoGlRenderer`, `AudioDecoder`, `VideoDecoder` / `LibvpxVideoDecoder`, `ReceiverPlaybackActivity`, `DeveloperSettingsActivity`.
|
||||
|
||||
---
|
||||
|
||||
## 0. Receiver A/V presets (product, May 2026)
|
||||
|
||||
Developer-only combo in **Developer settings** (not the main cast drawer):
|
||||
|
||||
| Video | Audio | Pipeline today |
|
||||
|-------|-------|----------------|
|
||||
| **Default** — decode→Surface passthrough | **Default** — decode→AudioTrack passthrough | Hook only; no DSP / no GLES |
|
||||
| **Immersive** — GLES edge-aware denoise + mild sharpen | **Bass boost** — shelf below ~150 Hz, gentle treble cut | PCM + GLES; **intensity 0–10** |
|
||||
| **HDR** — GLES Reinhard-lite + saturation | **Immersive** — clarity + noise gate + limiter (no ML v1) | RNNoise-class deferred; see §8A |
|
||||
| | **Dolby 5.1 / 7.1** — crossfeed + short delays for stereo headsets | Spatialization stub; **intensity 0–10** |
|
||||
|
||||
**Immersive audio (this pass):** clearer, wider perceived loudness without extra hiss — high-pass (~90 Hz), envelope noise gate, mild presence lift, soft ceiling. Not “cinema reverb”; aim for intelligibility on cast compression artifacts. Scale all stages by **intensity/10**.
|
||||
|
||||
**Intensity:** 0 = bypass effect (passthrough samples); 10 = maximum for that preset.
|
||||
|
||||
**Integration:** `ReceiverAvRuntime` → `AudioDecoder` after AAC decode; video decoder → intermediate OES `SurfaceTexture` → GLES shader → `TextureView` (`ReceiverVideoGlHub`) when preset is immersive/HDR; default preset uses direct decode→`TextureView` Surface.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user