Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: MythTV: Dev

Adding support for external ffmpeg-mt library

 

 

MythTV dev RSS feed   Index | Next | Previous | View Threaded


matthewgrant5 at gmail

Jul 3, 2009, 2:59 PM

Post #1 of 13 (1722 views)
Permalink
Adding support for external ffmpeg-mt library

Hi!

I am planning to get this happening for 0.22/svn-trunk.

I want to add support for ffmep-mt as an alternate decoder alongside
ffmpeg. This is so that people can get HD TV viewing functional on
multi-core machines with ATI cards etc.

The idea is to make this a compile time only feature, that can be used
individuals to get HD functional.

I will first do proof of concept against MythTV 0.21-fixes so that any
problems with the ffmpeg-mt libraries are obvious and easier to
resolve. Jean Yves, would you like to help me here. These will made
available as Development builds for people to try once I have it
running reasonably well to flush anything out.

Second stage is to get this working in svn-trunk. This is will be the
supported code for the use of ffmpeg-mt.

I will patching ffmpeg-mt for use with NZ DVB-T.

Regards,

Matthew Grant

PS: Both the UI fixup push and this are for moving svn-trunk forward
so that they are usable. There are a lot of MythTV users in Norway
and NZ who want to use DVB-T whose needs are not being supported by
the current MythTV development community.
_______________________________________________
mythtv-dev mailing list
mythtv-dev[at]mythtv.org
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev


jyavenard at gmail

Jul 3, 2009, 6:40 PM

Post #2 of 13 (1656 views)
Permalink
Re: Adding support for external ffmpeg-mt library [In reply to]

Hi

2009/7/4 Matthew Grant <matthewgrant5[at]gmail.com>:
> I will first do proof of concept against MythTV 0.21-fixes so that any
> problems with the ffmpeg-mt libraries are obvious and easier to
> resolve. Jean Yves, would you like to help me here.  These will made
> available as Development builds for people to try once I have it
> running reasonably well to flush anything out.

I think you should wait for the ffmpeg in trunk to be updated to the
latest version.
Doing a special version with ffmpeg-mt would be much easier from there on

Don't see the point in doing so for 0.21 ; duplicated effort and a
very short term solution

Also, I'm not a mythtv official developers...
_______________________________________________
mythtv-dev mailing list
mythtv-dev[at]mythtv.org
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev


janne-mythtv at grunau

Jul 4, 2009, 4:34 PM

Post #3 of 13 (1634 views)
Permalink
Re: Adding support for external ffmpeg-mt library [In reply to]

Hej,

On Sat, Jul 04, 2009 at 09:59:52AM +1200, Matthew Grant wrote:
>
> I am planning to get this happening for 0.22/svn-trunk.
>
> I want to add support for ffmep-mt as an alternate decoder alongside
> ffmpeg. This is so that people can get HD TV viewing functional on
> multi-core machines with ATI cards etc.
>
> The idea is to make this a compile time only feature, that can be used
> individuals to get HD functional.

It won't work. At least not with ffmpeg-mt's libavcodec as external
replacement for for mythtv's internal one. Both are binary incompatible.

> I will first do proof of concept against MythTV 0.21-fixes so that any
> problems with the ffmpeg-mt libraries are obvious and easier to
> resolve.

this is much harder since -fixes has a much older libavcodec snapshot.

> Second stage is to get this working in svn-trunk. This is will be the
> supported code for the use of ffmpeg-mt.

I'm preparing right now the next ffmpeg sync. current patch is
http://www.grunau.be/mythtv_20788_ffmpeg_sync_19327.patch.bz2

From there it's probably easy to patch the ffmpeg-mt changes on top of
it. I'll try that next week.

> PS: Both the UI fixup push and this are for moving svn-trunk forward
> so that they are usable.

trunk is pretty useable for me.

> There are a lot of MythTV users in Norway
> and NZ who want to use DVB-T whose needs are not being supported by
> the current MythTV development community.

That's not how open source development works. Developer support that
they need and their time allows. I guess the biggest problem is missing
LATM support. That is still not in ffmpeg proper and it's even unclear
how to proceed there.

