All Projects → intel → Libyami

intel / Libyami

Licence: apache-2.0
Yet Another Media Infrastructure. it is core part of media codec with hardware acceleration, it is yummy to your video experience on Linux like platform.

Build Status Coverity Scan Build Status


Yet Another Media Infrastructure.

It is YUMMY to your video experience on Linux like platform.

Yami is core building block for media solution. it parses video stream

and decodes them leverage hardware acceleration.

  • Copyright (c) 2010, The WebM Project authors.

  • Copyright (C) 2011-2018 Intel Corporation

  • Copyright (C) 2015-2016 Alibaba


libyami libraries are available under the terms of the

Apache License 2.0


libyami consists of several libraries:

  • codecparsers: it is bit stream parser,
  • common: common objects/operation to work with vaapi (hw acceleration interface)
  • decoder: video decoder implementation
  • encoder: video encoder implementation
  • vpp: video post process implementation


  • MPEG-2, VC-1, WMV 9 (WMV3), H.264, HEVC (H.265), VP8, VP9, and JPEG ad-hoc decoders
  • H.264, HEVC (H.265), VP8, VP9, and JPEG ad-hoc encoders
  • Sharpening, Denoise, Deinterlace, Hue, Saturation, Brightness, Contrast, CSC and scaling


Hardware requirements

  • Intel Sandybridge, Ivybridge, Haswell, Broadwell, Skylake, Kaby Lake (HD Graphics)
  • Intel Bay Trail, Braswell, Apollo Lake, Gemini Lake


Git repository for work-in-progress changes is available at:

Demos, Examples and Test Applications

The libyami-utils project provides various example, test and demo applications that use libyami. For more details, please refer to

Simple api demo application

FFmpeg integration

You can refer to for FFmpeg integration.

You can report FFmpeg related issue to

Build instructions



Unit Tests

The gtest framework library is required in order to write and compile unit tests in libyami. To make it convenient to use, we add gtest source to subdirectory gtestsrc. The gtest documentation can be found in their source tree under docs (online or in the subdirectory gtestsrc).

To build gtest and enable the unit tests, when configuring libyami you need to specify:



Create pull request at

Code style

Review process

Create pull requests at

We highly recommend that unit tests accompany your contributed patches. See "Testing" section above. However, we do understand that not everything can be tested by a unit test. So use your best judgement to determine if a unit test is appropriate for your contribution. The maintainer(s) reserve the right to refuse submission's without unit tests, when reasonable, or if a submission causes existing unit tests to regress.

Mail list

[email protected]

Reporting Bugs

Bugs can be reported in the github system at:

Reporting a security issue

Please mail to [email protected] directly for security issue


Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].