[mythtv] Updated patch for directshow filters with MythTV (for CoreAVC)

Andrew Lyon andrew.lyon at gmail.com
Tue Feb 13 01:03:47 UTC 2007


On 2/9/07, Alan Nisota <alannisota at gmail.com> wrote:
> Mark Buechler wrote:
> > Alan, have you tested 1.1 with a single core? Mine dumps Myth as soon
> > as the codec starts it's main function:
> Not with the myth patch, no.  does /proc/cpuinfo only list one cpu (i.e.
> you don't have anything like HT enabled)?
> CoreAVC 1.0 and 1.1 use Mutexes while CoreAVC 1.2 uses Semaphores.  I
> implemented the Semaphores, but the mutexes are still broken in the last
> patch I made.  It is fixed in the set of patches I sent to the mplayer
> list though.  I have been able to use 0.0.4 through 1.2 successfully
> with those patches.
> It is painful to support 2 sets of patches, so I'm trying to figure out
> a reasonable way to have a single set that work for both mplayer and myth.
>
>
> _______________________________________________
> mythtv-dev mailing list
> mythtv-dev at mythtv.org
> http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev
>

Alan,

Ive left bbc hd running for some time and apart from the wacked
colours playback is almost perfect with core 2 duo 6600 2.4ghz
overclocked to 3.0ghz :), tantalisingly close to working..

Anyway, the compiler problem is easly to replicate:

svn co http://svn.mythtv.org/svn/trunk/mythtv
cd mythtv
zcat /usr/src/directshow-1.1.gz | patch p0

there is one reject, its easy to fix as you can see:

#include "ivtv_myth.h"
#include "../libdshowloader/dshow/DSVD_extern.h"
// from libavcodec
extern const uint8_t *ff_find_start_code(const uint8_t * restrict p,
const uint8_t *end, uint32_t * restrict state);


The // from libavcodec bit was added so the patch would not apply.

I have a feeling its these configure options that break it:

./configure --prefix=/usr --mandir=/usr/share/man --libdir-name=lib
--disable-audio-jack --disable-dbox2 --disable-hdhomerun
--disable-altivec --enable-xvmc --with-bindings=perl
      --disable-audio-arts --enable-lirc --disable-joystick-menu
--enable-dvb --dvb-path=/usr/include
--enable-opengl-vsync --disable-firewire --enable-xrandr --enable-xv
--disable-directfb --enable-x11 --enable-proc-opt --enable-mmx
--compile-type=release --arch=pentium-m --disable-distcc
--disable-ccache

Perhaps they change the order that things are built in?

then just make, and:

g++ -c -pipe -march=pentium-m -Wall -W -O3 -fomit-frame-pointer -Wall
-Wno-switch -Wno-non-virtual-dtor -fomit-frame-pointer
-I/usr/include/freetype2 -D_REENTRANT -DPIC -fPIC  -DMMX -Di386
-D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DPREFIX=\"/usr\"
-DLIBDIR=\"/usr/lib\" -D_LARGEFILE_SOURCE -DUSING_OSS
-DUSING_H264TOOLS -DUSING_XV -DUSING_XVMC -DUSING_XVMCW
-DUSING_XVMC_VLD -DUSING_OPENGL -DUSING_OPENGL_VSYNC -DUSING_FRONTEND
-DUSING_V4L -DUSING_IPTV -DUSING_IVTV -DUSING_DVB -DUSING_BACKEND
-DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -DQT_TABLET_SUPPORT
-I/usr/qt/3/mkspecs/linux-g++ -I. -I/usr/include -I/usr/include
-I/usr/include -I../.. -I.. -I../libmyth -I../libavcodec
-I../libavutil -I../libmythmpeg2 -Idvbdev -Impeg -Iiptv
-I../libmythlivemedia/BasicUsageEnvironment/include
-I../libmythlivemedia/groupsock/include
-I../libmythlivemedia/liveMedia/include
-I../libmythlivemedia/UsageEnvironment/include -I/usr/qt/3/include
-I/usr/include -I/usr/include -o moc_dvbsignalmonitor.o
moc_dvbsignalmonitor.cpp
make[2]: *** No rule to make target `../libdshowloader/libloader.a',
needed by `libmythtv-0.20.so.0.20.0'.  Stop.
make[2]: Leaving directory `/var/tmp/test/mythtv/libs/libmythtv'
make[1]: *** [sub-libmythtv] Error 2
make[1]: Leaving directory `/var/tmp/test/mythtv/libs'
make: *** [sub-libs] Error 2

Andy


More information about the mythtv-dev mailing list