4 ms·
Apple ProRes codec reverse engineered
- deweller 15y agoFrom http://en.wikipedia.org/wiki/ProRes_422 http://en.wikipedia.org/wiki/ProRes_422: 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.
- aschwo 15y agoThis is a great development for decoding ProRes with non-OSX OSes. What are the legal implications? Will ffmpeg need to pay to license the ProRes codec from Apple? Does Apple even offer a license for the codec?
- johnbatch 15y agoHaven't they had this for a while (Post Date: August 28, 2008). http://support.apple.com/downloads/Apple_ProRes_QuickTime_Decoder_1_0_for_Windows http://support.apple.com/downloads/Apple_ProRes_QuickTime_De... However, it's nice that they have it built into ffmpeg now.
- modfodder 15y agoIt's read only for Windows, so Win apps can't write out a prores file. (In reference to Apple's decoder)
- protomyth 15y agoThe ARRI Alexa records in Apple ProRes 4444 or Apple ProRes 422. I am not sure if they got a license, but they have been doing it a while.
- throwaway32 15y agoif ffmpeg worried about patents and licensing, they would have stopped development a long time ago.
- dexen 15y agoYour snarky remark can be read both ways: - 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.
- throwaway32 15y agoI meant it both ways, however the second interpretation is really only true under US law. A lot of parties would want a lot of money to license things, how would they pay?
- Keyframe 15y agoWindows is read only (although clipster somehow manages to write out prores files). There are two licensed products (hardware) that write out prores that I am aware of - ARRI Alexa cameras and AJA ki pro.
- itsmemario 15y agobut the patent licences fees still apply.
- jpdoctor 15y agoIt's been over a decade since they haven't paid mpeg fees, so apple shouldn't hold its breath. (Do folks realize that ffmpeg has never paid such fees intentionally and as a matter of philosophy?)
- av500 15y agoit's not FFmpeg that would need to pay the fees, it would be FFmpeg users. A lot of codec royalties are tied to devices sold or hours of content streamed
- gst 15y agoIn countries where the patent applies.
- flyosity 15y agoThis code makes me feel like I'm not even a real software engineer, I'm just a guy playing with kiddie languages working on kiddie problems. Anyone else think that after reading it?
- deleted 15y ago[deleted]
- chime 15y agoLanguages are just tools. What one person can write in Erlang or raw C, someone else can write that in JS or QBasic. What matters is what your code does. Having working on projects ranging from large ERP systems to audio DSP to video startup to joke sites like cakesy.com and iwannamarry.com, I can say that what matters most is how much you enjoy working on the project. That's it. If the twitter-feed-importing-app makes you happy and your users happy, don't feel bad that you're not contributing to OpenSSH.
- beej71 15y agoCodecs are complicated and mathy and optimized for speed. So you might find a line of code that says something like: 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.
- daeken 15y agoThis is especially true when you're reversing a codec. I helped out reversing ALAC (Apple's answer to FLAC), and I didn't know what 99.9% of the code did, I just knew how it needed to do it. Certain things fit common patterns with simple changes (e.g. modified Rice coding), but most of the time you're just matching code behavior directly. 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.
- drv 15y agoThe King lives, and he's keeping busy by reverse engineering codecs... author Elvis Presley <elvis@e.p>
- bgentry 15y agoI thought that was funny. Maybethe author is afraid of being sued over this? Otherwise why wouldn't you want to be recognized for this?
- jasonwatkinspdx 15y agoReverse engineering can be done legally (in most jurisdictions) but that doesn't you want to invite an expensive lawsuit to prove you did it cleanly.