Skip to content

Commit 5f78bc5

Browse files
authored
Merge pull request #1507 from madeline-underwood/vvenc
Run the vvenc H.266 encoder on Arm servers_KB to review
2 parents 4daa3c3 + f821e6a commit 5f78bc5

File tree

4 files changed

+30
-22
lines changed

4 files changed

+30
-22
lines changed

content/learning-paths/servers-and-cloud-computing/vvenc/_index.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
---
2-
title: Run vvenc (H.266 encoder) on Arm servers
2+
title: Run the vvenc H.266 encoder on Arm servers
33

44
author_primary: Willen Yang
55

66
minutes_to_complete: 20
77

8-
who_is_this_for: This is an introductory topic for software developers who want to build and run the vvenc (H.266 encoder) project on Arm servers and measure the performance.
8+
who_is_this_for: This is an introductory topic for software developers who want to build and run the VVenC® (Fraunhofer Versatile Video Encoder) H.266 project on Arm servers and measure the performance.
99

1010
learning_objectives:
11-
- Build the vvenc (H.266 encoder) project on an Arm based server
12-
- Run vvenc on an Arm based server to encode a real 1080p video file and measure the performance
11+
- Build the VVenC® H.266 encoder project on an Arm-based server.
12+
- Run vvenc on an Arm-based server to encode a real 1080p video file and measure the performance.
1313

1414
armips:
1515
- Neoverse
1616

1717
prerequisites:
18-
- An Arm Linux system or an [Arm based instance](/learning-paths/servers-and-cloud-computing/csp/) from a cloud service provider. This Learning Path has been verified on Arm Neoverse N2 based Alibaba cloud ECS instance(g8y), running Ubuntu 22.04.
18+
- An Arm Linux system or an [Arm-based instance](/learning-paths/servers-and-cloud-computing/csp/) from a cloud service provider. This Learning Path has been tested on an Arm Neoverse N2-based Alibaba cloud ECS instance(g8y), running Ubuntu 22.04.
1919

2020
operatingsystems:
2121
- Linux

content/learning-paths/servers-and-cloud-computing/vvenc/_next-steps.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,9 @@
44
# ================================================================================
55

66
next_step_guidance: >
7-
You can continue learning about building and running other codecs on Arm servers. The learning path on AV1 and VP9 is a great next step.
7+
You can continue learning about building and running other codecs on Arm servers.
8+
9+
The Learning Path on AV1 and VP9 is a great next step.
810
# 1-3 sentence recommendation outlining how the reader can generally keep learning about these topics, and a specific explanation of why the next step is being recommended.
911

1012
recommended_path: "/learning-paths/servers-and-cloud-computing/codec1/"

content/learning-paths/servers-and-cloud-computing/vvenc/_review.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@
1313
review:
1414
- questions:
1515
question: >
16-
Does vvenc(H.266 encoder) run on Arm servers?
16+
Does the VVenC H.266 encoder run on Arm servers?
1717
answers:
18-
- "Yes"
19-
- "No"
18+
- "Yes."
19+
- "No."
2020
correct_answer: 1
2121
explanation: >
2222
H.266 codec is fully supported on 64-bit Arm servers running Linux.
@@ -25,11 +25,11 @@ review:
2525
question: >
2626
Does varying the preset settings on the images impact the codec performance?
2727
answers:
28-
- "Yes"
29-
- "No"
28+
- "Yes."
29+
- "No."
3030
correct_answer: 1
3131
explanation: >
32-
You can vary the preset settings on the different resolution images and measure the impact on performance.
32+
You can vary the preset settings on differing resolutions of images and measure the impact on performance.
3333
3434
3535
# ================================================================================

content/learning-paths/servers-and-cloud-computing/vvenc/vvenc.md

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,21 @@
11
---
22
layout: learningpathall
3-
title: Build and run vvenc (H.266 encoder) on Arm servers
3+
title: Build and run the H.266 VVenC encoder on Arm servers
44
weight: 2
55
---
66

7-
## Overview
7+
## What is VVenC?
88

