[mythtv] MythTV on Mac OS X for Intel
Todd Ignasiak
ignasiak at gmail.com
Mon Mar 13 17:49:03 UTC 2006
On 3/12/06, Todd Ignasiak <ignasiak at gmail.com> wrote:
> On 3/11/06, MythTV <mythtv at taoyama.com> wrote:
> > Actually this is a problem with Qt 3.3.5. Get the latest Qt 3.3.6
> > snapshot at ftp.trolltech.com/qt/snapshots.
>
> I added that QT 3.3.6 version to the osx-packager.pl, and now the
> mythfrontend menus are okay. But, when I select Live TV, and it tries
> to display the video, I get a seg fault.
>
> It appears to be in the quicktime libraries, which are called from
> videoout_quartz.cpp with a quicktime function called
> "DecompressSequenceFrameWhen".
>
> This appears to be the same as with VLC for MacOS x86. They currently
> do not support Quartz/Quicktime output mode, enabling it gets a
> similar crash to what I'm seeing with MythTV. Their known issues says
> "2: The Quartz/Quicktime video output module we have doesn't work AT
> all. It's not threadsafe (never really was) and doesn't work on 10.4.4
> (either ppc [crashes often] or intel [crashes always]. Use the OpenGL
> one."
I tried quartz output mode in both VLC and mplayer, and both resulted
in the same crash.. A call to DecompressSequenceFrameWhen resulting
in a crash in YUV420To2VUY_W1x.
So, something is funky with the data being sent to QuickTime.. Any ideas?
>
> The MacOS crash dump shows:
>
> Thread 5 Crashed:
> 0 ...ickTimeComponents.component 0x98e0043d YUV420To2VUY_W1x + 671
> 1 ...ickTimeComponents.component 0x98de371a FinalGlueBeforeTheBlit + 1529
> 2 ...ickTimeComponents.component 0x98de7a5a PrepareForBlitThenDoBlit + 40
> 3 ...ickTimeComponents.component 0x98de4207
> ScalingCodecComponentDispatch + 2437
> 4 ...ple.CoreServices.CarbonCore 0x90cc1638 CallComponentDispatch + 34
> 5 ...ickTimeComponents.component 0x995941c5 ImageCodecDrawBand + 43
> 6 ...ickTimeComponents.component 0x98c5ab6a
> BaseCodec_DecompressWorkFunction + 1033
> 7 ...ple.CoreServices.CarbonCore 0x90ccd75b
> InvokeComponentMPWorkFunctionUPP + 22
> 8 ...ickTimeComponents.component 0x98c58c6f
> BaseCodec_DecompressCallBack_Common + 2713
> 9 ...ickTimeComponents.component 0x98c5c40c Base_CDBandDecompress + 5748
> 10 ...ple.CoreServices.CarbonCore 0x90cc1953
> CallComponentFunctionCommon + 513
> 11 ...ickTimeComponents.component 0x98c56f41
> Base_CDComponentDispatch + 125
> 12 ...ickTimeComponents.component 0x98de39e0
> ScalingCodecComponentDispatch + 350
> 13 ...ickTimeComponents.component 0x98df6bf7
> YUV420CodecComponentDispatch + 87
> 14 ...ple.CoreServices.CarbonCore 0x90cc1638 CallComponentDispatch + 34
> 15 com.apple.QuickTime 0x94439b33 ImageCodecBandDecompress + 43
> 16 com.apple.QuickTime 0x94427d8f DoBandedDecompress + 15359
> 17 com.apple.QuickTime 0x94423dee ICMAction + 642
> 18 com.apple.QuickTime 0x94422ae6 ICMDeviceLoop + 635
> 19 com.apple.QuickTime 0x9442bc35
> DecompressSequenceFrameWhen + 797
>
>
> > On Mar 11, 2006, at 7:54 PM, Kris Raney wrote:
> >
> > >
> > > On Mar 11, 2006, at 6:00 AM, mythtv-dev-request at mythtv.org wrote:
> > >> I'm trying to get MythTV to compile with my new Mini.. Has anyone
> > >> succeeded in building a working binary for MacOS on intel?
> > >
> > > I've only just got it to compile on my MacBook Pro. However, I'm
> > > getting a bus error from mythwelcome. I readily admit this may be due
> > > to some of the hacking I'm about to describe.
> > >
> > > I installed all the prereqs using DarwinPorts. You have to build
> > > darwinports itself from source, to get an intel binary, then after
> > > that it works pretty smoothly.
> > >
> > > I used these arguments to configure:
> > >
> > > env QMAKESPEC=/opt/local/share/qt3/mkspecs/macx-g++ \
> > > LD_LIBRARY_PATH=/opt/local/lib \
> > > ./configure --prefix=/opt/myth --arch=i686 \
> > > --disable-distcc \
> > > "--extra-cflags=-msse -msse2" \
> > > "--extra-cxxflags=-msse -msse2" \
> > > --cc=gcc
> > >
> > > QTDIR=/opt/local \
> > > make
> > >
> > > I also found it necessary to do a little hacking. This needs to be
> > > cleaned up, but it sort of brute forces through the errors:
> > >
> > > patch to libs/libmythtv/videoout_quartz.cpp:
> > > #ifdef HAVE_ALTIVEC // <--- add this
> > > if (gContext->GetNumSetting("MacYuvConversion", 1))
> > > data->yuvConverter = yuv2vuy_init_altivec();
> > > else
> > > #endif // <-- add this
> > >
> > >
> > > patch to libs/libmythtv/yuv2rgb.h
> > > #ifdef HAVE_ALTIVEC // <-- add this
> > > yuv2vuy_fun yuv2vuy_init_altivec (void);
> > > #endif // <-- add this
> > >
> > > typedef void (* vuy2yuv_fun) (uint8_t * image, uint8_t * py,
> > > uint8_t * pu, uint8_t * pv,
> > > int h_size, int v_size,
> > > int vuy_stride, int y_stride, int
> > > uv_stride);
> > >
> > > #ifdef HAVE_ALTIVEC // <-- add this
> > > vuy2yuv_fun vuy2yuv_init_altivec (void);
> > > #endif // <-- add this
> > >
> > >
> > > patch to libs/libavcodec/liba52/resample.c
> > > //#ifdef ARCH_X86
> > > //#include "resample_mmx.c"
> > > //#endif
> > >
> > > void* a52_resample_init(uint32_t mm_accel,int flags,int chans){
> > > void* tmp;
> > > //#ifdef ARCH_X86
> > > // if(mm_accel&MM_ACCEL_X86_MMX){
> > > // tmp=a52_resample_MMX(flags,chans);
> > > // if(tmp){
> > > // if(a52_resample==NULL) av_log(NULL, AV_LOG_INFO, "Using
> > > MMX
> > > // optimized resampler\n");
> > > // a52_resample=tmp;
> > > // return tmp;
> > > // }
> > > // }
> > > //#endif
> > >
> > >
> > >
> > >
> > >> Here is the output of "/usr/sbin/system_profiler
> > >> SPHardwareDataType" from my
> > >> core duo Mini, this could be used in the configure scripts where
> > >> /proc/cpuinfo is used in the Linux world:
> > >
> > > I seem to have missed the email that explains why we're sending this
> > > information, but just to pile on, here's the info from
> > > system_profiler for my macbook:
> > > Machine Name: MacBook Pro 15"
> > > Machine Model: MacBookPro1,1
> > > CPU Type: Intel Core Duo
> > > Number Of Cores: 2
> > > CPU Speed: 2 GHz
> > > L2 Cache (shared): 2 MB
> > > Memory: 1 GB
> > > Bus Speed: 667 MHz
> > > Boot ROM Version: MBP11.0044.B02
> > > Serial Number: W86073HPVJ3
> > > SMC Version: 1.2f7
> > > Sudden Motion Sensor:
> > > State: Enabled
> > >
> > > - Kris Raney
> > > _______________________________________________
> > > mythtv-dev mailing list
> > > mythtv-dev at mythtv.org
> > > http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev
> > >
> >
> > _______________________________________________
> > mythtv-dev mailing list
> > mythtv-dev at mythtv.org
> > http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev
> >
>
More information about the mythtv-dev
mailing list