Re: Patterns.
Mike Melanson <[email protected]> Sun, 18 Dec 2005 08:26:36 -0800
| Newsgroups | gmane.comp.video.xine.codec.devel |
|---|---|
| Message-ID | <[email protected]> |
James Courtier-Dutton wrote: > Hi, > > I have been doing reverse engineering for some time now. I think it > would be good to start building up a web site with a list of patterns. > e.g. > If you see this group of assembly instructions, then this is the concept > they are implementing. > I think this would be particularly useful for reverse engineering codecs. > For example, we could describe a concept, like for example IDCT, and > then list each of the different ways it has been implemented in actual > code. > Then, when a new looking IDCT routine is discovered in some binary code, > it will be added to the list. > > Then people reverse engineering code, could much more easily get back to > the concept behind the binary instructions, and then document the > conceptual algorithm for the code, so that other people could then > implement it. > > I am currently working on a project that will display binary code in a > more readable form than assembly instructions. The aim is to display it > as a code snippet in C. I fully understand that it will not be perfect, > but I feel sure that it will at least speed up the task of reverse > engineering assembly code. Good idea, and I encourage you to keep it up. For my part, I am still trying to write a series of articles about core video coding concepts in plain, non-mathematical English: http://multimedia.cx/eggs/index.php?cat=16 The reason for this is that I realized that there are a lot of REs out there who want to delve into binary codec code but do not understand what they might find. That's why I wanted to describe what the algorithms most commonly look like. It has been a little slow going. Here are the current articles: * RLE * Differential Coding * Mean Removal * (Scalar) Quantization * Frame Types The articles I have in the queue include: * YUV and RGB Colorspaces And Pixel Formats * Building Blocks (discussing basic decoding flow) * The Magical Discrete Cosine Transform * Motion Compensation * Vector Quantization * Huffman Codes/Variable Length Codes * Machine Optimizations I know wavelets should be on there as well. But I know less about those than I do about DCT. -- -Mike Melanson ------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click