[mythtv] MythTV on Mac OS X for Intel

Todd Ignasiak ignasiak at gmail.com
Mon Mar 13 00:07:14 UTC 2006


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."

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