Announcement

Collapse
No announcement yet.

Dav1d 0.7 Released With More Performance Optimizations

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Dav1d 0.7 Released With More Performance Optimizations

    Phoronix: Dav1d 0.7 Released With More Performance Optimizations

    The VideoLAN team responsible for the dav1d AV1 video decoder have just released dav1d 0.7 as the newest feature release and it comes with more performance optimizations...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    These Assembly developers are gods!

    Comment


    • #3
      Originally posted by Mario Junior View Post
      These Assembly developers are gods!
      The biggest gain in this release did not come from an assembly improvement either. :+ )

      Comment


      • #4
        Very cool to see. People said early on that it maybe couldn't be done, but it actually looks like with dav1d it is not crazy to decode AV1 in software on a phone.

        In fact, it should be absolutely fine to do so. I usually don't watch videos at 1080p on a phone either since I don't see the point.

        Comment


        • #5
          Originally posted by phoronix View Post
          Additionally, dav1d 0.7 completes its Assembly code for 8-bit bit-depth content
          This sentence looks a bit redundant...

          Comment


          • #6
            Originally posted by microcode View Post
            Very cool to see. People said early on that it maybe couldn't be done, but it actually looks like with dav1d it is not crazy to decode AV1 in software on a phone.

            In fact, it should be absolutely fine to do so. I usually don't watch videos at 1080p on a phone either since I don't see the point.
            Note that most modern phones have NEON instructions that are pretty decent media acceleration instructions (that's their whole reason to exist), it's not really "software decode" in a strict sense.

            Real software decode is on devices without NEON and that's going to run like absolute garbage

            Comment


            • #7
              Originally posted by starshipeleven View Post
              ...it's not really "software decode" in a strict sense...
              As somebody who has used NEON, it's just ordinary SIMD. Packed SIMD is an ordinary RISC ISA feature just like any other, and software that uses SIMD is just software.

              An example of an actual "media acceleration" feature in a CPU would be something like a DCT/IDCT coprocessor.

              CPU vendors tried marketing SIMD instruction sets as MultiMediaAcc[X]eleration features back in the day, but even then they were more general purpose than that.

              Comment


              • #8
                Originally posted by microcode View Post
                As somebody who has used NEON, it's just ordinary SIMD. Packed SIMD is an ordinary RISC ISA feature just like any other, and software that uses SIMD is just software.

                An example of an actual "media acceleration" feature in a CPU would be something like a DCT/IDCT coprocessor.

                CPU vendors tried marketing SIMD instruction sets as MultiMediaAcc[X]eleration features back in the day, but even then they were more general purpose than that.
                It's still specialized hardware instructions. It's not their fault they're not specialized to the point they can't be used for anything else

                Comment


                • #9
                  Originally posted by bug77 View Post
                  specialized hardware instructions
                  I think even so, a program that uses instruction set extensions has to be called software as long as it runs on the CPU. Where it gets shady for me is for programs that run on a GPU.

                  Speaking of running part of Dav1d on GPU: GPU film grain synthesis
                  For a very dumb non-benchmark, I timed dav1dplay --untimed --framethreads 8 --tilethreads 4 on the 10-bit Chimera sample with no settings: 1389.41s user 10.28s...
                  Last edited by andreano; 22 May 2020, 05:06 PM.

                  Comment


                  • #10
                    Originally posted by andreano View Post

                    I think even so, a program that uses instruction set extensions has to be called software as long as it runs on the CPU. Where it gets shady for me is for programs that run on a GPU.

                    Speaking of running part of Dav1d on GPU: GPU film grain synthesis
                    https://code.videolan.org/videolan/d...s/1000/commits
                    Ok, so the line between general purpose and hardware accelerated is not properly defined.
                    To me, it's when something goes outside the standard x86_64 instruction set. For example, AES-NI is widely consiered hardware acceleration for AES, even if it still runs on the CPU.

                    Comment

                    Working...
                    X