Skip to content

Commit

Permalink
oneVPL を VPL に修正する
Browse files Browse the repository at this point in the history
  • Loading branch information
voluntas committed Aug 3, 2024
1 parent 6379d5d commit 488fbdd
Show file tree
Hide file tree
Showing 6 changed files with 41 additions and 23 deletions.
6 changes: 3 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ set(TARGET_ARCH "" CACHE STRING "ビルド対象の動作する CPU。\n有効
set(TARGET_ARCH_ARM "" CACHE STRING "TARGET_ARCH が arm の場合の詳細な CPU の情報。\n有効な値は armv8")
set(USE_NVCODEC_ENCODER OFF CACHE BOOL "NVIDIA VIDEO CODEC SDK のハードウェアエンコーダを利用するかどうか")
set(USE_JETSON_ENCODER OFF CACHE BOOL "Jetson のハードウェアエンコーダを利用するかどうか")
set(USE_VPL_ENCODER OFF CACHE BOOL "oneVPL のハードウェアエンコーダを利用するかどうか")
set(USE_VPL_ENCODER OFF CACHE BOOL "VPL のハードウェアエンコーダを利用するかどうか")
set(USE_LINUX_PULSE_AUDIO OFF CACHE BOOL "Linux で ALSA の代わりに PulseAudio を利用するか")
set(USE_SCREEN_CAPTURER OFF CACHE BOOL "スクリーンキャプチャラを利用するかどうか")
set(BOOST_ROOT "" CACHE PATH "Boost のインストール先ディレクトリ\n空文字だった場合はデフォルト検索パスの Boost を利用する")
Expand Down Expand Up @@ -356,7 +356,7 @@ if ("${TARGET_OS}" STREQUAL "windows")
)
endif()

