Workaround VDPAU decode errors on aspect change on NVidia.

The NVidia driver seems to expect a decoder reinit on aspect
change, otherwise giving a nonsense VDP_STATUS_INVALID_SIZE
error.
Since decode and display can run out of sync, we do not in fact
know when an aspect change will happen during decode but only when
we want to display that decoded frame, and with threaded decoding
these will differ significantly.
So just catch the error and retry decoding instead, this also has
the advantage of not affecting (and possibly costing performance)
drivers without this issue.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@36537 b3059339-0415-0410-9bf9-f77b7e298cf2
Query codec support first.

The filter chain query is more complex.
In addition this for the moment avoids a vo_vdpau bug
where the query function destroys the old decoder.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@36538 b3059339-0415-0410-9bf9-f77b7e298cf2
Revert r36537.

This was based on a wrong assumption.
With the sample at hand, the error is actually reproducible
with the MESA implementation (in fact, that one just crashes
instead, so the workaround did no work for it).


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@36539 b3059339-0415-0410-9bf9-f77b7e298cf2
Make handling of query_format more robust.


git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@36540 b3059339-0415-0410-9bf9-f77b7e298cf2