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@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
_______________________________________________
mythtv-dev mailing list
mythtv-dev@mythtv.org
http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev

Reply via email to