"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "libavcodec/ppc/me_cmp.c" between
libav-11.7.tar.gz and libav-11.8.tar.gz

About: libav provides cross-platform tools ("avconv") and libraries to convert, manipulate and stream a wide range of multimedia (audio and video) formats and protocols.

me_cmp.c  (libav-11.7):me_cmp.c  (libav-11.8)
skipping to change at line 37 skipping to change at line 37
#include "libavutil/attributes.h" #include "libavutil/attributes.h"
#include "libavutil/cpu.h" #include "libavutil/cpu.h"
#include "libavutil/ppc/cpu.h" #include "libavutil/ppc/cpu.h"
#include "libavutil/ppc/types_altivec.h" #include "libavutil/ppc/types_altivec.h"
#include "libavutil/ppc/util_altivec.h" #include "libavutil/ppc/util_altivec.h"
#include "libavcodec/avcodec.h" #include "libavcodec/avcodec.h"
#include "libavcodec/mpegvideo.h" #include "libavcodec/mpegvideo.h"
#include "libavcodec/me_cmp.h" #include "libavcodec/me_cmp.h"
#if HAVE_ALTIVEC #if HAVE_ALTIVEC && HAVE_BIGENDIAN
static int sad16_x2_altivec(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2, static int sad16_x2_altivec(MpegEncContext *v, uint8_t *pix1, uint8_t *pix2,
int line_size, int h) int line_size, int h)
{ {
int i, s = 0; int i, s = 0;
const vector unsigned char zero = const vector unsigned char zero =
(const vector unsigned char) vec_splat_u8(0); (const vector unsigned char) vec_splat_u8(0);
vector unsigned char perm1 = vec_lvsl(0, pix2); vector unsigned char perm1 = vec_lvsl(0, pix2);
vector unsigned char perm2 = vec_add(perm1, vec_splat_u8(1)); vector unsigned char perm2 = vec_add(perm1, vec_splat_u8(1));
vector unsigned int sad = (vector unsigned int) vec_splat_u32(0); vector unsigned int sad = (vector unsigned int) vec_splat_u32(0);
vector signed int sumdiffs; vector signed int sumdiffs;
skipping to change at line 749 skipping to change at line 749
dst += 8 * stride; dst += 8 * stride;
src += 8 * stride; src += 8 * stride;
score += hadamard8_diff16x8_altivec(s, dst, src, stride, 8); score += hadamard8_diff16x8_altivec(s, dst, src, stride, 8);
} }
return score; return score;
} }
#endif /* HAVE_ALTIVEC */ #endif /* HAVE_ALTIVEC */
av_cold void ff_me_cmp_init_ppc(MECmpContext *c, AVCodecContext *avctx) av_cold void ff_me_cmp_init_ppc(MECmpContext *c, AVCodecContext *avctx)
{ {
#if HAVE_ALTIVEC #if HAVE_ALTIVEC && HAVE_BIGENDIAN
if (!PPC_ALTIVEC(av_get_cpu_flags())) if (!PPC_ALTIVEC(av_get_cpu_flags()))
return; return;
c->pix_abs[0][1] = sad16_x2_altivec; c->pix_abs[0][1] = sad16_x2_altivec;
c->pix_abs[0][2] = sad16_y2_altivec; c->pix_abs[0][2] = sad16_y2_altivec;
c->pix_abs[0][3] = sad16_xy2_altivec; c->pix_abs[0][3] = sad16_xy2_altivec;
c->pix_abs[0][0] = sad16_altivec; c->pix_abs[0][0] = sad16_altivec;
c->pix_abs[1][0] = sad8_altivec; c->pix_abs[1][0] = sad8_altivec;
c->sad[0] = sad16_altivec; c->sad[0] = sad16_altivec;
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added

Home  |  About  |  All  |  Newest  |  Fossies Dox  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTPS