[mythtv] fixes/31 branch created!

Mike Bibbings mike.bibbings at gmail.com
Wed Feb 19 16:58:23 UTC 2020


On 18/02/2020 11:17, Mark Kendall wrote:
> I've pushed a few improvements in the last few days for the Pi4 - Pi3
> not tested. My Pi4 has gone a little nuts however - so will need to
> start from scratch before I can go any further.
>
> With the latest fixes, I'd recommend the following display profile
> settings for the Pi4 (probably the same for Pi3):-
>
> - decoder - V4L2
> - max cpus - 4
> - deinterlacer (both single and double rate) - low quality, Prefer
> OpenGL deinterlacers.
>
> This should give the best performance for both H264 hardware decode
> and fallback to software decoding (e.g. MPEG2 on Pi4, or no licence on
> Pi3).
>
> In terms of performance, there is a definite performance limitation
> tying to decode 1080P H264. Frames are dropped.
>
> 1080i is in theory fine - no frames are dropped, CPU load is low but
> playback has intermittent tearing (depending on the source material).
> As far as I can tell, this is a Pi4 firmware/driver issue. There are
> plenty of reported issues with the Pi4 and tearing and recognition
> from the Pi foundation/engineers that this is an unresolved issue. The
> giveaway for me is that testing with 1080i, software decode of MPEG2,
> there is intermittent breakup of the displayed frames - but absolutely
> no indication from the mythtv logs that anything is wrong. Under load,
> the timing signals to the display are erratic.
>
> Regards
> Mark
> _______________________________________________

Hi Mark,

Ran some tests on Pi2 and Pi4 master at commit 4e0da5033

Using your recommended settings LiveTV and recorded playback are looking 
good for both Pi2 and Pi4.

On occasion Pi4 LiveTV shows MPEG-2 ffmpeg   Deint None instead of 2x 
GLSL Onefield.

mythfrontend started by QT_QPA_PLATFORM=eglfs mythfrontend at console.

It looks like something in drm/fkms/kernel is reading edid from the 
connected hdmi device and deciding to ignore settings for hdmi_group and 
hdmi_mode in /boot/config.txt.

Being in UK, transmissions are 50Hz based, I use hdmi_group=1 and 
hdmi_mode=31 (translates to 1920x1080 at 50Hz), which is what tvservice -s 
reports at console.

Once mythfrontend is running tvservice -s reports different values being 
used, depending on capabilities of hdmi connected TV.

hdmi HD TV (max supported 1920x1080 at 60Hz), see below for full list of 
supported CEA modes.

Pi2 and Pi4 state 0xa [HDMI CUSTOM RGB lim 16:9], 1920x1080 @ 60.00Hz, 
progressive

hdmi 4K TV, see below for full list of supported CEA modes

Pi4 state 0xa [HDMI CUSTOM RGB lim unknown AR], 4096x2160 @ 30.00Hz, 
progressive
This gives terrible playback!


I can work round the problem by using hdmi_cvt= in /boot/config.txt e.g. 
for 1920x1080 at 50Hz but this is a pain for Users.

hdmi_cvt=1920 1080 50
hdmi_group=2
hdmi_mode=87

I can provide any logs you want, just let me know what --loglevel and -v 
settings you need.


HD TV modes:

Group CEA has 16 modes:
            mode 1: 640x480 @ 60Hz 4:3, clock:25MHz progressive
            mode 2: 720x480 @ 60Hz 4:3, clock:27MHz progressive
            mode 3: 720x480 @ 60Hz 16:9, clock:27MHz progressive
            mode 4: 1280x720 @ 60Hz 16:9, clock:74MHz progressive
   (native) mode 5: 1920x1080 @ 60Hz 16:9, clock:74MHz interlaced
            mode 6: 720x480 @ 60Hz 4:3, clock:27MHz x2 interlaced
            mode 7: 720x480 @ 60Hz 16:9, clock:27MHz x2 interlaced
            mode 16: 1920x1080 @ 60Hz 16:9, clock:148MHz progressive
            mode 17: 720x576 @ 50Hz 4:3, clock:27MHz progressive
            mode 18: 720x576 @ 50Hz 16:9, clock:27MHz progressive
   (native) mode 19: 1280x720 @ 50Hz 16:9, clock:74MHz progressive
            mode 20: 1920x1080 @ 50Hz 16:9, clock:74MHz interlaced
            mode 21: 720x576 @ 50Hz 4:3, clock:27MHz x2 interlaced
            mode 22: 720x576 @ 50Hz 16:9, clock:27MHz x2 interlaced
            mode 31: 1920x1080 @ 50Hz 16:9, clock:148MHz progressive
            mode 32: 1920x1080 @ 24Hz 16:9, clock:74MHz progressive

