[FFmpeg-cvslog] r14370 - in trunk/libavcodec/ppc: h264_altivec.c h264_template_altivec.c
Uoti Urpala
uoti.urpala
Fri Jul 25 03:37:35 CEST 2008
On Thu, 2008-07-24 at 18:01 -0700, Mike Melanson wrote:
> diego wrote:
> > Author: diego
> > Date: Thu Jul 24 18:54:51 2008
> > New Revision: 14370
> >
> > Log:
> > cosmetics: Fix indentation after last commit.
>
> I guess this fixed most of the PPC builds (gcc 4.1, 4.2, and 4.3).
It was fixed by a commit to libswscale (MPlayer repository).
> 4.0 is still broken. Do you think that is fixable, or do we drop support for
> PPC/4.0?
According to the build logs this looks like a preprocessing problem.
libswscale had code like this:
vec_min(x, (vector signed short)AVV(235,235,235,235,235,235,235,235))
It was changed by basically just doing manual macro replacement for
AVV() to this:
vec_min(x, (vector signed short){235,235,235,235,235,235,235,235})
But there's a pitfall: commas inside inner () within a macro argument
list do not separate arguments, but commas inside {} do. So if vec_min()
is implemented as a macro, then the second function argument is split
into several nonsense macro arguments (the first one being "(vector
signed short){235"). I suppose it's a built-in function in later GCC
versions but a macro in 4.0.
Adding parentheses around such arguments should work around the problem
if desired.
More information about the ffmpeg-cvslog
mailing list