[mythtv] Experimental pvr 350 output patch

David Engel dlengel at attbi.com
Sat Dec 6 21:32:26 EST 2003


The attached patch is an experimental attempt to improve Myth's
functionality when using a pvr 350 for video output.  It certainly
needs some more work before it can be committed, but it works well
enough for me to let others try it and give some feedback.

The fundamental change is to keep the pvr 350 output device open
instead of closing and reopening every time a seek is done.  From my
interpretation of the limited, available documentation and empirical
testing, this is how it's supposed to be done.  Unfortunately, the
current ivtv driver doesn't make this easy because of some design
limitations.  I worked around this for now, by using an ioctl (for
debugging?) which calls the decoder firmware directly.  This will have
to be addressed with the ivtv developers.

Anyway, here are the odds and ends, as I remember them, that you
should see when trying this.

Stability might be better.  It shouldn't be any worse.

Changing channels in live mode should be faster.

Skipping around should be faster and shouldn't have the nasty visual
effect when the video wasn't recorded with a width of 720.  There
might be some pixelization that I hope can be corrected by tweaking
the buffering.

During fast forward/rewind, the video should now get updated, but it
will be choppy and have pixelization.  For best results, you should
have exact seeks off.  The way to make this work better is to move
some of the ff/rew control into NVP so it has better control of which
frames to play and which frames to skip.

Slow/fast motion should mostly work, but might show some pixelization.
Again, I hope that can corrected in the buffering.

Greater than 3x speed is disabled because it can't be supported
without changing NVP to skip frames.

Changing from 1/16x speed to paused can take a second or two because
of buffering and the reduced frame rate.  If better buffer control
can't fix this, the only alternative is to briefly change to normal
speed before pausing.

Changing from paused to 1/16x speed usually won't work.  It will play
at normal speed even though TV thinks it's still at 1/16x speed.  This
is because of separate calls to NVP::UnPause and NVP::SetPlaySpeed.  I
think the best way to fix this is to combine those two calls into a
single NVP::Play.

Skipping around while paused (including edit mode) should kind of
work, but will still not be real usable.  Sound will get through and
the video will actually have to play a little to try to get to the
right frame.  I need to do more testing and investigation to figure
out how to best seek to a specific frame.

David
-- 
David Engel
dlengel at attbi.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pvr350.patch.gz
Type: application/octet-stream
Size: 2587 bytes
Desc: not available
Url : http://mythtv.org/pipermail/mythtv-dev/attachments/20031206/8af9e5a3/pvr350.patch.obj


More information about the mythtv-dev mailing list