List Info

Thread: MacOS X Compile error with swscale




MacOS X Compile error with swscale
user name
2008-03-29 05:47:54
I'm using the latest svn as of this writing.

I configure ffmpeg as follows:

./configure --enable-shared --enable-gpl --disable-mmx
--enable- 
libmp3lame --disable-vhook --enable-libfaad --enable-libfaac
--enable- 
swscale

And I get the following error:

yuv2rgb.c: In function ‘yuv2rgb_get_func_ptr’:
yuv2rgb.c:609: error: ‘yuv420_rgb32_MMX2’ undeclared (first
use in  
this function)
yuv2rgb.c:609: error: (Each undeclared identifier is
reported only once
yuv2rgb.c:609: error: for each function it appears in.)
yuv2rgb.c:610: error: ‘yuv420_rgb24_MMX2’ undeclared (first
use in  
this function)
yuv2rgb.c:611: error: ‘yuv420_rgb16_MMX2’ undeclared (first
use in  
this function)
yuv2rgb.c:612: error: ‘yuv420_rgb15_MMX2’ undeclared (first
use in  
this function)
yuv2rgb.c:617: error: ‘yuv420_rgb32_MMX’ undeclared (first
use in this  
function)
yuv2rgb.c:618: error: ‘yuv420_rgb24_MMX’ undeclared (first
use in this  
function)
yuv2rgb.c:619: error: ‘yuv420_rgb16_MMX’ undeclared (first
use in this  
function)
yuv2rgb.c:620: error: ‘yuv420_rgb15_MMX’ undeclared (first
use in this  
function)
make[1]: *** [yuv2rgb.o] Error 1
make: *** [lib] Error 2

Looks like it's still trying to use some MMX code, even
though I  
disabled it, perhaps?  (I'm open to being completely wrong
about this.)

-- Scott
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-develmplayerhq.hu
https://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-devel


Re: MacOS X Compile error with swscale
user name
2008-03-29 12:05:45
Diego Biurrun <diegobiurrun.de> writes:

> On Sat, Mar 29, 2008 at 04:47:54AM -0600, Scott Harper
wrote:
>> I'm using the latest svn as of this writing.
>> 
>> I configure ffmpeg as follows:
>> 
>> ./configure --enable-shared --enable-gpl
--disable-mmx --enable- 
>> libmp3lame --disable-vhook --enable-libfaad
--enable-libfaac --enable- 
>> swscale
>> 
>> And I get the following error:
>> 
>> yuv2rgb.c: In function ‘yuv2rgb_get_func_ptr’:
>> yuv2rgb.c:609: error: ‘yuv420_rgb32_MMX2’
undeclared (first use in  
>> this function)
>> yuv2rgb.c:609: error: (Each undeclared identifier
is reported only once
>> yuv2rgb.c:609: error: for each function it appears
in.)
>> yuv2rgb.c:610: error: ‘yuv420_rgb24_MMX2’
undeclared (first use in  
>> this function)
>> yuv2rgb.c:611: error: ‘yuv420_rgb16_MMX2’
undeclared (first use in  
>> this function)
>> yuv2rgb.c:612: error: ‘yuv420_rgb15_MMX2’
undeclared (first use in  
>> this function)
>> yuv2rgb.c:617: error: ‘yuv420_rgb32_MMX’
undeclared (first use in this  
>> function)
>> yuv2rgb.c:618: error: ‘yuv420_rgb24_MMX’
undeclared (first use in this  
>> function)
>> yuv2rgb.c:619: error: ‘yuv420_rgb16_MMX’
undeclared (first use in this  
>> function)
>> yuv2rgb.c:620: error: ‘yuv420_rgb15_MMX’
undeclared (first use in this  
>> function)
>> make[1]: *** [yuv2rgb.o] Error 1
>> make: *** [lib] Error 2
>> 
>> Looks like it's still trying to use some MMX code,
even though I  
>> disabled it, perhaps?  (I'm open to being
completely wrong about this.)
>
> It is trying to use MMX2 code, not MMX code.  You could
add
> --disable-mmx2 to the command line to make compilation
go through
> or try the patch I created to fix the situation.
>
> Diego
>
> Index: libswscale/yuv2rgb.c
>
============================================================
=======
> --- libswscale/yuv2rgb.c	(revision 26300)
> +++ libswscale/yuv2rgb.c	(working copy)
>  -156,7 +156,7 
>  };
>  #endif
>  
> -#ifdef HAVE_MMX
> +#if defined(HAVE_MMX) || defined(HAVE_MMX2)
>  
>  /* hope these constant values are cache line aligned
*/
>  DECLARE_ASM_CONST(8, uint64_t, mmx_00ffw)   =
0x00ff00ff00ff00ffULL;
>  -170,8 +170,10 
>  static volatile uint64_t attribute_used
__attribute__((aligned(8))) g6Dither;
>  static volatile uint64_t attribute_used
__attribute__((aligned(8))) r5Dither;
>  
> +#endif /* defined(HAVE_MMX) || defined(HAVE_MMX2) */
> +
> +#ifdef HAVE_MMX
>  #undef HAVE_MMX
> -
>  //MMX versions
>  #undef RENAME
>  #define HAVE_MMX

