On 22/06/2008, at 3:03 PM, Bernhard Praschinger wrote:
>>>
>>> I am guessing to build universal binaries is going to require  
>>> some  serious hacking of the build scripts.  Can anyone help?
>> I discovered that adding the following option to configure helped  
>> this  issue:
>> --disable-dependency-tracking
> So you have made the mjpegtools included into Xcode, could you make  
> the changes aviable somewhere ?''

Hi,

Unfortunately I had to hack the changes.
So the install wasn't all that clean.

I had to make changes mostly to the libtool script and hard code the  
LDFLAGS into the script.

Then I had to descend into each directory and run make twice, with two  
different LDFLAGS,
one for building executables and one for building .a libraries.

one make would make all the .o files and build a library then fail  
building the executable, so I had to change the flags.

Does this make sense ?

>
>
>> Although I still needed to hack the libtool shell script to  
>> include  the arguments needed for multiple architecture linking.   
>> And had to  switch the LDFLAGS argument depending on if the  
>> makefile was building  an ar library or an executable binary.  But  
>> I got there in the end.
> >
>> It would be nice to be able to automate this into one seamless  
>> make.   If anyone is responsible for the Makefile and configure  
>> scripts, I'd  like to hear from you to see what we could change to  
>> make it build  cleanly.
> I think Steven should be able to help you with that problem.
>
>> I now have a shared library build of mjpegutils for OSX intel and  
>> ppc,  which links with projects from Xcode!!!
> What programs do you want afterwards to link/compile against the  
> mjpegtools ?

I'm not sure if you've been following my other work, but I've made  
quite a number of yuv filters.

Just recently I integrated this library with Core Video, mainly to  
make a video player, which I would mostly describe as "tee" for  
video.  It displays the video in a window and has the option to write  
to stdout so for complex filter chains, I can see what is happening at  
each stage.  It also supports frame advance and frame rate override,  
and can also save the current frame to a file.

eg:

yuv_video_source | yuvCoreVideoplayer -c  | yuvfilter1 |  
yuvCoreVideoplayer -c | yuvfilter2 | yuvCoreVideoplayer -c  | mpeg2enc

I know it's all a little mundane, but nothing else seems to be  
tailored to debugging video filters, and filter chains.

If anyone is interested in this tool, (although I am still adding  
features and removing bugs) mail me and I can provide the xcode  
archive.  However you will need to have a universal mjpegutils library  
installed.

>
>> (now all i need is to do the same for ffmpeg's libav, it doesn't   
>> appear to support the --disable-dependency-tracking option)
> I think libav is a problem.

I'm going to try their mailing list.  Although Darwin ports has a  
build script for it.  But I'm not sure if Darwin ports builds  
universal binaries.

Oh, does anyone have some nice optimised code for converting yuv  
planar data into packed YUYV data?

I'm also not sure about the best way to go from 420 to 422 chroma  
subsampling.

>
>
> One more things from your first mail:
>> configure:  MJPEG tools 1.9.0 build configuration :
>> configure:
>> configure:   - X86 Optimizations:
>> configure:     - MMX/3DNow!/SSE enabled      : false
>> configure:   - arch/cpu compiler flags       : -march=pentium3 -  
>> mtune=pentium3
> [...]
>> As you can see here it has attempted to tune for pentium3 and gcc   
>> spits it over command line options...
> If you don't use the CVS version of the mjpegtools the new MAC  
> aren'T detected correct. You need to update the cpuinfo script and I  
> think the cpuinfo.c file. You will find the changes in the CVS.

I have however forgotten my exact steps.  So now that I'm trying to  
build it on my G5 I can't get it to work.

One problem is that depending on if it's building a ppc version or an  
i386 version, it has to assume what optimisation flags to use.  It  
cannot detect things like byte ordering or co-processor or available  
instructions.

Mark

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
Mjpeg-users mailing list
Mjpeg-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mjpeg-users

Reply via email to