Mailing List Archive

Video offset with black bars when using JudderFree / UseVideoModes=1
I've been trying to get an new frontend to frame rate switch cleanly, but
I'm getting the video vertically displaced by 50-100+ pixels when I turn
on UseVideoModes=1.

At first I thought it was an issue with VAAPI but I've reproduced the
issue on a clean environment using software decode.

So far I've collapsed the issue down to two calls to VideoOutWindow::
with odd values.

Here is some output from mythfrontend -v playback

Jun 10 14:49:09 mythfe-1604 mythfrontend.real: mythfrontend[5855]: I
CoreContext tv_play.cpp:5856 (StartPlayer) TV::StartPlayer(): Created
player.
Jun 10 14:49:09 mythfe-1604 mythfrontend.real: mythfrontend[5855]: I
CoreContext tv_play.cpp:2532 (HandleStateChange) TV::HandleStateChange():
Changing from None to WatchingPreRecorded
Jun 10 14:49:09 mythfe-1604 mythfrontend.real: mythfrontend[5855]: I
CoreContext videooutwindow.cpp:560 (PrintMoveResizeDebug) Display Rect
left: 213, top: 0, width: 1493, height: 1200, aspect: 1.60759
Jun 10 14:49:09 mythfe-1604 mythfrontend.real: mythfrontend[5855]: I
CoreContext videooutwindow.cpp:569 (PrintMoveResizeDebug) Video Rect
left: 0, top: 0, width: 720, height: 576, aspect: 1.25
Jun 10 14:49:09 mythfe-1604 mythfrontend.real: mythfrontend[5855]: I
CoreContext tv_play.cpp:2632 (HandleStateChange) TV::HandleStateChange():
Main UI disabled.
Jun 10 14:49:09 mythfe-1604 mythfrontend.real: mythfrontend[5855]: I
CoreContext tv_play.cpp:424 (StartTV) TV::StartTV(): Entering main
playback loop.
Jun 10 14:49:09 mythfe-1604 mythfrontend.real: mythfrontend[5855]: I
CoreContext mythplayer.cpp:2193 (SetBuffering) Player(3): Waiting for
video buffers...
Jun 10 14:49:09 mythfe-1604 mythfrontend.real: mythfrontend[5855]: I
CoreContext mythplayer.cpp:2284 (CheckAspectRatio) Player(3): Video Aspect
ratio changed from 1.25 to 1.77778
Jun 10 14:49:09 mythfe-1604 mythfrontend.real: mythfrontend[5855]: I
CoreContext videooutwindow.cpp:560 (PrintMoveResizeDebug) Display Rect
left: 0, top: 57, width: 1920, height: 1085, aspect: 1.60759
Jun 10 14:49:09 mythfe-1604 mythfrontend.real: mythfrontend[5855]: I
CoreContext videooutwindow.cpp:569 (PrintMoveResizeDebug) Video Rect
left: 0, top: 0, width: 720, height: 576, aspect: 1.77778


1st time due to
- HandleStateChange between 2532 and 2632

2nd time due to
- VideoOutWindow::VideoAspectRatioChanged

At some point display_video_rect.top has been changed to 57

I don't have a full debug enabled stack this days so I'm not sure what the
call tree is to invoke MoveResize from within HandleStateChange().

For some reason enabling UseVideoModes=1 is causing some interesting side
effects and I have no idea why we're going from

Display Rect left: 213, top: 0, width: 1493, height: 1200, aspect: 1.60759
to
Display Rect left: 0, top: 57, width: 1920, height: 1085, aspect: 1.60759

Especially as my display is set to 1920x1080.

I've also had a look at the settings for the frontend and I can't see
anything obvious.

Any pointers to debug this further would be greatly appreciated as there
are a number of historical emails around the same problem
-
​http://lists.mythtv.org/pipermail/mythtv-users/2012-October/340787.html
-
​http://lists.mythtv.org/pipermail/mythtv-users/2010-September/296624.html

Steve
_______________________________________________
mythtv-users mailing list
mythtv-users@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-users
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org
Re: Video offset with black bars when using JudderFree / UseVideoModes=1 [ In reply to ]
On Sat, June 10, 2017 5:02 pm, Open Media Support wrote:
>
> I've been trying to get an new frontend to frame rate switch cleanly, but
> I'm getting the video vertically displaced by 50-100+ pixels when I turn
> on UseVideoModes=1.
>

So I've done a bit more digging and it appears that UseVideoModes=1 only
works reliably with NVidia cards and VDPAU.

I've run some test with the VDPAU and Normal playback modes, with
UseVideoModes enabled and disabled. If we're running in Normal or OpenGL
modes there appears to be a call that shifts the top of the video playback
window and requires an additional call to VideoOutWindow::MoveResize

The debug output appears to indicate that in file tv_play.cpp there is a
critical section of code that is causing the change, but it doesn't occur
when using VDPAU, or perhaps the NVidia card compensates.
- Changing from None to WatchingVideo - Line 2532
Somewhere between these we've called VideoOutWindow::MoveResize
- Main UI disabled - Line 2634

I'll raise a ticket and I'll upload my analysis to date under
* https://code.mythtv.org/trac/ticket/13054





--------------------------------------------
OpenMedia Limited
sales - sales@openmedia.co.nz
support - support@openmedia.co.nz
website - http://www.openmedia.co.nz
_______________________________________________
mythtv-users mailing list
mythtv-users@mythtv.org
http://lists.mythtv.org/mailman/listinfo/mythtv-users
http://wiki.mythtv.org/Mailing_List_etiquette
MythTV Forums: https://forum.mythtv.org