Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    C

    Clément Bœsch

    blog.pkh.me · Personal blog · on HN since 2012

    Clément Bœsch, an FFmpeg developer, writes about video tools, GPU shader graphics, text rendering, and low-level programming tricks.

    Visit blogRSSHN submissions
    ProgrammingOpen Source & LinuxGames
    What HN says

    HN links his post on the FFmpeg/Libav split in debates over that fork, where commenters discuss its technical and political causes.

    Stats for nerds
    39HN people shared it
    61linked in comments
    2.9Kstory points
    Dec 2025last shared
    2013people per year2025

    Top posts on HN

    1. 1
      Investigating why Steam started picking a random font
      3 people · 796 points · first shared 2022 · 166 comments on HN
    2. 2
      High quality GIF with FFmpeg
      4 people · 483 points · first shared 2015 · 124 comments on HN
    3. 3
      A series of tricks and techniques I learned doing tiny GLSL demos
      2 people · 207 points · first shared 2025 · 26 comments on HN
    4. 4
      The FFmpeg/Libav situation
      20 people · 158 points · first shared 2012 · 51 comments on HN
    5. 5
      Fast calculation of the distance to cubic Bezier curves on the GPU
      1 person · 157 points · first shared 2025 · 33 comments on HN
    6. 6
      Sharing everything I could understand about gradient noise
      2 people · 141 points · first shared 2025 · 8 comments on HN
    7. 7
      Fixing the iterative damping interpolation in video games
      1 person · 127 points · first shared 2024 · 53 comments on HN
    8. 8
      Perfecting anti-aliasing on signed distance functions
      3 people · 122 points · first shared 2025 · 21 comments on HN
    9. 9
      Butchering HQX pixel art scaling filters
      1 person · 114 points · first shared 2014 · 11 comments on HN
    10. 10
      Code golfing a tiny demo using maths and a pinch of insanity
      1 person · 107 points · first shared 2025 · 22 comments on HN

    What HN people wrote when they linked it

    • quagAug 2025

      It sounds like you've got something specific in mind when you say, "modeling". The term modeling is used in a lot of different situations to mean different things. For example, it could mean to make a 3d model in Blender, it could mean to pose for someone to paint you or to take a photo, with databases it's used to mean modeling the data, with statistics it's used to mean finding a way to simply represent and reason about the data (create a model of it).

      The things you've listed out make me guess you want to write 2d or 3d image rendering software. Is that right?

      If that's the case, there's no substitute for trying to recreate certain algorithms or curves using a language or tool that you're comfortable with. It'll help you build an intuition about how the mathematical object behaves and what problems it solves (and doesn't). All of these approaches were created to solve problems, understanding the theory of it doesn't quite get you there. If you don't have a good place to try out functions, I recommend https://thebookofshaders.com/05/ , https://www.desmos.com/calculator , or https://www.geogebra.org/calculator .

      A good place to start is linear interpolation (lerp). It seems dead simple, but it's used extensively to blend two things together (say positions or colors) and the other things you listed are mostly fancier things built on top of linear interpolation.

      https://en.wikipedia.org/wiki/Linear_interpolation

      For bezier curves and surfaces here are some links I've…

    • bruFeb 2016

      > libav [...] promoted as a concerted effort to create a better API

      True, but that was biased and unfair. Some developers leveraged their Debian influence to get Debian to switch from ffmpeg to libav, but the technical merits were debatable. In the end, they came back to ffmpeg.

      This is mostly a political issue. Software-wise AFAIK ffmpeg has been integrating many changes from libav but the opposite is not true, making IMHO ffmpeg the right choice.

      Good article (2012) with in-depth history: http://blog.pkh.me/p/13-the-ffmpeg-libav-situation.html

      More recent (2015) short take on the matter, seems pretty biased though: https://github.com/mpv-player/mpv/wiki/FFmpeg-versus-Libav

      Wikipedia entry: https://en.wikipedia.org/wiki/Libav#Fork_from_FFmpeg

      The github link is on mpv wiki. mpv is a descendant of mplayer and mplayer2 (the latter being mostly dead). IMHO mpv is the best media player for any OS (lightweight, snappy, reads everything, better options and CLI than mplayer*, etc.).

    • AndyKelleyJan 2024

      Indeed, the Zig build system includes a package manager. Fetching, configuration, compilation, and installation are all 1 command:

      zig build Furthermore, C and C++ code can participate in the Zig package ecosystem. For example, here is ffmpeg packaged for consumption by a Zig project:

      https://github.com/andrewrk/ffmpeg

      Why not use a system package? Well, because the user's system might not have such a package. They might be on Windows, for example. Or their package might be out of date. [Or the system might have chosen sides in a nasty fork war](http://blog.pkh.me/p/13-the-ffmpeg-libav-situation.html).

      So, while system packages are nice for end users, they might not always satisfy the needs of upstream application developers.

    • neeeeNov 2013

      No, check out http://blog.pkh.me/p/13-the-ffmpeg-libav-situation.html.

      While Libav left with the server, bug tracker, etc., the FFmpeg project was restoring itself, with the help of some VideoLAN people (the FFmpeg sources are now hosted on git.videolan.org). Michael also started to merge the Libav changes back into FFmpeg every 1-2 day, with a lot of forgotten, previously rejected, sometimes controversial features, or in stand-by such as ffmpeg-mt.

      The main point here is that the fork stimulated the competition, and FFmpeg became a way better (IMHO) and more complete project. Also, I must say the leader's attitude completely changed, in a very good way. This is certainly one of the most positive thing that came out of that war.

    • vezzy-fnordJul 2014

      About time. I'm usually all for forking and variety, but libav truly was an example of those gratuitous and destructive forks that offered no real benefit. Though, ultimately, it was the Debian package maintainers' decision to spread propaganda about ffmpeg being deprecated that was the worst.

      As a practical example, I was gridlocked when I tried to compile LightSpark from Git, due to libswresample not being present, nor practically obtainable. Editing it out from cmake, predictably, lead to breakage.

      Here's a classic article detailing the situation: http://blog.pkh.me/p/13-the-ffmpeg-libav-situation.html

      And from the mpv developers: https://github.com/mpv-player/mpv/wiki/FFmpeg-versus-Libav

    • meinersburMay 2023

      libav was the fork [1], and libav is dead now [2,3] (and many developers returned to ffmpeg).

      libav was forced to rename their project because Fabrice Bellard, still owner of the trademark and the ffmpeg.org domain, did not hand it over. ffmpeg put in much effort retain compatibility with libav, mostly by merging all their changes wholesale, while libav ignored ffmpeg, including and most crucially, their security fixes [4].

      [1] http://blog.pkh.me/p/13-the-ffmpeg-libav-situation.html

      [2] https://www.libav.org/

      [3] https://www.phoronix.com/news/FFmpeg-Back-In-Debian

      [4] https://j00ru.vexillium.org/2014/01/ffmpeg-and-the-tale-of-a-thousand-fixes/

    Related

    Josh Barczakjoshbarczak.com18 people

    OpenGL Is Broken

    Josh Barczak
    Personal · last shared 2025
    Codec Multimedia Blogcodecs.multimedia.cx20 people

    Rust: Not So Great For Codec Implementing

    Codec Multimedia Blog
    Personal · last shared 2025
    Fabien Sanglardfabiensanglard.net525 people

    The Polygons of Another World

    Fabien Sanglard
    Personal · last shared 2026
    Sander van der Burgsandervanderburg.blogspot.com24 people

    Running Linux on my Amiga 4000

    Sander van der Burg
    Personal · last shared 2026
    Alyssa Rosenzweigrosenzweig.io82 people

    The Apple GPU and the impossible bug

    Alyssa Rosenzweig
    Personal · last shared 2025
    Florian Boeschcodeflow.org29 people

    High Performance JS heatmaps

    Florian Boesch
    Personal · last shared 2018
    PhobosLabphoboslab.org123 people

    QOI: Lossless Image Compression in O(n) Time

    PhobosLab
    Personal · last shared 2026
    John Regehrblog.regehr.org401 people

    Teaching C

    John Regehr
    Personal · last shared 2026