<br><br><div class="gmail_quote">On Sat, Jul 4, 2009 at 1:37 PM, David Schleef <span dir="ltr">&lt;<a href="mailto:ds@entropywave.com">ds@entropywave.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="im">On Sat, Jul 04, 2009 at 10:13:14AM +0200, Sebastian Dröge wrote:<br>
&gt; When do you plan to push this changes to the main GIT repository?<br>
<br>
</div>Probably won&#39;t be pushed any time soon.  I&#39;m not planning to write<br>
or maintain #ifdef HAVE_ORC&#39;s everywhere, so it&#39;s probably not<br>
appropriate for master until Orc gets more user testing, cross-platform<br>
testing, and perhaps a few more features.<br>
<br>
There are several hurdles that need to be addressed:<br>
<br>
 - Whether Orc will be a required dependency *for users*.  Orc<br>
   will probably grow features soon that makes this irrelevant.<br>
<br>
 - Whether Orc will be a required dependency *for developers*.<br>
<br>
 - Whether to make the .orc source the canonical description of<br>
   the functions implemented.  Pro: orcc automatically generates<br>
   test code.  Cons: yet more crap for developers to learn, plus<br>
   the generated C code is not easy to understand.<br>
<br>
 - Orc is still developing rapidly enough that it will either<br>
   need an ABI bump soon or start accumulating crufty API.<br>
<br>
The summit would be a convenient time to discuss such things.  I<br>
don&#39;t really need to be involved.  I&#39;m committed to making Orc a<br>
useful tool for GStreamer,<br>
<br>
I&#39;m tentatively planning an ABI bump once Orc handles roughly all<br>
the liboil functions that Schroedinger and GStreamer use, which<br>
should be some time in September.  Hopefully there will have been<br>
enough user testing by then that it can be an ABI that is stable<br>
for several years.<br>
<div class="im"><br>
&gt; And what will happen if orc is used on an architecture (mips, alpha, x86<br>
&gt; without MMX and stuff)? Will orc simply fail then or is there a slow<br>
&gt; fallback implementation?<br>
<br>
</div>It uses the C backup function that orcc generates.<br>
<div class="im"><br>
&gt; - The multichannel conversion routines need some kind of matrix<br>
&gt; operations. Is this what you mean with 2-D array mode?<br>
<br>
</div>Partly.<br>
<div class="im"><br>
&gt; Will it also be possible at some point to write things like<br>
&gt; for (i = 0; i &lt; N; i+=2)<br>
&gt;   d[i] = s[i] + s[i+1]<br>
&gt; with orc?<br>
<br>
</div>You can do that right now using something like:<br>
<br>
  select0lw t1, s1<br>
  select1lw t2, s1<br>
  addw t1, t1, t2<br>
  select0lw t3, d1<br>
  select1lw t4, d1<br>
  addw t3, t3, t1<br>
  mergewl d1, t3, t4<br>
<br>
It&#39;s a little clumsy, but any strided operation is clumsy with<br>
vector operations.  (Also note that you can&#39;t currently read a<br>
source twice, you have to copy it to a temp variable first, but<br>
that is a bug.)<br>
<br>
Concerning the orc Makefile target in you other email, I&#39;m planning<br>
to make orcc also generate independent C code, so if HAVE_ORC is not<br>
defined in config.h (for example), the generated code won&#39;t need Orc<br>
headers to compile, nor will you need orcc installed to generate<br>
those files.  These are tradeoffs that aren&#39;t unique to Orc.<br>
<br>
<br>
<br>
dave...<br>
<div><div></div><div class="h5"><br>
<br>
------------------------------------------------------------------------------<br>
_______________________________________________<br>
gstreamer-devel mailing list<br>
<a href="mailto:gstreamer-devel@lists.sourceforge.net">gstreamer-devel@lists.sourceforge.net</a><br>
<a href="https://lists.sourceforge.net/lists/listinfo/gstreamer-devel" target="_blank">https://lists.sourceforge.net/lists/listinfo/gstreamer-devel</a><br>
</div></div></blockquote></div><br>