Ask HN: Getting into low level audiovisual codecs and graphics

As an intermediate programmer, what are the goto resources to get into low level programming on audi video codecs and computer graphics?

7 points | by z3phyr 1681 days ago

4 comments

  • d--b 1681 days ago
    Before getting to the code, you need to understand the principles, which are getting quite complex. I would start by reading how mpeg-2 worked, it’s sufficiently simple. Then move on to h.264, you’ll see a shitload of innovation there, not all of which is easy to grasp. And then look into state of the art stuff.

    The recent video codecs are incredibly complicated, and as a solo developer, it would be pretty hard to develop a codec by yourself. You may be able to invent some feature that improves the coding slightly, but coding efficiency is getting pretty hard to beat.

    What to read and what code to learn is difficult to say depending on your objective. If your objective is getting a job in video coding, it’s not too hard cause these jobs are quite academic and you don’t get paid much, so if you know some coding and show some interest in learning the field, I don’t think it’d be too hard for you to find an intern position in a lab or something.

    • z3phyr 1680 days ago
      Can you recommend a reading resource? I was looking for MPEG-1 and MPEG-2 specifications, and to the best of my knowledge, they are behind a paywall. I will probably buy them if there is no other choice other than the specs.
  • deepaksurti 1680 days ago
    If you really want to do a practical hands on deep dive in Graphics: I would strong recommend [1].

    Just work through this book and you are set. There is a a LOT of demand and short supply for good 3D graphics programmers. I would say it should be either Media or Graphics; both may be an overkill! Good luck.

    [1] http://www.amazon.com/gp/product/B00LAMQYF2/

  • billconan 1681 days ago
    video codec is an undocumented mine field. If you want to know how to decode and encode video, looking at libav's example code or gstreamer's example code is the best way.

    If you want to understand the fundamentals. The best I know is this https://people.xiph.org/~xiphmont/demo/daala/demo1.shtml

  • alltakendamned 1681 days ago
    if you want a fun introduction, I suggest becoming part of the demoscene !