:: Re: [Frei0r] 4 new plugins announce…
Top Page
Delete this message
Reply to this message
Author: Dan Dennedy
Date:  
To: Minimalistic plugin API for video effects
Subject: Re: [Frei0r] 4 new plugins announcement
On Sun, Jun 10, 2012 at 11:26 PM, Marko Cebokli <s57uuu@???> wrote:
> Wouldn't it be simpler to just prescribe the use of byte pointers?
> The speed penalty on modern CPUs is probably minimal, especially as most of
> them are now 64 bit, and 32bit accesses can be unaligned too - and cache lines
> are even bigger than 64.


Well, this is what I prefer to use as well, but there is existing
uint32_t* code that might get fixed someday, and not everyone does
things the same way or has read and heeded that one little we add
somewhere in a comment that says to use byte pointer. Also, if someone
uses asm with SIMD, they could find it useful.

> Marko Cebokli
>
> On Monday 11 June 2012 01:50:05 salsaman wrote:
>> Yes, Solaris is tricky because it can run on Sparc (bigendian) or PC
>> (littleendian) I think.
>>  Maybe fall back to the runtime check in that case.


The problem is that they are different codes:

#if F0R_BYTE_ORDER == F0R_LITTLE_ENDIAN

vs.

if (F0R_LITTLE_ENDIAN)

So, I suggest we just leave out the exception for Solaris until we get a patch.

>>
>> Salsaman.
>>
>>
>>
>> http://lives.sourceforge.net
>> https://www.ohloh.net/accounts/salsaman
>>
>> On Sun, Jun 10, 2012 at 2:38 PM, Dan Dennedy <dan@???> wrote:
>> > On Sun, Jun 10, 2012 at 8:47 AM, salsaman <salsaman@???> wrote:
>> >> Hi Jaromil,
>> >> maybe its a good time to look at the endianness issue - at least add
>> >> the #defines into frei0r.h.
>> >
>> > I modified your previous proposal to include more well-defined OS
>> > detection based on this:
>> > https://sourceforge.net/apps/mediawiki/predef/index.php?title=Operating_S
>> > ystems
>> >
>> > #ifndef _WIN32
>> > #ifndef sun
>> > #include <endian.h>
>> > #define F0R_BYTE_ORDER __BYTE_ORDER
>> > #define F0R_LITTLE_ENDIAN __LITTLE_ENDIAN
>> > #define F0R_BIG_ENDIAN __BIG_ENDIAN
>> >
>> > #else // Solaris or SunOS
>> > #endif
>> >
>> > #else // Windows
>> > #define F0R_LITTLE_ENDIAN 1
>> > #define F0R_BIG_ENDIAN 0
>> > #define F0R_BYTE_ORDER F0R_LITTLE_ENDIAN
>> > #endif
>> >
>> > --
>> > Note I changed the IS_ prefix to a F0R_ with a zero to be consistent
>> > with other defines in the header. What should we do about sun?
>> >
>> > There is interesting discussion on stackoverflow:
>> > http://stackoverflow.com/questions/2100331/c-macro-definition-to-determin
>> > e-big-endian-or-little-endian-machine
>> >
>> > A much later comment suggested this, which looks elegant:
>> >
>> > #define F0R_LITTLE_ENDIAN (*(uint16_t*)"\0\1">>8)
>> > #define F0R_BIG_ENDIAN (*(uint16_t*)"\1\0">>8)
>> >
>> > However, they are macros and not for the pre-processor so when used
>> > within a loop will degrade performance.
>> >
>> >> Salsaman.
>> >>
>> >> http://lives.sourceforge.net
>> >> https://www.ohloh.net/accounts/salsaman
>> >>
>> >> On Sun, Jun 10, 2012 at 6:10 AM, Jaromil <jaromil@???> wrote:
>> >>> On Fri, 08 Jun 2012, Dan Dennedy wrote:
>> >>>> I pushed Janne's new plugins to dyne.org.
>> >>>
>> >>> thanks Dan!
>> >>>
>> >>> I will add your github account to the information on the website ASAP
>> >>> (eheh! now its you on github!!!) so that those who want to contribute
>> >>> using that can hopefully do the same way.
>> >>>
>> >>> And what about rounding up a new release? its about the time i think,
>> >>> or do we see any important pending issues to fix/settle? I can
>> >>> dedicate some hours to frei0r in the coming week so let me know
>> >>>
>> >>> ciao
>> >>>
>> >>> --
>> >>> jaromil,  dyne.org developer,  http://jaromil.dyne.org
>> >>> GPG: B2D9 9376 BFB2 60B7 601F 5B62 F6D3 FBD9 C2B6 8E39
>> >>>
>> >>>
>> >>>
>> >>> _______________________________________________
>> >>> Frei0r mailing list - http://frei0r.dyne.org
>> >>> Free video plugins, minimal and cross-platform.
>> >>> http://mailinglists.dyne.org/cgi-bin/mailman/listinfo/frei0r
>> >>
>> >> _______________________________________________
>> >> Frei0r mailing list - http://frei0r.dyne.org
>> >> Free video plugins, minimal and cross-platform.
>> >> http://mailinglists.dyne.org/cgi-bin/mailman/listinfo/frei0r
>> >
>> > --
>> > +-DRD-+
>> > _______________________________________________
>> > Frei0r mailing list - http://frei0r.dyne.org
>> > Free video plugins, minimal and cross-platform.
>> > http://mailinglists.dyne.org/cgi-bin/mailman/listinfo/frei0r
>>
>> _______________________________________________
>> Frei0r mailing list - http://frei0r.dyne.org
>> Free video plugins, minimal and cross-platform.
>> http://mailinglists.dyne.org/cgi-bin/mailman/listinfo/frei0r
> _______________________________________________
> Frei0r mailing list - http://frei0r.dyne.org
> Free video plugins, minimal and cross-platform.
> http://mailinglists.dyne.org/cgi-bin/mailman/listinfo/frei0r




--
+-DRD-+