Hmm... ifdef, undef, define... seems a little redundant.

>  -179,17 +181,19 
>  #undef HAVE_3DNOW
>  #define RENAME(a) a ## _MMX
>  #include "yuv2rgb_template.c"
> +#endif /* HAVE_MMX */
>  
> +#ifdef HAVE_MMX2
> +#undef HAVE_MMX2
>  //MMX2 versions
>  #undef RENAME
> -#define HAVE_MMX
> +#undef HAVE_MMX
>  #define HAVE_MMX2

And again.

>  #undef HAVE_3DNOW
>  #define RENAME(a) a ## _MMX2
>  #include "yuv2rgb_template.c"
> +#endif /* HAVE_MMX2 */
>  
> -#endif /* HAVE_MMX */
> -

Am I the only one thinking this file is a bit of a mess?

-- 
Måns Rullgård
mansmansr.com
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-develmplayerhq.hu
https://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-devel
Re: MacOS X Compile error with swscale
user name
2008-03-29 11:48:05
On Sat, Mar 29, 2008 at 05:25:05PM +0100, Diego Biurrun
wrote:
> On Sat, Mar 29, 2008 at 04:47:54AM -0600, Scott Harper
wrote:
> > I'm using the latest svn as of this writing.
> > 
> > I configure ffmpeg as follows:
> > 
> > ./configure --enable-shared --enable-gpl
--disable-mmx --enable- 
> > libmp3lame --disable-vhook --enable-libfaad
--enable-libfaac --enable- 
> > swscale
> > 
> > And I get the following error:
> > 
> > yuv2rgb.c: In function
‘yuv2rgb_get_func_ptr’:
> > yuv2rgb.c:609: error: ‘yuv420_rgb32_MMX2’
undeclared (first use in  
> > this function)
> > yuv2rgb.c:609: error: (Each undeclared identifier
is reported only once
> > yuv2rgb.c:609: error: for each function it appears
in.)
> > yuv2rgb.c:610: error: ‘yuv420_rgb24_MMX2’
undeclared (first use in  
> > this function)
> > yuv2rgb.c:611: error: ‘yuv420_rgb16_MMX2’
undeclared (first use in  
> > this function)
> > yuv2rgb.c:612: error: ‘yuv420_rgb15_MMX2’
undeclared (first use in  
> > this function)
> > yuv2rgb.c:617: error: ‘yuv420_rgb32_MMX’
undeclared (first use in this  
> > function)
> > yuv2rgb.c:618: error: ‘yuv420_rgb24_MMX’
undeclared (first use in this  
> > function)
> > yuv2rgb.c:619: error: ‘yuv420_rgb16_MMX’
undeclared (first use in this  
> > function)
> > yuv2rgb.c:620: error: ‘yuv420_rgb15_MMX’
undeclared (first use in this  
> > function)
> > make[1]: *** [yuv2rgb.o] Error 1
> > make: *** [lib] Error 2
> > 
> > Looks like it's still trying to use some MMX code,
even though I  
> > disabled it, perhaps?  (I'm open to being
completely wrong about this.)
> 
> It is trying to use MMX2 code, not MMX code.  You could
add
> --disable-mmx2 to the command line to make compilation
go through
> or try the patch I created to fix the situation.

