48 lines
2.1 KiB
Markdown
48 lines
2.1 KiB
Markdown
# Phase 4 状态
|
||
|
||
## 结论
|
||
|
||
**Phase 4 CODE COMPLETE / DEVICE VALIDATION PENDING**
|
||
|
||
GPU interop:**BLOCKED**(见 `OHCODEC-BLOCKER-001`)。
|
||
|
||
代码完成了 MPV 识别 FFmpeg OHCodec、H.264/HEVC decoder selection、能力检查、
|
||
direct-surface 实验接入、软件回退、诊断和构建矩阵。当前没有实体设备,因此
|
||
不能写成 hardware decode complete、zero-copy complete 或 HDR complete。
|
||
|
||
## 验证矩阵
|
||
|
||
| 项目 | 状态 |
|
||
| --- | --- |
|
||
| `AV_PIX_FMT_OHCODEC` → `IMGFMT_OHCODEC` | COMPILE VERIFIED |
|
||
| `AV_HWDEVICE_TYPE_OHCODEC` 独立 backend | COMPILE VERIFIED |
|
||
| H.264 / HEVC selection guard | COMPILE VERIFIED;DEVICE TEST REQUIRED |
|
||
| API24 OHCodec capability 查询 | COMPILE VERIFIED;设备返回值待验 |
|
||
| Direct Surface plumbing | COMPILE VERIFIED;需独占窗口 |
|
||
| GPU interop mapper | BLOCKED:上游无可导入 non-surface output contract |
|
||
| Software decode / OHAudio | CLEAN BUILD VERIFIED |
|
||
| OHCodec-enabled / software / GL-probe | AArch64 BUILD VERIFIED |
|
||
| Playback Lab HAP | BUILD VERIFIED;unsigned |
|
||
| Emulator | APP START + EGL SMOKE VERIFIED;不是硬解验证 |
|
||
| Physical device | PENDING |
|
||
|
||
## 产物与审计
|
||
|
||
- `build/ohos-arm64/prefix/lib/libmpv.so.2.5.0` 为 AArch64 ELF,保留 OHCodec、
|
||
OHAudio 及诊断符号。
|
||
- `scripts/build-mpv-ohos-software.sh` 使用独立 build 目录关闭 OHCodec,避免
|
||
软件回退配置与硬解构建互相污染。
|
||
- FFmpeg 保持锁定 upstream commit,未复制 SDK/第三方实现;许可证审计见
|
||
`LICENSE_AUDIT.md`。
|
||
- 当前 blocker、NativeBuffer 生命周期、EGL/fence/crop/stride 待验证项见
|
||
`DOCS/OHCODEC_GPU_INTEROP_DESIGN.md` 与 `DOCS/HDR_PIPELINE_NOTES.md`。
|
||
- Phase 4.5 FFmpeg export contract 独立维护于
|
||
`../Velix-FFmpeg-Harmony`;MPV 只提供
|
||
`scripts/build-mpv-ohos-ffmpeg-harmony.sh` 前缀切换,未接入 mapper。
|
||
|
||
## 下一阶段最大风险
|
||
|
||
实体设备上的 codec capability、surface recreate、output buffer ownership、
|
||
acquire/release fence、crop/stride/color metadata,以及如何在不修改 FFmpeg
|
||
surface contract 的前提下把硬件帧交给 MPV GPU composition。
|