# 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。