Hi,<br><br><div><span class="gmail_quote">2007/12/8, Guillaume Poirier &lt;<a href="mailto:gpoirier@mplayerhq.hu">gpoirier@mplayerhq.hu</a>&gt;:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Hello,<br><br>The attached patch adds the AliVec implementation predict_16x16_p().<br><br>Comments, benchmarks and feedbacks are welcome.</blockquote><div><br>please apply the following patch.<br><br>--- a/common/ppc/predict.c
<br>+++ b/common/ppc/predict.c<br>@@ -20,6 +20,10 @@<br>&nbsp; * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA&nbsp; 02111, USA.<br>&nbsp; *****************************************************************************/<br>&nbsp;<br>
+#ifdef SYS_LINUX<br>+#include &lt;altivec.h&gt;<br>+#endif<br>+<br>&nbsp;#include &quot;common/common.h&quot;<br>&nbsp;#include &quot;common/clip1.h&quot;<br>&nbsp;#include &quot;predict.h&quot;<br>@@ -49,13 +53,13 @@ static void predict_16x16_p_altivec( uint8_t *src )
<br>&nbsp;&nbsp;&nbsp;&nbsp; b_u.s[0]&nbsp;&nbsp; = b;<br>&nbsp;&nbsp;&nbsp;&nbsp; c_u.s[0]&nbsp;&nbsp; = c;<br>&nbsp;<br>-&nbsp;&nbsp;&nbsp; vec_s16_t val5_v = vec_splat_s16(5);<br>+&nbsp;&nbsp;&nbsp; vec_u16_t val5_v = vec_splat_u16(5);<br>&nbsp;&nbsp;&nbsp;&nbsp; vec_s16_t i00_v, b_v, c_v;<br>&nbsp;&nbsp;&nbsp;&nbsp; i00_v = vec_splat(i00_u.v, 0);<br>
&nbsp;&nbsp;&nbsp;&nbsp; b_v = vec_splat(b_u.v, 0);<br>&nbsp;&nbsp;&nbsp;&nbsp; c_v = vec_splat(c_u.v, 0);<br>&nbsp;&nbsp;&nbsp;&nbsp; vec_s16_t induc_v&nbsp; = (vec_s16_t) CV(0,&nbsp; 1,&nbsp; 2,&nbsp; 3,&nbsp; 4,&nbsp; 5,&nbsp; 6,&nbsp; 7);<br>-&nbsp;&nbsp;&nbsp; vec_s16_t b8_v = vec_sl(b_v, vec_splat_s16(3));<br>+&nbsp;&nbsp;&nbsp; vec_s16_t b8_v = vec_sl(b_v, vec_splat_u16(3));
<br>&nbsp;&nbsp;&nbsp;&nbsp; vec_s32_t mule_b_v = vec_mule(induc_v, b_v);<br>&nbsp;&nbsp;&nbsp;&nbsp; vec_s32_t mulo_b_v = vec_mulo(induc_v, b_v);<br>&nbsp;&nbsp;&nbsp;&nbsp; vec_s16_t mul_b_induc0_v = vec_pack(vec_mergeh(mule_b_v, mulo_b_v), vec_mergel(mule_b_v, mulo_b_v));<br><br>
<br>Noboru Asai<br><br></div></div>