On Mon, Nov 10, 2014 at 05:01:56PM +0800, rongyan wrote: > Hi, > New patch please find in the attachment. There are two patches to re-submit, > this is the first. > The fate test result is here: > > Rong Yan [...]
> - vector unsigned char pix2l = vec_ld(0, pix2); > - vector unsigned char pix2r = vec_ld(16, pix2); > - vector unsigned char pix2v = vec_perm(pix2l, pix2r, perm1); > - vector unsigned char pix2iv = vec_perm(pix2l, pix2r, perm2); > + vector unsigned char pix2v = VEC_LD(0, pix2); > + vector unsigned char pix2iv = VEC_LD(1, pix2); this doubles the number of vec_ld() on big endian [...] > @@ -356,11 +168,8 @@ static int sad16_xy2_altivec(MpegEncContext *v, uint8_t > *pix1, uint8_t *pix2, > * pix1v: pix1[0] - pix1[15] > * pix3v: pix3[0] - pix3[15] pix3iv: pix3[1] - pix3[16] */ > pix1v = vec_ld(0, pix1); > - > - pix2l = vec_ld(0, pix3); > - pix2r = vec_ld(16, pix3); > - pix3v = vec_perm(pix2l, pix2r, perm1); > - pix3iv = vec_perm(pix2l, pix2r, perm2); > + pix3v = VEC_LD(0, pix3); > + pix3iv = VEC_LD(1, pix3); > > /* Note that AltiVec does have vec_avg, but this works on vector > pairs > * and rounds up. We could do avg(avg(a, b), avg(c, d)), but the this also doubles the number of vec_ld() on big endian [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Its not that you shouldnt use gotos but rather that you should write readable code and code with gotos often but not always is less readable
signature.asc
Description: Digital signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel