Skip to content

Commit

Permalink
add h26forge test
Browse files Browse the repository at this point in the history
Create a rootfs with rustc compiler to compile
and run h26forge.
h26forge will generate h264 test files to be parsed
with Gstreamer h264parse element.

Signed-off-by: Benjamin Gaignard <[email protected]>
  • Loading branch information
Benjamin Gaignard committed Dec 13, 2024
1 parent 5ba8918 commit 64837b7
Show file tree
Hide file tree
Showing 2 changed files with 59 additions and 0 deletions.
31 changes: 31 additions & 0 deletions config/core/rootfs-configs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -105,6 +105,37 @@ rootfs_configs:
imagesize: 2GB
debos_memory: 8G

bookworm-gst-h26forge:
rootfs_type: debos
debian_release: bookworm
arch_list:
- amd64
- arm64
- armhf
extra_packages_remove:
- bash
- e2fslibs
- e2fsprogs
- klibc-utils
- libext2fs2
- libgnutls30
- libklibc
- libncursesw6
- libp11-kit0
- libunistring2
- sensible-utils
extra_packages:
- ca-certificates
- python3-requests
- python3-yaml
- rustc
- unzip
- wget
script: "scripts/bookworm-gst-h26forge.sh"
test_overlay: "overlays/fluster"
imagesize: 2GB
debos_memory: 8G

bookworm-igt:
rootfs_type: debos
debian_release: bookworm
Expand Down
28 changes: 28 additions & 0 deletions config/rootfs/debos/scripts/bookworm-gst-h26forge.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#!/bin/bash

H26FORGE_URL=https://github.com/h26forge/h26forge.git
H26FORGE=target/release/h26forge
output_dir="test_videos"
tool_args="--mp4 --mp4-rand-size --safestart"
generation_args="--small --ignore-edge-intra-pred --ignore-ipcm --config config/default.json"

git clone --depth 1 $H26FORGE_URL .

cd h264forge

cargo build --release

if [ ! -d h264forge ]; then
echo "can't clone $H26FORGE_URL"
exit 1
fi
if [ ! -f $H26FORGE ]; then
echo "h26forge not found"
exit 1
fi

mkdir -p $output_dir
for i in $(seq -f "%04g" 0 99); do
$H26FORGE $tool_args generate $generation_args -o $output_dir/video$i.264
gst-launch-1.0 filesrc location=$output_dir/video$i.264.mp4 ! parsebin ! fakesink
done

0 comments on commit 64837b7

Please sign in to comment.