Modify

Ticket #2 (closed defect: fixed)

Opened 8 years ago

Last modified 2 years ago

XvMC broken for HDTV on the unichrome pro chipset

Reported by: jdonavan Owned by: jdonavan
Priority: major Milestone: 0.19
Component: mythtv Version: head
Severity: high Keywords: hdtv
Cc: Ticket locked: no

Description

When XVMC_MAX_SURF_NUM is 16, XvMC playback of HD sized streams gives either a blank screen + sound or garbage + sound. As the first call to XvMCPutSurface generates an error from Xv that says "X Error: BadAlloc? (insufficient resources for operation0".

Reducing XVMC_MAX_SURF_NUM to 12 allows playback of HD sized streams but with many prebuffering pauses.

Reducing XVMC_MAX_SURF_NUM to 8 allows for smooth playback of HD sized streams.

Attachments

Change History

comment:1 Changed 8 years ago by ijr

  • Owner changed from ijr to jdonavan
  • Milestone set to 0.19

comment:2 Changed 8 years ago by wmichaels1@…

I have this problem with mythtv 18.1 as well. I thought it was caused by my new ATI Radeon X800 XL 256 card. Mythtv works fine with starndard definition signals but high definition signals give the symptoms of this bug. I have not fiddled with XVMC_MAX_SURF_NUM yet, but now I have a clue as to how to get things running. With a previous MSI GeForce3 Ti200 video card I was seeing a lot of Prebuffering Pauses and 100% CPU usage with a HD signal. Gosh darn, I may have wasted $359.95 trying to fix a software problem with hardware.

comment:3 Changed 8 years ago by ijr

Previous comment from wmichaels1@… has _absolutely nothing_ to do with this bug report.

comment:4 Changed 8 years ago by danielk

(In [6728]) This is an UGLY hack for a problem in CreateXvMCSurfaces().

reateXvMCSurfaces is supposed to allocate between 8 and 16 buffers, allocating as many as possible, and reinitializing vbuffers as needed. But it seems with the Unichrome chipset you need to call vbuffers.Init() with the exact number of buffers you are capable of allocating BEFORE CreateXvMCSurfaces is called to allocate them.

Since the Unichrome chipset is the only chipset, I know of, which allows more than eight XvMC buffers this is probably a general problem, exposed simply by the unichrome chipset.

The hack is curtesy of Terry Barnaby, and should at least solve the prebuffering pause problem with VLD until someone can look at why CreateXvMCSurfaces isn't working proberly.

See #2 for a related problem.

comment:5 Changed 8 years ago by jdonavan

  • Status changed from new to closed
  • Resolution set to fixed

This is fixed in HEAD.

comment:6 Changed 3 years ago by anonymous

Testing trac fix

comment:7 Changed 2 years ago by Mark Kendall

View

Add a comment

Modify Ticket

Action
as closed
The resolution will be deleted. Next status will be 'new'
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.