GithubHelp home page GithubHelp logo

vaapi-fits's Introduction

Build Status Coverity Scan Build Status

VA-API Functional Integration Test Suite

The VA-API Functional Integration Test Suite is a configurable test suite for VA-API-based media software/middleware. It is written in Python and currently provides tests for VA-API hardware accelerated encode, decode and vpp video pipelines for gstreamer and ffmpeg. It can be easily extended to support additional VA-API-based software/middleware. The tests execute the video pipelines and validate their outputs using common image and video metrics such as checksum, SSIM and PSNR.

License

See LICENSE.md file

Overview

A vaapi-fits bootstrap script is provided at the top-level directory. By default, it loads a test config (spec) file from config/default and a baseline (references) file from baseline/default. These default files provide a minimal set of example test cases and can be used as a reference guide to create your own custom config and baseline files.

To have vaapi-fits load a custom config file, you can use the VAAPI_FITS_CONFIG_FILE environment variable. To use a custom baseline file, use --baseline-file command-line option.

Cloning the Repository

This project uses Git Large File Storage (Git LFS) to track the assets.tbz2 file. Therefore, you will need to install Git LFS before cloning this repository to your local system.

distro command
Fedora sudo dnf install git-lfs (NOTE: may not be available on older versions)
Ubuntu sudo apt install git-lfs && git lfs install (NOTE: may not be available on older versions)
Other please follow the instructions here

After Git LFS is installed, you can clone and interact with this repository using the same standard Git workflow as usual.

Requirements

  • Python Slash library.

    sudo pip3 install slash==1.5.1

  • Python NumPy library.

    sudo pip3 install numpy

  • Python scikit-image library.

    sudo pip3 install scikit-image

  • Python distro library.

    sudo pip3 install distro

Examples

  • Run test cases for SKL platform

    vaapi-fits run test --platform SKL

  • Run only gst-vaapi test cases on iHD driver for KBL platform

    LIBVA_DRIVER_NAME=iHD GST_VAAPI_ALL_DRIVERS=1 vaapi-fits run test/gst-vaapi --platform KBL

Some Useful Options

run sub-command

option description
--platform PLATFORM This flag is REQUIRED. Loads the capabilities for PLATFORM to determine which tests can execute (see lib/caps/ directory for supported platforms)
-v Make console more verbose (can be specified multiple times)
--artifact-retention NUM Retention policy for test artifacts (e.g. encoded or decoded output files) 0 = Keep None; 1 = Keep Failed; 2 = Keep All
--parallel-metrics SSIM and PSNR calculations will be processed in parallel mode
--parallel NUM Run test cases in parallel using NUM worker processes
--call-timeout SECONDS The maximum amount of time that any execution of external programs (e.g. ffmpeg, gst-launch-1.0, etc.) is allowed before being terminated/killed
-l DIR Specify root directory to store logs

Contributing

Patches should be submitted via GitHub pull-requests.

Patches should comply with the following format (note: summary and body must be separated by a blank line):

<component>: Change summary (limit to 50 characters)

More detailed explanation of your changes: Why and how.
Wrap it to 72 characters.

Signed-off-by: <[email protected]>

See here for some more good advice about writing commit messages.

Reporting a Security Issue:

Please visit http://intel.com/security for security issue report.

vaapi-fits's People

Contributors

uartie avatar focusluo avatar wangzj0601 avatar haribommi avatar zhuqingliang avatar zhoujd avatar zhangyuankun-star avatar zchrzhou avatar bin-qa avatar xhaihao avatar fulinjie avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.