#!/bin/bash # Safe baseline probe — only the 3 codecs that should work on this kernel. # HEVC SKIPPED (oopses kernel rkvdec_hevc_prepare_hw_st_rps). # VP9 SKIPPED (mainline-rc3 RK3588 rkvdec doesn't expose V4L2_PIX_FMT_VP9_FRAME). # AV1 SKIPPED (libva backend iter38b only probes 2 fds, not the av1-vpu-dec at /dev/media3). echo "=== ampere baseline: libva HW decode probe (H.264 + VP8 + MPEG-2) ===" for codec in h264 vp8 mpeg2; do case $codec in h264) cf=$HOME/measurements/encoded/bbb_60s_720p.h264.mp4 ; route="rkvdec /dev/video1" ;; mpeg2) cf=$HOME/measurements/encoded/bbb_60s_720p.mpeg2.ts ; route="hantro /dev/video2" ;; vp8) cf=$HOME/measurements/encoded/bbb_60s_720p.vp8.webm ; route="hantro /dev/video2" ;; esac t0=$(date +%s.%N) out=$(LIBVA_DRIVER_NAME=v4l2_request timeout 12 ffmpeg -hide_banner -loglevel error \ -hwaccel vaapi -hwaccel_output_format vaapi \ -i "$cf" -vf "hwdownload,format=nv12" -f null - 2>&1