And for decoding of HD H.264 streams ffmpeg-mt is not the only possible
solution.

Janne
_______________________________________________
mythtv-dev mailing list
mythtv-dev[at]mythtv.org
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev


matthewgrant5 at gmail

Jul 5, 2009, 2:29 AM

Post #4 of 13 (1622 views)
Permalink
Re: Adding support for external ffmpeg-mt library [In reply to]

Janne,

Thanks! i am getting my system moved to svn-trunk

On Sun, Jul 5, 2009 at 11:34 AM, Janne Grunau<janne-mythtv[at]grunau.be> wrote:
> Hej,
>
>> I will first do proof of concept against MythTV 0.21-fixes so that any
>> problems with the ffmpeg-mt libraries are obvious and easier to
>> resolve.
>
> this is much harder since -fixes has a much older libavcodec snapshot.
>
>> Second stage is to get this working in svn-trunk.  This is will be the
>> supported code  for the use of ffmpeg-mt.
>
> I'm preparing right now the next ffmpeg sync. current patch is
> http://www.grunau.be/mythtv_20788_ffmpeg_sync_19327.patch.bz2
>
> From there it's probably easy to patch the ffmpeg-mt changes on top of
> it. I'll try that next week.
>
>> PS: Both the UI fixup push and this are for moving svn-trunk forward
>> so that they are usable.
>
> trunk is pretty useable for me.
>
>> There are a lot of MythTV users in Norway
>> and NZ who want to use DVB-T whose needs are not being supported by
>> the current MythTV development community.
>
> That's not how open source development works. Developer support that
> they need and their time allows. I guess the biggest problem is missing
> LATM support. That is still not in ffmpeg proper and it's even unclear
> how to proceed there.

LATM is patched against current trunk ffmpeg and 0.21-fixes. Jean
Yves Avenard made those, and the 0.21 patch is what I am using right
now. There is a LATM code file, and a single patch to tie it into the
processing. From my glance at it, it looks quite clean and easy to
do. This will be the first thing I get going on trunk.

> And for decoding of HD H.264 streams ffmpeg-mt is not the only possible
> solution.

Wish my dual core AMD64 could run a recent Nvidia board - its only
AGP, and the cards that support VGPAU are all PCI/e Nvidia boards, and
my PCI slot has my Hauppauge HVR4000 board in it...

My wife is using the system quite often to watch DVDs and TV as
reception is better than Analogue TV ?-)
I need to make this work with little down time! HD720p works without
too much stuttering on one 2.2GHz core.

Thanks Janne!

Matthew
> Janne
> _______________________________________________
> 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


drayson at net1plus

Jul 5, 2009, 6:02 AM

Post #5 of 13 (1625 views)
Permalink
Re: Adding support for external ffmpeg-mt library [In reply to]

> I'm preparing right now the next ffmpeg sync. current patch is
> http://www.grunau.be/mythtv_20788_ffmpeg_sync_19327.patch.bz2

<snip>

> Janne
> _______________________________________________

Janne,

Would this patch be required on both the FE and BE? Or can I do it on a the
frontend only?
Both my cards capture raw mpeg so there is no conversion.

Marc

_______________________________________________
mythtv-dev mailing list
mythtv-dev[at]mythtv.org
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev


drayson at net1plus

Jul 5, 2009, 5:24 PM

Post #6 of 13 (1604 views)
Permalink
Re: Adding support for external ffmpeg-mt library [In reply to]

I just tried to compile with your ffmpeg resync patch on 20788 and failed.

