Announcement

Collapse
No announcement yet.

FFmpeg Has Seen Some AVX2 Optimizations For VP9 Decoding

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

  • aufkrawall
    replied
    Nvidia does have native VP9 decoding since January 2015 with GTX 960 and native VP9 10 bit decoding with GTX 1050 Ti since November 2016. Works on Windows 10 with DXVA2/D3D11VA since Anniversary Update and on Linux with CUVID (latter one not with low power consumption, unfortunately).

    YouTube VP9 10 bit HDR videos however don't seem to be very CPU hungry, bitrate is even lower than for 8 bit SDR (at least for the few videos I've looked at).

    Leave a comment:


  • Brisse
    replied
    As far as I know, only Kaby Lake does proper hardware decoding of VP9 thus far, so most of us are actually decoding in software. As mentioned, AMD has a hybrid mode but it's Windows only.

    Leave a comment:


  • juno
    replied
    Originally posted by sdack View Post
    Isn't it also worth highlighting that it's done several times faster by decoders on graphics cards?

    https://en.wikipedia.org/wiki/VP9#Ha...device_support
    How much of those can you utilise on your GNU/Linux PC?

    Also, the table counts "GPU or DSP based implementations – software implementations on non-CPU hardware", which is pretty useless. E.G. even AMD's most recent UVD seen in Vega dones't support VP9. The power-hungry hybrid decoder does only work on Windows.

    Leave a comment:


  • sdack
    replied
    Originally posted by SavageX View Post
    I've got an AMD A12 9800 (Excavator based APU). It supports AVX2, but doesn't hardware-decode VP9. So personally I very much welcome these optimizations. (The CPU is already "fast enough" for 1080p VP9 decoding without problems, but lowering CPU usage on entry-level CPUs is always neat)
    Are you sure that it doesn't do VP9 already in hardware? Says it does on Wikipedia.



    Knowing AMD's AVX instruction set and memory bus would I not expect the same speed-ups with AVX2 as you'd get with Intel.

    Leave a comment:


  • SavageX
    replied
    I've got an AMD A12 9800 (Excavator based APU). It supports AVX2, but doesn't hardware-decode VP9. So personally I very much welcome these optimizations. (The CPU is already "fast enough" for 1080p VP9 decoding without problems, but lowering CPU usage on entry-level CPUs is always neat)

    Leave a comment:


  • carewolf
    replied
    Originally posted by caligula View Post

    One could argue that AVX2 optimized asm with multithreading is already hardware accelerated. The speedup is significant. In video playback, the important question is 'can my pc play this video yes/no'. It doesn't matter if it's 20 or 200 times faster than realtime.
    It does in a laptop, it means it will use less power and can play video longer on battery.

    Edit: Well, a more efficient implementation will, just adding more threads will not.

    Leave a comment:


  • sdack
    replied
    Originally posted by caligula View Post
    One could argue that AVX2 optimized asm with multithreading is already hardware accelerated. The speedup is significant. In video playback, the important question is 'can my pc play this video yes/no'. It doesn't matter if it's 20 or 200 times faster than realtime.
    Speeds beyond 1x do actually matter, because transcoding is also done in hardware these days and at speeds beyond 1x. You also don't want to have your CPU running at 100% usage while playing a video.

    The support of AVX2 instructions is hardly news-worthy, because most people who have a CPU with AVX2 instructions and a 4K display (that's where it begins to matter) will also have a recent GPU capable of decoding it in hardware. So they won't care for AVX2-accelerated decoding unless perhaps when used as a fallback method, but they want it done on the graphics card.
    Last edited by sdack; 27 August 2017, 09:08 AM.

    Leave a comment:


  • sdack
    replied
    Originally posted by starshipeleven View Post
    What people really want to know is if that hardware acceleration is usable on Linux at all, and with what browsers.
    I cannot tell you which browser to use. You probably have to configure and build your own version of Firefox for it and not depend on your distro to provide you a good one.

    VP9 decoding in hardware is working just fine for anything that's using ffmpeg. So does mpv play 4k U-HD videos encoded in VP9 at 3840x2160 60HZ while the CPU idles at 5% usage.

    GStreamer-based applications will likely work just as well.

    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

    Leave a comment:


  • caligula
    replied
    Originally posted by starshipeleven View Post
    What people really want to know is if that hardware acceleration is usable on Linux at all, and with what browsers.
    One could argue that AVX2 optimized asm with multithreading is already hardware accelerated. The speedup is significant. In video playback, the important question is 'can my pc play this video yes/no'. It doesn't matter if it's 20 or 200 times faster than realtime.

    Leave a comment:


  • starshipeleven
    replied
    Originally posted by sdack View Post
    Isn't it also worth highlighting that it's done several times faster by decoders on graphics cards?

    https://en.wikipedia.org/wiki/VP9#Ha...device_support
    What people really want to know is if that hardware acceleration is usable on Linux at all, and with what browsers.

    Leave a comment:

Working...
X