[mythtv] [exp. patch] xv xvmc merge (v7)

Terry Barnaby terry1 at beam.ltd.uk
Tue Apr 12 06:31:07 UTC 2005


Ivor Hewitt wrote:
> On Monday 11 Apr 2005 22:23, Daniel Kristjansson wrote:
> 
>>I've updated the xv/xvmc merge patch with the help of some VLD
>>debugging by Ivor Hewitt. Hopefully this version functions with
>>XvMC-VLD..
>>
>>The patch is at:
>>  http://www.mrl.nyu.edu/~danielk/mythtv/xv-xvmc-merge-v7.tbz
>>
>>I've also continued to clean-up the buffer init code, and I've
>>made the buffer management a little more aggressive. When
>>AGGRESSIVE_BUFFER_MANAGEMENT is defined (the default in this
>>patch) videoout_xv reclaims buffers as soon as their children
>>are done rendering, instead of waiting until the children are
>>done displaying. Also with AGGRESSIVE_BUFFER_MANAGEMENT we
>>don't sync the past and future frames in DrawSlice, which
>>means less time is spent holding their frame locks. Finally,
>>I've lowered XVMC_OSD_NUM from 3 to 2, which seems sufficient
>>for OSD buffering.
> 
> 
> Daniel,
> 
> VLD now displays. Although the lower half of the image misrenders with mpeg 
> artifacts - not corrupt stream artifacts though -  its as if the lower part 
> of the screen isn't getting newer mpeg slices to render than the top part has 
> got and is trying to catch up.
> 
> Same with or without AGGRESSIVE_BUFFER_MANAGEMENT.
> 
> 
> 
> Two tiny changes I forgot to mention before:-
> 
> Need to include <map> in videobuffers.h
> 
> The log "CreateXvShmImages() shmget() failed:" in videoout_xv.cpp:981 
> references undefined,  "errno" instead of "XJ_shm_infos[i].shmid"
> 
> 
> Regards,
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> mythtv-dev mailing list
> mythtv-dev at mythtv.org
> http://mythtv.org/cgi-bin/mailman/listinfo/mythtv-dev
Hi,

I have just tried this patch on my setup (Via M10K, Fedora3).
It appears to work fine with me, (limited testing), I do not
see the MPEG curruption artifacts that Ivor is seeing.

A little point, "#include <errno.h>" needs to be included in 
videoout_xv.cpp for Fedora3.
Also, obviously, debug messages need removing :)

Unfortunately, it does not fix the AVSync problem I currently have
with Via XVMC VLD decoding when the input stream has more than one
audio stream. I thought it might have ..

Thanks for the work Daniel, I think this will be a good improvement.

Terry


More information about the mythtv-dev mailing list