Add VP8 sample encoder application (SVCT supported)

vp8enc is a simple VP8 encoder application.
It expects yuv420p raw video input and support
CQP, CBR and VBR modes. Encoded video is stored
in the IVF container fileformat.
It supports 2 or 3 temporal layers, which can
be activated by using the '--temp_svc X' command
line.
Note that the alternate reference frame is
not used - this design decission was carried
on from libyami - in order to allow single
Layer 2 frames to be dropped independently.

vp8enc and VP8 SVCT are part part of GSOC 2018.

Fixes https://github.com/intel/libva-utils/issues/108

The following fixes were done during the merge
processs:

fix typo in vp8enc_show_help

fix numbering of long_opts and minor typos

changed comment concerning QMatrix

added dedicated input surface

remove unecessary parameter settings for KEY Frames

changed assert to return VP8ENC_FAIL in command line checks

moved is_golden_refreshed to vaapi_context

added thread support for processing the input yuv
3 files changed
tree: 92f004afc861524b1cba7ff416ed74f92d18dc29
  1. common/
  2. decode/
  3. encode/
  4. putsurface/
  5. test/
  6. vainfo/
  7. videoprocess/
  8. .travis.yml
  9. Android.mk
  10. autogen.sh
  11. configure.ac
  12. CONTRIBUTING.md
  13. COPYING
  14. INSTALL
  15. Makefile.am
  16. meson.build
  17. meson_options.txt
  18. NEWS
  19. README.md
README.md

Stories in Ready Build Status Coverity Scan Build Status

#Libva-utils Project

libva-utils is a collection of utilities and examples to exercise VA-API in accordance with the libva project. --enable-tests (default = no) provides a suite of unit-tests based on Google Test Framework. A driver implementation is necessary to properly operate.

VA-API is an open-source library and API specification, which provides access to graphics hardware acceleration capabilities for video processing. It consists of a main library and driver-specific acceleration backends for each supported hardware vendor.

If you would like to contribute to libva, check our Contributing guide.

We also recommend taking a look at the ‘janitorial’ bugs in our list of open issues as these bugs can be solved without an extensive knowledge of libva-utils.

We would love to help you start contributing!

The libva-utils development team can be reached via our mailing list and on IRC in channel ##intel-media on Freenode.

We also use #Slack and host VAAPI Media Slack Team. You can signup by submitting your email address to our Slack Team invite page.

Slack complements our other means of communication. Pick the one that works best for you!