Our blog focuses on sharing our experience and knowledge across a wide range of technologies and industries including hardware and software design, audio, video, internet of things, mobile application and signal processing technologies.

Howdy Pierce Encoders Aren’t Commodities My partner Ben Mesander had a really cool post the other day: An H.264 encoder written in 30 lines of C code. Ben’s encoder outputs completely valid H.264, but it doesn’t actually compress anything. (What do you expect from 30 lines!) In fact, because of the necessary H.264 headers, the output of Ben’s encoder is… View Article Details
World’s Smallest H.264 Encoder H.264 has a complicated specification with several options, many of which are not commonly used. So, I decided to write the simplest possible H.264 encoder. Details
Howdy Pierce More on Patents I had intended to give the indemnification issue a rest. But then the following caught my attention this morning: One big difference between patents and other kinds of intellectual property, like copyrights and trademarks, is that patent-holders who want to sue someone for infringement don’t have to show that their patents or their products were… View Article Details
Howdy Pierce Providing Indemnification for Patent Infringement Cardinal Peak recently had an unfortunate “first”: We chose to walk away from a promising engineering engagement because we couldn’t reach agreement with our customer about an indemnification clause. Let me give a little background before diving into the issue. “Indemnification” technically is the legal obligation to compensate a business partner for losses that the… View Article Details
Writing Defensive Code to Automatically Find Memory Leaks In an earlier post, I suggested making all your memory allocations go through a single routine, and deletions through another. When you centralize allocation and deallocation like this, you gain a couple of benefits. First of all, you make the memory allocation more explicit, which will tend to make programmers more careful. Second, you can… View Article Details
Mike Perkins Delta Sigma Converters: Filtering, Decimation and Simulations In my first post on ΔΣ converters I presented an intuitive way to derive the modulator portion of the converter. Now we need to look at what comes after the modulator — namely, the digital filter and the decimator. The high-level structure of the converter looks like this: The analog input voltage, v(t), is assumed… View Article Details
How To Find a Memory Leak Finding memory leaks and other problems in your code can be challenging, but there are tools available to help simplify that process. Remember to add time to your schedule so that you can apply the available tools for finding memory leaks and other problems. Details
Mike Perkins Delta Sigma Converters: Modulation The web is filled with introductions to Delta Sigma modulation (also sometimes referred to as Sigma Delta modulation) in the context of Delta Sigma converters. Unfortunately, the ones I’ve looked at fail to intuitively motivate how the modulator works. Therefore, my goal in this post is to show how the structure of a first-order ΔΣ… View Article Details
Ben’s Golden Rule for Preventing Memory Leaks As an embedded software engineer, I spend the majority of my time writing code in C and C++. One somewhat-justified knock on these languages is that they both force the programmer to sweat all the details involved with memory management. One particular bugaboo of the C/C++ engineer is the memory leak: Memory that is dynamically… View Article Details
26 pages of results