# oneVPL
# VPL
if (USE_VPL_ENCODER)
target_sources(momo
PRIVATE
Expand Down Expand Up @@ -484,7 +484,7 @@ elseif (TARGET_OS STREQUAL "linux")
target_link_libraries(momo PRIVATE cudart_static dl rt)
endif()

# oneVPL
# VPL
if (USE_VPL_ENCODER)
find_package(Libdrm REQUIRED)
find_package(Libva REQUIRED)
Expand Down
32 changes: 25 additions & 7 deletions NOTICE
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ misrepresented as being the original software.

# Boost C++ Libraries

https://www.boost.org/LICENSE_1_0.txt
<https://www.boost.org/LICENSE_1_0.txt>

```
Boost Software License - Version 1.0 - August 17th, 2003
Expand Down Expand Up @@ -53,7 +53,7 @@ DEALINGS IN THE SOFTWARE.

# Broadcom / Raspberry Pi

https://github.com/raspberrypi/firmware/blob/master/boot/LICENCE.broadcom
<https://github.com/raspberrypi/firmware/blob/master/boot/LICENCE.broadcom>

```
Copyright (c) 2006, Broadcom Corporation.
Expand Down Expand Up @@ -88,6 +88,7 @@ DAMAGE.
```

# webrtc

```
Copyright (c) 2011, The WebRTC project authors. All rights reserved.

Expand Down Expand Up @@ -121,8 +122,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

```


# abseil-cpp

```

Apache License
Expand Down Expand Up @@ -329,6 +330,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
```

# base64

```
//*********************************************************************
//* Base64 - a simple base64 encoder and decoder.
Expand All @@ -348,6 +350,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
```

# boringssl

```
BoringSSL is a fork of OpenSSL. As such, large parts of it fall under OpenSSL
licensing. Files that are completely new have a Google copyright and an ISC
Expand Down Expand Up @@ -604,6 +607,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
```

# fft

```
/*
* Copyright(c)1995,97 Mark Olesen &lt;olesen@me.QueensU.CA&gt;
Expand Down Expand Up @@ -634,6 +638,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
```

# fft4g

```
/*
* http://www.kurims.kyoto-u.ac.jp/~ooura/fft.html
Expand All @@ -647,6 +652,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
```

# fiat

```
The MIT License (MIT)

Expand Down Expand Up @@ -674,6 +680,7 @@ SOFTWARE.
```

# g711

```
/*
* SpanDSP - a series of DSP components for telephony
Expand All @@ -693,6 +700,7 @@ SOFTWARE.
```

# g722

```
/*
* SpanDSP - a series of DSP components for telephony
Expand All @@ -718,6 +726,7 @@ SOFTWARE.
```

# libsrtp

```
/*
*
Expand Down Expand Up @@ -758,6 +767,7 @@ SOFTWARE.
```

# libvpx

```
Copyright (c) 2010, The WebM Project authors. All rights reserved.

Expand Down Expand Up @@ -794,6 +804,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
```

# libyuv

```
Copyright 2011 The LibYuv Project Authors. All rights reserved.

Expand Down Expand Up @@ -828,6 +839,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
```

# opus

```
Copyright 2001-2011 Xiph.Org, Skype Limited, Octasic,
Jean-Marc Valin, Timothy B. Terriberry,
Expand Down Expand Up @@ -877,6 +889,7 @@ https://datatracker.ietf.org/ipr/1526/
```

# protobuf

```
Copyright 2008 Google Inc. All rights reserved.

Expand Down Expand Up @@ -914,6 +927,7 @@ support library is itself covered by the above license.
```

# rnnoise

```
Copyright (c) 2017, Mozilla
Copyright (c) 2007-2017, Jean-Marc Valin
Expand Down Expand Up @@ -950,6 +964,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
```

# sigslot

```
// sigslot.h: Signal/Slot classes
//
Expand All @@ -962,6 +977,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
```

# spl_sqrt_floor

```
/*
* Written by Wilco Dijkstra, 1996. The following email exchange establishes the
Expand Down Expand Up @@ -994,6 +1010,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
```

# usrsctp

```
(Copied from the COPYRIGHT file of
https://code.google.com/p/sctp-refimpl/source/browse/trunk/COPYRIGHT)
Expand Down Expand Up @@ -1029,6 +1046,7 @@ SUCH DAMAGE.
```

# zlib

```
version 1.2.11, January 15th, 2017

Expand Down Expand Up @@ -1083,7 +1101,7 @@ OTHER DEALINGS IN THE SOFTWARE.

## NvDecoder / NvEncoder

https://developer.nvidia.com/nvidia-video-codec-sdk-license-agreement
<https://developer.nvidia.com/nvidia-video-codec-sdk-license-agreement>

```
NVIDIA VIDEO CODEC SDK LICENSE AGREEMENT (“Agreement”)
Expand Down Expand Up @@ -1301,9 +1319,9 @@ violation of the foregoing will be null and void. The terms of this Agreement
shall be binding upon assignees.
```

## oneVPL
## Intel® Video Processing Library (Intel® VPL)

https://github.com/intel/libvpl
<https://github.com/intel/libvpl>

```
MIT License
Expand Down Expand Up @@ -1331,7 +1349,7 @@ SOFTWARE.

# OpenH264

https://github.com/cisco/openh264
<https://github.com/cisco/openh264>

```
Copyright (c) 2013, Cisco Systems
Expand Down
2 changes: 1 addition & 1 deletion doc/SETUP_UBUNTU.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ sudo apt-get upgrade
sudo apt-get install libdrm2
```

oneVPL を利用したい場合は [VPL.md](VPL.md) を御覧ください。
VPL を利用したい場合は [VPL.md](VPL.md) を御覧ください。

## 動かしてみる

Expand Down
18 changes: 9 additions & 9 deletions doc/VPL.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ Windows 11 ではインストール作業は必要ありません。

### VPL が認識できているか確認

Momo を `--video-codec-engines` オプションを指定して実行することで利用可能なエンコーダーとデコーダー一覧が出力されます。 `Encoder``Decoder``oneVPL [vpl]` が表示されているコーデックで利用可能です。
Momo を `--video-codec-engines` オプションを指定して実行することで利用可能なエンコーダーとデコーダー一覧が出力されます。 `Encoder``Decoder``VPL [vpl]` が表示されているコーデックで利用可能です。

PowerShell での実行コマンド例:

Expand All @@ -51,7 +51,7 @@ VP9:
Encoder:
- Software [software] (default)
Decoder:
- oneVPL [vpl] (default)
- VPL [vpl] (default)
- Software [software]
AV1:
Expand All @@ -62,9 +62,9 @@ AV1:
H264:
Encoder:
- oneVPL [vpl] (default)
- VPL [vpl] (default)
Decoder:
- oneVPL [vpl] (default)
- VPL [vpl] (default)
```

## Ubuntu 20.04、 Ubuntu 22.04 での利用方法
Expand All @@ -87,7 +87,7 @@ H264:

### VPL が認識できているか確認

Momo を `--video-codec-engines` オプションを指定して実行することで利用可能なエンコーダーとデコーダー一覧が出力されます。 `Encoder``Decoder``oneVPL [vpl]` が表示されているコーデックで利用可能です。
Momo を `--video-codec-engines` オプションを指定して実行することで利用可能なエンコーダーとデコーダー一覧が出力されます。 `Encoder``Decoder``VPL [vpl]` が表示されているコーデックで利用可能です。

実行コマンド例:

Expand All @@ -109,7 +109,7 @@ VP9:
Encoder:
- Software [software] (default)
Decoder:
- oneVPL [vpl] (default)
- VPL [vpl] (default)
- Software [software]

AV1:
Expand All @@ -120,9 +120,9 @@ AV1:

H264:
Encoder:
- oneVPL [vpl] (default)
- VPL [vpl] (default)
Decoder:
- oneVPL [vpl] (default)
- VPL [vpl] (default)
```

## 動作確認ができたチップセット
Expand All @@ -140,7 +140,7 @@ H264:
## エンコーダーが複数ある場合

NVIDIA と共存させた環境の場合 INTEL と NVIDIA のエンコーダーが表示されます。
Momo では NVIDIA を優先して使用するようになっていますが `--h264-encoder` オプションを使用して `vpl` を指定することで oneVPL を使用することができます。
Momo では NVIDIA を優先して使用するようになっていますが `--h264-encoder` オプションを使用して `vpl` を指定することで VPL を使用することができます。

## VPL を認識できない場合

Expand Down
4 changes: 2 additions & 2 deletions run.py
Original file line number Diff line number Diff line change
Expand Up @@ -253,7 +253,7 @@ def install_deps(
}
install_cuda_windows(**install_cuda_args)

# Intel oneVPL
# Intel VPL
if platform.target.os in ("windows", "ubuntu") and platform.target.arch == "x86_64":
install_vpl_args = {
"version": version["VPL_VERSION"],
Expand Down Expand Up @@ -349,7 +349,7 @@ def install_deps(
"version_file": os.path.join(install_dir, "openh264.version"),
"source_dir": source_dir,
"install_dir": install_dir,
"is_windows": platform.target.os == 'windows',
"is_windows": platform.target.os == "windows",
}
install_openh264(**install_openh264_args)

Expand Down
2 changes: 1 addition & 1 deletion src/video_codec_info.h
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ struct VideoCodecInfo {
case Type::NVIDIA:
return {"NVIDIA VIDEO CODEC SDK", "nvidia"};
case Type::Intel:
return {"oneVPL", "vpl"};
return {"VPL", "vpl"};
case Type::VideoToolbox:
return {"VideoToolbox", "videotoolbox"};
case Type::V4L2:
Expand Down

0 comments on commit 488fbdd

Please sign in to comment.