cpu_detect_x86_gcc.cpp: Assembler messages:
cpu_detect_x86_gcc.cpp:124: Error: bad register name `%rbx'
cpu_detect_x86_gcc.cpp:126: Error: bad register name `%rbx'
cpu_detect_x86_gcc.cpp:127: Error: bad register name `%rbx'
cpu_detect_x86_gcc.cpp:129: Error: bad register name `%rbx'
cpu_detect_x86_gcc.cpp:136: Error: bad register name `%rbx'
cpu_detect_x86_gcc.cpp:138: Error: bad register name `%rbx'
cpu_detect_x86_gcc.cpp:148: Error: bad register name `%rbx'
cpu_detect_x86_gcc.cpp:150: Error: bad register name `%rbx'
cpu_detect_x86_gcc.cpp:139: Error: bad register name `%rbx'
cpu_detect_x86_gcc.cpp:141: Error: bad register name `%rbx'
make[2]: *** [cpu_detect_x86_gcc.o] Error 1
make[2]: Leaving directory
`/var/tmp/portage/media-tv/mythtv-svn-9999/work/mythtv/libs/libmythsoundtouc
h'
make[1]: *** [sub-libmythsoundtouch-make_default] Error 2
make[1]: *** Waiting for unfinished jobs....
g++ -Wl,-O1 -Wl,--warn-common -Wl,--as-needed -Wl,-rpath-link,/libpostproc
-Wl,-rpath-link,/libswscale -Wl,-rpath-link,/libavfilter
-Wl,-rpath-link,/libavdevice -Wl,-rpath-link,/libavformat
-Wl,-rpath-link,/libavcodec -Wl,-rpath-link,/libavutil -Wl,-Bsymbolic
-Wl,-O1 -shared -Wl,-soname,libmythavutil-0.22.so.0 -o
libmythavutil-0.22.so.0.22.0 adler32.o aes.o avstring.o base64.o crc.o des.o
fifo.o integer.o intfloat_readwrite.o lfg.o lls.o log.o lzo.o mathematics.o
md5.o mem.o random_seed.o rational.o rc4.o sha1.o tree.o utils.o
-lpthread
/usr/lib/gcc/i686-pc-linux-gnu/4.3.2/../../../../i686-pc-linux-gnu/bin/ld:
warning: creating a DT_TEXTREL in object.
ln -s libmythavutil-0.22.so.0.22.0 libmythavutil-0.22.so
ln -s libmythavutil-0.22.so.0.22.0 libmythavutil-0.22.so.0
ln -s libmythavutil-0.22.so.0.22.0 libmythavutil-0.22.so.0.22
make[2]: Leaving directory
`/var/tmp/portage/media-tv/mythtv-svn-9999/work/mythtv/libs/libavutil'
make[1]: Leaving directory
`/var/tmp/portage/media-tv/mythtv-svn-9999/work/mythtv/libs'
make: *** [sub-libs-make_default-ordered] Error 2

_______________________________________________
mythtv-dev mailing list
mythtv-dev[at]mythtv.org
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev


ijr at case

Jul 5, 2009, 7:00 PM

Post #7 of 13 (1596 views)
Permalink
Re: Adding support for external ffmpeg-mt library [In reply to]

On Sunday 05 July 2009 8:24:43 pm Marc Tousignant wrote:
> I just tried to compile with your ffmpeg resync patch on 20788 and failed.

Current patch is:
http://www.grunau.be/mythtv_20789_ffmpeg_sync_19352.patch.bz2

Isaac
_______________________________________________
mythtv-dev mailing list
mythtv-dev[at]mythtv.org
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev


drayson at net1plus

Jul 6, 2009, 7:15 AM

Post #8 of 13 (1569 views)
Permalink
Re: Adding support for external ffmpeg-mt library [In reply to]

> On Sunday 05 July 2009 8:24:43 pm Marc Tousignant wrote:
> > I just tried to compile with your ffmpeg resync patch on 20788 and
> failed.
>
> Current patch is:
> http://www.grunau.be/mythtv_20789_ffmpeg_sync_19352.patch.bz2
>
> Isaac
> _______________________________________________

Isaac,

Using 20789 with the back it compiled, but it broke mythmusic somehow.

./configure --prefix=/usr --mandir=/usr/share/man --disable-mythappearance
--disable-mytharchive --disable-mythbrowser --disable-mythcontrols
--disable-mythflix --disable-mythgallery --disable-mythgame
--disable-mythmovies --enable-mythmusic --disable-mythnews
--disable-mythphone --disable-mythvideo --disable-mythweather
--disable-mythweb --disable-mythzoneminder

Configuration settings:

qmake /usr/bin/qmake

MythArchive plugin will not be built
MythBrowser plugin will not be built
MythFlix plugin will not be built
MythGallery plugin will not be built
MythGame plugin will not be built
MythMusic plugin will be built
MythNews plugin will not be built
MythVideo plugin will not be built
MythWeather plugin will not be built
MythZoneMinder plugin will not be built
MythMovies plugin will not be built
OpenGL support will be included in MythMusic
libvisual support will not be included in MythMusic
FFTW v.2 support will be included in MythMusic
SDL support will not be included in MythMusic
AAC support will not be included in MythMusic

In file included from cddecoder.cpp:11:
cddecoder.h:58: error: extra qualification 'CdDecoder::' on member
'lookupCDDB'
cddecoder.cpp: In constructor 'CdDecoder::CdDecoder(const QString&,
DecoderFactory*, QIODevice*, AudioOutput*)':
cddecoder.cpp:28: error: expected `{' before 'stat'
cddecoder.cpp: At global scope:
cddecoder.cpp:19: warning: unused parameter 'file'
cddecoder.cpp:28: error: expected constructor, destructor, or type
conversion before '(' token
make[2]: *** [cddecoder.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from cdrip.cpp:50:
cddecoder.h:58: error: extra qualification 'CdDecoder::' on member
'lookupCDDB'
make[2]: *** [cdrip.o] Error 1
make[2]: Leaving directory
`/var/tmp/portage/media-plugins/mythmusic-svn-9999/work/mythmusic/mythmusic/
mythmusic'
make[1]: *** [sub-mythmusic-make_default] Error 2
make[1]: Leaving directory
`/var/tmp/portage/media-plugins/mythmusic-svn-9999/work/mythmusic/mythmusic'
make: *** [sub-mythmusic-make_default] Error 2

_______________________________________________
mythtv-dev mailing list
mythtv-dev[at]mythtv.org
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev


janne-mythtv at grunau

Jul 6, 2009, 7:52 AM

Post #9 of 13 (1572 views)
Permalink
Re: Adding support for external ffmpeg-mt library [In reply to]

On Mon, Jul 06, 2009 at 10:15:40AM -0400, Marc Tousignant wrote:
> > On Sunday 05 July 2009 8:24:43 pm Marc Tousignant wrote:
> > > I just tried to compile with your ffmpeg resync patch on 20788 and
> > failed.
> >
> > Current patch is:
> > http://www.grunau.be/mythtv_20789_ffmpeg_sync_19352.patch.bz2
>
> Using 20789 with the back it compiled, but it broke mythmusic somehow.

use http://www.grunau.be/mythtv_20794_ffmpeg_sync_19352.patch.bz2 and
http://www.grunau.be/mythplugins_20794_ffmpeg_sync_19352.patch.bz2 for
mythplugins.

There two remaining issues:

1. XvMC playback of recordings does not work
2. there seems to be an occasional problem with parsing
MPEG Audio Layer 2 headers

Janne
_______________________________________________
mythtv-dev mailing list
mythtv-dev[at]mythtv.org
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev


jyavenard at gmail

Jul 6, 2009, 7:56 AM

Post #10 of 13 (1568 views)
Permalink
Re: Adding support for external ffmpeg-mt library [In reply to]

Hi

2009/7/7 Janne Grunau <janne-mythtv[at]grunau.be>:
> There two remaining issues:
>
> 1. XvMC playback of recordings does not work
> 2. there seems to be an occasional problem with parsing
>   MPEG Audio Layer 2 headers

Has libavformat/mpegts.c been rewritten ?
_______________________________________________
mythtv-dev mailing list
mythtv-dev[at]mythtv.org
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev


chasedouglas.lists at gmail

Jul 6, 2009, 8:09 AM

Post #11 of 13 (1575 views)
Permalink
Re: Adding support for external ffmpeg-mt library [In reply to]

On Mon, Jul 6, 2009 at 10:56 AM, Jean-Yves Avenard <jyavenard[at]gmail.com>wrote:

> Hi
>
> 2009/7/7 Janne Grunau <janne-mythtv[at]grunau.be>:
> > There two remaining issues:
> >
> > 1. XvMC playback of recordings does not work
> > 2. there seems to be an occasional problem with parsing
> > MPEG Audio Layer 2 headers
>
> Has libavformat/mpegts.c been rewritten ?


It's been heavily changed. I hit a bunch of bugs that caused ffmpeg encoded
streams to not play in iPhone OS 3.0, and then got them merged upstream. As
I was fixing the bugs, I noticed a lot of little things here and there that
needed to be cleaned up, so with the help of one of the ffmpeg devs we
hopefully made it more correct and robust.


jyavenard at gmail

Jul 6, 2009, 8:27 AM

Post #12 of 13 (1569 views)
Permalink
Re: Adding support for external ffmpeg-mt library [In reply to]

2009/7/7 Chase Douglas <chasedouglas.lists[at]gmail.com>:
> It's been heavily changed. I hit a bunch of bugs that caused ffmpeg encoded
> streams to not play in iPhone OS 3.0, and then got them merged upstream. As
> I was fixing the bugs, I noticed a lot of little things here and there that
> needed to be cleaned up, so with the help of one of the ffmpeg devs we
> hopefully made it more correct and robust.

this is not what I meant...

i know it's been heavily changed, it's the last remaining bit of
ffmpeg used in mythtv that hasn't been updated in a while. i was
wondering if it had been done yet (it hasn't)
_______________________________________________
mythtv-dev mailing list
mythtv-dev[at]mythtv.org
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev


drayson at net1plus

Jul 6, 2009, 10:06 AM

Post #13 of 13 (1569 views)
Permalink
Re: Adding support for external ffmpeg-mt library [In reply to]

> -----Original Message-----
> From: mythtv-dev-bounces[at]mythtv.org [mailto:mythtv-dev-
> bounces[at]mythtv.org] On Behalf Of Janne Grunau
> Sent: Monday, July 06, 2009 10:53 AM
> To: Development of mythtv
> Subject: Re: [mythtv] Adding support for external ffmpeg-mt library
>
> On Mon, Jul 06, 2009 at 10:15:40AM -0400, Marc Tousignant wrote:
> > > On Sunday 05 July 2009 8:24:43 pm Marc Tousignant wrote:
> > > > I just tried to compile with your ffmpeg resync patch on 20788
> and
> > > failed.
> > >
> > > Current patch is:
> > > http://www.grunau.be/mythtv_20789_ffmpeg_sync_19352.patch.bz2
> >
> > Using 20789 with the back it compiled, but it broke mythmusic
> somehow.
>
> use http://www.grunau.be/mythtv_20794_ffmpeg_sync_19352.patch.bz2 and
> http://www.grunau.be/mythplugins_20794_ffmpeg_sync_19352.patch.bz2 for
> mythplugins.
>
> There two remaining issues:
>
> 1. XvMC playback of recordings does not work
> 2. there seems to be an occasional problem with parsing
> MPEG Audio Layer 2 headers
>
> Janne
> _______________________________________________

Janne,

On 20794 with patch, got past the last error now running into the below on
mythmusic.

avfdecoder.cpp: In member function 'virtual void avfDecoder::run()':
avfdecoder.cpp:359: error: 'avcodec_decode_audio' was not declared in this
scope
make[2]: *** [avfdecoder.o] Error 1
make[2]: *** Waiting for unfinished jobs....
smartplaylist.cpp: In member function 'void
SmartPLResultViewer::setSQL(QString)':
smartplaylist.cpp:1730: warning: ignoring return value of 'bool
MSqlQuery::exec(const QString&)', declared with attribute warn_unused_result
make[2]: Leaving directory
`/var/tmp/portage/media-plugins/mythmusic-svn-9999/work/mythmusic/mythmusic/
mythmusic'
make[1]: *** [sub-mythmusic-make_default] Error 2
make[1]: Leaving directory
`/var/tmp/portage/media-plugins/mythmusic-svn-9999/work/mythmusic/mythmusic'
make: *** [sub-mythmusic-make_default] Error 2

Marc

_______________________________________________
mythtv-dev mailing list
mythtv-dev[at]mythtv.org
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev

MythTV dev RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact lists@gossamer-threads.com
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.