intel-vaapi-driver NEWS -- summary of changes.  2019-12-06
Copyright (C) 2009-2019 Intel Corporation

Version 2.4.0 - 06.Dec.2019
* Bump version to 2.4.0 for maintenance release
* Fix the dependency on libEGL
* Fix ROI support
* Fix FD leaks on Wayland
* Fix BRC setting
* Fix VP8 encoder
* Fix VP9 encoder
* Fix meson build

Version 2.3.0 - 10.Dec.2018
* Bump version to 2.3.0
* Add new PCI ID for KBL and CFL
* Fix frame corruption when there are big MVs in VP8 encoding
* Fix dynamically bitrate resetting in AVC encoding
* Fix build errors when the toolchain doesn't support -fstack-protector
* Fix memory leak issue
* Make sure the achieved bitrate meet the requirement for VP8 encoding
* Optimize VPP on GEN8

Version 2.2.0 - 11.Jul.2018
* Bump version to 2.2.0
* Add new PCI ID for KBL-Y
* Add meson support
* Fix for VC1 decoding issues
* Fix VP8 encoding issues
* Fix the over-run issue in HEVC encoding
* Fix the max MV length in MPEG-2 encoding
* Fix packed header mode
* Fix building issue on Android

Version 2.1.0 - 12.Feb.2018
* Bump version to 2.1.0
* Add support for Cannolake (aka. CNL)
  - Decoding: H.264/MPEG-2/VC-1/JPEG/VP8/HEVC/HEVC 10-bit/VP9/VP9 10-bit
  - Encoding: H.264/MPEG-2/JPEG/VP8/VP9/HEVC/HEVC 10-bit/{VP9,AVC} low power
  - VPP: CSC/scaling/NoiseReduction/Deinterlacing{Bob, MotionAdaptive, MotionCompensated}/ColorBalance/STD
* Add support for VC1 interlaced video decoding
* Add support for Stats/PreEnc on GEN9
* Add support for vaExportSurfaceHandle()
* Add new PCI IDs for CFL
* Add mininum resolution query for encoder
* Ehance the logging to provide informational messages
* Fix VP9 brc issue on KBL
* A lot of bug fixes

Version 2.0.0 - 21.Oct.2017
* Bump version to 2.0.0
* Add support for Coffee Lake (aka. CFL)
  - Decoding: H.264/MPEG-2/VC-1/JPEG/VP8/HEVC/HEVC 10-bit/VP9/VP9 10-bit
  - Encoding: H.264/MPEG-2/JPEG/VP8/VP9/HEVC/HEVC 10-bit/AVC low power CQP/CBR/VBR mode
  - VPP: CSC/scaling/NoiseReduction/Deinterlacing{Bob, MotionAdaptive, MotionCompensated}/ColorBalance/STD
* Add support for H264 FEI
* Add support for HEVC ROI encoding
* Add support for intensity compensation for VC-1 decoding
* Improve the quality of the H264 encoder on BDW/BSW
* Improve the CSC performance between I420/NV12/P010/YUY2/VYUY format
* Improve the performace of va{Get, Put}Image for I420/NV12/P010/YUY2/VYUY format
* Fix image corruption for VP9 decoding
* Fix race condition in wayland support
* Fix ROI support in VDEnc support
* Fix corrupted stream when using VDEnc CBR/VBR
* Fix GCC 7.1.1 warnings/errors
* Update the shader for HEVC encoding

Version 1.8.3 - 28.Jun.2017
* Add support for Gemini Lake (aka. GLK)
  - Decoding: H.264/MPEG-2/VC-1/JPEG/VP8/HEVC/HEVC 10-bit/VP9/VP9 10-bit
  - Encoding: H.264/MPEG-2/JPEG/VP8/VP9/HEVC/HEVC 10-bit/AVC low power CQP mode
  - VPP: CSC/scaling/NoiseReduction/Deinterlacing{Bob, MotionAdaptive, MotionCompensated}/ColorBalance/STD
* Improve the quality of the HEVC encoder on SKL+ for CQP and CBR mode
* Add support for HEVC VBR mode on SKL+
* Set the quality range for HEVC / AVC encoder to 7
* Fix VP9 encoding quality issue on KBL
* Fix build issue on Android
* Fix the wrong order for AUD NAL unit in AVC encoder
* Fix the condition of enabling H.264 MB rate control
* Fix the memory leak issue in JPEG decoding

