Go Back   nV News Forums > Linux Support Forums > NVIDIA Linux

Newegg Daily Deals

Reply
 
Thread Tools
Old 02-01-11, 02:23 PM   #13
rnissl
Registered User
 
Join Date: Jun 2005
Posts: 36
Default Re: VdpauDecoderRender() takes unusually long to complete

Hi,

Quote:
Originally Posted by rnissl View Post
Meanwhile I have been able to reproduce this behavior myself. It happens always for the same call (1795th in xine, 1796th in mplayer) of vdp_decoder_render() when replaying the sample from the beginning.
Some more information:
If you start replaying a bit later in the stream, the message is nolonger reported. I've used a bisect approach and found the following byte offset: 10845227. For example
Code:
dd if=watchdogtest.ts of=watchdogtest2.ts skip=1 bs=10845227
mplayer/mplayer -vo vdpau -vc ffh264vdpau -demuxer lavf watchdogtest2.ts
often reported the message
Code:
A:31440.1 V:31440.1 A-V:  0.000 ct: -0.688   0/  0  1%  0%  0.6% 18 0 

========== vdp_decoder_render() returned after 35.246 ms ==========
call 1550

A:31447.0 V:31447.0 A-V:  0.000 ct: -0.688   0/  0  1%  0%  0.6% 18 0
while skipping a little more let the message vanish. And skipping a little less showed the message always.

Using the original sample and xine running in debugger gives the following backtrace for the video decoder thread when my watchdog fires (the video output thread currently sleeps and there is no thread trying to lock the display nor holding the display lock):
Code:
(gdb) bt
#0  0x00007ffff5356e87 in ioctl () at ../sysdeps/unix/syscall-template.S:82
#1  0x00007fffef64b887 in ?? () from /usr/lib64/libvdpau_nvidia.so
#2  0x00007fffef5ff07d in ?? () from /usr/lib64/libvdpau_nvidia.so
#3  0x00007fffef5f9fe8 in ?? () from /usr/lib64/libvdpau_nvidia.so
#4  0x00007fffef61d279 in ?? () from /usr/lib64/libvdpau_nvidia.so
#5  0x00007fffef5f082c in ?? () from /usr/lib64/libvdpau_nvidia.so
#6  0x00007fffef5e0df7 in ?? () from /usr/lib64/libvdpau_nvidia.so
#7  0x00007ffff0190db3 in guarded_vdp_decoder_render (decoder=47, target=14, picture_info=0x7fffeaac6a40, bitstream_buffer_count=1, bitstream_buffers=0x7fffeaac6d90) at ../../../xine-lib-1.2/src/video_out/video_out_vdpau.c:284
#8  0x00007fffd445e000 in vdpau_decoder_render (this_gen=0x7fffd002c960, vdp_buffer=0x7fffeaac6d90, slice_count=1) at ../../../../xine-lib-1.2/src/video_dec/libvdpau/vdpau_h264.c:631
#9  0x00007fffd445e932 in vdpau_h264_decode_data (this_gen=0x7fffd002c960, buf=0xb2daa0) at ../../../../xine-lib-1.2/src/video_dec/libvdpau/vdpau_h264.c:830
#10 0x00007ffff7b914d1 in video_decoder_loop (stream_gen=0xad5ca0) at ../../../xine-lib-1.2/src/xine-engine/video_decoder.c:404
#11 0x00007ffff55f4a4f in start_thread (arg=0x7fffeaac7710) at pthread_create.c:297
#12 0x00007ffff535e82d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#13 0x0000000000000000 in ?? ()
(gdb)
In case you require the load base of libvdpau, this is what I get when I quit xine:
Code:
VDPAU nvidia: Version: NVIDIA VDPAU Driver Shared Library  260.19.36  Tue Jan 18 17:14:46 PST 2011
VDPAU nvidia: Error detected 1 2335 
VDPAU nvidia: Backtrace:
--: /usr/lib64/libvdpau_nvidia.so [0x7fffef5ce000] DSO load base
00: /usr/lib64/libvdpau_nvidia.so [0x7fffef5e2e3e] 
01: /usr/lib64/libvdpau_nvidia.so [0x7fffef5ebc97] 
02: /usr/lib64/libvdpau_nvidia.so [0x7fffef5d724f] 
03: /usr/lib64/libvdpau_nvidia.so [0x7fffef5dbde3]
Despite the guarded_ prefix in the above backtrace, this function does not lock the display as video_out_vdpau.c was compiled with #undef LOCKDISPLAY.

Bye.
rnissl is offline   Reply With Quote
Old 02-03-11, 04:58 PM   #14
Stephen Warren
Moderator
 
Stephen Warren's Avatar
 
Join Date: Aug 2005
Posts: 1,327
Default Re: VdpauDecoderRender() takes unusually long to complete

FYI, I filed internal report #783767 to track this. We haven't had a chance to repro this yet.
Stephen Warren is offline   Reply With Quote
Old 02-22-11, 01:17 PM   #15
rnissl
Registered User
 
Join Date: Jun 2005
Posts: 36
Default Re: VdpauDecoderRender() takes unusually long to complete

