Apple ProRes codec reverse engineered
git.videolan.org
git.videolan.org
ProRes 422 is a standard-definition and high-definition lossy video compression format developed by Apple Inc. for use in post production. It was introduced in 2007 with Final Cut Studio 2 [1] and is comparable to Avid's DNxHD codec which has the same purpose and uses similar bit rates.
val = SHOW_UBITS(re, gb, bits) - (1 << exp_order) + (switch_bits + 1) << rice_order);
and you just don't have a clue what it really means (I don't--even though I can easily read the line of code) because the answer is buried in the details of the codec design.But trust me--if you go through a complicated spec and implement it yourself, you'll end up with a lot of similar stuff as this guy did, with his mighty-fine-looking piece of work.
I will say, building an encoder based solely on the reverse-engineered decoder (didn't want to reverse out the encoder as well -- total mess) is a really fun challenge. Good way to dive into codec work.
I also quite often draw the distinction between "programmers" and "software engineers", with "computer scientists" sometimes being their own category, and sometimes a subset of the first two.
author Elvis Presley <elvis@e.p>However, it's nice that they have it built into ffmpeg now.
- if ffmpeg [developers] were overly scared about even remote risks of being sued, they'd stop.
- if ffmpeg [developers] wanted to abide by the law, they'd have to stop.
and the second interpretation is quite unfair IMHO.(Do folks realize that ffmpeg has never paid such fees intentionally and as a matter of philosophy?)