9-
`vvenc` is an open-source H.266/VVC encoder that offers very high compression efficiency and performance. There have been significant efforts made to optimize the open-source implementation of the H.266 encoder on Arm Neoverse platforms which supports Neon and SVE/SVE2 instructions. The optimized code for use with Arm Neoverse platforms is available on [Github](https://github.com/fraunhoferhhi/vvenc).
9+
* [Versatile Video Coding](https://www.hhi.fraunhofer.de/en/departments/vca/technologies-and-solutions/h266-vvc/fraunhofer-versatile-video-encoder-vvenc.html) (VVC; officially approved as ITU-T H.266 | 23090-3) is the most recent international video compression standard of ITU-T and ISO/IEC.
10+
11+
* `vvenc` is an open-source H.266/VVC encoder that offers very high compression efficiency and performance.
12+
13+
* There have been significant efforts made to optimize the open-source implementation of the H.266 encoder on Arm Neoverse platforms that supports Neon and SVE/SVE2 instructions.
14+
15+
* You can find the optimized code for use with Arm Neoverse platforms in the [vvenc Github Repository](https://github.com/fraunhoferhhi/vvenc).
1016

1117
## Install dependencies
12-
On your Arm based server instance running Ubuntu 22.04, install the dependencies to build and run vvenc:
18+
On your Arm-based server instance running Ubuntu 22.04, install the dependencies to build and run vvenc:
1319

1420
```bash
1521
sudo apt update
@@ -31,7 +37,7 @@ git clone https://github.com/fraunhoferhhi/vvenc.git
3137
cd vvenc
3238
CXX=clang++-18 CC=clang-18 cmake -S . -B build/release-static -DVVENC_ENABLE_ARM_SIMD_SVE=1 -DVVENC_ENABLE_ARM_SIMD_SVE2=1
3339
```
34-
Confirm that sve/sve2 has been enabled in the Makefile by looking at the output from the configuration step:
40+
Confirm that sve/sve2 has been enabled in the Makefile by checking the output from the configuration step:
3541

3642
```output
3743
root@iZuf61ixurqifmpxuji4viZ:~/vvenc-1.13.0# CXX=clang++-18 CC=clang-18 cmake -S . -B build/release-static -DVVENC_ENABLE_ARM_SIMD_SVE=1 -DVVENC_ENABLE_ARM_SIMD_SVE2=1
@@ -124,9 +130,9 @@ The project should build successfully and the end of the output should look like
124130

125131
## Download sample video files
126132

127-
To benchmark the compression efficiency and performance of `vvenc`, you will need a set of video streams to run the codec on.
133+
To benchmark the compression efficiency and performance of `vvenc`, you need a set of video streams to run the codec on.
128134

129-
Download sample `1080P` video files and uncompress them:
135+
Download sample `1080P` video files and decompress them:
130136
```bash
131137
mkdir ../video && cd ../video
132138
wget http://ultravideo.cs.tut.fi/video/Bosphorus_1920x1080_120fps_420_8bit_YUV_Y4M.7z
@@ -146,9 +152,9 @@ You can vary the preset settings and measure the impact on performance.
146152

147153
## View Results
148154

149-
The encoding Frame Rate (Frames per second) for the video files is output at the end of each run.
155+
The encoding Frame Rate, shown in fps (frames per second), for the video files is output at the end of each run.
150156

151-
Shown below is example output from running the vvenc h.266 encoding on the 1080P sample video file:
157+
This is an example output from running the VVenC H.266 encoding on a 1080P sample video file:
152158

153159
```output
154160
vvencFFapp: VVenC, the Fraunhofer H.266/VVC Encoder, version 1.13.0 [Linux][clang 18.1.8][64 bit][SIMD=SVE2]
@@ -178,4 +184,4 @@ vvencFFapp [info]: finished @ Wed Dec 25 16:06:19 2024
178184
vvencFFapp [info]: Total Time: 58.962 sec. [user] 15.209 sec. [elapsed]
179185
```
180186

181-
You have successfully run the vvenc h.266 encoder on an 1080P sample video file and measured the performance.
187+
You have successfully run the VVenC H.266 encoder on an 1080P sample video file and measured the performance.

0 commit comments

Comments
 (0)