NEWS: Updates
[platform/upstream/gstreamer.git] / NEWS
1 gst-vaapi NEWS -- summary of changes.  2015-12-07
2 Copyright (C) 2010-2011 Splitted-Desktop Systems
3 Copyright (C) 2011-2015 Intel Corporation
4 Copyright (C) 2011 Collabora
5
6 Version 0.7 - 07.Dec.2015
7 * Add VP9 Decoder
8 * Improvements to HEVC(H265) decoder
9   + Fix the decoding of dependent slice segment
10   + Fix decoding of stream when it has temporal sublayers
11   + Added Workaround to recognize wrongly encoded main profile streams
12   + Add SEI Header parsing
13   + Fix the value assigning for delta_chroma_log2_weight_denom
14   + Fix default value assignment of pred_weight_table
15   + Fix ChromaOffsetL0/ChromaOffsetL1 calculation
16   + Add calculation of WpOffsetHalfRangeC
17   + Fix the scaling list scan order
18   + Fix the picture addition in dpb() based on spec H265 v3 (04/2015)
19   + Fix the dpb_add() based on C.5.2.3
20   + Fix flushing of dpb for EOS/EOB nal
21 * Added infrastructure for handling corrupted pictures in h264 decoder [#703921, #751434]
22 * Add number of fixes and optimizations to GstContext sharing [#757598]
23 * Add API for dynamic detection of OpenGL API in use [#753099]
24 * Make vaapidecode + glimagesink combination work with opengl3 [#753099]
25 * Fix segfault in vaapipostproc [#752558]
26 * Fix seeking while using GLTextureUpload for rendering [#752929]
27 * Ported JPEG decoder to new API/ABI changes in codecparser
28 * Removed gstvaapiuploader [#752777]
29 * Fix 0/1 frame-rate handling in encoder [#744042]
30 * Validate chroma sampling according to the VA's RT format in Encoder [#744042]
31 * Number of improvements in vaapi video memory handling [#744042]
32 * Stabilization of vaapidecodebin [#749554, #757957]
33 * Wayland fixes: Don't return GST_FLOW_ERROR on flushing [#753598]
34 * Add yasm as build dependency
35 * Remvoved custom(non-official) debian parallel compilation option
36 * Fix multi-resolution video handling in vaapidecode [#753914]
37 * Adding stereoscopic/multiview upstream API support [#750835]
38 * Fixed fps calculation for for forced latency framerate [#755040]
39 * Fix build issues while disabling built-in codecparsers [#754845]
40 * Mark support for GStreamer 1.2 as obsolete
41 * Update libvpx submodule to 1.4.0
42 * Fix caps negotiation for meta:GstVideoGLTextureUploadMeta [#756686]
43 * Fixed leaked display instance in vaapidecodebin [#757595]
44
45 Version 0.6 - 15.Jul.2015
46 * Add HEVC(H265) Decoder
47 * Add HEVC(H265) Encoder
48 * Add VP8 Encoder
49 * Add JPEG Encoder
50 * Add support for EGL [#743846, #743847, #741079]
51 * Add a vaapidecodebin(vaapidecode->queue->vaapipostproc) element [#745216]
52 * Add skin-tone-enhancement feature in vaapipostproc [#744088]
53 * Add support for H.264 MVC Multiview High profile encoding with more than 2 views [#732453]
54 * Add support for GstVideoGLTextureOrientation in plugins
55 * Add support for BGRA textures in plugins
56 * Removed all GStreamer 0.10 and 1.0 specific code sections [#745728,#732666]
57 * Add support for loss of picturers in h264 decoder [#745048,#703921]
58 * Add a simple-encoder test program that uses libgstvaapi for video encoding [#719528]
59 * Add finer wayland frame control and many other optimizations [#719528, #749078, #747492#]
60 * Add scaling of quality factor and Qantization tables for JPEG encoder [#748335]
61 * Add GstColorBalance interface in vaapipostproc [#720376]
62 * Add a handoff signal to vaapisink [#747905]
63 * Add rounding control handling for VC1 simple and Main profile [#743958]
64 * Record glconext supplied by downstream to enable run-time compatibility check [#725643]
65 * Switch back to single thread implementation in vaapidecode [#742605]
66 * Set decoding latency in vaapidecode by assuming realtime performance fo the HW decoding [#740419]
67 * Allow vaapidecode to connect with glimagesink, mark x11 display as compatible with EGL [#745902]
68 * Allow decoding of VC1 streams which contain user BDUs [#741237]
69 * Use git.mk, a small Makefile to autogenerate .gitignore files
70 * Expose the overlay capability in vaapisink for compatibility with dvbsuboverlay [#750095]
71 * Enable VPP element in vaapidecodebin only if there is HW support [#749554]
72 * Fix autoplugging of vaapidecode in playbin for wmv/asf streams
73 * Fix multi-slice hevc encoding [#749854]
74 * Fix ABBA deadlock between vaapisink and vaapipostproc if running in different threds [#738249]
75 * Fix Seeking failure while using navseek in pipeline [#738677]
76 * Fix PTS cache for MPEG2 GOP start [#748676]
77 * Fix the wrong selection of passthrough mode in vaapipostproc [#748184]
78 * Fix GstVaapiVideoPool related dead-lock [#747944]
79 * Fix the race condition while setting drm device type [#747914]
80 * Fix crash in vaapidecode if buffer outlives the decoder [#745189]
81 * Fix memory leak in vaapidecode [#743226]
82 * Fix multiple caps negotiation issues with vaapi elements [#744618]
83 * Improve check for upstream element that requires DMABUF buffer pool
84 * Fix vaapisink memory leak in debug mode
85 * Fix crash when seeking mpeg2 strems
86 * Fix support for Wayland/EGL running alongside X11
87
88 Version 0.5.10 - 3.Feb.2015
89 * Add support for DRM Render-Nodes for headless operation
90 * Add support for VA surface buffer sharing with DMABUF and GEM handles
91 * Add support for v4l2src with io-mode={dmabuf,dmabuf-import}
92 * Drop support for VA/GLX specific APIs in libgstvaapi and vaapisink [#736711]
93 * Improvements to H.264 codecs
94   + Fix profile limits for encoding
95   + Fix pixel-aspect-ratio in the encoded stream
96   + Add decoding support for interlaced streams with repeat-first-field (RFF)
97   + Fix decoding of interlaced streams in top-field-first order (TFF) [#739291]
98   + Fix decoding of UK DVB-T2 streams [#739291]
99 * Improvements to plugin elements
100   + Add support for dma_buf imports (Wind Yuan) [#735362]
101   + Allow for SW decoding fallbacks with unsupported profiles [#730997]
102   + Make vaapipostproc work with SW elements (+Victor Jaquez) [#720174, #704078]
103   + Allow vaapipostproc to integrate with GL downstream elements [#735231]
104   + Add support for high-quality scaling to vaapipostproc ("scale-method=hq")
105   + Fix advanced deinterlacing when it is the unique filter applied
106   + Add GstColorBalance interface to vaapisink (Changzhi Wei) [#722390]
107   + Implement the GstNavigation interface into vaapisink [#711479]
108   + Allow rescaling of X11 window for vaapisink (Holger Kaelberer) [#711478]
109   + Optimizations to vaapidecode thread handling (Sebastian Dröge) [#734616]
110   + Fix deinterlacing from non VA memory buffers (Simon Farnsworth) [#726270]
111   + Fix clearing of subtitle overlay (Simon Farnsworth)
112   + Fix clearing of vaapipostproc state during restart (Michael Olbrich)
113
114 Version 0.5.9 - 29.Jul.2014
115 * Add VP8 decoder (+Halley Zhao)
116 * Add H.264 MVC decoder and encoder (+Sreerenj Balachandran, Xiaowei Li)
117 * Fix support for Firefox >= 30 when built with GStreamer 1.0 APIs
118 * Fix MPEG-4:2 decoder hang on skipped frames (Fabrice Bellet) [#733324]
119 * Fix MPEG-2 decoder to propagate PTS from demuxer (Jan Schmidt) [#732719]
120 * Improvements to H.264 decoder
121   + Add support for grayscale encoded clips
122   + Add minor optimizations to the parsing process
123   + Make support for interlaced streams more robust [#701340]
124   + Fix multiple slices decoding with varying slice types [#724518]
125   + Fix parsing of multiple SEI messages in single NAL units (Aurelien Zanelli)
126 * Improvements to plugin elements
127   + Add download capability to vaapidecode [#733243]
128   + Add support for crop regions in VPP mode [#720730]
129   + Allow selection of a particular "display-name" for vaapisink [#722247]
130   + Fix support for headless pipelines, e.g. vaapisink display="drm" mode
131   + Fix creation of output surface pool for vaapipostproc (Simon Farnsworth)
132   + Fix vaapipostproc "deinterlace-mode" semantics (Simon Farnsworth) [#726361]
133   + Fix memory leak in vaapidecode ! {glimagesink,cluttersink} (Matthew Waters)
134   + Fix vaapidecode hang when downstream errors out (Matthew Waters) [#733897]
135
136 Version 0.5.8 - 23.Jan.2014
137 * Add H.264 video encoding (+Feng Yuan)
138 * Add MPEG-2 video encoding (+Guangxin Xu)
139 * Add initial support for GStreamer 1.3 (Matthieu Bouron)
140 * Add support for H.264 Constrained Baseline profile (Feng Yuan)
141 * Add support for colorbalance adjustment in vaapipostproc (Halley Zhao)
142 * Add color space conversion in vaapisink (Holger Kaelberer) [#722255]
143 * Fix OpenGL interop with clutter-gst and glimagesink elements (Matthieu Bouron)
144 * Fix decoding of H.264 quantization matrices (+Cong Zhong) [#706406]
145 * Fix robustness of H.264 decoder when packets are missing
146 * Fix hang in vaapidecode on SIGINT [<Ctrl>+C] (Fen Yuan) [#720584]
147 * Fix vaapisink initialization with foreign window (Holger Kaelberer) [#722244]
148 * Fix Sharpening filter in vaapipostproc (Halley Zhao) [#720375]
149
150 Version 0.5.7 - 21.Nov.2013
151 * Add support for GStreamer 1.2 (+Victor Jaquez, Sreerenj Balachandran)
152 * Add support for video processing (VA/VPP) (+Halley Zhao)
153   + Scaling and color conversion
154   + Image enhancement filters: Sharpening, Noise Reduction
155   + Advanced deinterlacing: Motion-Adaptive, Motion-Compensated
156 * Fix vaapidecode pause/resume/seek capabilities (+Guangxin Xu)
157 * JPEG decoder bug fixes and improvements
158   + Add support for multiscan images
159   + Improve overall performance by +12%
160   + Fix robustness and tolerance to missing packets
161   + Fix detection of image boundaries (Junfeng Xu)
162   + Fix decoding from Logitech Pro C920 cameras (Junfeng Xu)
163
164 Version 0.5.6 - 29.Aug.2013
165 * Add render-to-pixmap API to bypass VA/GLX in clutter-gst
166 * Add initial support for video-processing APIs (+Halley Zhao)
167 * Add support for video cropping and deinterlacing to the Wayland backend
168 * Add "force-aspect-ratio" property to vaapisink (Simon Farnsworth)
169 * Fix support for clutter-gst in GStreamer 0.10 builds
170 * Fix HW accelerated rendering with SW decoded pipelines
171 * Fix videotestsrc ! vaapisink pipelines (Guangxin Xu)
172 * Fix memory leak of raw video uploader objects (Feng Yuan)
173 * Fix decoding without a video parser element before `vaapidecde'
174 * Fix regression in MPEG-2 decoder due to incomplete video cropping support
175 * Fix dead-lock condition on Wayland when the end-of-stream is reached
176
177 Version 0.5.5 - 15.Jul.2013
178 * Allow creation of video surfaces with an explicit pixel format
179 * Allocate VA/GLX capable buffers by default on X11 servers (Victor Jaquez)
180 * Add support for video cropping in MPEG-2, VC-1 and H.264 codecs (+Sreerenj)
181 * Fix memory leak when processing interlaced pictures
182 * Fix creation of VA/GLX textures when video cropping is used
183 * Fix raw image copies in vaapidownload / vaapiupload (Feng Yuan)
184 * Fix MPEG-2 quantization matrices reset on new sequence headers (Cong Zhong)
185 * Fix direct linking of vaapidownload element to xvimagesink (Feng Yuan)
186 * Fix memory corruption in video pool implementation, e.g. for clutter-gst
187
188 Version 0.5.4 - 14.Jun.2013
189 * Streamline core libgstvaapi decoding library (API/ABI changes)
190 * Use built-in codecparsers by default (or --disable-builtin-codecparsers)
191 * Fix default Huffman tables generation (Feng Yuan)
192 * Fix destruction of Wayland display resources
193 * Fix explicit specification of display type to vaapisink
194 * Fix memory leak in vaapiupload in GStreamer 0.10 builds (Halley Zhao)
195 * Fix performance regression caused by improper use of GstTask callback
196 * Fix raw decoding mode to transfer ownership of surface proxy to caller
197
198 Version 0.5.3 - 18.Apr.2013
199 * Add support for GStreamer 1.0.x API (+Sreerenj Balachandran)
200 * Fix build on Fedora 17 (Víctor Manuel Jáquez)
201 * Fix vaapidecode heuristics to detect decode timeouts
202 * Fix fallback to sofware decoding if no hardware decoder is available
203 * Fix regression in raw decoding mode whereby PTS or picture flags were lost
204
205 Version 0.5.2 - 28.Mar.2013
206 * Add support for video seek/reset (+Sreerenj Balachandran)
207 * Improve MPEG-2 decoder robustness when packets are missing
208 * Fix support for raw YUV buffers in vaapisink
209 * Fix build on older Linux distributions with glib < 2.32
210 * Fix decoding of MPEG-2 videos with height > 2800 pixels
211 * Fix MPEG-2 decoding with explicit quantization matrices set (Cong Zhong)
212 * Fix illegal write in vaapiupload for NV12 surfaces (Holger Kaelberer)
213
214 Version 0.5.1 - 29.Jan.2013
215 * Add simple decoder demo that only uses libgstvaapi
216 * Fix thread-safety issues in the Wayland renderer
217 * Fix VC-1 decoding bugs #692461, #692312, #692271, #692270, #692267
218 * Fix decoding of VC-1 videos in AVI containers (Feng Yuan)
219 * Fix H.264 parser to zero-initialize key syntax elements
220 * Fix MPEG-2, H.264 and VC-1 decoders to submit all decoded frames on <EOS>
221
222 Version 0.5.0 - 15.Jan.2013
223 * Optimize MPEG-2 and H.264 decoders
224 * Use GstVideoDecoder API for vaapidecode (+Sreerenj Balachandran)
225 * Add support for raw YUV buffers in vaapisink (+Halley Zhao)
226 * Add support for global-alpha subpictures/overlay (+Holger Kaelberer)
227 * Fix calculation of the vaapidecode time-out for a surface to get released
228
229 Version 0.4.2 - 18.Dec.2012
230 * Fix H.264 decoding on Cedar Trail platforms
231 * Fix MPEG-4 decoding at end-of-stream (Feng Yuan)
232 * Fix MPEG-4 decoding when a buffer contains multiple packets (Feng Yuan)
233 * Fix memory leak in GstVaapiVideoBuffer for images and surfaces (Feng Yuan)
234 * Fix symbols collision between built-in codecparsers/ and system library
235 * Use GST_PLUGIN_PATH, if set, to install plugin elements (Halley Zhao)
236
237 Version 0.4.1 - 27.Nov.2012
238 * Add support for H.264 interlaced streams
239 * Add support for Wayland 1.0 protocol (Robert Bradford)
240 * Add upstream bitstream parsers library (codecparsers)
241 * Fix build with the GNU gold linker
242 * Fix detection of H.264 picture boundaries
243 * Fix memory leak in MPEG-2 decoder for empty user-data packets
244 * Fix H.264 decoder with MMCO-based reference picture marking process
245 * Decode pending packets when an end-of-stream is received (+Feng Yuan)
246 * Use pixel-aspect-ratio from bitstream parsers (Simon Farnsworth)
247
248 Version 0.4.0 - 05.Oct.2012
249 * Add support for video rotation
250 * Add new video display APIs: Wayland and raw DRM for headless pipelines
251 * Drop FFmpeg-based decoders, only use codecparsers-based ones
252 * Only reset decoder if meaningful caps changed, e.g. size
253 * Allocate the minimal number of video surfaces useful for decoding
254 * Fix vaapisink to scale video down to fit the screen dimensions
255 * Fix vaapidecode crash when trying to release inexistent lock (Philip Lorenz)
256
257 Version 0.3.8 - 20.Sep.2012
258 * Disable FFmpeg-based decoders by default
259 * Add JPEG decoder (based on codecparsers)
260 * Fix crash when destroying GstVaapiDisplay objects early
261 * Fix GLX rendering with FBO + texture-from-pixmap (fallback for VA/GLX)
262 * Fix rendering with EMGD driver when overlay mode is used
263 * Fix MPEG-2 decoding on Intel Atom platforms with EMGD driver
264 * Fix release of dangling proxy surfaces when decoder is reset (Philip Lorenz)
265
266 Version 0.3.7 - 26.Jun.2012
267 * Fix vaapidecode to report unsupported codec profiles
268 * Fix MPEG-2 decoding of streams with extra slice() information
269 * Map MPEG-2 compatible High profile streams to Main profile
270 * Map MPEG-4 Simple Scalable profile streams to Advanced Simple (Feng Yuan)
271 * Fix various MPEG-4 decoding bugs (timestamps, reference frames) (Feng Yuan)
272 * Don't forcibly resize user provided X windows (Holger Kaelberer)
273 * Recalculate render rect only if caps are negotiated (Holger Kaelberer)
274
275 Version 0.3.6 - 02.Apr.2012
276 * Add support for decoding MPEG-2 interlaced streams
277 * Add support for interlaced streams with FFmpeg decoders (Holger Kaelberer)
278 * Add vaapipostproc element for video postprocessing (e.g. deinterlacing)
279 * Skip all H.264 Filler Data NALs
280 * Fix crashes in MPEG-4 decoder (Feng Yuan)
281 * Fix fallback from MPEG-2 Simple to Main profile
282 * Improve decoding of misformed MPEG-2 streams (+Feng Yuan)
283 * Avoid a hang in playbin2 for some MPEG-2 TS streams (Feng Yuan)
284
285 Version 0.3.5 - 02.Mar.2012
286 * Fix H.264 decoding when emulation prevention bytes are detected
287 * Skip all H.264 Access Unit (AU) NALs (Feng Yuan)
288 * Fix modification process of H.264 reference picture lists (Feng Yuan)
289 * Fix MPEG-2 stream size calculation (Sreerenj Balachandran)
290 * Fix MPEG-2 decoding on Intel Gen with multiple slices per MB line
291 * Fix crash when downloading/uploading VA images on PowerVR (Cedar Trail)
292 * Fix double buffer free issues with some VA drivers
293 * Fix crash when there is no free surface available for decoding
294 * Skip profiles which have no entrypoints (Halley Zhao)
295 * Fix minor memory leaks in plug-in elements
296
297 Version 0.3.4 - 01.Feb.2012
298 * Add H.264 decoder (based on codecparsers)
299 * Add workaround for qtdemux not exposing H.263 profiles (Halley Zhao)
300 * Alias H.263 Baseline profile to MPEG-4:2 Simple profile (Halley Zhao)
301 * Use optimized path to submit slice data buffers
302 * Fix possible memory leak in MPEG-2 decoder
303 * Fix vaapisink to cap window size to the maximum display size
304 * Fix MPEG-2, MPEG-4 and VC-1 decoders to refcount reference surfaces properly
305
306 Version 0.3.3 - 16.Jan.2012
307 * Add MPEG-2, MPEG-4 and VC-1 decoders (based on codecparsers)
308 * Add support for GstXOverlay::set_render_rectangle() in vaapisink
309 * Fix memory leak of GL texture (Nicolas Dufresne)
310 * Fix vaapisink to automatically fit video to window
311 * Fix vaapiupload to only set caps on newly created buffers (Nicolas Dufresne)
312 * Fix gst_vaapi_ensure_display() to honour DISPLAY environment variable
313
314 Version 0.3.2 - 06.Jan.2012
315 * Rename vaapiconvert element to vaapiupload
316 * Fix vaapiupload from NV12 buffers
317 * Fix possible leaks of VA surfaces in FFmpeg decoder
318 * Fix memory leak in vaapiupload initialization function
319 * Fix possible crash in vaapidecode deinitialization code
320 * Add vaapidownload element to convert from VA surfaces to YUV pixels
321
322 Version 0.3.1 - 16.Dec.2011
323 * Fix check for supported VA images
324 * Add support for partial VA image updates
325 * Add support for new subtitle/overlay infrastructure (Thibault Saunier)
326 * Add missing video context queries in vaapisink/vaapiconvert (Nicolas Dufresne)
327
328 Version 0.3.0 - 09.Dec.2011
329 * Group all plugins into the same bundle
330 * Use new XOverlay API (Sreerenj Balachandran)
331 * Use new GstVideoContext and GstSurfaceBuffer API (Nicolas Dufresne)
332 * Fix vaapidecode sink caps if decoder is in NULL state (Sreerenj Balachandran)
333 * Fix auto-plugging and downstream buffer allocation (Nicolas Dufresne)
334 * Fix crash in VA display init if no VA configs were found (Nicolas Dufresne)
335
336 Version 0.2.7 - 07.Dec.2011
337 * Relicense plugins and tests to LGPL v2.1 (SDS)
338 * Fix MPEG-2 decoding from TS & PS streams
339 * Fix build with newer versions of FFmpeg
340 * Fix vaapiconvert direct-rendering modes
341 * Fix use of invalid data at the end-of-stream
342
343 Version 0.2.6 - 14.Jun.2011
344 * Fix licensing terms (LGPL v2.1)
345
346 Version 0.2.5 - 20.Jul.2010
347 * Fix build with older VA-API 0.29-sds
348 * Fix decoding of some H.264 streams. e.g. Ice Age 2 trailer
349 * Fix VA/GLX support with texture-from-pixmap and GLX version < 1.3
350
351 Version 0.2.4 - 18.May.2010
352 * Fix video rendering rect within an embedder window (Totem)
353 * Disable GLX rendering when vaapisink uses a foreign X window
354
355 Version 0.2.3 - 16.May.2010
356 * Fix memory leak of encoded buffers
357 * Fix decoder caps to report codec aliases
358 * Fix VC-1 decoding through the playbin2 pipeline
359
360 Version 0.2.2 - 14.May.2010
361 * Fix packaging dependencies
362 * Fix a crash in the FFmpeg decoder on close
363 * Fix OpenGL texture internal format (Clutter)
364 * Fix foreign window size for embedding (Totem)
365
366 Version 0.2.1 - 12.May.2010
367 * Fix integration within the playbin2 pipeline
368 * Fix vaapidecode to expose the HW supported caps only
369 * Add GstXOverlay interface to vaapisink (Totem media player)
370
371 Version 0.2.0 - 05.May.2010
372 * Relicense gst-libs/ code to LGPL v2.1+
373 * Add FFmpeg/VAAPI decoder for the new `vaapidecode' element
374
375 Version 0.1.2 - 30.Mar.2010
376 * Add AYUV image format
377 * Add compatibility with the original VA-API 0.29
378 * Add OpenGL support through VA/GLX extensions or TFP+FBO fallback
379
380 Version 0.1.1 - 23.Mar.2010
381 * Document public API for libgstvaapi-*.so.*
382 * Optimize `vaapiconvert' pipeline (direct-rendering)
383 * Allow `vaapisink` to render videos in fullscreen mode
384
385 Version 0.1.0 - 16.Mar.2010
386 * Initial release