4K TV modes:

Group CEA has 23 modes:
            mode 1: 640x480 @ 60Hz 4:3, clock:25MHz progressive
            mode 2: 720x480 @ 60Hz 4:3, clock:27MHz progressive
            mode 3: 720x480 @ 60Hz 16:9, clock:27MHz progressive
            mode 4: 1280x720 @ 60Hz 16:9, clock:74MHz progressive
            mode 5: 1920x1080 @ 60Hz 16:9, clock:74MHz interlaced
            mode 16: 1920x1080 @ 60Hz 16:9, clock:148MHz progressive
            mode 17: 720x576 @ 50Hz 4:3, clock:27MHz progressive
            mode 18: 720x576 @ 50Hz 16:9, clock:27MHz progressive
            mode 19: 1280x720 @ 50Hz 16:9, clock:74MHz progressive
            mode 20: 1920x1080 @ 50Hz 16:9, clock:74MHz interlaced
            mode 21: 720x576 @ 50Hz 4:3, clock:27MHz x2 interlaced
            mode 31: 1920x1080 @ 50Hz 16:9, clock:148MHz progressive
            mode 32: 1920x1080 @ 24Hz 16:9, clock:74MHz progressive
            mode 33: 1920x1080 @ 25Hz 16:9, clock:74MHz progressive
            mode 34: 1920x1080 @ 30Hz 16:9, clock:74MHz progressive
            mode 63: 1920x1080 @ 120Hz 16:9, clock:297MHz progressive
            mode 64: 1920x1080 @ 100Hz 16:9, clock:297MHz progressive
            mode 93: 3840x2160 @ 24Hz 16:9, clock:297MHz progressive
            mode 94: 3840x2160 @ 25Hz 16:9, clock:297MHz progressive
            mode 95: 3840x2160 @ 30Hz 16:9, clock:297MHz progressive
            mode 98: 4096x2160 @ 24Hz unknown AR, clock:297MHz progressive
            mode 99: 4096x2160 @ 25Hz unknown AR, clock:297MHz progressive
            mode 100: 4096x2160 @ 30Hz unknown AR, clock:297MHz progressive

  and with hdmi_enable_4kp60=1 in /boot/config.txt

Group CEA has 27 modes:
            mode 1: 640x480 @ 60Hz 4:3, clock:25MHz progressive
            mode 2: 720x480 @ 60Hz 4:3, clock:27MHz progressive
            mode 3: 720x480 @ 60Hz 16:9, clock:27MHz progressive
            mode 4: 1280x720 @ 60Hz 16:9, clock:74MHz progressive
            mode 5: 1920x1080 @ 60Hz 16:9, clock:74MHz interlaced
            mode 16: 1920x1080 @ 60Hz 16:9, clock:148MHz progressive
            mode 17: 720x576 @ 50Hz 4:3, clock:27MHz progressive
            mode 18: 720x576 @ 50Hz 16:9, clock:27MHz progressive
            mode 19: 1280x720 @ 50Hz 16:9, clock:74MHz progressive
            mode 20: 1920x1080 @ 50Hz 16:9, clock:74MHz interlaced
            mode 21: 720x576 @ 50Hz 4:3, clock:27MHz x2 interlaced
            mode 31: 1920x1080 @ 50Hz 16:9, clock:148MHz progressive
            mode 32: 1920x1080 @ 24Hz 16:9, clock:74MHz progressive
            mode 33: 1920x1080 @ 25Hz 16:9, clock:74MHz progressive
            mode 34: 1920x1080 @ 30Hz 16:9, clock:74MHz progressive
            mode 63: 1920x1080 @ 120Hz 16:9, clock:297MHz progressive
            mode 64: 1920x1080 @ 100Hz 16:9, clock:297MHz progressive
            mode 93: 3840x2160 @ 24Hz 16:9, clock:297MHz progressive
            mode 94: 3840x2160 @ 25Hz 16:9, clock:297MHz progressive
            mode 95: 3840x2160 @ 30Hz 16:9, clock:297MHz progressive
            mode 96: 3840x2160 @ 50Hz 16:9, clock:594MHz progressive
   (native) mode 97: 3840x2160 @ 60Hz 16:9, clock:594MHz progressive
            mode 98: 4096x2160 @ 24Hz unknown AR, clock:297MHz progressive
            mode 99: 4096x2160 @ 25Hz unknown AR, clock:297MHz progressive
            mode 100: 4096x2160 @ 30Hz unknown AR, clock:297MHz progressive
            mode 101: 4096x2160 @ 50Hz unknown AR, clock:594MHz progressive
            mode 102: 4096x2160 @ 60Hz unknown AR, clock:594MHz progressive


Mike



More information about the mythtv-dev mailing list