Media (Intel® Video Processing Library, Intel Media SDK)
Access community support with transcoding, decoding, and encoding in applications using media tools like Intel® oneAPI Video Processing Library and Intel® Media SDK
The Intel Media SDK project is no longer active. For continued support and access to new features, Intel Media SDK users are encouraged to read the transition guide on upgrading from Intel® Media SDK to Intel® Video Processing Library (VPL), and to move to VPL as soon as possible.
For more information, see the VPL website.

HW HEVC (Skylake) encoding with 1080i video and fast motion results in significant tiling


HW HEVC encoding on 6th-generation Intel processors with 1080i video and fast motion results in significant tiling in the encoded output.  This is easily reproducible by quickly moving a camera from side to side that is outputing 1080i video.  If I switch to H.264 on the same system, the tiling does not occur.  That is, with fast motion, it looks much better with H.264 than with HEVC at the same bit rate.  Disregarding the fast motion tiling issue, HEVC looks better than H.264 at the same bit rate, however.

Some relevant information about the platform, not that it matters much, since it can be reproduced on other systems:

  • Intel NUC kit NUC6i7KYK (Skull Canyon) with latest BIOS as of 6/21/2016
  • 16 GB RAM
  • Windows 10 64-bit Professional (build 10586) and latest Windows updates
  • Latest drivers for NUC as of 6/21/2016
  • Very latest Intel Graphics driver package (version 4463 released on June 17th)

And some relevant information about how the encoder is configured:

  • VBR
  • Target usage:  MFX_TARGETUSAGE_BALANCED or MFX_TARGETUSAGE_BEST_QUALITY (there doesn't seem to be any difference between the two for 1080i)
  • Video mode:  1080i59.94
  • NalHrdConformance turned off (won't work with it turned on for other reasons)

Are there any encoding settings I can turn on to get better results with fast motion for 1080i?  As far as I can tell, there is no difference between the balanced and best quality target usages for 1080i, unlike the case for 720p.  In fact, based on my analysis, I don't think the encoder is doing anything difference for 1080i (and possibly for interlaced video in general) for the two different target usage values.  I also tried turning on RateDistortionOpt and FramePicture (from mftExtCodingOption), but they didn't make any difference with regard to the tiling.

Thanks, AaronL

0 Kudos
1 Reply

I tried that, and it didn't help.  That is, I had the target bit rate set to 2 Mbps and the max bit rate set to 10 Mbps.  While I could see that the overall bit rate of the encoded video stream climbed during the fast motion, the tiling remained.  I can get better results with 1080i and fast motion at 4 Mbps, and slightly better at 6 Mbps, used for both the target and max bit rate settings.  At 6 Mbps, there is still some tiling, although it is marginal and nothing like the tiling at 2 Mbps.  For comparison, 720p59.94 encoded using HEVC at 1 Mbps looks better than 1080i59.94 encoded using HEVC at 6 Mbps for fast motion.

0 Kudos