Author Archives: Moto

About Moto

Engineer who likes coding

Understanding SCTE-35

Introduction SCTE-35 is a standard to signal an advertisement (ad) insertion opportunity in a transport stream. This relatively short standard document is, however, difficult to understand without the insight of ad insertion workflow. This article explains the standard text with … Continue reading

Posted in Video | Tagged , , | 21 Comments

Regression bug!? Hold a moment…

It was a quiet Friday until a QA guy shouted “Hey, we just hit a showstopper problem!” The problem was difficult to reproduce, which, say, only 5% of trials resulted in the failure. In the follow up test, QA installed … Continue reading

Posted in Statistics | Leave a comment

Condition variables performance of boost, Win32, and the C++11 standard library

About four years ago, I wrote the condition variables in Win32 API was much faster than boost threading library implementation. Since then the boost threading library has been rewritten and C++11 has introduced the threading support in the standard library. … Continue reading

Posted in C++, Optimization | Tagged , , | 1 Comment

Make your first HEVC stream

This article shows how to encode your video with HM (HEVC Test Model (HM)), the reference implementation developed by the standard organizations. HM is provided as a source code so that we can build on various platforms. But let’s focus … Continue reading

Posted in Video | Tagged , , | 129 Comments

Find the MPEG output order from decoding order

Suppose there is a MPEG picture sequence and you know the decoding order. How do you get the output order (=presentation order)? Assuming every picture is a frame structure, we can use the following method. Imagine a ditch. Only I … Continue reading

Posted in Video | Tagged , , , , , | 2 Comments

HEVC – What are CTU, CU, CTB, CB, PB, and TB?

HEVC, also known as H.265 or MPEG-H part 2(ISO/IEC 23008-2), is just around the corner. A good overview was published. The reference implementation is available. Active discussion can be read in the JCT-VC document management system. The Final Draft International … Continue reading

Posted in Video | Tagged , , , , , , , | 22 Comments

The build is broken! How much time do we waste?

Continuous Integration (CI) encourages frequent code commit as opposed to running extensive QA process before merging the work to the trunk. I like Continuous Integration because the code changes are visible to everyone immediately. If someone makes a mistake, we … Continue reading

Posted in Algorithm, Statistics | Tagged , , , | Leave a comment