NihAV: released!

NihAV was a fine joke that had been running for far too long. But today, on no particulate date at all, I release it for public to ignore or to briefly look and forget immediately. Some decoders (Bink2, ClearVideo and Vivo 2) are still far from perfect, some features have simple or sketchy implementations, but despite all of that here it is.

The official website is here, source code is here.

Many thanks to people from former Libav project for hosting.

7 Responses to “NihAV: released!”

  1. Paul says:

    WOW this is very interesting.

  2. DrMcCoy says:

    Yay! And thanks πŸ™‚

    The player seems to deadlock (even ctrl-c doesn’t work) with the Bink2 samples I have here, after ~ 2 frames of video and ~ one second of audio. They’re KB2j.

    No such issues with Bink1 or VMD.

    In case that’s not a known issue and/or you’re interested in looking at that, I can provide you with those samples. (Otherwise, I’ll probably have to tackle that some time in the future once I find time for that.)

    And to lay my cards on the table, I’m obviously interested in that Bink2 decoder, for my GPLv3+ (i.e. with the the “or later” clause) project xoreos, since one port of a targetted game uses Bink2 instead of Bink1. I’d welcome your blessing there.

  3. Kostya says:

    That is a known issue related to audio synchronisation (and indirectly – performance) and the reason why I mostly run “player” with -an switch. And that’s one of the reasons why I want to write a proper player instead of what I currently have.

    As for Bink2 – even if the decoder is not perfect (hopefully I can fix the missing bits in some distant future) you’re welcome to reuse it under GPLv3.0+. And maybe there will be VX decoder too one day.

  4. lu_zero says:

    From the intro: `like β€œcan’t you give all of the code under N-clause BSD?”—you’re not rust-av as it is the only project to which I can allow that;`

    Thank you so much Kostya! I hope to get the codecs (and demuxers) working within rust-av w/out annoying you too much πŸ™‚

  5. Bradley says:

    Been reading along for some time now. Congrats and thanks for sharing this development with the larger community. πŸ™‚

  6. Paul says:

    Is there way for SIMD code?

  7. Kostya says:

    In Rust itself you can use SIMD intrinsics from core::arch or modify crate to invoke e.g. Nasm (like rav1e does). As for NihAV, I didn’t have a need for it so far.

Leave a Reply