build: isolate FFmpeg-Harmony MPV output prefix
This commit is contained in:
1 parent
329728ce56
commit
09de481b03
6 files changed
+11
-6
No files matched your search
@@ -11,8 +11,8 @@ Phase 1 已在 DevEco Studio OpenHarmony SDK 6.1.1.125 / API 24 下生成真实
|
||||
| MPV | `182fa6ca49f455cadb884858f386e2f00540aeb7` / 0.41.0-UNKNOWN |
|
||||
| FFmpeg | `3acec0a1af2dda0a0838689b8b8649e7deb080a0` |
|
||||
| libmpv | `build/ohos-arm64/prefix/lib/libmpv.so.2.5.0` |
|
||||
| Size | 34,308,568 bytes |
|
||||
| SHA-256 | `2de66d76a91b167b632bb824a2149f644c8e667bb2ebbd003e18c6c7e7eeca46` |
|
||||
| Size | 34,314,184 bytes |
|
||||
| SHA-256 | `80e4c6fda86d9822543615a97045fff3641e9125b23a4f736fb8511fe5a47790` |
|
||||
| Architecture / ABI | ELF64, little-endian, AArch64, System V ABI, shared object, SONAME `libmpv.so.2` |
|
||||
| Toolchain | OHOS Clang/LLD 15.0.4, target `aarch64-linux-ohos`, musl sysroot |
|
||||
| MPV / build files | 7:`ao_harmony.c/.h`、AO 注册、Meson feature、OHOS build script、依赖 allowlist;第三方依赖源码修改 0 |
|
||||
@@ -71,7 +71,8 @@ Phase 4.5 的 FFmpeg fork 独立维护于
|
||||
```
|
||||
|
||||
脚本默认消费 `../Velix-FFmpeg-Harmony/build/ohos-arm64/prefix`,也可用
|
||||
`FFMPEG_PREFIX=/path/to/prefix MPV_BUILD_ROOT=/path/to/mpv-build` 覆盖。默认
|
||||
`FFMPEG_PREFIX=/path/to/prefix MPV_BUILD_ROOT=/path/to/mpv-build MPV_PREFIX=/path/to/mpv-prefix` 覆盖。切换脚本默认把 MPV 安装到
|
||||
`build/ohos-arm64/prefix-mpv-ffmpeg-harmony`,避免覆盖默认 prefix。默认
|
||||
`build-mpv-ohos.sh` 与 `build-mpv-ohos-software.sh` 的原有前缀和
|
||||
`harmony-ohcodec-gl=disabled` 行为不变。本次切换构建已通过 AArch64 ELF、符号
|
||||
和动态依赖校验,但没有进入 GPU mapper 或设备硬解验证。
|
||||
@@ -5,7 +5,7 @@
|
||||
- 基线:MPV `182fa6ca49f455cadb884858f386e2f00540aeb7`,分支 `harmony-port`。
|
||||
- SDK:OpenHarmony API 24 / 6.1.1.125 / `aarch64-linux-ohos` / Clang 15.0.4。
|
||||
- 关键结论:首版 GLES+EGL+libmpv Render API;OHAudio AO;官方 FFmpeg OHCodec 路线。
|
||||
- Phase 1 产物:`build/ohos-arm64/prefix/lib/libmpv.so.2.5.0`,AArch64 ELF,OpenGL Render API symbols 完整。
|
||||
- Phase 1 产物:`build/ohos-arm64/prefix/lib/libmpv.so.2.5.0`,AArch64 ELF,OpenGL Render API symbols 完整;当前默认重建大小约 34.3 MB。
|
||||
- 远程:`origin` 为私有 Gitea 仓库,默认分支 `harmony-port`;`upstream` 为 MPV 官方仓库。
|
||||
- Phase 4.5:独立 `../Velix-FFmpeg-Harmony`,分支 `harmony-ohcodec-export`,远程 commit `f1cc09cde1`;MPV 通过 `scripts/build-mpv-ohos-ffmpeg-harmony.sh` 选择其 prefix。
|
||||
- Phase 2:`playback_lab/` 独立 HAP,XComponent/OHNativeWindow/EGL/libmpv/软件解码已通;实体设备待验。
|
||||
|
||||
@@ -22,3 +22,4 @@
|
||||
- Phase 4 产物:`build/ohos-arm64/prefix/lib/libmpv.so.2.5.0`;软件构建位于 `build/ohos-arm64/build/mpv-software/libmpv.so.2.5.0`;HAP 位于 `playback_lab/entry/build/default/outputs/default/entry-default-unsigned.hap`。
|
||||
- FFmpeg-Harmony:`../Velix-FFmpeg-Harmony`,origin `https://git.leee.xin/leeexin/Velix-FFmpeg-Harmony.git`,upstream `https://github.com/FFmpeg/FFmpeg.git`,branch `harmony-ohcodec-export`;prefix `../Velix-FFmpeg-Harmony/build/ohos-arm64/prefix`。
|
||||
- MPV fork 接入:`scripts/build-mpv-ohos-ffmpeg-harmony.sh`;可用 `FFMPEG_PREFIX` 与 `MPV_BUILD_ROOT` 覆盖默认路径,默认 MPV/软件脚本不变。
|
||||
- MPV fork 输出:切换脚本默认安装到 `build/ohos-arm64/prefix-mpv-ffmpeg-harmony`,不会覆盖默认 `prefix`。
|
||||
+1
-1
@@ -4,7 +4,7 @@
|
||||
|
||||
- 状态:Phase 4.5 CODE COMPLETE / DEVICE VALIDATION PENDING;GPU INTEROP MAPPER 未进入;FFmpeg-Harmony export contract 已完成独立构建/探针,实体机硬解验收未完成。
|
||||
- 已完成:远程闭环、固定依赖、隔离工具链、C/C++ 探针、FFmpeg/OpenSSL/字体栈/libplacebo、AArch64 `libmpv.so.2.5.0`、ABI/符号/污染/许可证审计。
|
||||
- 产物:`build/ohos-arm64/prefix/lib/libmpv.so.2.5.0`,34,308,568 bytes;DT_NEEDED 含 `libohaudio.so`。
|
||||
- 产物:`build/ohos-arm64/prefix/lib/libmpv.so.2.5.0`,当前重建 34,314,184 bytes;切换构建位于 `build/ohos-arm64/prefix-mpv-ffmpeg-harmony/lib/libmpv.so.2.5.0`;DT_NEEDED 含 `libohaudio.so`。
|
||||
- 已完成:独立 HAP、XComponent/OHNativeWindow、EGL ES3、libmpv OpenGL Render、软件解码本地 MP4 首帧、播放控制与释放重入。
|
||||
- 已完成:`ao_harmony` PCM float32→S16 fallback、采样率/mono-stereo 协商、pause/resume/stop/flush/release、timestamp epoch、starvation/flush metrics;`build-all-ohos.sh`、video-only/audio-enabled 构建和 Playback Lab HAP 均通过。
|
||||
- 已完成:OHCodec H.264/HEVC capability 查询、`hwdec=ohcodec` direct-surface 实验驱动、显式软件回退、Playback Lab requested/actual/metrics 诊断、软件/硬解/GL probe 构建矩阵;FFmpeg 未修改。
|
||||
|
||||
@@ -5,6 +5,7 @@ set -eu
|
||||
PROJECT_ROOT=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)
|
||||
FFMPEG_PREFIX=${FFMPEG_PREFIX:-$PROJECT_ROOT/../Velix-FFmpeg-Harmony/build/ohos-arm64/prefix}
|
||||
MPV_BUILD_ROOT=${MPV_BUILD_ROOT:-$PROJECT_ROOT/build/ohos-arm64/build/mpv-ffmpeg-harmony}
|
||||
MPV_PREFIX=${MPV_PREFIX:-$PROJECT_ROOT/build/ohos-arm64/prefix-mpv-ffmpeg-harmony}
|
||||
|
||||
test -d "$FFMPEG_PREFIX" || {
|
||||
printf 'Missing FFmpeg-Harmony prefix: %s\n' "$FFMPEG_PREFIX" >&2
|
||||
@@ -12,4 +13,5 @@ test -d "$FFMPEG_PREFIX" || {
|
||||
}
|
||||
|
||||
FFMPEG_PREFIX="$FFMPEG_PREFIX" MPV_BUILD_ROOT="$MPV_BUILD_ROOT" \
|
||||
MPV_PREFIX="$MPV_PREFIX" \
|
||||
"$PROJECT_ROOT/scripts/build-mpv-ohos.sh"
|
||||
@@ -4,6 +4,7 @@ set -eu
|
||||
|
||||
. "$(dirname -- "$0")/setup-ohos-env.sh"
|
||||
FFMPEG_PREFIX=${FFMPEG_PREFIX:-$PREFIX}
|
||||
MPV_PREFIX=${MPV_PREFIX:-$PREFIX}
|
||||
BUILD=${MPV_BUILD_ROOT:-$OHOS_BUILD_ROOT/build/mpv}
|
||||
LOG=$OHOS_BUILD_ROOT/logs/mpv.log
|
||||
|
||||
@@ -34,7 +35,7 @@ else
|
||||
fi
|
||||
|
||||
if ! meson setup "$BUILD" "$PROJECT_ROOT" $setup_mode \
|
||||
--cross-file "$CROSS_FILE" --prefix "$PREFIX" --buildtype release \
|
||||
--cross-file "$CROSS_FILE" --prefix "$MPV_PREFIX" --buildtype release \
|
||||
-Ddefault_library=shared -Dauto_features=disabled \
|
||||
-Dcplayer=false -Dlibmpv=true -Dtests=false -Dfuzzers=false \
|
||||
-Dgpl=true -Dbuild-date=false -Dplain-gl=enabled -Dgl=enabled \
|
||||
|
||||
Reference in new issue
Block a user