Version 1.8.2 - 22.May.2017
* Add support for querying slice structure for AVC encoding
* Add support for AVC multi-slice encoding on SKL+
* Add support for MVC encoding on SKL+
* Fix bad frame on SKL and BXT when the quality level is set to 1

Version 1.8.1 - 10.Apr.2017
* Add support for VAConfigAttribEncMaxSlices
* Disable AVC multi-slice encoding on SKL+
* Disable AVC ROI encoding on SKL+
* Disable bitrate control per temporal layer on SKL+
* Disable MVC encoding on SKL+

Version 1.8.0 - 31.Mar.2017
* Improve the quality of the H.264 encoder on SKL+ for CQP and CBR mode
* Improve the quality of the VP8 encoder on BSW+ for CQP and CBR mode
* Add support for H.264 VBR mode on SKL+
* Add support for VP8 VBR mode on BSW+
* Add support for low-power H.264 encoder on BXT and KBL
* Add support for CBR / VBR with low-power H.264 encoder on SKL+ (A HuC Firmware and
  a HuC supported Linux kernel are required)
* Add support for CSC and scaling with 10bit P010/I010 surface
* Optimize CSC and scaling with 8bit NV12 and I420 surface
* Fix the wrong memory object cache setting on SKL+
* Fix the EU number in media pipeline
* Fix the wrong bit shift in H.264 encoder
* Fix the 48bit graphics address on BSW+
* Fix building on NetBSD
* Known issues
  - The new AVC encoder doesn't support MVC/SVC encoding
  - The new AVC encoder doesn't support ROI encoding
  - The new AVC encoder doesn't support multiple slice encoding

