Skip to content
  • SVTA University Calendar
  • Courses
    • In-Person Training
  • Hot Topics
  • Education Resources
    • Conferences
      • Demuxed
      • Mile High Video
      • NAB Streaming Summit
      • SEGMENTS
      • Streaming Tech Sweden
    • Industry Resources
    • Media Samples
    • SVTA Webinars
  • Instructors
  • Register
  • Log In
  • SVTA University Calendar
  • Courses
    • In-Person Training
  • Hot Topics
  • Education Resources
    • Conferences
      • Demuxed
      • Mile High Video
      • NAB Streaming Summit
      • SEGMENTS
      • Streaming Tech Sweden
    • Industry Resources
    • Media Samples
    • SVTA Webinars
  • Instructors
  • Register
  • Log In
$0.00 0 Cart

Conference Proceedings

  • Home
  • Low-level wizardry in dav1d
Low-level wizardry in dav1d

Description

In a world of datacenter virtualization and high-level languages, today we take a peek behind the curtain and watch how the Wizard of Oz does his magic: let’s dive into the world of low level optimizations in dav1d – Videonlan’s software AV1 decoder. First, we will dig into dav1d’s AVX512 optimizations for Intel’s most recent CPUs: IceLake and TigerLake. Historically, video encoders and decoders have had issues optimizing for Intel’s AVX512 instruction set. The wider vector length should in theory improve performance, but prior to IceLake, the associated clockspeed frequency penalties and lack of interesting new instructions meant that most applications saw little gains. IceLake brought about significant reductions in clockspeed penalties, and new video codecs (like AV1) utilize bigger block sizes: ideal conditions to leverage AVX512’s wider vectors. More importantly, by MacGyvering the new cross-lane shuffle, multiply-accumulate and cryptographic instructions supported in IceLake’s AVX512 subset, we’ve reached up to 3x speedups in our new AVX512 functions compared to their AVX2 counterparts. Overall, we see a 10% speedup in a fully optimized AVX512 decoder vs. using AVX2 instructions on the same machine. Second, we describe our redesigned threading model. Current (tile- or frame-) threading models need many resources (threads, memory) to saturate a limited number of cores, scale poorly across different-throughput cores (like big.LITTLE) and depend on bitstream features which negatively affect compression. Our new threading model scales regardless of specific features present in the bitstream, requires limited system resources and is ideal for big.LITTLE core combinations that are popular in today’s latest mobile devices. With this design, dav1d can keep all your cores busier than a Barista during a Demuxed break, on ARM as well as x86. 720p real-time AV1 software playback on the large majority of Android devices out in the wild is now a reality. This talk was presented at Demuxed ’23, a conference for video nerds in San Francisco featuring amazing talks like this one.

Conference

Demuxed 2023

Speakers

Ronald S. Bultje

Founder, President and CEO

Learning Categories

Encoding
AV1

Other Proceedings

Here are some other proceedings that you might find interesting.

What Codec Should I Use?

Alan Resnick

Doing Server-Side Ad Insertion on Live Sports for 25.3M Concurrent Users

Ashutosh Agrawal

Is now the time to solve the deepfake threat?

Roderick Hodgson

Super Resolution: The scaler of tomorrow, here today!

Nick Chadwick

The do's and don'ts about Streaming security

Javier Brines Garcia

Modeling the conceptual structure of FFmpeg in JavaScript

Ryan Harvey

Objectionable Uses of Objective Quality Metrics

Richard Fliam

RTMP: web video innovation or Web 1.0 hack… how did we get to now?

Sarah Allen

Large-Scale Media Archive Migration to the Cloud

Konstantin Wilms

HEVC Upload Experiments

Chris Ellsworth

Related Courses

Below are some courses that might interest you based on the learning categories and topic tags of this conference proceeding.

What Codec Should I Use?

Alan Resnick

Doing Server-Side Ad Insertion on Live Sports for 25.3M Concurrent Users

Ashutosh Agrawal

Is now the time to solve the deepfake threat?

Roderick Hodgson

Super Resolution: The scaler of tomorrow, here today!

Nick Chadwick

The do's and don'ts about Streaming security

Javier Brines Garcia

Modeling the conceptual structure of FFmpeg in JavaScript

Ryan Harvey

Objectionable Uses of Objective Quality Metrics

Richard Fliam

RTMP: web video innovation or Web 1.0 hack… how did we get to now?

Sarah Allen

Large-Scale Media Archive Migration to the Cloud

Konstantin Wilms

HEVC Upload Experiments

Chris Ellsworth

Follow

Twitter Linkedin-in

User Area

  • Account
  • FAQs
  • Orders
  • Registration
  • Account
  • FAQs
  • Orders
  • Registration

Resources

  • About
  • FAQs
  • Legal Hub
  • Support
  • How-To Take A Course
  • How-To Navigate the Interface
  • About
  • FAQs
  • Legal Hub
  • Support
  • How-To Take A Course
  • How-To Navigate the Interface

SVTA Sites

  • Diversity and Inclusion
  • LABS
  • OATC
  • Open Caching
  • SEGMENTS
  • Streaming Video Wiki
  • SVTA Fellows
  • SVTA University
  • Diversity and Inclusion
  • LABS
  • OATC
  • Open Caching
  • SEGMENTS
  • Streaming Video Wiki
  • SVTA Fellows
  • SVTA University

© Copyright Streaming Video Technology Alliance (SVTA).

About the SVTA University

The SVTA University (SVTAU) is an educational arm of the Streaming Video Technology Alliance, providing courses and other instructional content related to understanding and working with components within the streaming video stack.

About the SVTA

The Streaming Video Technology Alliance is a global technical association committed to bringing video streaming companies together to help build a better viewer experience at scale. Find out more at www.svta.org.

Payment Forms

Stay In-the-Know!

Enter your email address below to subscribe to our newsletter for the latest in available courses and other Institute news. Note that by doing so, you agree to our privacy policy.

Loading...

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.