[mythtv-users] Mythvideo: Internal Player, mplayer or Xine which is prefered?

Tom Dexter digitalaudiorock at hotmail.com
Thu Aug 16 01:13:56 UTC 2007


>From: Jon Boehm
>
>Tom Dexter wrote:
> >
> > I use xine for just about everything.  I have wmv files set to use 
>mplayer,
> > thought I virtually never watch them in mythtv.  I've experimented a 
>little
> > with mkv files and mplayer seems to handle some that xine won't.
> >
> > I'm running mythtv 0.20.1 and I'm sure the internal player in SVN is 
>much
> > better than what I have.  xine just supports so many codecs and formats.
> >
> > I know you didn't specifically ask about DVDs, but I use xine for DVDs 
>as
> > well as VIDEO_TS, iso, and img DVDs.  One big advantage of this is being
> > able to use the tvtime deinterlace post processing.  When I first 
>started
> > watching DVDs in mythtv, I noticed that some DVDs had some pretty nasty
> > tearing issues especially during panning no matter what player I used.
> > After enabling post processing with the tvtime deinterlace plugin in 
>xine,
> > all those issues went away and my DVD playback always looks simply 
>amazing.
> > The command I have set up for DVD playback is:
> >
> > xine --post tvtime -pfhq dvd:/%d
> >
> > ...and for the file types VIDEO_TS, iso, and img:
> >
> > xine --post tvtime -pfhq dvd:/%s
> >
> > Then, in my /home/mythtv/.xine/config file I have:
> >
> > gui.post_plugins.deinterlace:tvtime:method=GreedyH
> >
> > ...which sets the deinterlace method to GreedyH and leaves all other 
>options
> > at the defaults, which apparently are:
> >
> > cheap_mode=1,pulldown=0,use_progressive_frame_flag=1
> >
> > The only place I've seen those options documented thoroughly is in the 
>gui
> > of gxine, which I find pretty odd.  Anyway...the DVD playback I get with
> > that output at 1080i to my TV (a Hitachi RC CRT) is noticably better 
>than
> > any DVD player I've owned.
> >
> > Tom
>
>Tom,
>
>Wow, thats some really great info.  Where did you find out about the
>tvtime post processing in xine?
>
>I found this page to have some really great info too.
>http://knoppmythwiki.org/index.php?page=XineDVDHowTo
>
>Thanks,
>Jon
>

I happened to notice the tvtime deinterlacing stuff in gxine and that 
started me looking into it.  There's choice little about it I'll tell you.  
Like I said...the only detailed info on the tvtime plugin settings I can 
find are in the gxine gui.  I'll paste it into the end of this email.

I tried several methods, but that GreedyH seems to work just great for 
me...it really does look like a very high-end DVD player.    Apparently, 
setting the deinterlacing method directly (as apposed to setting it with a 
post processing plugin) is depricated.  Also note that the default entry of 
1 for use_progressive_frame_flag mens (I think) that it won't deinterlace if 
it detects the progressive frame flag.

Tom
--------------------------------------------------------------------------------------------------------------------------------
Parameters for tvtime plugin:
--------------------------------------------------------------------------------------------------------------------------------
Advanced tvtime/deinterlacer plugin with pulldown detection
This plugin aims to provide deinterlacing mechanisms comparable to high 
quality progressive DVD players and so called line-doublers, for use with 
computer monitors, projectors and other progressive display devices.

Parameters

  Method: Select deinterlacing method/algorithm to use, see below for 
explanation of each method.

  Enabled: Enable/disable the plugin.

  Pulldown: Choose the 2-3 pulldown detection algorithm. 24 FPS films that 
have being converted to NTSC can be detected and intelligently reconstructed 
to their original (non-interlaced) frames.

  Framerate_mode: Selecting 'full' will deinterlace every field to an unique 
frame for television quality and beyond. This feature will effetively double 
the frame rate, improving smoothness. Note, however, that full 59.94 FPS is 
not possible with plain 2.4 Linux kernel (that use a timer interrupt 
frequency of 100Hz). Newer RedHat and 2.6 kernels use higher HZ settings 
(512 and 1000, respectively) and should work fine.

  Judder_correction: Once 2-3 pulldown is enabled and a film material is 
