[mythtv] XVideo XvMC VLD broken

Terry Barnaby terry1 at beam.ltd.uk
Mon Apr 25 06:24:39 UTC 2005


Terry Barnaby wrote:
> Hi,
> 
> The current MythTv CVS version (2004-04-25) of the Xv/XvMC merge appears 
> to be broken on a Via M10K box using XvMC VLD acceleration.
> 
> Problems are:
> 1. If DVB-T cards are set to TS mode the system will show TV
>     on startup, but will fail on channel change.
>     Before changing channel I get the following Errors repeated:
> 
> 2005-04-25 06:38:19.007 AddInheritence(A       ) Error, future=frame
> 2005-04-25 06:38:19.127 AddInheritence( B      ) Error, future=frame
> 2005-04-25 06:38:19.247 AddInheritence(  C     ) Error, future=frame
> 2005-04-25 06:38:19.487 AddInheritence(   D    ) Error, future=frame
> 2005-04-25 06:38:19.607 AddInheritence(    E   ) Error, future=frame
> 2005-04-25 06:38:19.727 AddInheritence(     F  ) Error, future=frame
> 
>     After changing the channel I get:
> 
> 2005-04-25 06:38:28.247 AddInheritence(    E   ) Error, future=frame
> adding pes stream at pid 0xb03 with type 2
> adding pes stream at pid 0xb04 with type 4
> closing filter for pid 0x200
> av_remove_stream 0x200
> closing filter for pid 0x28a
> av_remove_stream 0x28a
> streams_changed()
> 2005-04-25 06:38:31.847 Prebuffer wait timed out 10 times.
> 2005-04-25 06:38:31.855 AvFormatDecoder: Video has changed from 0x0 to 
> 704x576.
> [mpegvideo_xvmc_vld @ 0x5e2874]XVMC_VLD_field_start: Unknown picture 
> coding type: 0
> 2005-04-25 06:38:33.827 Prebuffer wait timed out 10 times.
> XvMCPutSlice: This context does not own decoder!
> [mpegvideo_xvmc_vld @ 0x5e2874]XVMC_VLD_field_start: Unknown picture 
> coding type: 0
> XvMCPutSlice: This context does not own decoder!
> XvMCPutSlice: This context does not own decoder!
> [mpegvideo_xvmc_vld @ 0x5e2874]XVMC_VLD_field_start: Unknown picture 
> coding type: 0
> XvMCPutSlice: This context does not own decoder!
> XvMCPutSlice: This context does not own decoder!
> XvMCPutSlice: This context does not own decoder!
> 2005-04-25 06:38:49.147 AddInheritence(    E   ) Error, future=frame
> XvMCPutSlice: This context does not own decoder!
> XvMCPutSlice: This context does not own decoder!
> XvMCPutSlice: This context does not own decoder!
> XvMCPutSlice: This context does not own decoder!
> XvMCPutSlice: This context does not own decoder!
> XvMCPutSlice: This context does not own decoder!
> 
> I suspect this could be caused by not calling the XvMCSyncSurface().
> This call releases the HWMPEG controller for other processes, and
> I suspect a lock is not being released when it is not called.
>     
> 2. If DVB-T cards are set to PS mode the system will show TV
>     on startup, but will fail on channel change.
>     Before changing channel I get the same errors as for TS mode:
>     After changeing I get no picture/sound with the following errors:
> 
> 2005-04-25 06:48:23.866 Prebuffer wait timed out 10 times.
> 2005-04-25 06:48:24.482 AddInheritence(A       ) Error, future=frame
> 2005-04-25 06:48:24.501 AddInheritence( B      ) Error, future=frame
> 2005-04-25 06:48:26.714 Timed out waiting for free video buffers.
> 2005-04-25 06:48:28.913 Timed out waiting for free video buffers.
> 2005-04-25 06:48:31.113 Timed out waiting for free video buffers.
> 2005-04-25 06:48:33.312 Timed out waiting for free video buffers.
> 2005-04-25 06:48:35.512 Timed out waiting for free video buffers.
> 2005-04-25 06:48:37.711 Timed out waiting for free video buffers.
> 2005-04-25 06:48:39.911 Timed out waiting for free video buffers.
> 2005-04-25 06:48:42.111 Timed out waiting for free video buffers.
> 
>     I suspect this is a DVB issue.
> 
> 3. The sound/video stutter badly on channes with multile audio
>     channels. This used to be cleared by setting the DVB-T
>     option "HW Encoder", but this no longer seems to
>     work .... (Probably a DVB/AVCodec issue).
> 
> Terry
> 
> 
> TV Client: Network boot Via M10K connected to TV with SVideo,
>     Unichrome drivers. Using XvMC VLD HW MPEG acceleration.
> Server:    1G Celeron system with twin DVB-T cards
> Software:  Fedora core 3 with updates 2.6.10-1.770_FC3 kernel
> MythTv:    MythTv CVS 2005.04.25
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> mythtv-dev mailing list
> mythtv-dev at mythtv.org
> http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev

Some more on this:
I modified the code in VideoOutputXv::SyncSurface() to call
XvMCSyncSurface(). However this bit of code is never called
during playback (something fishy here) ....

#ifdef ZAP
                 X11S(XvMCFlushSurface(disp, surf));
                 while (IsRendering(frame))
                     usleep(50);
#else
		fprintf(stderr, "BEAM: Sync\n");
	        XvMCSyncSurface(disp, surf);
#endif

Terry


More information about the mythtv-dev mailing list