2012/3/9 Christian König <deathsim...@vodafone.de>
>
> On 08.03.2012 20:12, Andy Furniss wrote:
>>
>> Christian König wrote:
>>
>>>> mplayer sw decode + yuy2 vdpau output is corrupted.
>>>
>>> Yeah, still working on that. The problem is tilling related, just
>>> disable 2D tilling and it works like a charm. I think I've found the
>>> problem right now and going to send out some fixed patches in the next
>>> couple of minutes.
>>
>>
>> Working OK for me now with xine and mplayer using your vlwork git, which I 
>> assume is the same as applying the latest patches.
>
> Yeah it is, I started to push my patches there cause somebody asked for a git 
> tree instead of patches.
>
>
>> Is there a way to disable mesa 2D tiling anymore? I know about the xorg.conf 
>> options but they don't seem to affect mesa.
>
> Not without hacking the code, the xorg.conf options only affects the tilling 
> of buffers the DDX allocates, e.g. the front/back buffers of drawables.
>
> But hacking the code a bit is actually quite easy, cause there is a central 
> function (r600_texture_create) in r600_texture.c that controls which tiling 
> gets used for a resource, just set array_mode to zero and you disabled all 
> tilling.
>
>
>>> Unfortunately mplayer just doesn't tries to use a planar 422 format
>>> (something which is really easy to support).
>>
>>
>> I think mplayer's vdpau was written by nvidia, so maybe it assumes things - 
>> but then I don't know that. I do know it blindly tries to use yuy2 even if 
>> it's not advertised.
>
> Indeed, mplayer isn't checking any feature it is using, but apart from that 
> the implementation looks quite sane (compared to what is xine doing for 
> example).
>
>
>> One thing I noticed looking at the vdpau spec on their doxygen site is that 
>> YUY16 isn't even listed.
>>
>> When -vo gl is used mplayer will directly use 422 planar (which I assume is 
>> what fourcc.org calles YV16).
>
> VDPAU just calls everything planar either YV12 or NV12 and has a separate 
> chroma-format parameter, and from their OpenGL <-> VDPAU implementation it 
> looks like that 422 is just handled planar internally also. So what mplayer 
> does with its 422 implementation is converting it from YV16 -> YUYV and the 
> nvidias VDPAU implementation just converts that back from YUYV -> YV16 with a 
> shader.
>
>
>> As for xine my current issues are the logo, mine is playing
>>
>> share/xine/skins/xine-ui_logo.png with plugin gdkpixbuf
>>
>> Before 422 worked properly it was distorted, now it's almost OK, but has a 
>> green band at the bottom. If I toggle between full screen and window a few 
>> times I can get it to crash - bt attached.
>> It works OK with xv, and actually playing a raw 422 yuy2 stream with xine + 
>> vdpau looks OK and won't crash toggling (it is different size though).
>
> That strongly depends on the codec used, unfortunately VDPAU has no way of 
> advertising (for example) support for MPEG2 420, but not MPEG2 422....
>
> Anyway, it's still an improvement over the current status quo, so I just 
> pushed the patches upstream.
>
>
>> Issue 2 is that doing something that makes xine try to render over the video 
>> eg. skipping or changing volume results in an assert -
>>
>> vl/vl_video_buffer.c:320:vl_video_buffer_sampler_view_components: Assertion 
>> `component < 3' failed.
>>
>> bt also attached.
>
> Yeah, and there are some additional issues that xine sometimes jumps in the 
> middle of a frame while seeking, tries to set the internal format of video 
> surfaces BEFORE decoding, accessing VDPAUs drawable (while the VDPAU 
> documentation clearly states NOT to do so).....
>
> I really start wondering if it wouldn't be better to fix xine, instead of 
> shifting the implementation to a point where it actually works flawlessly 
> with that player.
>
> Anyway, I will be busy with UVD code review next week so I won't have time to 
> work on the state tracker for some time now, so that has to wait for a little 
> while longer.
>
> Thanks,
> Christian.


I confirm that with the latest round of upstream patches :
- Xine is working a bit better (at least it is not segfaulting anymore
while starting up)
- My 4:2:2 mpeg2 sample is now working great with -vo vdpau

Regards,
Emeric
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to