Version 1.7.3 - 10.Nov.2016
* Add support for HEVC 10bit encoding on KBL
* Integrate the Google Test Framework for unit testing
* Add support for bitrate control per temporal layer for SVC-T
* Fix VA_STATUS_ERROR_UNIMPLEMENTED when sharpening with I420 surface
  (https://bugs.freedesktop.org/show_bug.cgi?id=96987)
* Fix crop issue when sharpening with NV12 surface
  (https://bugs.freedesktop.org/show_bug.cgi?id=96988)
* Fix GPU hang issue when using encoding with low power on SKL GT3+
  (https://bugs.freedesktop.org/show_bug.cgi?id=97872)

Version 1.7.2 - 05.Sep.2016
* Update PCI IDs for KBL
* Allow up to 8K JPEG decoding/encoding on SKL+
* Add support for ROI on IVB+
* Support I420/YV12 input surface for VP9 encoding
* Fix assertion failure when decoding stream through VLC
  (https://bugs.freedesktop.org/show_bug.cgi?id=94007)
* Fix image corruption in ColorBalance and STDE on BDW+
  (https://bugs.freedesktop.org/show_bug.cgi?id=95349)
* Fix run2run issue in H.264 encoder
  (https://bugs.freedesktop.org/show_bug.cgi?id=96703)
* Fix video rendering corruption when using VAAPI postproc denoise on 1080p videos
  (https://bugs.freedesktop.org/show_bug.cgi?id=96739)
* Fix image corruption in ColorBalance with hue=-180
  (https://bugs.freedesktop.org/show_bug.cgi?id=96744)
* Fix memory leak in VP8 encoding
  (https://bugs.freedesktop.org/show_bug.cgi?id=97272)

Version 1.7.1 - 21.Jun.2016
* Add support VP9 8bit encoding on KBL
* Add support for low-power/high-performance H.264 encoder on SKL
* Fix incorrect color space conversion in driver
  (https://bugs.freedesktop.org/show_bug.cgi?id=94845)
* Fix FPS caculation for HEVC encoder
* Fix VP9 10bit decoding issue on KBL
* Fix the noise issue when VA_FILTER_SCALING_HQ upscaling from 1280x720 to 1920x1080 with YUY2 format on BDW+
  (https://bugs.freedesktop.org/show_bug.cgi?id=94765)

Version 1.7.0 - 15.Mar.2016
* Add support for Kabylake
  - Decoding: H.264/MPEG-2/VC-1/JPEG/VP8/HEVC/HEVC 10-bit/VP9/VP9 10-bit
  - Encoding: H.264/MPEG-2/JPEG/VP8/HEVC
  - VPP: CSC/scaling/NoiseReduction/Deinterlacing{Bob, MotionAdaptive, MotionCompensated}/ColorBalance/STD
* Add new SKL and BXT PCI IDs
* Fix lots of VP9 decoding issues on BXT

Version 1.6.2 - 15.Dec.2015
* Add support for Broxton
  - Decoding: H.264/MPEG-2/VC-1/JPEG/VP8/HEVC/HEVC 10-bit/VP9
  - Encoding: H.264/JPEG/VP8/HEVC
  - VPP: CSC/scaling/NoiseReduction/Deinterlacing{Bob, MotionAdaptive, MotionCompensated}/ColorBalance/STD
* Add support for HEVC CBR on SKL
* Fix the broken VA_FILTER_SCALING_HQ on SKL
* Fix the incorrect loading of GPU shaders on GEN8/GEN9
* Fix the wrong address relocation in VPP on GEN8/GEN9
* Fix the wrong VAImage foramt
  (https://bugs.freedesktop.org/show_bug.cgi?id=92088)
* Fix YUV to RGB conversion on GEN7/GEN8/GEN9
* Fix the segmentation fault causing by NULL buffer object on SNB
  (The issue mentioned in https://bugs.freedesktop.org/show_bug.cgi?id=92811)
* Fix the wrong coordinate used in VPP
  (The issue mentioned in https://bugs.freedesktop.org/show_bug.cgi?id=92811)

Version 1.6.1 - 09.Sep.2015
* Wrapper other backend driver to support VP9 hybrid decoding on BDW/BSW/SKL (--enable-hybrid-codec)
* Fix HEVC decoding issue on BSW/SKL
* Fix HEVC encoding on SKL GT3
* Fix GPU hang issue when decoding H.264 MBAFF clips
  (https://bugs.freedesktop.org/show_bug.cgi?id=91207)
* Fix issues detected by klockwork scan
* Combine csc/scaling together to optimize the performance

Version 1.6.0 - 01.Jul.2015
* Add support for VP8 encoding (CQP, CBR) on BSW/SKL
* Add support for HEVC decoding on BSW
* Add support for HEVC encoding (CQP) on SKL
* Add support for low-power mode (VA_PROC_PIPELINE_FAST) in VPP to discard
  any complex operation that would consume too many HW resources
* Fix memory leak issue for JPEG decoding
* Fix HEVC decoding issue on BSW/SKL
* Fix GPU hang issue caused by VP8 decoding on BDW/BSW
* Fix MADI/MCDI issues on SNB/IVB
* Improve the JPEG encoding quality
* Optimize MPEG-2 start code search on IVB

Version 1.5.1 - DD.03.2015
* Fix forward reference requirement for Bob deinterlacing
* Fix a lot of potential rendering issues on GEN8+
* Fix scaling of NV12 surfaces when no output_region is set
* Fix the broken attribute setting of i965_GetConfigAttrib
* Fix the GetConfigAttributes() for JPEGBaseline profile
* Fix the wrong overlap setting for VC-1 decoding on GEN6+
* Fix VP8 decoding issue on GEN8+, HW needs 1 extra byte for each partition
* Fix JPEG encoding issue.
* Add support for aub dump
* Enhance STD on GEN8+
* Implement max width and height in QuerySurfaceAttributes
* Add new SKL PCI ids

Version 1.5.0 - 28.Dec.2014
* Add support for Skylake
  - Decoding: H.264/MPEG-2/VC-1/JPEG/VP8/HEVC
  - Encoding: H.264/MPEG-2/JPEG
  - VPP: CSC/scaling/NoiseReduction/Deinterlacing{Bob, MotionAdaptive, MotionCompensated}/ColorBalance/STD
* Add support for JPEG encoding on Braswell
* Add enhancement for video post/pre processing
* Fix out of tree builds (Emil Velikov)

Version 1.4.1 - 24.Oct.2014
* Use a new method to detect encoding capabilitiy on Haswell

Version 1.4.0 - 30.Sep.2014
* Add support for exporting VA buffer
* Add support for MVC decoding/encoding
* Add support for encoding quality level on Sandybride and newer
* Add support of inserting packed slice header & raw data for encoding
* Add support for Cherryview
* Fix the GPU hang issue on Ivybridge when using the gstreamer and mplayer to play back one H264 clip
  (https://bugs.freedesktop.org/show_bug.cgi?id=80720)
* Fix the GPU hang issue on Sandybride and newer when playing back one H264 clip
  (https://bugs.freedesktop.org/show_bug.cgi?id=76363)
* Fix the GPU hang issue on Haswell when using XBMC to play back one H264 clip
  (https://bugs.freedesktop.org/show_bug.cgi?id=81447)

Version 1.3.2 - 16.Jun.2014
* Export JPEG format by vaDeriveImage()
* Add support for MADI on SNB
* H.264: fix the support for grayscale format (Y800)
* Fix vaGetConfigAttributes() to validate the profile/entrypoint pair
* Fix vaCreateConfig() to not override user chroma format
* Fix the scaling issue on IVB/HSW/BDW
* Fix https://bugs.freedesktop.org/show_bug.cgi?id=73424
* Fix https://bugs.freedesktop.org/show_bug.cgi?id=72522
* Fix https://bugs.freedesktop.org/show_bug.cgi?id=77041
* Quality improvement for H.264 encoding on BDW

Version 1.3.1 - 09.May.2014
* Add support for STE on Broadwell
* Add support for YV16
* Add support for user specified tiling and stride
* Fix VP8 decoding on Broadwell
* Fix the wrong alpha when convert NV12 into RGBA
* Fix https://bugs.freedesktop.org/show_bug.cgi?id=77386

Version 1.3.0 - 24.Mar.2014
* Add support for Broadwell
  - Decoding: H.264/MPEG-2/VC-1/JPEG/VP8
  - Encoding: H.264/MPEG-2
  - VPP: CSC/scaling/NoiseReduction/Deinterlacing{Bob, MotionAdaptive, MotionCompensated}/Sharpening/ColorBalance
* Fix the wrong setting in MI_BATCH_BATCH_START

Version 1.2.2 - 16.Dec.2013
* Motion compensation DI on HSW
* Optimization of FPS for H.264 encoding on HSW
* Add brightness/contrast/hue/saturation support for rendering.
* Support BT601/BT709/SMPTE240 in vaPutSurface()
* Expose Constrained Baseline Profile instead of Baseline Profile for H.264
* Bug fixes

Version 1.2.1 - 23.Sep.2013
* Add PCI IDs for Bay Trail
* Performance improvement for MPEG-2 Encoding on IVB/HSW
* Add basic processing support for packed YUV to packed YUV on ILK+
* Check the underlying OS support for VEBOX on HSW
* Quality improvement for BobDI on SNB/IVB
* Add support for Motion Adaptive Deinterlacing on IVB
* vaDeriveImage() works for UYVY formats
* Fix thread safety issue
* Fix GPU hang issue when decoding some videos on SNB
* Fix output filter count from QueryVideoProcFilters()

Version 1.2.0 - 26.Jun.2013
* The new H.264 encoding API on SNB/IVB/HSW
  - Profile: BP/MP/HP
  - Entropy Coding: CAVLC/CABAC
  - Rate Control: CQP, CBR
  - Progressive frame
  - Multi Slice encoding
  - Configurable GOP Structure
* MPEG-2 encoding on IVB/HSW
  - Profile: SP/MP
  - Progressive frame
  - Configurable GOP Structure  
* Video process on ILK/SNB/IVB/HSW
  - CSC/scaling on ILK
  - CSC/scaling/NoiseReduction/Deinterlacing{Bob} on SNB/IVB
  - CSC/scaling/NoiseReduction/Deinterlacing{Bob,MotionAdaptive}/Sharpening/ColorBalance on HSW
* Implement vaQuerySurfaceAttributes()
* Implement the new version of vaCreateSurfaces()
  - Create VA surface with specified fourcc
  - Create VA surface from external buffer
    . flinked GEM buffer
    . prime/dma buffer
* Optimize H.264 encoding on IVB/HSW
* More reserved PCI IDs for HSW
* A lot of bug fixes

Version 1.0.20 - 19.Mar.2013
* Add support for wayland 1.0 protocol (Rob Bradford)
* Add global alpha support for subpicture
* Add support for IA88/AI88 subpicture
* Support up to 4 subpictures for each VA surface
* Update PCI IDs for Haswell CRW
* Automake 1.13 fixups (Armin K)
* Fix libva-intel-driver-1.0.19 display corruption on IVB GT1
  https://bugs.freedesktop.org/show_bug.cgi?id=57323
* Fix decoding with FREXT02_JVC_C.264 on SNB
  https://bugs.freedesktop.org/show_bug.cgi?id=57720
* Fix H.264 decoding broken/visual errors on ILK (Tobias Jakobi)
  https://bugs.freedesktop.org/show_bug.cgi?id=58875
* Fix GPU hung with h.264 video and a resolution of 1920x816 on IVB
  https://bugs.freedesktop.org/show_bug.cgi?id=59050

Version 1.0.19 - 09.Nov.2012
* Add support for Haswell
* Add raw DRM support (Dmitry Ermilov)
* Add Wayland support
* Add support for display rotation attribute
* Support 4K encoding on IVB and HSW
* Drop explicit dependency on X11 and libva-x11
* Fix VC-1 decoding when VSTRANSFORM is 0
* Fix SIGSEGV caused by use-after-free of the bufmgr (Stéphane Marchesin)
* Fix thread safety issue (Gautam)
* Fix vaUnlockSurface() for libva trace

Version 1.0.18 - 02.Aug.2012
* Add JPEG decoding on Ivy Bridge
* Add support for a new Ivy Bridge chip
* Add support for vaSyncSurface() and vaQuerySurfaceStatus() (Dmitry Ermilov)
* Fix decoding of MPEG-2 videos with implicit IQ matrices
* Fix concurrent creation of VA objects (MT safety)
* Fix decoding of large resolution videos (up to 4K on IVB)

Version 1.0.17 - 02.Apr.2012
* Add support for IMC1/IMC3 surface formats
* Fix rendering of interlaced surfaces
* Fix MPEG-2 decoding of interlaced streams (SNB, IVB)
* Fix H.264 weighted prediction indicator (SNB)
* Fix and simplify calculation of H.264 macroblock bit offset (ILK, SNB, IVB)

Version 1.0.16 - 14.Feb.2012
* Fix VC-1 bitplane buffer size (SNB, IVB)
* Fix VC-1 motion vector modes for Ivy Bridge
* Fix MFX_QM_STATE for H.264 flat scaling lists (IVB)
* Fix and simplify AVC_REF_IDX_STATE setup (ILK, SNB, IVB)
* Fix memory leak of encoder buffers
* Fix check for internal VA surface format prior to rendering
* Add support for B43 chipset (Alexander Inyukhin)

Version 1.0.15 - 28.Oct.2011
* Add auto-generated Debian packaging
* Fix VC-1 decoding (TTFRM packing)
* Fix MPEG-2 decoding on Ivy Bridge
* Fix MPEG-2 decoding with sparse QM matrices updates
* Fix slice-param & slice-data buffer memory leaks

Version 1.0.14 - 28.Jul.2011
* Add H.264 encoding support to Ivy Bridge
* Add support for VA_SUBPICTURE_DESTINATION_IS_SCREEN_COORD
* Fix next slice vertical position for MPEG-2 (#38628)
* Fix subpicture scale factor for Y axis
* Fix GPU hang when decoding field coded MPEG-2 picture
* Fix memory leaks (Edgar Hucek)

Version 1.0.13 - 25.May.2011
* Add H.264 encoding support to Sandy Bridge
* Add MPEG-2, VC-1 and H.264 decoding support to Ivy Bridge
* Fix thread safety issues

Version 1.0.11 - 14.Mar.2011
* Add deinterlacing & scaling support to Sandy Bridge
* Add vaDeriveImage() implementation
* Fix VC-1 decoding for Main/Simple profiles

Version 1.0.9 - 27.Jan.2011
* Add VC-1 decoding support to Sandy Bridge

Version 1.0.8 - 21.Jan.2011
* Add support for IA44/AI44 subpicture formats (#32868)

Version 1.0.7 - 17.Dec.2011
* Add MPEG-2 and H.264 decoding support to Sandy Bridge

Version 1.0.5 - 02.Sep.2010
* Add deinterlacing & scaling support to Ironlake

Version 1.0.4 - 13.Jul.2010
* Add vaGetImage() implementation
* Add support for RGBA subpictures
* Fix H.264 decoding on Ironlake

Version 1.0.3 - 10.Jun.2010
* Add H.264 decoding support to Ironlake
