| # 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. |
| |
| |