# x64 and SSE2



## chris84 (Jan 17, 2013)

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


```
#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.


----------



## Jim (Jan 17, 2013)

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


```
#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 (Jan 18, 2013)

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 (Jan 18, 2013)

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 (Apr 14, 2015)

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


----------



## Jim (Apr 22, 2015)

Old thread, but yea, SSE is in use on mac/linux/windows.


----------

