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

Jon Boehm boehm100 at comcast.net
Thu Aug 16 02:40:11 UTC 2007


Tom,

It looks like xine uses the DScale open source library to do this.  I 
found some good documentation here:
http://deinterlace.sourceforge.net/Help/

Jon

Tom Dexter wrote:
>> 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
> 
> _______________________________________________
> mythtv-users mailing list
> mythtv-users at mythtv.org
> http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-users
> 


More information about the mythtv-users mailing list