Announcement

Collapse
No announcement yet.

FFmpeg Lands OpenCL-Powered Video Stabilization Filter

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

  • FFmpeg Lands OpenCL-Powered Video Stabilization Filter

    Phoronix: FFmpeg Lands OpenCL-Powered Video Stabilization Filter

    FFmpeg has landed a "deshake" OpenCL filter to its code-base to serve for video stabilization support...

    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
    That's a really cool addition. I'm not sure how much deshake adds to transcoding time but I'm sure this OpenCL implementation must dramatically speed it up on high res (1440p+) videos, and maybe 1080p videos too if you've got a laptop CPU.

    Comment


    • #3
      "Simulates a tripod by preventing any camera movement whatsoever from the original frame."

      I'll believe that when I see it. Helps sure, prevents? Even the best out there can't prevent it unless you are already locked off on a tripod in which case there isn't much use for stabilization.. Still a nice feature add.

      Comment


      • #4
        Hmmm... the C version seems only to consider the previous frame. For stabilization during transcoding, you really want to do this 2-pass, so you can use a higher-order filter to smooth the camera motion.

        The C version is also just unnecessarily slow. Instead of using Harris features and RANSAC, it's doing block-based motion estimation (and not even using any optimized library routines!) with some kind of voting. It looks like whoever did the OpenCL "port" did more of a rewrite, addressing that in the process. The result should not only be faster, but also better. I hope they back-port their improvements. FFmpeg should really try to keep the accelerated & generic versions the same, and add regression tests for checking that.

        Also, I wonder why it's hard-coded to use sampler_linear_mirror. I'd make than an option. They don't seem to be doing anything about gamma, either.

        Comment


        • #5
          Originally posted by MadeUpName View Post
          Even the best out there can't prevent it unless you are already locked off on a tripod in which case there isn't much use for stabilization..
          The bit you quoted, which also may have influenced Michael's description, is actually the documentation for the filter's tripod parameter, which indeed tries to simulate or improve being tripod-mounted, and is by default 0. The existing non-OpenCL vidstab* filters offer a similar option, and I believe take a two-pass multi-frame approach.
          Last edited by utrrrongeeb; 27 August 2019, 07:34 AM. Reason: formatting/wording, technical fix

          Comment

          Working...
          X