Hi,
I want to say nice job first, OBS works really well for me.
I skimmed through the source and couldn't help but notice something. You do know that SSE2 is guaranteed to be present on x64 right ? you have many tests like "if(bSSE2available) ... else ..."
This is just wasting time on tests that will always be true on 64bit builds. maybe you should isolate them with #ifndef _WIN64 or something ? like
or something.
In the same vein, Convert444to420 in ImageProcessing.cpp got a piece of code inside #ifdef _WIN64, after a "if(bSSE2available) ... else ..." construct.
If your SSE2 detection works correctly it is useless, since bSSE2available will always be true when _WIN64 is defined.
I want to say nice job first, OBS works really well for me.
I skimmed through the source and couldn't help but notice something. You do know that SSE2 is guaranteed to be present on x64 right ? you have many tests like "if(bSSE2available) ... else ..."
This is just wasting time on tests that will always be true on 64bit builds. maybe you should isolate them with #ifndef _WIN64 or something ? like
Code:
#ifndef _WIN64
if(bSSE2available)
#endif
...
#ifndef _WIN64
else
...
#endif
In the same vein, Convert444to420 in ImageProcessing.cpp got a piece of code inside #ifdef _WIN64, after a "if(bSSE2available) ... else ..." construct.
If your SSE2 detection works correctly it is useless, since bSSE2available will always be true when _WIN64 is defined.