MMX2 implicates MMX.
Having the defines for MMX2 set but not the ones for MMX is
a bug in 
configure IMO.


[...]
-- 
Michael     GnuPG fingerprint:
9FF2128B147EF6730BADF133611EC787040B0FAB

Good people do not need laws to tell them to act
responsibly, while bad
people will find a way around the laws. -- Plato

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-develmplayerhq.hu
https://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-devel

Re: MacOS X Compile error with swscale
user name
2008-03-29 12:21:11
On Mar 29, 2008, at 10:25 AM, Diego Biurrun wrote:
> On Sat, Mar 29, 2008 at 04:47:54AM -0600, Scott Harper
wrote:
>> I'm using the latest svn as of this writing.
>>
>> I configure ffmpeg as follows:
>>
>> ./configure --enable-shared --enable-gpl
--disable-mmx --enable-
>> libmp3lame --disable-vhook --enable-libfaad
--enable-libfaac -- 
>> enable-
>> swscale
>>
>> And I get the following error:
>>
>> [snip]
>>
>> Looks like it's still trying to use some MMX code,
even though I
>> disabled it, perhaps?  (I'm open to being
completely wrong about  
>> this.)
>
> It is trying to use MMX2 code, not MMX code.  You could
add
> --disable-mmx2 to the command line to make compilation
go through
> or try the patch I created to fix the situation.

Now I get the following error, I think somewhat later on:

gcc -dynamiclib -Wl,-single_module
-Wl,-install_name,/usr/local/lib/ 
libswscale.dylib,-current_version,0.5.1,-compatibility_versi
on,0 -Wl,- 
read_only_relocs,suppress
-L"/Users/orcein/src/ffmpeg"/libavutil -Wl,- 
dynamic,-search_paths_first  -o libswscale.0.dylib rgb2rgb.o
swscale.o  
yuv2rgb.o -lavutil -lz -lm -lfaac -lfaad -lmp3lame -lm
ld: absolute addressing (perhaps -mdynamic-no-pic) used in 

_rgb24tobgr24_MMX from rgb2rgb.o not allowed in slidable
image
collect2: ld returned 1 exit status
make[1]: *** [libswscale.0.dylib] Error 1
make: *** [lib] Error 2

-- Scott
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-develmplayerhq.hu
https://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-devel


Re: MacOS X Compile error with swscale
user name
2008-03-29 11:25:05
On Sat, Mar 29, 2008 at 04:47:54AM -0600, Scott Harper
wrote:
> I'm using the latest svn as of this writing.
> 
> I configure ffmpeg as follows:
> 
> ./configure --enable-shared --enable-gpl --disable-mmx
--enable- 
> libmp3lame --disable-vhook --enable-libfaad
--enable-libfaac --enable- 
> swscale
> 
> And I get the following error:
> 
> yuv2rgb.c: In function ‘yuv2rgb_get_func_ptr’:
> yuv2rgb.c:609: error: ‘yuv420_rgb32_MMX2’
undeclared (first use in  
> this function)
> yuv2rgb.c:609: error: (Each undeclared identifier is
reported only once
> yuv2rgb.c:609: error: for each function it appears
in.)
> yuv2rgb.c:610: error: ‘yuv420_rgb24_MMX2’
undeclared (first use in  
> this function)
> yuv2rgb.c:611: error: ‘yuv420_rgb16_MMX2’
undeclared (first use in  
> this function)
> yuv2rgb.c:612: error: ‘yuv420_rgb15_MMX2’
undeclared (first use in  
> this function)
> yuv2rgb.c:617: error: ‘yuv420_rgb32_MMX’ undeclared
(first use in this  
> function)
> yuv2rgb.c:618: error: ‘yuv420_rgb24_MMX’ undeclared
(first use in this  
> function)
> yuv2rgb.c:619: error: ‘yuv420_rgb16_MMX’ undeclared
(first use in this  
> function)
> yuv2rgb.c:620: error: ‘yuv420_rgb15_MMX’ undeclared
(first use in this  
> function)
> make[1]: *** [yuv2rgb.o] Error 1
> make: *** [lib] Error 2
> 
> Looks like it's still trying to use some MMX code, even
though I  
> disabled it, perhaps?  (I'm open to being completely
wrong about this.)

