On Aug 30, 2014 6:32 AM, "Luca Barbato" <lu_z...@gentoo.org> wrote: > > --- > > I tested with recent compilers and the problem mentioned is actual only > for -O0. > > libavutil/ppc/intreadwrite.h | 48 ++++++++++++++++++++++++++++++-------------- > 1 file changed, 33 insertions(+), 15 deletions(-) > > diff --git a/libavutil/ppc/intreadwrite.h b/libavutil/ppc/intreadwrite.h > index fec54e6..dc8cd73 100644 > --- a/libavutil/ppc/intreadwrite.h > +++ b/libavutil/ppc/intreadwrite.h > @@ -26,7 +26,40 @@ > > #if HAVE_XFORM_ASM > > +#if HAVE_BIGENDIAN > #define AV_RL16 AV_RL16 > +#define AV_WL16 AV_WL16 > +#define AV_RL32 AV_RL32 > +#define AV_WL32 AV_WL32 > +#define AV_RL64 AV_RL64 > +#define AV_WL64 AV_WL64 > + > +/* > + * -O0 would compile the packed struct version, which is used by > + * default, in an overly verbose fashion, so we override it here. > + */ > +
> +#define AV_RB64(p) (*(const uint64_t *)(p)) > +#define AV_WB64(p, v) (*(uint64_t *)(p) = (v)) Don't these need to be at the end of the file so that it overrides the assembly version? > + > +#else > +#define AV_RL16 AV_RB16 > +#define AV_WL16 AV_WB16 > +#define AV_RL32 AV_RB32 > +#define AV_WL32 AV_WB32 > +#define AV_RL64 AV_RB64 > +#define AV_RL64 AV_RB64 These should be WL and WB. [...] Timothy _______________________________________________ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel