[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