[mythtv-commits] Ticket #13054: Video Playback vertical offset when using UseVideoModes=1 for JudderFree support

MythTV noreply at mythtv.org
Sun Jun 11 04:45:57 UTC 2017


#13054: Video Playback vertical offset when using UseVideoModes=1 for JudderFree
support
-------------------------------------+---------------------------
 Reporter:  support@…                |          Owner:  jyavenard
     Type:  Bug Report - General     |         Status:  new
 Priority:  minor                    |      Milestone:  unknown
Component:  MythTV - Video Playback  |        Version:  0.28.1
 Severity:  medium                   |     Resolution:
 Keywords:                           |  Ticket locked:  0
-------------------------------------+---------------------------

Comment (by Steven Ellis <support@…>):

 Comparing Normal playback with and without frame rate switching

 Initial difference
 {{{
 # Normal with no offset
  I  VideoOutWindow::SetPIPState. pip_state: 0]
  I  VDP: LoadBestPreferences(2048x2048, 23.9394)
  I  Display Rect  left: 0, top: 132, width: 1920, height: 815, aspect:
 1.33333
  I  Video Rect    left: 0, top: 0, width: 848, height: 480, aspect:
 1.76667
  I  VDP: LoadBestPreferences(848x480, 23.9394)
  I  Display Rect  left: 0, top: 132, width: 1920, height: 815, aspect:
 1.33333
  I  Video Rect    left: 0, top: 0, width: 848, height: 480, aspect:
 1.76667
  I  VideoOutput: Pixel dimensions: Screen 1920x1080, window 1920x1080
  I  VideoOutput: Actual display dimensions: 487x274 mm  Aspect: 1.77737
  I  VideoOutput: Estimated window dimensions: 487x274 mm  Aspect: 1.77737
  I  VideoOutputXv: InitSetupBuffers() render: xv-blit, allowed: xv-
 blit,xshm,xlib

 # vs Normal with video offset


  I  VideoOutputXv: ctor
  I  VideoOutWindow::SetPIPState. pip_state: 0]
  I  VDP: LoadBestPreferences(2048x2048, 23.9394)
  I  Display Rect  left: 0, top: 132, width: 1920, height: 815, aspect:
 1.33333
  I  Video Rect    left: 0, top: 0, width: 848, height: 480, aspect:
 1.76667
  I  VDP: LoadBestPreferences(848x480, 23.9394)
  I  Display Rect  left: 0, top: 132, width: 1920, height: 815, aspect:
 1.33333
  I  Video Rect    left: 0, top: 0, width: 848, height: 480, aspect:
 1.76667
  I  Trying to match best refresh rate 23.939Hz
  I  Using 1920x1080 23.971 Hz
  I  SwitchToVideo: Video size 848 x 480:
     Already displaying resolution 1920 x 1080, 508mm x 286mm
  I  VideoOutput: Pixel dimensions: Screen 1920x1080, window 1920x1080
  I  VideoOutput: Actual display dimensions: 487x274 mm  Aspect: 1.77737
  I  VideoOutput: Estimated window dimensions: 487x274 mm  Aspect: 1.77778
  I  VideoOutputXv: InitSetupBuffers() render: xv-blit, allowed: xv-
 blit,xshm,xlib
 }}}

 Additional lines are
 {{{
  I  Trying to match best refresh rate 23.939Hz
  I  Using 1920x1080 23.971 Hz
  I  SwitchToVideo: Video size 848 x 480:
     Already displaying resolution 1920 x 1080, 508mm x 286mm
 }}}


 Later on the key differences are
 {{{
  I  playCtx: StartPlaying(): took 0 ms to start player.
  I  TV::StartPlayer(): Created player.
  I  TV::HandleStateChange(): Changing from None to WatchingVideo
  I  TV::HandleStateChange(): Main UI disabled.
  I  TV::StartTV(): Entering main playback loop.
  I  Player(3): Video Aspect ratio changed from 1.76667 to 1.77778
  I  Display Rect  left: 0, top: 0, width: 1920, height: 1080, aspect:
 1.77778
  I  Video Rect    left: 0, top: 0, width: 848, height: 480, aspect:
 1.77778
  I  OSD: Base theme size: 1920x1080


 # vs Normal with video offset

  I  playCtx: StartPlaying(): took 0 ms to start player.
  I  TV::StartPlayer(): Created player.
  I  TV::HandleStateChange(): Changing from None to WatchingVideo
  I  Display Rect  left: 0, top: 56, width: 1920, height: 1088, aspect:
 1.60197
  I  Video Rect    left: 0, top: 0, width: 848, height: 480, aspect:
 1.76667
  I  TV::HandleStateChange(): Main UI disabled.
  I  TV::StartTV(): Entering main playback loop.
  I  Player(3): Waiting for video buffers...
  I  Player(3): Video Aspect ratio changed from 1.76667 to 1.77778
  I  Display Rect  left: 0, top: 59, width: 1920, height: 1081, aspect:
 1.60197
  I  Video Rect    left: 0, top: 0, width: 848, height: 480, aspect:
 1.77778
  I  OSD: Base theme size: 1920x1080
 }}}

 Key change is an additional call to VideoOutWindow::!MoveResize
 {{{
  I  Display Rect  left: 0, top: 56, width: 1920, height: 1088, aspect:
 1.60197
  I  Video Rect    left: 0, top: 0, width: 848, height: 480, aspect:
 1.76667

 # Plus broken values on the other call
  I  Display Rect  left: 0, top: 59, width: 1920, height: 1081, aspect:
 1.60197
 }}}

 For some reason we're ending up with a top offset of 56 or 59 pixes.

--
Ticket URL: <https://code.mythtv.org/trac/ticket/13054#comment:2>
MythTV <http://www.mythtv.org>
MythTV Media Center


More information about the mythtv-commits mailing list