[mythtv] XvMC VLD Decoding stuttering problems on some videos
terry1 at beam.ltd.uk
Mon Sep 25 20:12:28 UTC 2006
Terry Barnaby wrote:
> Terry Barnaby wrote:
>> Stuart Auchterlonie wrote:
>>> On Fri, Sep 22, 2006 at 08:42:29PM +0100, Terry Barnaby wrote:
>>>> Does anyone have any clues on where to look to solve this problem ?
>>> Right this is interesting
>>>> 2006-09-20 07:14:15.557 XvMCSurfaceTypes::find(w 544, h 576, chroma 1, vld 1, idct 0, mpeg2, sub-width 0, sub-height 0, disp, p<= 68, 680 <=p, port, surfNum)
>>> Not working:
>>>> 2006-09-20 07:15:52.405 XvMCSurfaceTypes::find(w 720, h 576, chroma 1, vld 1, idct 0, mpeg2, sub-width 0, sub-height 0, disp, p<= 68, 680 <=p, port, surfNum)
>>> So the difference between the streams is 544x576 vs 720x576.
>>> mythtv-dev mailing list
>>> mythtv-dev at mythtv.org
>> Yes, it is a different resolution. It is probably also from a different
>> DVB-T channel and so has probably other MPEG differences.
>> I have further tracked this down to the system occasionally taking a
>> long time (> 200ms) in XvMCPutSlice2(). So this points to the XvMCVLD
>> library/via X driver/hardware although this does not tally with the fact
>> that xine plays the same video file fine ...
>> I will investigate a bit further.
>> mythtv-dev mailing list
>> mythtv-dev at mythtv.org
> Hi, got a bit further, it was'nt XvMCPutSlice2() taking > 200ms it was
> the X11L performed as part of X11S. So something has locked the internal
> MytTv XServer lock but not released it ....
> Any ideas ? Will test a bit further.
> mythtv-dev mailing list
> mythtv-dev at mythtv.org
Hi, a bit stuck now.
Basically the X11L lock for XvMCPutSlice2 in VideoOutputXv::DrawSlice
occasionally take a long time to lock (> 300ms). This causes the video
output stage to run out of decoded video frames and hence a Prebuffering
It looks like the thread holding the lock is doing the XSync in
VideoOutputXv::Show. However the XSync call never takes longer than a
few ms and hence should not be holding up the XvMCPutSlice2 for 300ms.
So, could it be that the display output thread (which is running
real-time ??) is running hard and not letting the decoder thread get a
look in occasionally ??
Any ideas ??
More information about the mythtv-dev