encoder: fix subclassing process.
[vaapi:gstreamer-vaapi.git] / NEWS
1 gst-vaapi NEWS -- summary of changes.  2013-11-21
2 Copyright (C) 2010-2011 Splitted-Desktop Systems
3 Copyright (C) 2011-2013 Intel Corporation
4 Copyright (C) 2011 Collabora
5
6 Version 0.5.7 - 21.Nov.2013
7 * Add support for GStreamer 1.2 (+Victor Jaquez, Sreerenj Balachandran)
8 * Add support for video processing (VA/VPP) (+Halley Zhao)
9   + Scaling and color conversion
10   + Image enhancement filters: Sharpening, Noise Reduction
11   + Advanced deinterlacing: Motion-Adaptive, Motion-Compensated
12 * Fix vaapidecode pause/resume/seek capabilities (+Guangxin Xu)
13 * JPEG decoder bug fixes and improvements
14   + Add support for multiscan images
15   + Improve overall performance by +12%
16   + Fix robustness and tolerance to missing packets
17   + Fix detection of image boundaries (Junfeng Xu)
18   + Fix decoding from Logitech Pro C920 cameras (Junfeng Xu)
19
20 Version 0.5.6 - 29.Aug.2013
21 * Add render-to-pixmap API to bypass VA/GLX in clutter-gst
22 * Add initial support for video-processing APIs (+Halley Zhao)
23 * Add support for video cropping and deinterlacing to the Wayland backend
24 * Add "force-aspect-ratio" property to vaapisink (Simon Farnsworth)
25 * Fix support for clutter-gst in GStreamer 0.10 builds
26 * Fix HW accelerated rendering with SW decoded pipelines
27 * Fix videotestsrc ! vaapisink pipelines (Guangxin Xu)
28 * Fix memory leak of raw video uploader objects (Feng Yuan)
29 * Fix decoding without a video parser element before `vaapidecde'
30 * Fix regression in MPEG-2 decoder due to incomplete video cropping support
31 * Fix dead-lock condition on Wayland when the end-of-stream is reached
32
33 Version 0.5.5 - 15.Jul.2013
34 * Allow creation of video surfaces with an explicit pixel format
35 * Allocate VA/GLX capable buffers by default on X11 servers (Victor Jaquez)
36 * Add support for video cropping in MPEG-2, VC-1 and H.264 codecs (+Sreerenj)
37 * Fix memory leak when processing interlaced pictures
38 * Fix creation of VA/GLX textures when video cropping is used
39 * Fix raw image copies in vaapidownload / vaapiupload (Feng Yuan)
40 * Fix MPEG-2 quantization matrices reset on new sequence headers (Cong Zhong)
41 * Fix direct linking of vaapidownload element to xvimagesink (Feng Yuan)
42 * Fix memory corruption in video pool implementation, e.g. for clutter-gst
43
44 Version 0.5.4 - 14.Jun.2013
45 * Streamline core libgstvaapi decoding library (API/ABI changes)
46 * Use built-in codecparsers by default (or --disable-builtin-codecparsers)
47 * Fix default Huffman tables generation (Feng Yuan)
48 * Fix destruction of Wayland display resources
49 * Fix explicit specification of display type to vaapisink
50 * Fix memory leak in vaapiupload in GStreamer 0.10 builds (Halley Zhao)
51 * Fix performance regression caused by improper use of GstTask callback
52 * Fix raw decoding mode to transfer ownership of surface proxy to caller
53
54 Version 0.5.3 - 18.Apr.2013
55 * Add support for GStreamer 1.0.x API (+Sreerenj Balachandran)
56 * Fix build on Fedora 17 (Víctor Manuel Jáquez)
57 * Fix vaapidecode heuristics to detect decode timeouts
58 * Fix fallback to sofware decoding if no hardware decoder is available
59 * Fix regression in raw decoding mode whereby PTS or picture flags were lost
60
61 Version 0.5.2 - 28.Mar.2013
62 * Add support for video seek/reset (+Sreerenj Balachandran)
63 * Improve MPEG-2 decoder robustness when packets are missing
64 * Fix support for raw YUV buffers in vaapisink
65 * Fix build on older Linux distributions with glib < 2.32
66 * Fix decoding of MPEG-2 videos with height > 2800 pixels
67 * Fix MPEG-2 decoding with explicit quantization matrices set (Cong Zhong)
68 * Fix illegal write in vaapiupload for NV12 surfaces (Holger Kaelberer)
69
70 Version 0.5.1 - 29.Jan.2013
71 * Add simple decoder demo that only uses libgstvaapi
72 * Fix thread-safety issues in the Wayland renderer
73 * Fix VC-1 decoding bugs #692461, #692312, #692271, #692270, #692267
74 * Fix decoding of VC-1 videos in AVI containers (Feng Yuan)
75 * Fix H.264 parser to zero-initialize key syntax elements
76 * Fix MPEG-2, H.264 and VC-1 decoders to submit all decoded frames on <EOS>
77
78 Version 0.5.0 - 15.Jan.2013
79 * Optimize MPEG-2 and H.264 decoders
80 * Use GstVideoDecoder API for vaapidecode (+Sreerenj Balachandran)
81 * Add support for raw YUV buffers in vaapisink (+Halley Zhao)
82 * Add support for global-alpha subpictures/overlay (+Holger Kaelberer)
83 * Fix calculation of the vaapidecode time-out for a surface to get released
84
85 Version 0.4.2 - 18.Dec.2012
86 * Fix H.264 decoding on Cedar Trail platforms
87 * Fix MPEG-4 decoding at end-of-stream (Feng Yuan)
88 * Fix MPEG-4 decoding when a buffer contains multiple packets (Feng Yuan)
89 * Fix memory leak in GstVaapiVideoBuffer for images and surfaces (Feng Yuan)
90 * Fix symbols collision between built-in codecparsers/ and system library
91 * Use GST_PLUGIN_PATH, if set, to install plugin elements (Halley Zhao)
92
93 Version 0.4.1 - 27.Nov.2012
94 * Add support for H.264 interlaced streams
95 * Add support for Wayland 1.0 protocol (Robert Bradford)
96 * Add upstream bitstream parsers library (codecparsers)
97 * Fix build with the GNU gold linker
98 * Fix detection of H.264 picture boundaries
99 * Fix memory leak in MPEG-2 decoder for empty user-data packets
100 * Fix H.264 decoder with MMCO-based reference picture marking process
101 * Decode pending packets when an end-of-stream is received (+Feng Yuan)
102 * Use pixel-aspect-ratio from bitstream parsers (Simon Farnsworth)
103
104 Version 0.4.0 - 05.Oct.2012
105 * Add support for video rotation
106 * Add new video display APIs: Wayland and raw DRM for headless pipelines
107 * Drop FFmpeg-based decoders, only use codecparsers-based ones
108 * Only reset decoder if meaningful caps changed, e.g. size
109 * Allocate the minimal number of video surfaces useful for decoding
110 * Fix vaapisink to scale video down to fit the screen dimensions
111 * Fix vaapidecode crash when trying to release inexistent lock (Philip Lorenz)
112
113 Version 0.3.8 - 20.Sep.2012
114 * Disable FFmpeg-based decoders by default
115 * Add JPEG decoder (based on codecparsers)
116 * Fix crash when destroying GstVaapiDisplay objects early
117 * Fix GLX rendering with FBO + texture-from-pixmap (fallback for VA/GLX)
118 * Fix rendering with EMGD driver when overlay mode is used
119 * Fix MPEG-2 decoding on Intel Atom platforms with EMGD driver
120 * Fix release of dangling proxy surfaces when decoder is reset (Philip Lorenz)
121
122 Version 0.3.7 - 26.Jun.2012
123 * Fix vaapidecode to report unsupported codec profiles
124 * Fix MPEG-2 decoding of streams with extra slice() information
125 * Map MPEG-2 compatible High profile streams to Main profile
126 * Map MPEG-4 Simple Scalable profile streams to Advanced Simple (Feng Yuan)
127 * Fix various MPEG-4 decoding bugs (timestamps, reference frames) (Feng Yuan)
128 * Don't forcibly resize user provided X windows (Holger Kaelberer)
129 * Recalculate render rect only if caps are negotiated (Holger Kaelberer)
130
131 Version 0.3.6 - 02.Apr.2012
132 * Add support for decoding MPEG-2 interlaced streams
133 * Add support for interlaced streams with FFmpeg decoders (Holger Kaelberer)
134 * Add vaapipostproc element for video postprocessing (e.g. deinterlacing)
135 * Skip all H.264 Filler Data NALs
136 * Fix crashes in MPEG-4 decoder (Feng Yuan)
137 * Fix fallback from MPEG-2 Simple to Main profile
138 * Improve decoding of misformed MPEG-2 streams (+Feng Yuan)
139 * Avoid a hang in playbin2 for some MPEG-2 TS streams (Feng Yuan)
140
141 Version 0.3.5 - 02.Mar.2012
142 * Fix H.264 decoding when emulation prevention bytes are detected
143 * Skip all H.264 Access Unit (AU) NALs (Feng Yuan)
144 * Fix modification process of H.264 reference picture lists (Feng Yuan)
145 * Fix MPEG-2 stream size calculation (Sreerenj Balachandran)
146 * Fix MPEG-2 decoding on Intel Gen with multiple slices per MB line
147 * Fix crash when downloading/uploading VA images on PowerVR (Cedar Trail)
148 * Fix double buffer free issues with some VA drivers
149 * Fix crash when there is no free surface available for decoding
150 * Skip profiles which have no entrypoints (Halley Zhao)
151 * Fix minor memory leaks in plug-in elements
152
153 Version 0.3.4 - 01.Feb.2012
154 * Add H.264 decoder (based on codecparsers)
155 * Add workaround for qtdemux not exposing H.263 profiles (Halley Zhao)
156 * Alias H.263 Baseline profile to MPEG-4:2 Simple profile (Halley Zhao)
157 * Use optimized path to submit slice data buffers
158 * Fix possible memory leak in MPEG-2 decoder
159 * Fix vaapisink to cap window size to the maximum display size
160 * Fix MPEG-2, MPEG-4 and VC-1 decoders to refcount reference surfaces properly
161
162 Version 0.3.3 - 16.Jan.2012
163 * Add MPEG-2, MPEG-4 and VC-1 decoders (based on codecparsers)
164 * Add support for GstXOverlay::set_render_rectangle() in vaapisink
165 * Fix memory leak of GL texture (Nicolas Dufresne)
166 * Fix vaapisink to automatically fit video to window
167 * Fix vaapiupload to only set caps on newly created buffers (Nicolas Dufresne)
168 * Fix gst_vaapi_ensure_display() to honour DISPLAY environment variable
169
170 Version 0.3.2 - 06.Jan.2012
171 * Rename vaapiconvert element to vaapiupload
172 * Fix vaapiupload from NV12 buffers
173 * Fix possible leaks of VA surfaces in FFmpeg decoder
174 * Fix memory leak in vaapiupload initialization function
175 * Fix possible crash in vaapidecode deinitialization code
176 * Add vaapidownload element to convert from VA surfaces to YUV pixels
177
178 Version 0.3.1 - 16.Dec.2011
179 * Fix check for supported VA images
180 * Add support for partial VA image updates
181 * Add support for new subtitle/overlay infrastructure (Thibault Saunier)
182 * Add missing video context queries in vaapisink/vaapiconvert (Nicolas Dufresne)
183
184 Version 0.3.0 - 09.Dec.2011
185 * Group all plugins into the same bundle
186 * Use new XOverlay API (Sreerenj Balachandran)
187 * Use new GstVideoContext and GstSurfaceBuffer API (Nicolas Dufresne)
188 * Fix vaapidecode sink caps if decoder is in NULL state (Sreerenj Balachandran)
189 * Fix auto-plugging and downstream buffer allocation (Nicolas Dufresne)
190 * Fix crash in VA display init if no VA configs were found (Nicolas Dufresne)
191
192 Version 0.2.7 - 07.Dec.2011
193 * Relicense plugins and tests to LGPL v2.1 (SDS)
194 * Fix MPEG-2 decoding from TS & PS streams
195 * Fix build with newer versions of FFmpeg
196 * Fix vaapiconvert direct-rendering modes
197 * Fix use of invalid data at the end-of-stream
198
199 Version 0.2.6 - 14.Jun.2011
200 * Fix licensing terms (LGPL v2.1)
201
202 Version 0.2.5 - 20.Jul.2010
203 * Fix build with older VA-API 0.29-sds
204 * Fix decoding of some H.264 streams. e.g. Ice Age 2 trailer
205 * Fix VA/GLX support with texture-from-pixmap and GLX version < 1.3
206
207 Version 0.2.4 - 18.May.2010
208 * Fix video rendering rect within an embedder window (Totem)
209 * Disable GLX rendering when vaapisink uses a foreign X window
210
211 Version 0.2.3 - 16.May.2010
212 * Fix memory leak of encoded buffers
213 * Fix decoder caps to report codec aliases
214 * Fix VC-1 decoding through the playbin2 pipeline
215
216 Version 0.2.2 - 14.May.2010
217 * Fix packaging dependencies
218 * Fix a crash in the FFmpeg decoder on close
219 * Fix OpenGL texture internal format (Clutter)
220 * Fix foreign window size for embedding (Totem)
221
222 Version 0.2.1 - 12.May.2010
223 * Fix integration within the playbin2 pipeline
224 * Fix vaapidecode to expose the HW supported caps only
225 * Add GstXOverlay interface to vaapisink (Totem media player)
226
227 Version 0.2.0 - 05.May.2010
228 * Relicense gst-libs/ code to LGPL v2.1+
229 * Add FFmpeg/VAAPI decoder for the new `vaapidecode' element
230
231 Version 0.1.2 - 30.Mar.2010
232 * Add AYUV image format
233 * Add compatibility with the original VA-API 0.29
234 * Add OpenGL support through VA/GLX extensions or TFP+FBO fallback
235
236 Version 0.1.1 - 23.Mar.2010
237 * Document public API for libgstvaapi-*.so.*
238 * Optimize `vaapiconvert' pipeline (direct-rendering)
239 * Allow `vaapisink` to render videos in fullscreen mode
240
241 Version 0.1.0 - 16.Mar.2010
242 * Initial release