It is trying to use MMX2 code, not MMX code.  You could add
--disable-mmx2 to the command line to make compilation go
through
or try the patch I created to fix the situation.

Diego

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-develmplayerhq.hu
https://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-devel

  
Re: MacOS X Compile error with swscale
user name
2008-03-30 16:39:57
On Sat, Mar 29, 2008 at 05:48:05PM +0100, Michael
Niedermayer wrote:
> On Sat, Mar 29, 2008 at 05:25:05PM +0100, Diego Biurrun
wrote:
> > On Sat, Mar 29, 2008 at 04:47:54AM -0600, Scott
Harper wrote:
> > > I'm using the latest svn as of this writing.
> > > 
> > > I configure ffmpeg as follows:
> > > 
> > > ./configure --enable-shared --enable-gpl
--disable-mmx --enable- 
> > > libmp3lame --disable-vhook --enable-libfaad
--enable-libfaac --enable- 
> > > swscale
> > > 
> > > And I get the following error:
> > > 
> > > yuv2rgb.c: In function
‘yuv2rgb_get_func_ptr’:
> > > yuv2rgb.c:609: error: ‘yuv420_rgb32_MMX2’
undeclared (first use in  
> > > this function)
> > > yuv2rgb.c:609: error: (Each undeclared
identifier is reported only once
> > > yuv2rgb.c:609: error: for each function it
appears in.)
> > > yuv2rgb.c:610: error: ‘yuv420_rgb24_MMX2’
undeclared (first use in  
> > > this function)
> > > yuv2rgb.c:611: error: ‘yuv420_rgb16_MMX2’
undeclared (first use in  
> > > this function)
> > > yuv2rgb.c:612: error: ‘yuv420_rgb15_MMX2’
undeclared (first use in  
> > > this function)
> > > yuv2rgb.c:617: error: ‘yuv420_rgb32_MMX’
undeclared (first use in this  
> > > function)
> > > yuv2rgb.c:618: error: ‘yuv420_rgb24_MMX’
undeclared (first use in this  
> > > function)
> > > yuv2rgb.c:619: error: ‘yuv420_rgb16_MMX’
undeclared (first use in this  
> > > function)
> > > yuv2rgb.c:620: error: ‘yuv420_rgb15_MMX’
undeclared (first use in this  
> > > function)
> > > make[1]: *** [yuv2rgb.o] Error 1
> > > make: *** [lib] Error 2
> > > 
> > > Looks like it's still trying to use some MMX
code, even though I  
> > > disabled it, perhaps?  (I'm open to being
completely wrong about this.)
> > 
> > It is trying to use MMX2 code, not MMX code.  You
could add
> > --disable-mmx2 to the command line to make
compilation go through
> > or try the patch I created to fix the situation.
> 
> MMX2 implicates MMX.
> Having the defines for MMX2 set but not the ones for
MMX is a bug in 
> configure IMO.

That one is fixed easily.

Diego
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-develmplayerhq.hu
https://lists.mplayerhq.hu/mailman/listinfo/ffmpeg-devel
[1-6]

about | contact  Other archives ( Real Estate discussion Medical topics )