xiph / xiph/opus

RISC-V port implementation

Open
#368 10 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
3.3k
Forks
808
PR merge metrics
No merged PRs in 30d

Description

I want to announce that we are currently working on RISC-V implementation using vector extension.
As we I mean: Samsung R&D Poland + partially RISE Project engineers

Code is being developed on feature branch at: https://github.com/k-kisielak/opus/tree/rvv_impl
Implementation is in early stage and is not deemed for merging in current form.

Current state:
We started with implementing parts of silk module:

  • basing on existing SSE implementation we prepared one using RISC-V vector intrinsics

Items under development:

  • tests are to be performed, both functional and performance ones - to test those changes we have access to RISC-V devices like BananaPI F3, we have experience with testing RVV under qemu
  • we are looking into expanding github action configs to allow testing RISC-V version (as of now only on linux)
  • we are integrating more RVV implementations, namely for burg modified algorithm

We would gladly accept any feedback, thank you!

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the rvv_impl feature branch and its RISC-V vector-intrinsic implementation of the silk module, comparing it with the existing SSE implementation. Review the planned functional and performance tests on RISC-V devices or QEMU, GitHub Actions Linux testing, and the burg modified algorithm work; completion is not defined because the issue says the implementation is still early and not ready to merge.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
audio-video-rtc
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.