[mythtv] LiveTV accepts bob 2x even though refresh rate is too low

Michael T. Dean mtdean at thirdcontact.com
Tue Dec 18 22:45:57 UTC 2007


I recently noticed that upon startup of LiveTV (playback of recordings
is unaffected), the internal player is accepting bobdeint (which my
playback profile specified as the primary deinterlacer) even though the
refresh rate of my display is too low--which causes all sorts of
playback issues (skipped frames, slideshow-like playback, jumpiness,
prebuffering pauses, and audio issues).  I don't use LiveTV, so I only
noticed it today when testing channels after I rescanned.

If I use the menu to change "Video Scan" from "Detect" to "Detect"--i.e.
just force it to re-check--it realizes the refresh rate is too low and
falls back to linearblend (the fallback deinterlacer in my profile). 
Once this is done, even after changing channels, it continues to use
linearblend.  The next time LiveTV starts up, it again uses bob 2x.

While removing bob (or other 2x deints) from the profile prevents the
issue, it seems we should be able to detect this--especially since the
default profiles use bob as the primary deinterlacer.  Unfortunately,
when I dug into the code, it looked like I would be likely to do more
damage than good.  However, it seems that we're just checking whether
bob will work just a bit too soon (i.e. before all the video or display
information is available), and I'm guessing the fix would be relatively
straightforward for someone who knows the player code.  I'll eventually
get to looking through the code if someone else doesn't do it first, but
I thought I'd mention the issue in case it truly is an easy fix for a
knowledgeable developer.

Thanks,
Mike

$ mythfrontend --version
Source code version     : 15059M
SVN Branch              : trunk
Library API version     : 0.21.20071202-1
Network Protocol Version: 36
Options compiled in:
 linux release using_oss using_alsa using_jack using_backend using_dbox2
using_dvb using_firewire using_frontend using_hdhomerun using_iptv
using_ivtv using_joystick_menu using_lirc using_opengl_vsync
using_opengl_video using_v4l using_x11 using_xrandr using_xv using_xvmc
using_xvmc_opengl using_bindings_perl using_opengl using_libavc_5_3
using_live using_xvmc_pbuffer

A frontend log with -v important,general,playback (with a few comments)
is at: 
http://misc.thirdcontact.com/MythTV/mythfrontend-invalid_refresh_detection_uses_bob.log

My (very simple) playback profile:

mysql> select * from settings where value =
'DefaultVideoPlaybackProfile' and hostname = 'titan.thirdcontact';
+-----------------------------+-------+--------------------+
| value                       | data  | hostname           |
+-----------------------------+-------+--------------------+
| DefaultVideoPlaybackProfile | CPU++ | titan.thirdcontact |
+-----------------------------+-------+--------------------+
1 row in set (0.00 sec)

mysql> select * from displayprofilegroups where hostname =
'titan.thirdcontact';
+-------+--------------------+----------------+
| name  | hostname           | profilegroupid |
+-------+--------------------+----------------+
| CPU++ | titan.thirdcontact |              1 |
+-------+--------------------+----------------+
1 row in set (0.00 sec)

mysql> select * from displayprofiles where profilegroupid = 1;
+----------------+-----------+--------------------+-------------+
| profilegroupid | profileid | value              | data        |
+----------------+-----------+--------------------+-------------+
|              1 |         1 | pref_priority      | 1           |
|              1 |         1 | pref_cmp0          | > 0 0       |
|              1 |         1 | pref_decoder       | ffmpeg      |
|              1 |         1 | pref_videorenderer | xv-blit     |
|              1 |         1 | pref_osdrenderer   | softblend   |
|              1 |         1 | pref_osdfade       | 1           |
|              1 |         1 | pref_deint0        | bobdeint    |
|              1 |         1 | pref_deint1        | linearblend |
|              1 |         1 | pref_filters       |             |
+----------------+-----------+--------------------+-------------+
9 rows in set (0.00 sec)



More information about the mythtv-dev mailing list