[prev in list] [next in list] [prev in thread] [next in thread] 

List:       mythtv-dev
Subject:    Re: [mythtv] HDTV patches
From:       Daniel Thor Kristjansson <danielk () cat ! nyu ! edu>
Date:       2004-04-30 17:14:51
Message-ID: Pine.SOL.4.58.0404301311300.10332 () graphics ! cat ! nyu ! edu
[Download RAW message or body]

]If that were so, why are:
]void SetRecorderFramesPlayed(long long played) { recorder_frames_played =
]played; }
]void SetFramesPlayed(long long played) { recorder_frames_played = played; }

This is just to avoid breaking the build, I am planning to remove
SetFramesPlayed() in the next patch. I thought this patch had already
grown too large.

]identical?  And:
]
]-    long long framesPlayed;
]+    long long recorder_frames_played;
]
]And why is it called 'Recorder' when the recorder has absolutely nothing to do
]with it?

I guess it would make more sense if I changed "Recorder" to "Recorded".
It's not really the frames played anymore, but the frame in the
recording we are at. With this patch there are two functions for the
frame rate, GetPlayerFrameRate(void) and GetRecorderFrameRate(void). The
first returns the number of actual frames we are drawing per second, and
thesecond returns the number of frames we progress through the recorded
video per second. I renamed SetFramesPlayed() to SetRecorderFramesPlayed()
so that it corresponds to the new GetRecorderFrameRate().

The recorder frame rate is used by things that consider every frame
in the recorded video, such as commercial detection, commercial skipping,
fast forward, and rewind. The player frame rate is used to set the frame
interval and to adjust audio warping.

]I tested 1080i, 480i, 480p, and 720p.  All looked much worse with your patch
]than before.
Can you try it with this in NuppelVideoPlayer.cpp:
  int fields = (interlaced) ? 1:3;
  videoOutput->Show(fields);
changed to
  int fields = (interlaced) ? 1:3;
  videoOutput->Show(3);

If it looks alright with that change then it's the deinterlacing.

Otherwise, the only thing I can think of is the IDCT acceleration
to turn that off, change this in videoout_xvmc.cpp:
  XvMCSurfaceTypes::find(width, height, chroma,
                         true, 2, 0, 0,
                         data->XJ_disp, ai[i].base_id,
                         ai[i].base_id + ai[i].num_ports - 1,
                         p, s);
to
  XvMCSurfaceTypes::find(width, height, chroma,
                         false, 2, 0, 0,
                         data->XJ_disp, ai[i].base_id,
                         ai[i].base_id + ai[i].num_ports - 1,
                         p, s);

-- Daniel




_______________________________________________
mythtv-dev mailing list
mythtv-dev@mythtv.org
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic