Intel media-driver on Fuchsia

Meta-data

Name: media-driver URL: https://01.org/intel-media-for-linux License: MIT,X11 License File: LICENSE.md Upstream Git: https://github.com/intel/media-driver Description: The Intel(R) Media Driver for VAAPI is a new VA-API (Video Acceleration API) user mode driver supporting hardware accelerated decoding, encoding, and video post processing for GEN based graphics hardware.

Build

Dependencies

libva and gmmlib are needed to build the media-driver. libva-utils is useful for testing. Run jiri init -fetch-optional=vaapi-intel, then run jiri update for the change to take effect.

Codec Runner

The codec runner is used by Fuchsia applications to decode/encode video.

Add to fx set:

--with //third_party/intel/media-driver/fuchsia:codec_runner_intel_gen

A GN action wraps fuchsia/build.sh, an out-of-tree build process based on the native build systems (meson and cmake). The out of tree build emits shared libraries which currently are imported into the GN build.

Building tests

For run the mpeg2vldemo, which supports result validation:

--with //third_party/intel/libva-utils/fuchsia:mpeg2vldemo

Flags

For debug logging:

--args intel_media_driver_debug=true

Usage

VA entry points are provided by libva.so. This library dynamically links to the client driver library, iHD_drv_video.so.

fx test mpeg2vldemo

Uploading to CIPD and rolling

  1. Build the codec runner in release mode
  2. Run python3 fuchsia/upload.py --out-dir=<OUT_DIR>
  3. Build the codec runner in debug mode
  4. Run python3 fuchsia/upload.py --out-dir=<OUT_DIR> --debug
  5. The scripts modified the integration/ repo, so upload a change to that.