I'm trying to track down some image dropping issues in xine using vdpau. So far it turns out that decoding takes sometimes unusually long. Typically it's much less then image duration (in this case 40 ms), but sometimes it takes ~250 ms or even more. Such large decoding delays cannot be catched up in time and are therefore causing dropped images.
Current driver version is 256.35. It seems to me that this issue was introduced somewhere after 195.3x. My hardware is GF8600GTS, but even other people with C hardware report that issue.
The below backtrace shows where the decoder is at about 35 ms after entering VdpauDecoderRender. Maybe this helps to locate the problem. Feel free to ask for further samples.
#0 0x00007f622a57f4b7 in ioctl () from /lib64/libc.so.6
#1 0x00007f62111ee647 in ?? () from /usr/lib64/libvdpau_nvidia.so
#2 0x00007f62111a32dd in ?? () from /usr/lib64/libvdpau_nvidia.so
#3 0x00007f621119f998 in ?? () from /usr/lib64/libvdpau_nvidia.so
#4 0x00007f62111c14e9 in ?? () from /usr/lib64/libvdpau_nvidia.so
#5 0x00007f621118db2c in ?? () from /usr/lib64/libvdpau_nvidia.so
#6 0x00007f6211180df6 in ?? () from /usr/lib64/libvdpau_nvidia.so
#7 0x00007f62219acc8b in guarded_vdp_decoder_render (decoder=45, target=15, picture_info=0x7f6209071c70, bitstream_buffer_count=1, bitstream_buffers=0x7f6209071fc0) at ../../../xine-lib-1.2/src/video_out/video_out_vdpau.c:239
#8 0x00007f6223d6696b in vdpau_decoder_render (this_gen=0x120cf50, vdp_buffer=0x7f6209071fc0, slice_count=1) at ../../../../xine-lib-1.2/src/video_dec/libvdpau/vdpau_h264.c:710
#9 0x00007f6223d6721b in vdpau_h264_decode_data (this_gen=0x120cf50, buf=0xc8a930) at ../../../../xine-lib-1.2/src/video_dec/libvdpau/vdpau_h264.c:905
#10 0x00007f622cd801f1 in video_decoder_loop (stream_gen=0xbb3290) at ../../../xine-lib-1.2/src/xine-engine/video_decoder.c:383
#11 0x00007f622a81765d in start_thread (arg=<value optimized out>) at pthread_create.c:297
#12 0x00007f622a586e1d in clone () from /lib64/libc.so.6
#13 0x0000000000000000 in ?? ()