gst-vaapi NEWS -- summary of changes.  2014-07-29
Copyright (C) 2010-2011 Splitted-Desktop Systems
Copyright (C) 2011-2013 Intel Corporation
Copyright (C) 2011 Collabora

Version 0.5.9 - 29.Jul.2014
* Add VP8 decoder (+Halley Zhao)
* Add H.264 MVC decoder and encoder (+Sreerenj Balachandran, Xiaowei Li)
* Fix support for Firefox >= 30 when built with GStreamer 1.0 APIs
* Fix MPEG-4:2 decoder hang on skipped frames (Fabrice Bellet) [#733324]
* Fix MPEG-2 decoder to propagate PTS from demuxer (Jan Schmidt) [#732719]
* Improvements to H.264 decoder
  + Add support for grayscale encoded clips
  + Add minor optimizations to the parsing process
  + Make support for interlaced streams more robust [#701340]
  + Fix multiple slices decoding with varying slice types [#724518]
  + Fix parsing of multiple SEI messages in single NAL units (Aurelien Zanelli)
* Improvements to plugin elements
  + Add download capability to vaapidecode [#733243]
  + Add support for crop regions in VPP mode [#720730]
  + Allow selection of a particular "display-name" for vaapisink [#722247]
  + Fix support for headless pipelines, e.g. vaapisink display="drm" mode
  + Fix creation of output surface pool for vaapipostproc (Simon Farnsworth)
  + Fix vaapipostproc "deinterlace-mode" semantics (Simon Farnsworth) [#726361]
  + Fix memory leak in vaapidecode ! {glimagesink,cluttersink} (Matthew Waters)
  + Fix vaapidecode hang when downstream errors out (Matthew Waters) [#733897]

Version 0.5.8 - 23.Jan.2014
* Add H.264 video encoding (+Feng Yuan)
* Add MPEG-2 video encoding (+Guangxin Xu)
* Add initial support for GStreamer 1.3 (Matthieu Bouron)
* Add support for H.264 Constrained Baseline profile (Feng Yuan)
* Add support for colorbalance adjustment in vaapipostproc (Halley Zhao)
* Add color space conversion in vaapisink (Holger Kaelberer) [#722255]
* Fix OpenGL interop with clutter-gst and glimagesink elements (Matthieu Bouron)
* Fix decoding of H.264 quantization matrices (+Cong Zhong) [#706406]
* Fix robustness of H.264 decoder when packets are missing
* Fix hang in vaapidecode on SIGINT [<Ctrl>+C] (Fen Yuan) [#720584]
* Fix vaapisink initialization with foreign window (Holger Kaelberer) [#722244]
* Fix Sharpening filter in vaapipostproc (Halley Zhao) [#720375]

Version 0.5.7 - 21.Nov.2013
* Add support for GStreamer 1.2 (+Victor Jaquez, Sreerenj Balachandran)
* Add support for video processing (VA/VPP) (+Halley Zhao)
  + Scaling and color conversion
  + Image enhancement filters: Sharpening, Noise Reduction
  + Advanced deinterlacing: Motion-Adaptive, Motion-Compensated
* Fix vaapidecode pause/resume/seek capabilities (+Guangxin Xu)
* JPEG decoder bug fixes and improvements
  + Add support for multiscan images
  + Improve overall performance by +12%
  + Fix robustness and tolerance to missing packets
  + Fix detection of image boundaries (Junfeng Xu)
  + Fix decoding from Logitech Pro C920 cameras (Junfeng Xu)

Version 0.5.6 - 29.Aug.2013
* Add render-to-pixmap API to bypass VA/GLX in clutter-gst
* Add initial support for video-processing APIs (+Halley Zhao)
* Add support for video cropping and deinterlacing to the Wayland backend
* Add "force-aspect-ratio" property to vaapisink (Simon Farnsworth)
* Fix support for clutter-gst in GStreamer 0.10 builds
* Fix HW accelerated rendering with SW decoded pipelines
* Fix videotestsrc ! vaapisink pipelines (Guangxin Xu)
* Fix memory leak of raw video uploader objects (Feng Yuan)
* Fix decoding without a video parser element before `vaapidecde'
* Fix regression in MPEG-2 decoder due to incomplete video cropping support
* Fix dead-lock condition on Wayland when the end-of-stream is reached

Version 0.5.5 - 15.Jul.2013
* Allow creation of video surfaces with an explicit pixel format
* Allocate VA/GLX capable buffers by default on X11 servers (Victor Jaquez)
* Add support for video cropping in MPEG-2, VC-1 and H.264 codecs (+Sreerenj)
* Fix memory leak when processing interlaced pictures
* Fix creation of VA/GLX textures when video cropping is used
* Fix raw image copies in vaapidownload / vaapiupload (Feng Yuan)
* Fix MPEG-2 quantization matrices reset on new sequence headers (Cong Zhong)
* Fix direct linking of vaapidownload element to xvimagesink (Feng Yuan)
* Fix memory corruption in video pool implementation, e.g. for clutter-gst

Version 0.5.4 - 14.Jun.2013
* Streamline core libgstvaapi decoding library (API/ABI changes)
* Use built-in codecparsers by default (or --disable-builtin-codecparsers)
* Fix default Huffman tables generation (Feng Yuan)
* Fix destruction of Wayland display resources
* Fix explicit specification of display type to vaapisink
* Fix memory leak in vaapiupload in GStreamer 0.10 builds (Halley Zhao)
* Fix performance regression caused by improper use of GstTask callback
* Fix raw decoding mode to transfer ownership of surface proxy to caller

Version 0.5.3 - 18.Apr.2013
* Add support for GStreamer 1.0.x API (+Sreerenj Balachandran)
* Fix build on Fedora 17 (Víctor Manuel Jáquez)
* Fix vaapidecode heuristics to detect decode timeouts
* Fix fallback to sofware decoding if no hardware decoder is available
* Fix regression in raw decoding mode whereby PTS or picture flags were lost

Version 0.5.2 - 28.Mar.2013
* Add support for video seek/reset (+Sreerenj Balachandran)
* Improve MPEG-2 decoder robustness when packets are missing
* Fix support for raw YUV buffers in vaapisink
* Fix build on older Linux distributions with glib < 2.32
* Fix decoding of MPEG-2 videos with height > 2800 pixels
* Fix MPEG-2 decoding with explicit quantization matrices set (Cong Zhong)
* Fix illegal write in vaapiupload for NV12 surfaces (Holger Kaelberer)

Version 0.5.1 - 29.Jan.2013
* Add simple decoder demo that only uses libgstvaapi
* Fix thread-safety issues in the Wayland renderer
* Fix VC-1 decoding bugs #692461, #692312, #692271, #692270, #692267
* Fix decoding of VC-1 videos in AVI containers (Feng Yuan)
* Fix H.264 parser to zero-initialize key syntax elements
* Fix MPEG-2, H.264 and VC-1 decoders to submit all decoded frames on <EOS>

Version 0.5.0 - 15.Jan.2013
* Optimize MPEG-2 and H.264 decoders
* Use GstVideoDecoder API for vaapidecode (+Sreerenj Balachandran)
* Add support for raw YUV buffers in vaapisink (+Halley Zhao)
* Add support for global-alpha subpictures/overlay (+Holger Kaelberer)
* Fix calculation of the vaapidecode time-out for a surface to get released

Version 0.4.2 - 18.Dec.2012
* Fix H.264 decoding on Cedar Trail platforms
* Fix MPEG-4 decoding at end-of-stream (Feng Yuan)
* Fix MPEG-4 decoding when a buffer contains multiple packets (Feng Yuan)
* Fix memory leak in GstVaapiVideoBuffer for images and surfaces (Feng Yuan)
* Fix symbols collision between built-in codecparsers/ and system library
* Use GST_PLUGIN_PATH, if set, to install plugin elements (Halley Zhao)

Version 0.4.1 - 27.Nov.2012
* Add support for H.264 interlaced streams
* Add support for Wayland 1.0 protocol (Robert Bradford)
* Add upstream bitstream parsers library (codecparsers)
* Fix build with the GNU gold linker
* Fix detection of H.264 picture boundaries
* Fix memory leak in MPEG-2 decoder for empty user-data packets
* Fix H.264 decoder with MMCO-based reference picture marking process
* Decode pending packets when an end-of-stream is received (+Feng Yuan)
* Use pixel-aspect-ratio from bitstream parsers (Simon Farnsworth)

Version 0.4.0 - 05.Oct.2012
* Add support for video rotation
* Add new video display APIs: Wayland and raw DRM for headless pipelines
* Drop FFmpeg-based decoders, only use codecparsers-based ones
* Only reset decoder if meaningful caps changed, e.g. size
* Allocate the minimal number of video surfaces useful for decoding
* Fix vaapisink to scale video down to fit the screen dimensions
* Fix vaapidecode crash when trying to release inexistent lock (Philip Lorenz)

Version 0.3.8 - 20.Sep.2012
* Disable FFmpeg-based decoders by default
* Add JPEG decoder (based on codecparsers)
* Fix crash when destroying GstVaapiDisplay objects early
* Fix GLX rendering with FBO + texture-from-pixmap (fallback for VA/GLX)
* Fix rendering with EMGD driver when overlay mode is used
* Fix MPEG-2 decoding on Intel Atom platforms with EMGD driver
* Fix release of dangling proxy surfaces when decoder is reset (Philip Lorenz)

Version 0.3.7 - 26.Jun.2012
* Fix vaapidecode to report unsupported codec profiles
* Fix MPEG-2 decoding of streams with extra slice() information
* Map MPEG-2 compatible High profile streams to Main profile
* Map MPEG-4 Simple Scalable profile streams to Advanced Simple (Feng Yuan)
* Fix various MPEG-4 decoding bugs (timestamps, reference frames) (Feng Yuan)
* Don't forcibly resize user provided X windows (Holger Kaelberer)
* Recalculate render rect only if caps are negotiated (Holger Kaelberer)

Version 0.3.6 - 02.Apr.2012
* Add support for decoding MPEG-2 interlaced streams
* Add support for interlaced streams with FFmpeg decoders (Holger Kaelberer)
* Add vaapipostproc element for video postprocessing (e.g. deinterlacing)
* Skip all H.264 Filler Data NALs
* Fix crashes in MPEG-4 decoder (Feng Yuan)
* Fix fallback from MPEG-2 Simple to Main profile
* Improve decoding of misformed MPEG-2 streams (+Feng Yuan)
* Avoid a hang in playbin2 for some MPEG-2 TS streams (Feng Yuan)

Version 0.3.5 - 02.Mar.2012
* Fix H.264 decoding when emulation prevention bytes are detected
* Skip all H.264 Access Unit (AU) NALs (Feng Yuan)
* Fix modification process of H.264 reference picture lists (Feng Yuan)
* Fix MPEG-2 stream size calculation (Sreerenj Balachandran)
* Fix MPEG-2 decoding on Intel Gen with multiple slices per MB line
* Fix crash when downloading/uploading VA images on PowerVR (Cedar Trail)
* Fix double buffer free issues with some VA drivers
* Fix crash when there is no free surface available for decoding
* Skip profiles which have no entrypoints (Halley Zhao)
* Fix minor memory leaks in plug-in elements

Version 0.3.4 - 01.Feb.2012
* Add H.264 decoder (based on codecparsers)
* Add workaround for qtdemux not exposing H.263 profiles (Halley Zhao)
* Alias H.263 Baseline profile to MPEG-4:2 Simple profile (Halley Zhao)
* Use optimized path to submit slice data buffers
* Fix possible memory leak in MPEG-2 decoder
* Fix vaapisink to cap window size to the maximum display size
* Fix MPEG-2, MPEG-4 and VC-1 decoders to refcount reference surfaces properly

Version 0.3.3 - 16.Jan.2012
* Add MPEG-2, MPEG-4 and VC-1 decoders (based on codecparsers)
* Add support for GstXOverlay::set_render_rectangle() in vaapisink
* Fix memory leak of GL texture (Nicolas Dufresne)
* Fix vaapisink to automatically fit video to window
* Fix vaapiupload to only set caps on newly created buffers (Nicolas Dufresne)
* Fix gst_vaapi_ensure_display() to honour DISPLAY environment variable

Version 0.3.2 - 06.Jan.2012
* Rename vaapiconvert element to vaapiupload
* Fix vaapiupload from NV12 buffers
* Fix possible leaks of VA surfaces in FFmpeg decoder
* Fix memory leak in vaapiupload initialization function
* Fix possible crash in vaapidecode deinitialization code
* Add vaapidownload element to convert from VA surfaces to YUV pixels

Version 0.3.1 - 16.Dec.2011
* Fix check for supported VA images
* Add support for partial VA image updates
* Add support for new subtitle/overlay infrastructure (Thibault Saunier)
* Add missing video context queries in vaapisink/vaapiconvert (Nicolas Dufresne)

Version 0.3.0 - 09.Dec.2011
* Group all plugins into the same bundle
* Use new XOverlay API (Sreerenj Balachandran)
* Use new GstVideoContext and GstSurfaceBuffer API (Nicolas Dufresne)
* Fix vaapidecode sink caps if decoder is in NULL state (Sreerenj Balachandran)
* Fix auto-plugging and downstream buffer allocation (Nicolas Dufresne)
* Fix crash in VA display init if no VA configs were found (Nicolas Dufresne)

Version 0.2.7 - 07.Dec.2011
* Relicense plugins and tests to LGPL v2.1 (SDS)
* Fix MPEG-2 decoding from TS & PS streams
* Fix build with newer versions of FFmpeg
* Fix vaapiconvert direct-rendering modes
* Fix use of invalid data at the end-of-stream

Version 0.2.6 - 14.Jun.2011
* Fix licensing terms (LGPL v2.1)

Version 0.2.5 - 20.Jul.2010
* Fix build with older VA-API 0.29-sds
* Fix decoding of some H.264 streams. e.g. Ice Age 2 trailer
* Fix VA/GLX support with texture-from-pixmap and GLX version < 1.3

Version 0.2.4 - 18.May.2010
* Fix video rendering rect within an embedder window (Totem)
* Disable GLX rendering when vaapisink uses a foreign X window

Version 0.2.3 - 16.May.2010
* Fix memory leak of encoded buffers
* Fix decoder caps to report codec aliases
* Fix VC-1 decoding through the playbin2 pipeline

Version 0.2.2 - 14.May.2010
* Fix packaging dependencies
* Fix a crash in the FFmpeg decoder on close
* Fix OpenGL texture internal format (Clutter)
* Fix foreign window size for embedding (Totem)

Version 0.2.1 - 12.May.2010
* Fix integration within the playbin2 pipeline
* Fix vaapidecode to expose the HW supported caps only
* Add GstXOverlay interface to vaapisink (Totem media player)

Version 0.2.0 - 05.May.2010
* Relicense gst-libs/ code to LGPL v2.1+
* Add FFmpeg/VAAPI decoder for the new `vaapidecode' element

Version 0.1.2 - 30.Mar.2010
* Add AYUV image format
* Add compatibility with the original VA-API 0.29
* Add OpenGL support through VA/GLX extensions or TFP+FBO fallback

Version 0.1.1 - 23.Mar.2010
* Document public API for libgstvaapi-*.so.*
* Optimize `vaapiconvert' pipeline (direct-rendering)
* Allow `vaapisink` to render videos in fullscreen mode

Version 0.1.0 - 16.Mar.2010
* Initial release
