Assuming you mean video frames, you could do something like this:
convert both frames to a common format (same number of rows and columns, same pixel format for example RGB15)
pixel by pixel, compare the red, green, blue components and check that they are "close enough"
If a "high enough" percentage of pixels match, the media frames match
This method will fail to return a match for all sorts of reasons, for example, because one frame has been cropped or because one frame has been processed to adjust the contrast, etc.
Really, what you need to do is figure out what tineye www.tineye.com[^] are doing.
You need to set the format for the column to display the time in the way you want, and the width of the column to display all its content. The # string merely indicates that the column is not wide enough for Excel to display its content.
Just say 'NO' to evaluated arguments for diadic functions! Ash
inline is now mostly a hint to the compiler; but it decides whatever it wants to do with the code anyway; in general, inline method should be as small as possible and do as little as possible (get/set, simple calculations, ... )
In experience, we kind of stopped using the inline keyword in most new code.
Macro are evil.
Macros are processed by the preprocessor; it mostly will do a "textual" substitution (very liberal explanation!) of the macro to the actual code and then it will be compiled normally.
Macros are not debuggable; meaning you cannot put a breakpoint in it.
As for speed, I would say that for simple macro and simple inline methods the compiler and optimizer will make them more or less even.
You will have to check for particular test cases in your code to check performance issues.
In experience, we stopped using macros (except few particular cases) in new code and try to replace the ones in old code with methods or free functions.