[Libva] [PATCH 0/4] Fix decoding of interlaced MPEG-2 streams

Gwenole Beauchesne gb.devel at gmail.com
Fri Mar 16 00:19:45 PDT 2012


Here are the two other patches I talked about earlier. Actually, patches 1 and 2
will be merged together. Likewise for 3 + 4, probably.

Patch 1 - fix TFF calculation on Sandy Bridge
Patch 2 - propagate the fix to IVB according to current documentation
Patch 3 - fix a slight typo for IVB reference frames construction
Patch 4 - definitive fix for reference frames construction for interlaced streams

Patch 4 will be extended to older generations, but this is the right fix. It's optimizable
(factor out top/bottom cases) but I wanted to keep it clear that way first. This follows
the standard more closely, and also matches the HW expectations. No more workarounds or
guess work. :)

MPlayer will now work well for all interlaced streams I have. 1 extra fix is needed in
the player, though. I will push MPlayer/FFmpeg fixes later on today. GStreamer/VA-API
will be fixed next week.

Gwenole Beauchesne (4):
  mpeg2: fix TFF calculation (SNB).
  mpeg2: fix TFF calculation (IVB).
  mpeg2: fix reference surfaces construction (IVB).
  mpeg2: fix construction of reference frames list for interlaced.

 src/gen6_mfd.c           |   10 +++++-
 src/gen7_mfd.c           |   35 ++++++++-----------
 src/i965_decoder_utils.c |   86 ++++++++++++++++++++++++++++++++++++++++++++++
 src/i965_decoder_utils.h |    8 ++++
 src/i965_defines.h       |    4 ++
 5 files changed, 122 insertions(+), 21 deletions(-)


More information about the Libva mailing list