Hi,

Quote:
Originally Posted by Stephen Warren View Post
FYI, I filed internal report #783767 to track this. We haven't had a chance to repro this yet.
my last post is already 3 weeks old. What's the progress on your report?

Bye.
rnissl is offline   Reply With Quote
Old 03-16-11, 03:01 PM   #16
rnissl
Registered User
 
Join Date: Jun 2005
Posts: 36
Default Re: VdpauDecoderRender() takes unusually long to complete

Hi,

Quote:
Originally Posted by Stephen Warren View Post
FYI, I filed internal report #783767 to track this. We haven't had a chance to repro this yet.
Further 3 weeks have passed. What's the current state of this report?

Bye.
rnissl is offline   Reply With Quote
Old 03-21-11, 07:10 PM   #17
JoJo19
Registered User
 
Join Date: Oct 2010
Posts: 16
Default Re: VdpauDecoderRender() takes unusually long to complete

The last working driver for GeForce 8x00 without this problem is 195.30.
So this bug is at least one year old.
Isnīt it time to have this fixed?
JoJo19 is offline   Reply With Quote
Old 04-03-11, 02:45 AM   #18
rnissl
Registered User
 
Join Date: Jun 2005
Posts: 36
Default Re: VdpauDecoderRender() takes unusually long to complete

Hi,

Quote:
Originally Posted by Stephen Warren View Post
FYI, I filed internal report #783767 to track this. We haven't had a chance to repro this yet.
Stephen, meanwhile 2 months have passed since you created the report. Would you please be so kind and share the current status with us?

Bye.
rnissl is offline   Reply With Quote
Old 04-13-11, 08:03 AM   #19
ciaccom
Registered User
 
Join Date: Jan 2009
Posts: 13
Default Re: VdpauDecoderRender() takes unusually long to complete

last activity for "Stephen Warren" was: 02-16-11 12:10 PM

(???)
ciaccom is offline   Reply With Quote
Old 01-18-12, 08:34 AM   #20
JoJo19
Registered User
 
Join Date: Oct 2010
Posts: 16
Default Re: VdpauDecoderRender() takes unusually long to complete

This problem for xine users is now more than 2 years old and still not fixed. Since you, nvidia, could not reproduce it, here my question:
Let us assume this would be a bug in xine. xine works with 195.30, but not with later drivers. So later drivers would expose this xine bug, while 195.30 is forgiving it. What changes between 195.30 and 195.36.15 would explain that? Why would the decoder in 195.30 be more forgiving, and in 195.36.15 more picky?

I have tested this thoroughly on a 8400GS and a G210 (GT216).
If you would give me access to 195.36.03 + 08 I would test them as well (of course on my own risk, but I have passive cooled cards with huge heatsinks/pipes and good airflow, so no danger).
JoJo19 is offline   Reply With Quote

Old 01-20-12, 03:19 AM   #21
domml
Registered User
 
Join Date: Jan 2005
Posts: 2
Default Re: VdpauDecoderRender() takes unusually long to complete

Judging from his activity in this forum, I would assume that Stephen is not with NVidia any more, or has new responsibilities. I would suggest do contact plagman, AaronP or zander.
domml is offline   Reply With Quote
Old 03-25-12, 03:58 PM   #22
Plagman
NVIDIA Corporation
 
Plagman's Avatar
 
Join Date: Sep 2007
Posts: 254
Default Re: VdpauDecoderRender() takes unusually long to complete

This is still pending investigation; we have a local reproduction last I heard. You're right that Stephen isn't the point of contact for VDPAU anymore, but I'll do my best to keep this thread updated when we make progress.
Plagman is offline   Reply With Quote
Old 03-26-12, 06:22 AM   #23
rhocheck
XBMC Developer
 
Join Date: Dec 2010
Posts: 9
Default Re: VdpauDecoderRender() takes unusually long to complete

I came across a post by Stephen where he explained that all vdpau calls are asynchronous. We have returned video surfaces for reuse right after a mixer cycle. Now I tried holding them for another cycle which has changed the behavior.
Is it possible the VdpDecoderRender blocks on a video surface still in use by mixer? If so how can an application know when a surface would be reusable?
rhocheck is offline   Reply With Quote
Old 03-28-12, 01:19 AM   #24
rhocheck
XBMC Developer
 
Join Date: Dec 2010
Posts: 9
Default Re: VdpauDecoderRender() takes unusually long to complete

It seems that I was able to isolate one scenario which might cause this issue. I have decoding and de-interlacing running on separate threads. De-interalacing is done with 4 past and 2 future fields, I tested with 1080i50 using temporal/spatial. Switching between NV_vdpau_interop and presentation queue does not make any difference regarding this issue.
I noticed that long decoding times occurred when the system did more than 2 de-interlacing steps between 2 decoding operations. After having synced the threads in a way that this won't happpen the issue seems to be gone. At least the problem didn't show during a couple of hours playback.
rhocheck is offline   Reply With Quote
Reply


Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 04:00 AM.


Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Copyright Đ1998 - 2014, nV News.