vaapi: mpeg2: fix slice_vertical_position calculation.
authorGwenole Beauchesne <gb.devel@gmail.com>
Sun, 18 Mar 2012 08:30:05 +0000 (09:30 +0100)
committerMartin Storsjö <martin@martin.st>
Sun, 8 Apr 2012 10:10:20 +0000 (13:10 +0300)
commit58e1032d8fddab10fc2cae845aa84c5772d4cdca
treeafe97350158ae2dc0be60cf1f62ce0710df0be9c
parent9cb150c9ab520eba5636bbcf925db6a70e67f3e5
vaapi: mpeg2: fix slice_vertical_position calculation.

VASliceParameterBufferMPEG2.slice_vertical_position shall express
the slice vertical position from the original bitstream. The HW
decoder will correctly decode to the right line computed from the
appropriate top_field_first and is_first_field flags.

This patch aligns with DXVA's definition, which is what most HW and
drivers expect. In particular, Intel PowerVR (Cedarview et al.) and
NVIDIA (through VA-to-VDPAU layer). Since it looks more complex to fix
binary drivers, I aligned the Intel Gen driver (Sandy Bridge et al.)
to this behaviour, while maintaining compatibility with codec layers
not providing this patch yet.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
Signed-off-by: Martin Storsjö <martin@martin.st>
libavcodec/vaapi_mpeg2.c