Some progress to report now for my Intel HD4000 setup. The 'TearFree' option did indeed do what it was supposed to, so the excessive tearing is now gone.
However, the video is still far from smooth. A constant judder is happening every second on the otherwise 'fluid' video. The CPU utilization is constant at around 30% when viewing 1080p video (tested with several source MKVs and MP4/M4V streams.), so it is not caused by decoding bottlenecks. (The CPU is an i3-3225, running at 3.5Ghz)
It also appears that the tearfree option depends on SNA acceleration, as the tearing was re-introduced using UXA with TearFree=1.
So basically what I've now done is–
o Disabled pulseaudio
o Ensured that HD audio codecs are disabled (since I know this can affect the decoding and sync of the streams). I'm using audio pass-through to the S/PDIF toslink (optical) device. Audio (DD5.1/DD2.0) is flawless and in-sync.
o Tried basically every combination of acceleration methods–VAAPI, Xvba, VDPAU – running with just VAAPI or just Xvba enabled produces an identical result (which I found curious). Naturally the XBMC instance has been restarted after these changes have been made.
o Played with different A/V sync options, no change.
o Tried running XBMC under the following DEs–Cinnamon (default), Cinnamon 2D (XBMC doesn't work at all), Enlightenment DR17 (same behavior), XFCE4 (same behavior)
The affected videos are not only 24Hz streams–50Hz is being displayed non-smoothly as well
Logs:
XBMC log:
http://pastebin.com/tzAkQMvd
Xorg log:
http://pastebin.com/siqTSbd7
xbmc-xrandr -q:
http://pastebin.com/c2UnApDX
vainfo:
libva info: VA-API version 0.33.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_33
libva info: va_openDriver() returns 0
vainfo: VA-API version: 0.33 (libva 1.1.1)
vainfo: Driver version: Intel i965 driver - 1.0.20
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileH264Baseline : VAEntrypointVLD
VAProfileH264Baseline : VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileJPEGBaseline : VAEntrypointVLD
btw., after the driver upgrade the XBMC startup is now perfect; both running without the '-standalone' option and with it enabled (only way to see the refresh rate). It is also staying on HDMI2 when that display is powered off, which is good.