detected, it is possible to reduce the frame rate to original rate used (24 
FPS). This will make the frames evenly spaced in time, matching the speed 
they were shot and eliminating the judder effect.

  Use_progressive_frame_flag: Well mastered MPEG2 streams uses a flag to 
indicate progressive material. This setting control whether we trust this 
flag or not (some rare and buggy mpeg2 streams set it wrong).

  Chroma_filter: DVD/MPEG2 use an interlaced image format that has a very 
poor vertical chroma resolution. Upsampling the chroma for purposes of 
deinterlacing may cause some artifacts to occur (eg. color stripes). Use 
this option to blur the chroma vertically after deinterlacing to remove the 
artifacts. Warning: cpu intensive.

  Cheap_mode: This will skip the expensive YV12->YUY2 image conversion, 
tricking tvtime/dscaler routines like if they were still handling YUY2 
images. Of course, this is not correct, not all pixels will be evaluated by 
the algorithms to decide the regions to deinterlace and chroma will be 
processed separately. Nevertheless, it allows people with not so fast 
systems to try deinterlace algorithms, in a tradeoff between quality and cpu 
usage.

* Uses several algorithms from tvtime and dscaler projects.
Deinterlacing methods: (Not all methods are available for all plataforms)

[Linear] Linear Interpolation:
Expands each field independently without blurring or copying in time.  Use 
this if you want TV-quality with low CPU, and you have configured your 
monitor to run at the refresh rate of the video signal.

Full resolution mode expands each field to full size for high quality 
fullscreen use.
---
[LinearBlend] Linear Blend (mplayer):
Avoids flicker by blurring consecutive frames of input.  Use this if you 
want to run your monitor at an arbitrary refresh rate and not use much CPU, 
and are willing to sacrifice detail.

Temporal mode evenly blurs content for least flicker, but with visible 
trails on fast motion. From the linear blend deinterlacer in mplayer.
---
[Greedy] Greedy - Low motion (DScaler):
Uses heuristics to detect motion in the input frames and reconstruct image 
detail where possible.  Use this for high quality output even on monitors 
set to an arbitrary refresh rate.

Simple detection uses linear interpolation where motion is detected, using a 
two-field buffer.  This is the Greedy: Low Motion deinterlacer from DScaler.
---
[Greedy2Frame] Greedy 2-frame (DScaler):

---
[Weave] Weave Last Field:
Only updates the most recent field.
---
[LineDoubler] Line Doubler:

---
[Vertical] Vertical Blend (ffmpeg):                                          
                                                                             
                         Avoids flicker by blurring consecutive frames of 
input.  Use this if you want to run your monitor at an arbitrary refresh 
rate and not use much CPU, and are willing to sacrifice detail.

Vertical mode blurs favouring the most recent field for less visible trails. 
  From the deinterlacer filter in ffmpeg.
---
[ScalerBob] Scaler Bob:                                                      
                                                                             
                         Expands each field independently without blurring 
or copying in time.  Use this if you want TV-quality with low CPU, and you 
have configured your monitor to run at the refresh rate of the video signal.

Half resolution is poor quality but low CPU requirements for watching in a 
small window.
---
[GreedyH] Greedy - High Motion (DScaler):                                    
                                                                             
                         Uses heuristics to detect motion in the input 
frames and reconstruct image detail where possible.  Use this for high 
quality output even on monitors set to an arbitrary refresh rate.

Advanced detection uses linear interpolation where motion is detected, using 
a four-field buffer.  This is the Greedy: High Motion deinterlacer from 
DScaler.
---
[TomsMoComp] Tom's Motion Compensated (DScaler):                             
                                                                             
                         Uses heuristics to detect motion in the input 
frames and reconstruct image detail where possible.  Use this for high 
quality output even on monitors set to an arbitrary refresh rate.

Motion search mode finds and follows motion vectors for accurate 
interpolation.  This is the TomsMoComp deinterlacer from DScaler.
---

_________________________________________________________________
Puzzles, trivia teasers, word scrambles and more. Play for your chance to 
win! http://club.live.com/home.aspx?icid=CLUB_hotmailtextlink



More information about the mythtv-users mailing list