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 ------------------ ???????? ------------------ ??????: "Tony Lin";<linzhaolo...@gmail.com>; ????????: 2014??11??10??(??????) ????11:33 ??????: "rongyan"<rongyan...@foxmail.com>; ????: Fwd: [FFmpeg-devel] [patch 2/4] Fix bug for POWERLE: libavcodec/ppc/me_cmp.c
Forwarded conversation Subject: [FFmpeg-devel] [patch 2/4] Fix bug for POWERLE: libavcodec/ppc/me_cmp.c ------------------------ From: rongyan <rongyan...@foxmail.com> Date: 2014-11-07 17:37 GMT+08:00 To: FFmpeg development discussions <ffmpeg-devel@ffmpeg.org> Hi, There are 4 patches presented to fix bugs for POWER8 little endian. I will send 4 patches in 4 different email. This is the second. It fixed the function hadamard8_diff8x8_altivec(), hadamard8_diff16x8_altivec(), sad16_x2_altivec(), sad16_y2_altivec(), sad16_xy2_altivec(), sad16_altivec(), sad8_altivec(), sse16_altivec(), sse8_altivec(). The fate test result on POWER BE and POWER LE after merge these 4 patches are attached here to facilitate the review: The passed test cases change from 1679/2182 to 2010/2236. Rong Yan ------------------ The world has enough for everyone's need, but not enough for everyone's greed. _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel ---------- From: Michael Niedermayer <michae...@gmx.at> Date: 2014-11-07 19:44 GMT+08:00 To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> On Fri, Nov 07, 2014 at 05:37:43PM +0800, rongyan wrote: [...] > @@ -88,11 +49,9 @@ static int sad16_x2_altivec(MpegEncContext *v, uint8_t > *pix1, uint8_t *pix2, > /* Read unaligned pixels into our vectors. The vectors are as > follows: > * pix1v: pix1[0] - pix1[15] > * pix2v: pix2[0] - pix2[15] pix2iv: pix2[1] - pix2[16] */ > - vector unsigned char pix1v = vec_ld(0, pix1); > - 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 pix1v = VEC_LD(0, pix1); > + vector unsigned char pix2v = VEC_LD(0, pix2); > + vector unsigned char pix2iv = VEC_LD(1, pix2); > > /* Calculate the average vector. */ > vector unsigned char avgv = vec_avg(pix2v, pix2iv); this would add vec_perm vec_ld and vec_lvsl to vector unsigned char pix1v = vec_ld(0, pix1); for big endian, which would slow it down [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Breaking DRM is a little like attempting to break through a door even though the window is wide open and the only thing in the house is a bunch of things you dont want and which you would get tomorrow for free anyway _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
0001-libavcodec-ppc-me_cmp.c-fix-hadamard8_diff8x8_altive.patch
Description: Binary data
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel