|
Packit |
1244b8 |
[![Build Status](https://travis-ci.org/intel/libyami.svg?branch=apache)](https://travis-ci.org/intel/libyami)
|
|
Packit |
1244b8 |
[![Coverity Scan Build Status](https://scan.coverity.com/projects/11605/badge.svg)](https://scan.coverity.com/projects/01org-libyami)
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
libyami
|
|
Packit |
1244b8 |
-------
|
|
Packit |
1244b8 |
Yet Another Media Infrastructure.
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
It is YUMMY to your video experience on Linux like platform.
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
Yami is core building block for media solution. it parses video stream
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
and decodes them leverage hardware acceleration.
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
* Copyright (c) 2010, The WebM Project authors.
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
* Copyright (C) 2011-2018 Intel Corporation
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
* Copyright (C) 2015-2016 Alibaba
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
License
|
|
Packit |
1244b8 |
-------
|
|
Packit |
1244b8 |
libyami libraries are available under the terms of the
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
Apache License 2.0
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
Overview
|
|
Packit |
1244b8 |
--------
|
|
Packit |
1244b8 |
libyami consists of several libraries:
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
* `codecparsers`: it is bit stream parser,
|
|
Packit |
1244b8 |
* `common`: common objects/operation to work with vaapi (hw acceleration interface)
|
|
Packit |
1244b8 |
* `decoder`: video decoder implementation
|
|
Packit |
1244b8 |
* `encoder`: video encoder implementation
|
|
Packit |
1244b8 |
* `vpp`: video post process implementation
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
Features
|
|
Packit |
1244b8 |
--------
|
|
Packit |
1244b8 |
* MPEG-2, VC-1, WMV 9 (WMV3), H.264, HEVC (H.265), VP8, VP9, and JPEG ad-hoc decoders
|
|
Packit |
1244b8 |
* H.264, HEVC (H.265), VP8, VP9, and JPEG ad-hoc encoders
|
|
Packit |
1244b8 |
* Sharpening, Denoise, Deinterlace, Hue, Saturation, Brightness, Contrast, CSC and scaling
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
Requirements
|
|
Packit |
1244b8 |
------------
|
|
Packit |
1244b8 |
Hardware requirements
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
* Intel Sandybridge, Ivybridge, Haswell, Broadwell, Skylake, Kaby Lake (HD Graphics)
|
|
Packit |
1244b8 |
* Intel Bay Trail, Braswell, Apollo Lake, Gemini Lake
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
Sources
|
|
Packit |
1244b8 |
-------
|
|
Packit |
1244b8 |
Git repository for work-in-progress changes is available at:
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
<https://github.com/01org/libyami>
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
Demos, Examples and Test Applications
|
|
Packit |
1244b8 |
---------------------------------------------------
|
|
Packit |
1244b8 |
The libyami-utils project provides various example, test and demo
|
|
Packit |
1244b8 |
applications that use libyami. For more details, please refer to
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
https://github.com/01org/libyami-utils
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
Simple api demo application
|
|
Packit |
1244b8 |
---------------------------
|
|
Packit |
1244b8 |
https://github.com/01org/libyami-utils/blob/master/examples/simpleplayer.cpp
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
FFmpeg integration
|
|
Packit |
1244b8 |
--------------------------
|
|
Packit |
1244b8 |
You can refer to https://github.com/01org/ffmpeg_libyami for FFmpeg integration.
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
You can report FFmpeg related issue to https://github.com/01org/ffmpeg_libyami/issues
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
Build instructions
|
|
Packit |
1244b8 |
------------------
|
|
Packit |
1244b8 |
https://github.com/01org/libyami/wiki/Build
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
Docs
|
|
Packit |
1244b8 |
----
|
|
Packit |
1244b8 |
http://01org.github.io/libyami_doxygen/index.html
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
Testing
|
|
Packit |
1244b8 |
-------
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
Unit Tests
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
The gtest framework library <https://github.com/google/googletest> is required
|
|
Packit |
1244b8 |
in order to write and compile unit tests in libyami. To make it convenient to
|
|
Packit |
1244b8 |
use, we add gtest source to subdirectory `gtestsrc`. The gtest documentation
|
|
Packit |
1244b8 |
can be found in their source tree under `docs` (online or in the subdirectory
|
|
Packit |
1244b8 |
`gtestsrc`).
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
To build gtest and enable the unit tests, when configuring libyami you need to
|
|
Packit |
1244b8 |
specify:
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
--enable-tests
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
Contributing
|
|
Packit |
1244b8 |
------------
|
|
Packit |
1244b8 |
Create pull request at https://github.com/01org/libyami/compare
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
Code style
|
|
Packit |
1244b8 |
----------
|
|
Packit |
1244b8 |
https://github.com/01org/libyami/wiki/Coding-Style
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
Review process
|
|
Packit |
1244b8 |
--------------
|
|
Packit |
1244b8 |
Create pull requests at <https://github.com/01org/libyami/compare>
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
We highly recommend that unit tests accompany your contributed patches. See
|
|
Packit |
1244b8 |
"Testing" section above. However, we do understand that not everything can
|
|
Packit |
1244b8 |
be tested by a unit test. So use your best judgement to determine if a unit
|
|
Packit |
1244b8 |
test is appropriate for your contribution. The maintainer(s) reserve the
|
|
Packit |
1244b8 |
right to refuse submission's without unit tests, when reasonable, or if a
|
|
Packit |
1244b8 |
submission causes existing unit tests to regress.
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
Mail list
|
|
Packit |
1244b8 |
---------
|
|
Packit |
1244b8 |
libyami@lists.01.org
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
Reporting Bugs
|
|
Packit |
1244b8 |
--------------
|
|
Packit |
1244b8 |
Bugs can be reported in the github system at:
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
<https://github.com/01org/libyami/issues/new>
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
## Reporting a security issue
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
Please mail to secure-opensource@intel.com directly for security issue
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
|
|
Packit |
1244b8 |
FAQ
|
|
Packit |
1244b8 |
---
|
|
Packit |
1244b8 |
https://github.com/01org/libyami/wiki/FAQ
|