Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add AV1 OBU header parser and OBU types utilities #294

Merged
merged 1 commit into from
Feb 17, 2025
Merged

Conversation

JoeTurki
Copy link
Member

Description

Implement AV1 bitstream format OBU header parser and utility functions for OBU types.

Reference issue

pion/webrtc#3036

Copy link

codecov bot commented Feb 16, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 85.18%. Comparing base (a78a4a6) to head (74a4302).
Report is 1 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #294      +/-   ##
==========================================
+ Coverage   84.72%   85.18%   +0.46%     
==========================================
  Files          24       25       +1     
  Lines        2703     2788      +85     
==========================================
+ Hits         2290     2375      +85     
  Misses        354      354              
  Partials       59       59              
Flag Coverage Δ
go 85.18% <100.00%> (+0.46%) ⬆️
wasm 84.57% <100.00%> (+0.48%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@JoeTurki
Copy link
Member Author

JoeTurki commented Feb 16, 2025

@Sean-Der Hello, This is a base for the packetizer and the depacketizer. After this is merged I'll do:

  1. Continue the rest of my PR Implement av1 depacketizer #291 and make it construct a correct low bitstream, and construct OBU_temporal_delimiters.
  2. Fix the packetizer, omit OBU_temporal_delimiters and construct correct RTP packets, I have a local version working, But I need to make correct tests.
  3. Implement annex-b writer & reader, and fix the ivf writer and reader for AV1, and make OBU parsers (Need to parse the Sequence Headers at least).
  4. Make more AV1 examples, and a Gstreamer test / example.

If things went well I'll be able to do all of this by or before the next weekend.

@JoeTurki JoeTurki requested a review from Sean-Der February 16, 2025 21:31
@Sean-Der
Copy link
Member

Amazing work @JoeTurki, full steam ahead :)

The only thing I would do is add GStreamer/Chrome tests of AV1. I the effort vs value isn't worth it (IMO). I think it is ok to have a bunch of example video files and call it a day!

AV1 isn't going to change. However running GStreamer/Chrome is CI is frustrating. Especially if then a user has to run it locally to debug anything.

Implement AV1 bitstream format OBU header parser and utility functions
for OBU types.
@JoeTurki JoeTurki merged commit 74a4302 into master Feb 17, 2025
15 checks passed
@JoeTurki JoeTurki deleted the feat/av1-obu branch February 17, 2025 07:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants