livepeer / livepeer/lpms

Radeonsi driver does not support packed headers

Open
#183 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Go
Stars
283
Forks
72
Avg merge
27m
Merged PRs (30d)
1

Description

This leads to us being unable to mux into containers that expect a global header such as Matroska. Our transcoding example outputs Matroska, so we cannot use AMD cards with the radeonsi driver with this particular example, eg:

```
go run cmd/transcoding/transcoding.go transcoder/test.ts P720p30fps16x9,P576p30fps16x9,P360p30fps16x9,P240p30fps16x9 va /dev/dri/renderD129
```

Note that we encounter the exact same problem with ffmpeg, since it's a shortcoming of the driver:

```
ffmpeg -hwaccel vaapi -hwaccel_output_format vaapi -hwaccel_device /dev/dri/renderD129 -i ~/josh/lpms/transcoder/test.ts -c:v h264_vaapi out/output.mkv
```

Fixing this involves making improvements to the Mesa radeon driver. Would be great to have this in one day.

QuickSync using the Intel media-driver (iHD) works fine (/dev/dri/renderD128 on the machine in the NY office).

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 cmd/transcoding/transcoding.go and reproduce the Matroska failure using transcoder/test.ts and the radeonsi device shown in the issue. The reported fix requires improvements to the Mesa radeon driver; done means packed headers work for the transcoding example, with Matroska output succeeding on AMD radeonsi.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, linux
Domain
audio-video-rtc
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.