[mythtvnz] H264 Performance - Patch to enable skip loop filtering and use 2 threads.

Paul Kendall paul at kcbbs.gen.nz
Sat Aug 23 02:14:47 BST 2008


On Saturday 23 August 2008 12:11:19 Andrew Richards wrote:
> I am trying to setup my 5200 X2 to play TV3 and have a couple of questions
> about these settings:
>
> 1) Where is 'libs/libmythtv/avformatdecoder.cpp'? I have a /lib (which has
> no libmythtv folder) but not /libs. I am using Mythbuntu if it is
> important. As noted below I think i have this skipping and would like to
> fix it.
>
> 2) What exactly are others running for playback profiles? I have tried a
> couple, have currently set it to 'Slim' but with max CPU's set to 2 for all
> for entry's. For all I get around 50%-70% CPU on TV3 but with the freezing
> every 2secs or so. I assume this is the skipping the quoted fix is for.
>
> All the other channels work, it is just TV3 I need to sort out.
>
> Cheers
>
> Andrew
>
> On Mon, Aug 18, 2008 at 4:46 PM, Paul Kendall <paul at kcbbs.gen.nz> wrote:
> > On Sunday 17 August 2008 20:11:52 Mike Russell wrote:
> > > Hi
> > >
> > > I am using the MythTV source from http://pkendall.homeip.net/.
> >
> > Everything
> >
> > > worked great, except I got skipping on TV3 (Opteron 2.5ghz dual core).
> > > Using skiploopfilter and 2 threads on Mplayer sped things up enough to
> > > prevent the skipping.  Couldnt find how to set the same options in
> >
> > mythtv,
> >
> > > So investigated it myself and found how to get the equivilant in
> > > MythTV. Would be good if this sort of thing could be configured in
> > > Myth.
> > >
> > > Thought this may be of help for some people that are having trouble
> > > with skipping.
> > >
> > > libs/libmythtv/avformatdecoder.cpp about line 1589.
> > >
> > >                 video_codec_id = kCodec_MPEG2; // default to MPEG2
> > >                 }
> > >
> > >        +         if (CODEC_ID_H264 == enc->codec_id)
> > >        +        {
> > >        +           VERBOSE(VB_PLAYBACK, LOC + "Turning off loop
> > > filter"); +             enc->skip_loop_filter = AVDISCARD_ALL;
> > >        +             VERBOSE(VB_PLAYBACK, LOC + "Setting the thread
> > > count to 2");
> > >        +             enc->thread_count = 2;
> > >        +         }
> > >
> > >                 if (enc->codec)
> > >                 {
> > >
> > > Regards
> >
> > Doing the skip loop filter is good, but changing the thread should be
> > done in
> > the playback profiles screens. Where you select the de-interlacers you
> > can specify the number of CPUs.
> >
> > Cheers,
> > Paul
> >
> > _______________________________________________
> > mythtvnz mailing list
> > mythtvnz at lists.linuxnut.co.nz
> > http://lists.ourshack.com/mailman/listinfo/mythtvnz
> > Archives http://www.gossamer-threads.com/lists/mythtv/mythtvnz/

You need the source, then apply the patch and rebuild mythtv.

Cheers,
Paul



More information about the mythtvnz mailing list