Announcement

Collapse
No announcement yet.

Rav1e Achieves Another ~20% Speed-Up For Rust-Based AV1 Video Encoding

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

  • #21
    Originally posted by quikee View Post

    You can't have a working video encoder without having still image support. If you think AVIF - this has nothing to do with rav1e directly. For AVIF you take AV1 encoded I-frame and put it in a ISOBMFF container with appropriate metadata set. Where you get the AV1 encoded I-frame can be totally independent of the library that packs it together, and it certainly is done like that: libavif [1] can use aomenc or rav1e as the encoder, and aomenc, dav1d as the decoder.

    [1] https://github.com/AOMediaCodec/libavif
    You might wanna brush up on your quoting skills, I didn't say what you say I did

    Comment


    • #22
      Originally posted by milkylainen View Post
      Hmm. In C, depending on the code, it's sometimes _very_ hard to do it better than a good compiler.
      Sure, if your code and data structures are rubbish, you're not making it easy for the compiler to do a good job, but that seems beside the point.
      The point of hand-rolling asm slowing going the way of the Dodo.

      So what am I actually seeing here? Since the benefits of speed increase seem to come from better hand optimized asm.

      Is this a:
      "The Rust compiler is not mature enough" ?
      "The Rust compiler does not know any instruction set extensions. So it cannot do any real vectorization" ?
      Something else?
      There are all sorts of possibilities here. Compiler maturity could be an issue as the team is rather small compared to everybody working on Swift, Python or even C++.

      then you have the possibility that they are removing some of the safety and validation that Rust does. That would be funny as then you have to ask why use Rust in the first place.

      in any event the best answer would come from the developer team. Most likely there are multiple answers.

      Comment


      • #23
        Originally posted by wizard69 View Post
        then you have the possibility that they are removing some of the safety and validation that Rust does. That would be funny as then you have to ask why use Rust in the first place.
        You wouldn't need to go to assembly to do that. Rust has plenty of ways to sidestep any runtime validation.

        Comment


        • #24
          Originally posted by wizard69 View Post

          There are all sorts of possibilities here. Compiler maturity could be an issue as the team is rather small compared to everybody working on Swift, Python or even C++.

          then you have the possibility that they are removing some of the safety and validation that Rust does. That would be funny as then you have to ask why use Rust in the first place.

          in any event the best answer would come from the developer team. Most likely there are multiple answers.
          Swift: 749 Contributors
          CPython: 1098 Contributors
          PyPy: 201 Contributors
          LLVM: 1029 Contributors
          Rust: 2573 Contributors

          Look we all know how much you love to shill for Apple but could you at least do some research before you spew this nonsense?

          Comment


          • #25
            Originally posted by cl333r View Post
            So when will it be practical to use? i.e. capable of encoding at 20 FPS 1080p 10 bit say on a 4 core CPU from 2016.
            Well, thanks to AMD we can now afford 12 cores in 2019, with the IPC of ZEN2. If you are into AV1, I think you should have at least 8 cores. The more, the better.

            Comment


            • #26
              Originally posted by bug77 View Post
              You might wanna brush up on your quoting skills, I didn't say what you say I did
              I'll do better next time

              Comment

              Working...
              X