To verify that VDEC and/or VENC hardware accelerator is well involved when decoding and/or encoding, one can check the number of interrupts. One interrupt is raised at each frame decoding/encoding.
# Encode 10 seconds of video at 30 fps gst-launch-1.0 videotestsrc num-buffers=300 ! video/x-raw, width=640, height=480, framerate=30/1 ! encodebin profile="video/x-vp8" ! matroskamux ! filesink location=v_vp8_640x480_30fps.webm cat /proc/interrupts | grep venc 94: 300 0 GIC-0 199 Level 480e0000.venc
300 interrupts for 300 frames encoded (10 seconds of video at 30 fps)
gst-play-1.0 v_vp8_640x480_30fps.webm cat /proc/interrupts | grep vdec 93: 300 0 GIC-0 149 Level 480d0000.vdec
300 interrupts for 300 frames played (10 s of video at 30 fps)
Information |
More trace and debug information can be found in the article V4L2 video codec overview. |