x64 and SSE2

chris84

New Member
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

Code:
#ifndef _WIN64
if(bSSE2available)
#endif
	...
#ifndef _WIN64
else
	...
#endif
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.
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
I am aware that SSE is guaranteed present on 64bit. For example, if you look in OBSApi\Utility\XT.h, you'll see:

Code:
#if defined(WIN32) && defined(C64)
    #define USE_SSE
#endif

which allows all the math functions to be compiled with SSE.

But honestly, the check is pretty much completely pointless in general. It's not likely people are going to be streaming on chips that don't have SSE2 available.
 

chris84

New Member
Totally agree, sse2 has been around for like 10 years maybe ?
You could clearly state it as a requirement and get rid of them checks.

totally OT but you got some serious pharmaceutical ads spam going on in here...
 

Warchamp7

Forum Admin
Yeah, bots happen. A lot of them get filtered and we have a way to ban them and delete all their posts in two clicks, so it's not a huge issue.
 

FlowerPower

New Member
In recent versions do you support SSE with mac? I see the condition has to be (win64 && sse2)

I just checked the package contents and couldn't find XT.h to check this fact myself.

also I'd like to thank you for this amazing project. RIP Adobe FMLE
 
Top