Another update
I’ve updated mythtv to revision 18021 & ffmpeg to revision 14509.
I have also applied patches as suggested on the NZ mailing list and also make it so the libavcodec section is compiled without -DPIC -fPIC, which should allow an out-of-the-box build.
I also came across issue #427 in the ffmpeg bug tracker which affects us here in NZ with our interlaced channels. This bug would causes random crashes of the frontend. I have done an analysis of the problem and supplied a test file to them and a patch which shows when the problem will occur. Hopefully they’ll get a fix into trunk soon, but for now, I have a fix in my tree, but I’m not really sure it’s the right way to fix it. At least it doesn’t crash at that point anymore.
So head over to the downloads and get the latest version.
Any problems or praise, leave a comment.
August 6th, 2008 at 5:31 pm
Downloaded the latest:
wget
http://pkendall.homeip.net/wp/wp-content/plugins/download-monitor/download.php?id=6
then
tar xjf mythtv-0.21.0+fixes18021+ffmpeg14509+latm.tar.bz2
cd mythtv-0.21.0+fixes18021+ffmpeg14509+latm
./configure
make
cd libmythfreesurround && make -f Makefile
make[2]: Entering directory `/home/mythbuntu/mythtv-0.21.0+fixes18021+ffmpeg14509+latm/libs/libmythfreesurround’
ccache g++ -c -pipe -march=pentiumpro -fomit-frame-pointer -O3 -Wall -Wno-switch -Wpointer-arith -Wredundant-decls -Wno-non-virtual-dtor -D__STDC_CONSTANT_MACROS -I/usr/include/kde/artsc -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -w -D_REENTRANT -DMMX -Di386 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -DQT_TABLET_SUPPORT -I../.. -I/usr/share/qt3/mkspecs/default -I. -I/usr/local/include -I/usr/include -I../libavcodec -I../libmyth -I../.. -I../libavutil -I/usr/include/qt3 -o el_processor.o el_processor.cpp
In file included from el_processor.cpp:30:
../libavcodec/dsputil.h: In function ‘void copy_block2(uint8_t*, uint8_t*, int, int, int)’:
../libavcodec/dsputil.h:732: error: ‘AV_RN16’ was not declared in this scope
../libavcodec/dsputil.h:732: error: ‘AV_WN16’ was not declared in this scope
../libavcodec/dsputil.h: In function ‘void copy_block4(uint8_t*, uint8_t*, int, int, int)’:
../libavcodec/dsputil.h:743: error: ‘AV_RN32’ was not declared in this scope
../libavcodec/dsputil.h:743: error: ‘AV_WN32’ was not declared in this scope
../libavcodec/dsputil.h: In function ‘void copy_block8(uint8_t*, uint8_t*, int, int, int)’:
../libavcodec/dsputil.h:754: error: ‘AV_RN32’ was not declared in this scope
../libavcodec/dsputil.h:754: error: ‘AV_WN32’ was not declared in this scope
../libavcodec/dsputil.h: In function ‘void copy_block9(uint8_t*, uint8_t*, int, int, int)’:
../libavcodec/dsputil.h:766: error: ‘AV_RN32’ was not declared in this scope
../libavcodec/dsputil.h:766: error: ‘AV_WN32’ was not declared in this scope
../libavcodec/dsputil.h: In function ‘void copy_block16(uint8_t*, uint8_t*, int, int, int)’:
../libavcodec/dsputil.h:779: error: ‘AV_RN32’ was not declared in this scope
../libavcodec/dsputil.h:779: error: ‘AV_WN32’ was not declared in this scope
../libavcodec/dsputil.h: In function ‘void copy_block17(uint8_t*, uint8_t*, int, int, int)’:
../libavcodec/dsputil.h:793: error: ‘AV_RN32’ was not declared in this scope
../libavcodec/dsputil.h:793: error: ‘AV_WN32’ was not declared in this scope
make[2]: *** [el_processor.o] Error 1
make[2]: Leaving directory `/home/mythbuntu/mythtv-0.21.0+fixes18021+ffmpeg14509+latm/libs/libmythfreesurround’
make[1]: *** [sub-libmythfreesurround] Error 2
make[1]: Leaving directory `/home/mythbuntu/mythtv-0.21.0+fixes18021+ffmpeg14509+latm/libs’
make: *** [sub-libs] Error 2
So I then tried:
nano ./libs/libavutil/avutil.h
# Add #include “intreadwrite.h”
But still the same error, ideas?
August 6th, 2008 at 6:17 pm
I think you may have the ffmpeg-devel package installed on your machine and the build of MythTV is finding the old dsputil.h etc files which don’t have those defines in it.
Do a ‘find’ to see if there is a wayward dsputil.h on your machine, probably under /usr/include or /usr/local/include.
If so, then perhaps uninstall that package and see if that helps.
August 7th, 2008 at 8:21 am
Hi, I went and searched the hard drive, only found one other in my mplayer_svn directories.
I completed deleted by code directories and untar your file and went through the procedure.
I confirmed that it is picking up the correct dsputil.h by typing in editing the file and typing in some rubbish and recompiling and it complained about my ‘non C code’ stuff.
I had also removed the -fPIC -DPIC from libmythfreesurround\Makefile CXXFLAGS but that made no difference.
I am a bit stumped!
BTW, thanks for the great work!
August 7th, 2008 at 8:41 am
Heck my typing is terrible!
August 7th, 2008 at 5:01 pm
At this point I don’t know what to tell you.
What architecture/distro are you using?
August 7th, 2008 at 8:04 pm
Mythbuntu on a QX6800 with 2GB of RAM, etc. I have uninstalled mythtv from the mythbuntu control panel in preparation of getting this going.
August 7th, 2008 at 10:20 pm
Edit the file libs/libmythfreesurround/Makefile, and add -I../ (and possibly -I../..) to the include line =)
August 8th, 2008 at 12:11 am
Here is an error I get:
make[2]: Entering directory `/home/krizze/src/mythtv-0.21.0+fixes18021+ffmpeg14509+latm/programs/mythtv’
ccache g++ -c -pipe -march=pentiumpro -fomit-frame-pointer -O3 -Wall -Wno-switch -Wpointer-arith -Wredundant-decls -Wno-non-virtual-dtor -D__STDC_CONSTANT_MACROS -I/usr/include/kde/artsc -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -D_REENTRANT -DMMX -Di386 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -DUSING_X11 -DQT_NO_DEBUG -DQT_THREAD_SUPPORT -DQT_SHARED -DQT_TABLET_SUPPORT -I/usr/share/qt3/mkspecs/default -I. -I/usr/include -I/usr/include -I../.. -I../../libs -I../../libs/libmyth -I../../libs/libmythtv -I../../libs/libavutil -I../../libs/libavformat -I../../libs/libavcodec -I../../libs/libmythupnp -I../../libs/libmythui -I../../libs/libmythlivemedia -I/usr/include/qt3 -I/usr/X11R6/include -I/usr/X11R6/include -o main.o main.cpp
ccache g++ -o mythtv main.o -L/usr/share/qt3/lib -L../../libs/libmyth -L../../libs/libmythtv -L../../libs/libavutil -L../../libs/libavcodec -L../../libs/libavformat -L../../libs/libmythfreemheg -L../../libs/libmythui -L../../libs/libmythupnp -L../../libs/libmythlivemedia -lmythtv-0.21 -lmythavformat-0.21 -lmythavutil-0.21 -lmythavcodec-0.21 -lmythfreemheg-0.21 -lmythupnp-0.21 -lmythlivemedia-0.21 -lmyth-0.21 -lmythui-0.21 -lfreetype -lz -lmp3lame -lasound -L/usr/lib -lartsc -lgmodule-2.0 -ldl -lgthread-2.0 -lrt -lglib-2.0 -ljack -lraw1394 -liec61883 -lavc1394 -lrom1394 -L/usr/X11R6/lib -lXinerama -lXv -lXxf86vm -lXrandr -lXvMCW -lXvMC -lqt-mt -lGLU -lGL -lXmu -lXext -lX11 -lm -lpthread
../../libs/libavcodec/libmythavcodec-0.21.so: undefined reference to `latm_parser’
collect2: ld returned 1 exit status
make[2]: *** [mythtv] Error 1
make[2]: Leaving directory `/home/krizze/src/mythtv-0.21.0+fixes18021+ffmpeg14509+latm/programs/mythtv’
I edited the latm_parser.c file and changed aac_latm_parser to latm_parser - but I don’t think i should do that?
August 8th, 2008 at 10:52 pm
I have been battling to install the latest build on a fresh install of Hardy. I get this error,
sudo ./configure
libqt-mt IS at /lib/i486-linux-gnu
libmp3lame IS at /lib/i486-linux-gnu
ERROR! You must have the Lame MP3 encoding library installed to compile MythTV.
If you think configure made a mistake, make sure you are using the latest
version from SVN. If the latest version fails, report the problem to the
mythtv-dev@mythtv.org mailing list or IRC #mythtv on irc.freenode.net
Include the log file “config.err” produced by configure as this will help
solving the problem.
I have lame installed and up to date. Anyone know a fix for this?
August 9th, 2008 at 11:22 am
kristianhk
If you get latm_parser error, make sure you have the configure option –enable-libfaad.
muppet
Make sure you have the lame-dev package installed.
August 9th, 2008 at 12:46 pm
Thanks, that line did the trick! Then I can confirm, it’s working in Norway too. The opening of the olympic games was broadcasted in HD in Norway =)
August 9th, 2008 at 3:16 pm
Great to hear it’s working for you.
August 9th, 2008 at 10:59 pm
That worked, I had to install a few more packages but I got it to run. It spat out a long output with this at the bottom,
Creating libs/libmyth/mythconfig.h and libs/libmyth/mythconfig.mak
Do I have to run a “make” with these files, and if so what is the target? Can you give me another example run line. That last one did wonders.
Thanks
August 10th, 2008 at 12:51 am
It looks like mythtv’s handling of interlaced h264 recordings is a bit buggy. All my dvb-t recordings is showing double length. Mythtv is probably counting fields instead of frames. I found some discussions about the issue: http://mythtv.org/pipermail/mythtv-dev/2008-May/062086.html http://thegrebs.com/irc/mythtv/2008/05/12
August 10th, 2008 at 10:16 am
norwegianuser,
I see there were some patches (revision 18104) to MythTV trunk that fixes this problem. They apply to 0.21-fixes as well, so I’ll add them to my next build.
August 10th, 2008 at 10:32 pm
Paul, thanks for all of your hard work getting these patches working. I’m able to watch Freeview HD now.
I’m still having this issue which I noticed from the hand-built version with your patches a few days ago. While watching an HD channel it will stutter sometimes, mostly when there is a lot of action on the screen. This is what I get in the mythfrontend when the stutter happens
2008-08-10 21:57:18.007 WriteAudio: buffer underrun
2008-08-10 21:57:18.027 NVP: prebuffering pause
2008-08-10 21:57:18.992 WriteAudio: buffer underrun
2008-08-10 21:57:19.019 WriteAudio: buffer underrun
2008-08-10 21:57:19.074 NVP: prebuffering pause
2008-08-10 21:57:19.719 WriteAudio: buffer underrun
2008-08-10 21:57:19.747 WriteAudio: buffer underrun
2008-08-10 21:57:19.790 NVP: prebuffering pause
Segmentation fault
As you can see from the above log the frontend crashed. This is quite common for me, I don’t think I’ve seen it last more then 5min without crashing.
I have a Intel Core 2 Duo T2160 (1.8Ghz) 1GB of RAM running Mythbuntu 8.04 I don’t have any playback issues with other HD content. For example when I playback 1080p movies I get about 75% usage out of one CPU and I don’t notice any of the stuttering I get with FreeviewHD.
-allen