[mythtv] Refresh rate during playback

Kevin Kuphal kuphal at dls.net
Wed Mar 29 01:04:06 UTC 2006


Can anyone familiar with the videout_xv.cpp code and NuppleVideo player 
explain what this means:

2006-03-28 17:51:38.347 Refresh rate: 16579, frame interval: 33366

The results from these calls:

#include <stdio.h>

#include <X11/Xlib.h>
#include <X11/extensions/xf86vmode.h>

int main(int argc, char *argv[], char *arge[])
{
  Bool retval;
  int dot_clock;
  XF86VidModeModeLine mode_line;
  double rate;
  Display *display;

  display = XOpenDisplay(NULL);

  retval = XF86VidModeGetModeLine(display, 0, &dot_clock, &mode_line);

  printf("dot_clock: %d\n", dot_clock);

  printf(" hdisplay: %d\n", mode_line.hdisplay);
  printf(" hsyncstart: %d\n", mode_line.hsyncstart);
  printf(" hsyncend: %d\n", mode_line.hsyncend);
  printf(" htotal: %d\n", mode_line.htotal);
  printf(" vdisplay: %d\n", mode_line.vdisplay);
  printf(" vsyncstart: %d\n", mode_line.vsyncstart);
  printf(" vsyncend: %d\n", mode_line.vsyncend);
  printf(" vtotal: %d\n", mode_line.vtotal);
  printf(" flags: %x\n", mode_line.flags);
  printf(" privsize: %d\n", mode_line.privsize);

  rate = (double)((double)(dot_clock * 1000.0) /
                  (double)(mode_line.htotal * mode_line.vtotal));
  printf("rate: %f\n", rate);

  return(0);
}

show these results when idle

dot_clock: 40000
 hdisplay: 800
 hsyncstart: 840
 hsyncend: 968
 htotal: 1056
 vdisplay: 600
 vsyncstart: 601
 vsyncend: 605
 vtotal: 628
 flags: 5
 privsize: 0
rate: 60.316541

but it doesn't seem that this is the same that is returned during video 
playback.   This being the case, what are the consequences of this?  I'm 
seeing horrible XvMC performance (nvidia 7676 on MX4000) on this system 
and I can't figure out what's going on...

Kevin



More information about the mythtv-dev mailing list