video-format: add DRM formats to the mapping table
[platform/upstream/gstreamer.git] / ChangeLog
1 === release 1.17.2 ===
2
3 2020-07-03 00:36:40 +0100  Tim-Philipp Müller <tim@centricular.com>
4
5         * ChangeLog:
6         * NEWS:
7         * RELEASE:
8         * gstreamer-vaapi.doap:
9         * meson.build:
10           Release 1.17.2
11
12 2020-06-23 10:20:46 -0400  Thibault Saunier <tsaunier@igalia.com>
13
14         * docs/gst_plugins_cache.json:
15         * gst/vaapi/gstvaapiencode.c:
16           docs: Mark parent classes as plugin API
17
18 2020-06-23 00:07:57 +0200  Mathieu Duponchelle <mathieu@centricular.com>
19
20         * docs/meson.build:
21           meson: mark plugins cache target as always stale
22
23 2020-06-19 23:34:11 -0400  Thibault Saunier <tsaunier@igalia.com>
24
25         * docs/gst_plugins_cache.json:
26           doc: Stop documenting properties from parents
27
28 2020-06-20 00:28:35 +0100  Tim-Philipp Müller <tim@centricular.com>
29
30         * meson.build:
31           Back to development
32
33 === release 1.17.1 ===
34
35 2020-06-19 19:27:11 +0100  Tim-Philipp Müller <tim@centricular.com>
36
37         * ChangeLog:
38         * NEWS:
39         * RELEASE:
40         * gstreamer-vaapi.doap:
41         * meson.build:
42           Release 1.17.1
43
44 2020-06-19 15:21:56 +0100  Tim-Philipp Müller <tim@centricular.com>
45
46         * docs/gst_plugins_cache.json:
47         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
48         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
49         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
50         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
51           Update plugin docs and add more plugins
52           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/344>
53
54 2020-06-11 08:32:05 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
55
56         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
57           libs: wayland: display: only handle the first output
58           Right now, all outputs are handled. The means that the registry object for
59           all but the last are leaked. As a result the sizes are not used correctly.
60           With two outputs, at first the mode and physical size of the second output
61           are used. If the first output changes the mode, then the physical size of
62           the second output is used in combination with the resolution of the first
63           output. The resulting pixel aspect ratio is incorrect.
64           There seems to be no way to determine on which output the window is shown,
65           so just use the first one to get consistent results.
66           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/341>
67
68 2020-06-11 18:15:17 +0800  He Junyan <junyan.he@hotmail.com>
69
70         * gst/vaapi/gstvaapipluginbase.c:
71           plugins: pluginbase: Do not destroy display when _close()
72           When the element's state changes to NULL, it can still receive
73           queries, such as the image formats. The display is needed in such
74           queries but not well protected for MT safe.
75           For example, ensure_allowed_raw_caps() may still use the display
76           while it is disposed by gst_vaapi_plugin_base_close() because of
77           the state change.
78           We can keep the display until the element is destroyed. When the
79           state changes to NULL, and then changes to PAUSED again, the display
80           can be correctly set(if type changes), or leave untouched.
81           Fix: #260
82           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/343>
83
84 2020-06-09 21:19:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
85
86         * gst-libs/gst/vaapi/gstvaapicontext.c:
87           libs: context: use correct printing modifier
88           GstVaapiID is an alias of gsize, thus its modifier is platform
89           dependant.
90           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/340>
91
92 2020-06-06 00:42:46 +0200  Mathieu Duponchelle <mathieu@centricular.com>
93
94         * gst-libs/gst/vaapi/gstvaapidisplay.c:
95         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
96         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
97         * gst-libs/gst/vaapi/gstvaapifilter.c:
98         * gst-libs/gst/vaapi/gstvaapivalue.c:
99           plugins: uddate gst_type_mark_as_plugin_api() calls
100
101 2020-03-05 18:12:27 +0800  He Junyan <junyan.he@hotmail.com>
102
103         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
104           libs: encoder: h265: Enable tile in VA command.
105           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/294>
106
107 2020-03-05 17:56:51 +0800  He Junyan <junyan.he@hotmail.com>
108
109         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
110           libs: encoder: h265: Add ensure_tile to calculate tiles.
111           We need consider tiles and slices together, separate tiles uniformly
112           and then assign slices uniformly to each tiles.
113           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/294>
114
115 2020-04-30 14:19:29 +0800  He Junyan <junyan.he@hotmail.com>
116
117         * gst-libs/gst/vaapi/gstvaapidisplay.c:
118         * gst-libs/gst/vaapi/gstvaapidisplay.h:
119           libs: display: add a quirk for iHD driver tile encoding.
120           The iHD driver has a requirement that one slice can not span tiles
121           when tile is enabled, which is not required by hevc spec.
122           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/294>
123
124 2020-03-05 17:40:43 +0800  He Junyan <junyan.he@hotmail.com>
125
126         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
127           libs: encoder: h265: Add tile info to bitstream.
128           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/294>
129
130 2020-03-05 17:29:41 +0800  He Junyan <junyan.he@hotmail.com>
131
132         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
133           libs: encoder: h265: promote level if tile is enabled.
134           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/294>
135
136 2020-03-05 17:07:28 +0800  He Junyan <junyan.he@hotmail.com>
137
138         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
139         * gst-libs/gst/vaapi/gstvaapiutils_h265.h:
140           libs: encoder: h265: Add num-tile-cols/rows properties.
141           These properties are used for support of tile encoding. We just
142           support uniform mode of tile encoding, that is, separating picture
143           equally by (num-tile-cols X num-tile-rows).
144           According to HEVC spec A1, the max number of tiles in column is 20
145           and in rows is 22, so add two constant definitions.
146           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/294>
147
148 2020-03-05 16:21:24 +0800  He Junyan <junyan.he@hotmail.com>
149
150         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
151           libs: encoder: h265: extract slice creation from add_slice_headers
152           extract slice creation details from add_slice_headers, and let the
153           add_slice_headers just focuses on calculating slice start address
154           and CTU number.
155           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/294>
156
157 2020-03-05 12:44:45 +0800  He Junyan <junyan.he@hotmail.com>
158
159         * gst-libs/gst/vaapi/gstvaapiencoder.c:
160         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
161           libs: encoder: Add a helper function to check the tile support.
162           Encoding by tiles separation now is a very common feature for all
163           relative new codecs, such as HEVC, AV1, and VP9. Just make this
164           check as a common helper function of the encoder base class.
165           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/294>
166
167 2020-05-13 18:02:07 +0800  He Junyan <junyan.he@hotmail.com>
168
169         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
170         * gst-libs/gst/vaapi/gstvaapiprofile.c:
171         * gst-libs/gst/vaapi/gstvaapiprofile.h:
172         * gst-libs/gst/vaapi/gstvaapiutils.c:
173         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
174           libs: decoder: H265: Add SCC_MAIN_444_10 profile support.
175           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/311>
176
177 2020-05-13 16:05:59 +0800  He Junyan <junyan.he@hotmail.com>
178
179         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
180           libs: decoder: update reference list for SCC.
181           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/311>
182
183 2020-05-13 15:46:29 +0800  He Junyan <junyan.he@hotmail.com>
184
185         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
186           libs: decoder: H265: Fill picture and slice SCC parameters.
187           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/311>
188
189 2020-05-13 15:00:53 +0800  He Junyan <junyan.he@hotmail.com>
190
191         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
192           libs: util: H265: recognize the SCC profiles.
193           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/311>
194
195 2020-05-13 14:53:46 +0800  He Junyan <junyan.he@hotmail.com>
196
197         * gst-libs/gst/vaapi/gstvaapiprofile.c:
198         * gst-libs/gst/vaapi/gstvaapiprofile.h:
199         * gst-libs/gst/vaapi/gstvaapiutils.c:
200           libs: profile: Add screen extended main/main10/main444 define.
201           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/311>
202
203 2020-04-03 14:53:40 +0800  He Junyan <junyan.he@hotmail.com>
204
205         * gst-libs/gst/vaapi/gstvaapiencoder.c:
206         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
207         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
208         * gst/vaapi/gstvaapiencode_h265.c:
209           libs: encoder: h265: Add support for MAIN 4:2:2 10 profile.
210           Using YUY2 as the input of the encoder can generate main 4:2:2 bit
211           streams and using Y210 as the input of the encoder can generate main
212           4:2:2 10 bit streams.
213           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/334>
214
215 2020-05-29 16:40:20 +0800  He Junyan <junyan.he@hotmail.com>
216
217         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
218           libs: encoder: h265: Use correct index for SubWidthC and SubHeightC.
219           We need to use the chroma_format_idc as the index for getting the
220           SubWidthC and SubHeightC values as the spec 6.1(table 6-1) defines.
221           The wrong SubWidthC or SubHeightC make us calculate a wrong right
222           or bottom offset for crop size and generate garbage in output.
223           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/334>
224
225 2020-05-29 15:37:24 +0800  He Junyan <junyan.he@hotmail.com>
226
227         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
228           libs: encoder: h265: Fix chrome idc for 444 10 bits
229           GST_VAAPI_CHROMA_TYPE_YUV444_10BPP should also set chroma_format_idc
230           to 3 as GST_VAAPI_CHROMA_TYPE_YUV444 does.
231           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/334>
232
233 2020-06-03 18:37:22 -0400  Thibault Saunier <tsaunier@igalia.com>
234
235         * docs/meson.build:
236           doc: Require hotdoc >= 0.11.0
237
238 2020-06-03 18:49:53 -0400  Thibault Saunier <tsaunier@igalia.com>
239
240         * gst/vaapi/gstvaapipostproc.c:
241           doc: Fix wrong link to GstVideoDirectionMethod
242
243 2020-06-03 17:38:10 -0400  Thibault Saunier <tsaunier@igalia.com>
244
245         * docs/gst_plugins_cache.json:
246         * meson_options.txt:
247           docs: Update plugin cache with the new format
248           And fix the default URL which should not be inside quotes.
249
250 2020-06-03 17:37:48 -0400  Thibault Saunier <tsaunier@igalia.com>
251
252         * gst-libs/gst/vaapi/gstvaapidisplay.c:
253         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
254         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
255         * gst-libs/gst/vaapi/gstvaapifilter.c:
256         * gst-libs/gst/vaapi/gstvaapivalue.c:
257         * gst/vaapi/gstvaapipostproc.c:
258           Use gst_type_mark_as_plugin_api() for all non-element plugin types
259
260 2020-05-23 22:09:17 +0800  He Junyan <junyan.he@hotmail.com>
261
262         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
263         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
264         * gst-libs/gst/vaapi/gstvaapicontext.h:
265         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
266         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
267         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
268         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
269         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
270         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
271         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
272         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
273         * gst-libs/gst/vaapi/gstvaapiimage.h:
274         * gst-libs/gst/vaapi/gstvaapiobject.c:
275         * gst-libs/gst/vaapi/gstvaapiobject.h:
276         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
277         * gst-libs/gst/vaapi/gstvaapiprofile.h:
278         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
279         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
280         * gst-libs/gst/vaapi/gstvaapisurface.h:
281         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
282         * gst-libs/gst/vaapi/gstvaapivideopool.c:
283         * gst-libs/gst/vaapi/meson.build:
284           libs: delete all gstvaapiobject related files.
285           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/331>
286
287 2020-05-23 20:48:54 +0800  He Junyan <junyan.he@hotmail.com>
288
289         * gst-libs/gst/vaapi/gstvaapisurface.c:
290           libs: surface: return fail immediately if can not create subpicture
291           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/331>
292
293 2020-05-23 14:00:58 +0800  He Junyan <junyan.he@hotmail.com>
294
295         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
296         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
297         * gst-libs/gst/vaapi/gstvaapisurface.c:
298         * tests/internal/image.c:
299           libs: subpicture: Make subpicture a standard GstMiniObject.
300           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/331>
301
302 2020-05-26 02:19:15 +0800  He Junyan <junyan.he@hotmail.com>
303
304         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
305           libs: decoder: h264: Add ref flags for splited field.
306           When split one frame into fields, the second field should also
307           copy the reference flags.
308           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/333>
309
310 2020-05-25 15:46:58 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
311
312         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
313           libs: decoder: h264: disallow multiple slice group
314           As far as we know there are no VAAPI drivers supporting FMO, which
315           migth be used in baseline streams.
316           This commit is a continuation of
317           https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/328
318           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/332>
319
320 2020-05-20 10:50:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
321
322         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
323         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
324         * gst/vaapi/gstvaapidecode.c:
325         * gst/vaapi/gstvaapidecode_props.c:
326         * gst/vaapi/gstvaapidecode_props.h:
327           vaapidecoder: h264: remove baseline as constrained property
328           From now on always the baseline is going to be treated as constrained without
329           need of setting a property.
330           Since the property was added along the development cycle (1.17 / commit
331           866a9f06) and never released, we assume that it is safe to remove it.
332           Fixes: #252
333           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/328>
334
335 2020-05-21 11:37:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
336
337         * README:
338           README: update VP9 decoder and encoder
339           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/330>
340
341 2020-05-21 13:42:47 +0800  Haihao Xiang <haihao.xiang@intel.com>
342
343         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
344           vaapiencoder_h264: set direct_spatial_mv_pred_flag to true by default
345           This flag is set to true by default in both MediaSDK and FFmpeg-vaapi,
346           so let's align this plugin with other libraries / softwares.
347           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/329>
348
349 2020-05-18 18:29:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
350
351         * gst/vaapi/gstvaapivideobufferpool.c:
352           vaapivideobufferpool: fix meta overwrite
353           commit 7ac2a207 added a regression by erroneously assumed that
354           GstVaapiVideoMeta is actually a GstMeta, which is not.
355           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/327>
356
357 2020-05-17 09:55:42 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
358
359         * gst/vaapi/gstvaapivideobufferpool.c:
360         * gst/vaapi/gstvaapivideometa_texture.c:
361         * gst/vaapi/gstvaapivideometa_texture.h:
362           vaapivideopool: Set pooled flag to added metas.
363           So this could hint filters how to use these metas.
364           Had to change the return value for texutre upload meta in order
365           to flag it.
366           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/326>
367
368 2020-05-16 20:49:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
369
370         * gst-libs/gst/vaapi/gstvaapicontext.c:
371         * gst-libs/gst/vaapi/gstvaapidisplay.c:
372         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
373         * gst-libs/gst/vaapi/gstvaapiparser_frame.c:
374         * gst-libs/gst/vaapi/gstvaapisurface.c:
375           libs: use array_unref() rather than array_free()
376           It is more convinience and thread-safe.
377           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/325>
378
379 2020-04-10 22:20:35 +0800  He Junyan <junyan.he@hotmail.com>
380
381         * gst/vaapi/gstvaapi.c:
382           plugin: use register_type to replace get_type for encode init.
383           xxx_register_type will detect the template sink caps and is needed
384           to be called at init time.
385           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
386
387 2020-04-10 22:05:50 +0800  He Junyan <junyan.he@hotmail.com>
388
389         * gst/vaapi/gstvaapiencode_vp9.c:
390         * gst/vaapi/gstvaapiencode_vp9.h:
391           plugins: encode: Modify sink template of vp9 encode.
392           Use gst_vaapi_detect_codec_caps to get more precise template caps.
393           Also implement gst_vaapiencode_vp9_register_type, which should be
394           called at plugin register time.
395           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
396
397 2020-04-10 22:05:18 +0800  He Junyan <junyan.he@hotmail.com>
398
399         * gst/vaapi/gstvaapiencode_vp8.c:
400         * gst/vaapi/gstvaapiencode_vp8.h:
401           plugins: encode: Modify sink template of vp8 encode.
402           Use gst_vaapi_detect_codec_caps to get more precise template caps.
403           Also implement gst_vaapiencode_vp8_register_type, which should be
404           called at plugin register time.
405           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
406
407 2020-04-10 22:04:34 +0800  He Junyan <junyan.he@hotmail.com>
408
409         * gst/vaapi/gstvaapiencode_mpeg2.c:
410         * gst/vaapi/gstvaapiencode_mpeg2.h:
411           plugins: encode: Modify sink template of mpeg2 encode.
412           Use gst_vaapi_detect_codec_caps to get more precise template caps.
413           Also implement gst_vaapiencode_mpeg2_register_type, which should be
414           called at plugin register time.
415           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
416
417 2020-04-10 22:03:49 +0800  He Junyan <junyan.he@hotmail.com>
418
419         * gst/vaapi/gstvaapiencode_h265.c:
420         * gst/vaapi/gstvaapiencode_h265.h:
421           plugins: encode: Modify sink template of h265 encode.
422           Use gst_vaapi_detect_codec_caps to get more precise template caps.
423           Also implement gst_vaapiencode_h265_register_type, which should be
424           called at plugin register time.
425           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
426
427 2020-04-10 22:00:38 +0800  He Junyan <junyan.he@hotmail.com>
428
429         * gst/vaapi/gstvaapiencode_h264.c:
430         * gst/vaapi/gstvaapiencode_h264.h:
431           plugins: encode: Modify sink template of h264 encode.
432           Use gst_vaapi_detect_codec_caps to get more precise template caps.
433           Also implement gst_vaapiencode_h264_register_type, which should be
434           called at plugin register time.
435           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
436
437 2020-04-10 22:11:34 +0800  He Junyan <junyan.he@hotmail.com>
438
439         * gst/vaapi/gstvaapiencode_jpeg.c:
440         * gst/vaapi/gstvaapiencode_jpeg.h:
441           plugins: encode: Modify sink template of jpeg encode.
442           Use gst_vaapi_detect_codec_caps to get more precise template caps.
443           Also implement gst_vaapiencode_jpeg_register_type, which should be
444           called at plugin register time.
445           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
446
447 2020-04-23 00:02:02 +0800  He Junyan <junyan.he@hotmail.com>
448
449         * gst/vaapi/gstvaapiencode.h:
450           plugin: encode: add a helper macro to register encode type.
451           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
452
453 2020-04-10 21:44:05 +0800  He Junyan <junyan.he@hotmail.com>
454
455         * gst/vaapi/gstvaapipluginutil.c:
456         * gst/vaapi/gstvaapipluginutil.h:
457           plugins: util: Add a helper function to detect supported caps.
458           This helper function iterate all profiles and entrypoints belong
459           to the specified codec, query the VAConfigAttribRTFormat and list
460           all possible video formats.
461           This function is used by each codec to get the template sink caps
462           (for encode) or src caps(for decode) at register time, when just
463           all possible formats are listed and no need to be very accurate.
464           So there is no context created for the performance reason. Most
465           codecs just use YUV kinds of formats as the input/output, so we do
466           not include RGB kinds of formats. User can specified more formats
467           in extra_fmts(For example, jpeg may need BGRA) if needed.
468           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
469
470 2020-04-10 21:27:32 +0800  He Junyan <junyan.he@hotmail.com>
471
472         * gst/vaapi/gstvaapiencode.c:
473         * gst/vaapi/gstvaapipluginutil.c:
474         * gst/vaapi/gstvaapipluginutil.h:
475           plugin: encode: extract the allowed caps maker as a helper function.
476           Extract all logic about making caps for encode's sink as a standalone
477           helper function. It can be reused.
478           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
479
480 2020-04-10 21:21:43 +0800  He Junyan <junyan.he@hotmail.com>
481
482         * gst-libs/gst/vaapi/video-format.c:
483         * gst-libs/gst/vaapi/video-format.h:
484           libs: video-format: add a helper function of get_formats_by_chroma.
485           The function iterates all supported video formats and returns the
486           formats belong to the specified chroma type.
487           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/315>
488
489 2020-05-16 21:03:32 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
490
491         * gst-libs/gst/vaapi/gstvaapitexture.c:
492         * gst-libs/gst/vaapi/gstvaapitexture_priv.h:
493           libs: texture: remove unused headers include
494           This is continuation of
495           https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/317
496           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/324>
497
498 2020-05-16 19:58:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
499
500         * gst-libs/gst/vaapi/gstvaapicodedbuffer.h:
501         * gst-libs/gst/vaapi/gstvaapiimage.h:
502         * gst-libs/gst/vaapi/gstvaapisurface.h:
503           libs: removed duplicated function declarations
504           Some headers had duplicated inlined function declaration. This was
505           for gtkdoc, but now GStreamer uses hotdoc and the internal library
506           documentation is not generated. So let's remove these extra lines.
507           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/323>
508
509 2020-04-18 19:32:24 +0800  He Junyan <junyan.he@hotmail.com>
510
511         * gst-libs/gst/vaapi/gstvaapitexture.c:
512         * gst-libs/gst/vaapi/gstvaapitexture.h:
513         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
514         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
515         * gst-libs/gst/vaapi/gstvaapitexture_priv.h:
516         * gst-libs/gst/vaapi/gstvaapitexturemap.c:
517         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
518         * gst/vaapi/gstvaapivideometa_texture.c:
519         * tests/internal/test-textures.c:
520           libs: texture: Make texture a standard GstMiniObject.
521           We store GstVaapiTextureGLX and GstVaapiTextureEGL's private data in
522           the qdata of miniobject and avoid extending the base texture class.
523           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/317>
524
525 2020-04-26 12:33:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
526
527         * README:
528           Update README
529           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/320>
530
531 2020-04-21 18:00:26 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
532
533         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
534           libs: display: drm: use g_strcmp0 to be null safe
535           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/321>
536
537 2020-04-26 13:30:16 +0800  Haihao Xiang <haihao.xiang@intel.com>
538
539         * gst/vaapi/gstvaapipluginutil.c:
540           vaapipluginutil: Use GST_VAAPI_DISPLAY_TYPE_DRM for Mesa3D GBM
541           We may build this plugin with window system support but run it without
542           window system. Without this patch, the following pipeline will trigger a
543           segfault when running it without window system.
544           gst-launch-1.0 filesrc location=input.264 ! h264parse ! vaapih264dec ! fakesink
545           Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/319>
546
547 2020-04-21 11:16:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
548
549         * meson.build:
550           build: use join_paths() for driverdir
551
552 2020-04-21 09:04:51 +0000  Veerabadhran G <vegopala@amd.com>
553
554         * README:
555           README: Update supported hardware
556           Added the AMD hardware list to the "Hardware Requirements" section.
557
558 2020-04-04 13:58:00 +0200  He Junyan <junyan.he@hotmail.com>
559
560         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
561         * gst-libs/gst/vaapi/gstvaapibufferproxy.h:
562         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
563           libs: bufferproxy: remove GstMemory reference
564           Since bufferproxy and surface are not referenced circularly, there's
565           no need to keep, in the buffer proxy, a reference to the GstMemory
566           where it is held. This patch removes that handling.
567
568 2020-03-15 23:29:05 +0800  He Junyan <junyan.he@hotmail.com>
569
570         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
571         * gst-libs/gst/vaapi/gstvaapisurface.c:
572         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
573         * gst-libs/gst/vaapi/gstvaapisurface_drm.h:
574         * gst/vaapi/gstvaapivideomemory.c:
575           libs,plugin: break surface-bufferproxy circular reference
576           The bufferproxy may reference the surface and the surface may also
577           reference the bufferproxy, producing a circular reference, which might
578           lead to serious resource leak problems.
579           Now make the relationship clearer, the bufferproxy's references is
580           transfered to surface, while bufferproxy just keeps the surface's
581           address without increasing its reference count.
582           The surface can be created through a bufferproxy like in
583           gst_vaapi_surface_new_with_dma_buf_handle(), and the surface might
584           get its bufferproxy via gst_vaapi_surface_get_dma_buf_handle(). In
585           both cases the surface holds a bufferproxy's reference.
586
587 2020-04-03 18:43:52 +0200  He Junyan <junyan.he@hotmail.com>
588
589         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
590         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
591         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
592           libs: bufferproxy: rename parent memeber as surface
593
594 2020-03-15 22:07:31 +0800  He Junyan <junyan.he@hotmail.com>
595
596         * gst/vaapi/gstvaapivideobufferpool.c:
597           plugin: bufferpool: use hashmap to cache dmabuf mem-surface
598           The old way of refer memory by bufferproxy is not a good one, since it
599           make the logic error prone.
600           Now it is established a map between surface-bufferproxy and its GstMemory,
601           caching the memory bound by a surface looked for the specified surface.
602
603 2020-03-15 21:50:24 +0800  He Junyan <junyan.he@hotmail.com>
604
605         * gst/vaapi/gstvaapivideobufferpool.c:
606         * gst/vaapi/gstvaapivideobufferpool.h:
607           plugin: bufferpool: Delete ACQUIRE_FLAG_NO_ALLOC flag.
608           Delete the GST_VAAPI_VIDEO_BUFFER_POOL_ACQUIRE_FLAG_NO_ALLOC flag.
609           In fact, no one is using that flag, and all vaapi buffers should
610           have GstVaapiVideoMeta.
611
612 2020-02-13 09:43:38 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
613
614         * gst/vaapi/gstvaapipostproc.c:
615         * gst/vaapi/gstvaapipostproc.h:
616           vaapipostproc: enable HDR10 tone mapping
617
618 2020-02-13 09:00:18 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
619
620         * gst-libs/gst/vaapi/gstvaapifilter.c:
621         * gst-libs/gst/vaapi/gstvaapifilter.h:
622           libs: filter: HDR10 tone mapping support
623           Add support for HDR10 tone mapping (since VA-API 1.4.0).
624
625 2020-04-02 15:14:15 +0800  He Junyan <junyan.he@hotmail.com>
626
627         * gst-libs/gst/vaapi/gstvaapiencoder.c:
628         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
629         * gst-libs/gst/vaapi/gstvaapiprofile.c:
630         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
631         * gst/vaapi/gstvaapiencode_h265.c:
632           libs: encoder: h265: Support MAIN 4:4:4 10 profile.
633           Using Y410 as the input of the encoder can generate main_444_10 bit
634           streams.
635
636 2020-04-02 15:19:41 +0800  He Junyan <junyan.he@hotmail.com>
637
638         * gst-libs/gst/vaapi/gstvaapiencoder.c:
639           libs: encoder: fix an inexact trace info in chroma type check.
640
641 2020-03-31 12:22:31 +0800  Haihao Xiang <haihao.xiang@intel.com>
642
643         * gst-libs/gst/vaapi/gstvaapiencoder.c:
644           libs: encoder: make sure format array is not NULL when returning TRUE
645           This fixed segfault when running the pipeline below with iHD driver
646           (commit efe5e9a) on ICL
647           gst-launch-1.0 videotestsrc ! vaapivp9enc tune=low-power ! vaapivp9dec ! \
648           fakesink
649
650 2020-03-18 13:28:00 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
651
652         * gst-libs/gst/vaapi/gstvaapidecoder.h:
653         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
654         * gst-libs/gst/vaapi/gstvaapidecoder_h265.h:
655         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
656         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
657         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
658         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
659         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.h:
660         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.h:
661         * gst-libs/gst/vaapi/gstvaapidisplay.h:
662         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
663         * gst-libs/gst/vaapi/gstvaapidisplay_egl.h:
664         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
665         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
666         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
667         * gst-libs/gst/vaapi/gstvaapiencoder.h:
668         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
669         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
670         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.h:
671         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
672         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.h:
673         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
674         * gst-libs/gst/vaapi/gstvaapifilter.h:
675         * gst-libs/gst/vaapi/gstvaapitexturemap.h:
676         * gst-libs/gst/vaapi/gstvaapiwindow.h:
677         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
678         * gst-libs/gst/vaapi/gstvaapiwindow_egl.h:
679         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
680         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
681         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
682           libs: extend g_autoptr support
683
684 2020-03-26 22:40:40 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
685
686         * gst/vaapi/gstvaapivideometa.c:
687           vaapivideometa: remove compiler warning
688
689 2020-03-22 20:59:20 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
690
691         * meson.build:
692         * meson_options.txt:
693           build: Add meson's option package-origin.
694           This options is added to synchronize with other gstreamer packages
695           build configuration.
696           Though, to avoid breaking distro configuration it is set, as default,
697           the issues gitlab's url, instead of the used string
698           "Unkown package origin".
699           Also, set_quoted is used for string based cdata.
700
701 2020-02-25 13:45:05 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
702
703         * gst/vaapi/gstvaapipostproc.c:
704           vaapipostproc: deprecate format, width and size parameters
705           Since they should only be controlled by caps negotiation.
706
707 2020-03-18 16:41:01 +0800  He Junyan <junyan.he@hotmail.com>
708
709         * gst-libs/gst/vaapi/gstvaapiprofile.c:
710         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
711         * gst/vaapi/gstvaapidecode.c:
712           libs,plugins: decoder: Add -intra profile support for hevc.
713           In hevc, we can consider the -intra profile a subset of the none
714           -intra profile. The -intra profiles just contain I frames and we
715           definitely can use the none -intra profiles's context to decode
716           them.
717           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
718
719 2020-03-04 12:35:42 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
720
721         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
722           libs: encoder: h265: support ICQ/QVBR BRC
723           Enable support for ICQ and QVBR bitrate control.
724           The code is essentially the same for h264 ICQ/QVBR support
725           which was added in commit 9e0c133a2403.
726
727 2020-03-19 11:19:18 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
728
729         * gst-libs/gst/vaapi/gstvaapiencoder.c:
730           libs: encoder: set VA HRD param before RC param
731           This is a workaround for intel-media-driver bug
732           https://github.com/intel/media-driver/issues/865
733           The driver will force the RC method to CBR for HEVCe
734           when it parses the HRD param.  Thus, any RC method
735           param submitted "prior" to the HRD param will be lost.
736           Therefore, VBR, ICQ and QVBR for HEVCe can't be
737           effectively enabled if the RC method param "precedes"
738           the HRD param.
739           To work around this issue, set the HRD param before
740           the RC method param so the driver will parse the RC
741           method param "after" the HRD param.
742           Afaict, other codecs in the driver (and other drivers)
743           do not appear to be dependent on the order of HRD and
744           RC param submission.
745
746 2019-11-25 14:16:30 +0800  Haihao Xiang <haihao.xiang@intel.com>
747
748         * gst-libs/gst/vaapi/gstvaapidisplay.c:
749         * gst-libs/gst/vaapi/gstvaapidisplay.h:
750         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
751           vaapijpegenc: Add a quantization quirk for iHD driver
752           iHD driver shifts the value by 50 when calculating quantization for JPEG
753           encoding, so we should add 50 in this plugin for iHD driver too.
754
755 2020-03-13 21:49:15 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
756
757         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
758         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
759         * gst-libs/gst/vaapi/gstvaapipixmap.c:
760         * gst-libs/gst/vaapi/gstvaapipixmap.h:
761         * gst-libs/gst/vaapi/gstvaapipixmap_priv.h:
762         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
763         * gst-libs/gst/vaapi/gstvaapipixmap_x11.h:
764         * gst-libs/gst/vaapi/gstvaapiwindow.c:
765         * gst-libs/gst/vaapi/gstvaapiwindow.h:
766         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
767         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
768         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
769         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
770         * gst-libs/gst/vaapi/meson.build:
771         * meson.build:
772         * tests/internal/output.c:
773         * tests/internal/output.h:
774         * tests/internal/simple-decoder.c:
775         * tests/internal/test-decode.c:
776           libs: remove GstVaapiPixmap
777           GstVaapiPixmap is an abstract base class which only implementation
778           were GstVaapiPixmapX11. This class were used for a special type of
779           rendering in the tests apps, utterly unrelated in GStreamer.
780           Since gstreamer-vaapi is no longer a general-user wrapper for VA-API
781           we should remove this unused API.
782           This removal drops libxrender dependency.
783
784 2020-03-17 18:51:19 +0800  He Junyan <junyan.he@hotmail.com>
785
786         * gst-libs/gst/vaapi/gstvaapiutils.c:
787           libs: utils: Add HEVC Main444 sting in string_of_VAProfile
788           HEVCMain444_10 is already a supported profile and misses the strings.
789
790 2020-03-17 12:47:33 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
791
792         * gst/vaapi/gstvaapi.c:
793           plugin: don't error if cannot create display
794           This might generated errors on automatic tools such as CI. Let's
795           rather just raise a warning and let continue.
796
797 2020-03-09 01:52:57 +0800  He Junyan <junyan.he@hotmail.com>
798
799         * tests/check/meson.build:
800           test: fix a ninja test failure for vaapioverlay.
801           That test case only works with drm display, so the build such as
802           meson -Dwith_x11=yes -Dwith_wayland=no -Dwith_drm=no -Dwith_egl=no
803           -Dwith_glx=no
804           gets a failure when run ninja test. Just enable this test when drm
805           is enabled.
806
807 2020-02-07 23:56:13 +0800  He Junyan <junyan.he@hotmail.com>
808
809         * gst-libs/gst/vaapi/gstvaapivideopool.c:
810           libs: videopool: fix a condition race for pool allocate.
811
812 2020-03-05 13:22:23 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
813
814         * gst/vaapi/gstvaapivideobufferpool.c:
815           vaapivideobufferpool: force video meta if sizes are different
816           The strides and offsets could be the same, but the allocation
817           size might be different (e.g. alignment).  Thus, ensure we also
818           set the flag to copy from VA memory to system memory when alloc
819           size differs.
820           Fixes #243
821
822 2020-03-05 14:18:32 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
823
824         * gst/vaapi/gstvaapidecode.c:
825           vaapidecode: don't set base sink caps twice
826           Base class's sink pad caps are already set when calling set_format().
827           There's no need to call it again in gst_vaapidecode_negotiate().
828
829 2020-03-05 13:26:38 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
830
831         * gst/vaapi/gstvaapidecode.c:
832           vaapidecode: unlock stream if caps update fails
833           If caps update fail a dead lock occurs since the stream mutex is not
834           unlocked.
835
836 2020-03-03 15:24:32 +0800  Xu Guangxin <guangxin.xu@intel.com>
837
838         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
839           libs: decoder: h265: parser state after update dependent slice
840           If the dependent_slice_segment_flag is true, most slice info derived from last slice.
841           So we need check the slice type after we call populate_dependent_slice_hdr
842
843 2020-02-16 12:21:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
844
845         * gst-libs/gst/vaapi/gstvaapidisplay.c:
846         * gst-libs/gst/vaapi/gstvaapidisplay.h:
847           libs: display: force RGBA image format for i965 driver
848           Since commit 32bf6f1e GLTextureUpload is broken because i965
849           doesn't report properly RGBA support. It could be possible to use RGBx
850           but GLTextureUpload only regotiates RGBA.
851           The simplest fix to this regression is adding synthetically the RGBA
852           format in the internal format map.
853
854 2020-02-14 19:30:54 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
855
856         * gst-libs/gst/vaapi/gstvaapidisplay.c:
857           libs: display: iterate all quirks table
858           Instead of break at the fist foud quirk in the table, iterate all over
859           so it would be feasible to add several quirks for one driver per
860           element in array.
861
862 2020-02-25 12:05:28 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
863
864         * gst-libs/gst/vaapi/gstvaapifilter.c:
865           libs: filter: handle RGB to/from YUV color primary driver quirk
866           The intel-media-driver (iHD) can't convert output color
867           primaries when doing YUV to/from RGB CSC.  Thus, we must
868           keep the output color primaries the same as the input
869           color primaries for this case.
870           fixes #238
871
872 2020-02-25 12:00:36 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
873
874         * gst-libs/gst/vaapi/gstvaapidisplay.c:
875         * gst-libs/gst/vaapi/gstvaapidisplay.h:
876           libs: display: add YUV to/from RGB color primary quirk
877           The intel-media-driver (iHD) can't convert output color
878           primaries when doing YUV to/from RGB CSC.
879
880 2020-02-28 11:33:18 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
881
882         * gst/vaapi/gstvaapivideomemory.c:
883           Revert "vaapivideomemory: Store surface allocation flags."
884           This reverts commit dd428cc4a12c2d5c694fcd3303811cf486002c9d because
885           it rewrites the buffer size whilst surface allocation flags are
886           stored when allocator_params_init() is called since fab890ce.
887           Fix: #239
888
889 2020-01-27 18:19:57 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
890
891         * gst/vaapi/gstvaapivideomemory.c:
892           vaapivideomemory: Try surface with allocation flags.
893           When a vaapi allocator is instantiated, it first try to generate a
894           surface with the specified configuration.
895           This patch adds, in this tried buffer, the requested allocation flags.
896
897 2020-01-27 18:10:18 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
898
899         * gst/vaapi/gstvaapivideomemory.c:
900           vaapivideomemory: Store surface allocation flags.
901           Store surface allocation flags passed to the vaapi allocator in
902           GObject's qdata, because it might be used by the vaapivideobufferpool
903           when recreating the allocator given any resolution change.
904
905 2020-01-24 19:32:52 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
906
907         * gst-libs/gst/vaapi/gstvaapisurface.c:
908         * gst-libs/gst/vaapi/gstvaapisurface.h:
909           libs: surface: Add hints to allocation flags.
910           When creating surfaces it is possible to pass to VA hints of its usage,
911           so the driver may do some optimizations.
912           This commit adds the handling of encoding/decoding hints.
913
914 2020-01-24 22:08:50 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
915
916         * gst-libs/gst/vaapi/gstvaapicontext.c:
917         * gst-libs/gst/vaapi/gstvaapisurface.c:
918         * gst-libs/gst/vaapi/gstvaapisurface.h:
919         * gst-libs/gst/vaapi/gstvaapisurface_egl.c:
920         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
921         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
922         * gst-libs/gst/vaapi/gstvaapiwindow.c:
923         * tests/internal/test-filter.c:
924         * tests/internal/test-surfaces.c:
925           libs: surface: surfacepool: Add allocation flags in constructors.
926
927 2020-02-22 16:06:13 +0800  He Junyan <junyan.he@hotmail.com>
928
929         * meson.build:
930           build: let the build fail if none if X11, wayland or drm.
931           In fact, gst_vaapi_create_test_display only test x11, wayland and
932           drm, no glx and egl entries. So if none of them is enabled, no
933           vaapi element can be detected.
934
935 2020-02-21 00:58:47 +0800  He Junyan <junyan.he@hotmail.com>
936
937         * tests/internal/test-display.c:
938           test: avoid unused warning for test-display
939           meson -Dwith_x11=yes -Dwith_wayland=no -Dwith_drm=no -Dwith_egl=no
940           -Dwith_glx=no buildir
941           generate unused warnings.
942
943 2020-02-21 00:50:47 +0800  He Junyan <junyan.he@hotmail.com>
944
945         * meson.build:
946           build: fix meson build error when without x11.
947           meson -Dwith_x11=no build_dir
948           can not success build the project because the glx is still enabled.
949           We need to disable GLX when X11 is disabled.
950
951 2020-02-14 19:53:09 +0800  Haihao Xiang <haihao.xiang@intel.com>
952
953         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
954           libs: h265enc: Set max_transform_hierarchy_depth_{inter, intra} to 2
955           Intel HW has limitation on max_transform_hierarchy_depth_inter and
956           max_transform_hierarchy_depth_intra (see [1]). We can provide a quirk for
957           other HWs if other HWs may support other values
958           [1] https://01.org/sites/default/files/documentation/intel-gfx-prm-osrc-kbl-vol10-hevc.pdf
959
960 2020-02-21 07:37:50 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
961
962         * gst/vaapi/gstvaapipostproc.c:
963         * gst/vaapi/gstvaapipostprocutil.c:
964           vaapipostproc: do not compensate for crop/direction if no VPP
965           If we do not have functional VPP, then cropping and video
966           direction is non-functional and we should avoid calling
967           any of the gst_vaapi_filter* APIs.
968
969 2020-02-21 06:54:47 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
970
971         * gst/vaapi/gstvaapipostproc.c:
972           vaapipostproc: only set VPP colorimetry when VPP is available
973           If we don't have functional vpp then we should not call
974           gst_vaapi_filter_set_colorimetry.
975
976 2020-02-16 01:25:37 +0800  He Junyan <junyan.he@hotmail.com>
977
978         * gst/vaapi/gstvaapivideobufferpool.c:
979         * gst/vaapi/gstvaapivideomemory.c:
980         * gst/vaapi/gstvaapivideomemory.h:
981           videobufferpool: don't reset surface when created internally
982           The bug fixing, in commit 89f202ea, just considers the case when
983           surface's DMABuf is set through gst_buffer_pool_acquire_buffer(),
984           which is typically a decoder's behavior. But vaapipostproc doesn't
985           provide any surface when calling gst_buffer_pool_acquire_buffer(),
986           thus a surface is created when GstMemory is allocated.
987           If the surface proxy in buffer's meta is reset at
988           buffer_pool_reset_buffer(), that surface will be destroyed and it
989           won't be available anymore. But GstBuffers are cached in the buffer
990           pool and they are reused again, hence only those images are rendered
991           repeatedly.
992           Fixes: #232
993
994 2020-02-16 17:19:04 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
995
996         * gst-libs/gst/vaapi/gstvaapiblend.c:
997         * gst-libs/gst/vaapi/gstvaapifilter.c:
998         * gst/vaapi/gstvaapi.c:
999           libs: blend: filter: handle finalize() if display isn't assigned
1000           I've just discovered iHD driver in Skylake doesn't have VideoProc
1001           entry point, hence, in this platform, when vaapioverlay is tried to be
1002           registered, critical warnings are raised because blend doesn't have a
1003           display assigned.
1004           As it is possible to have drivers without EntryPointVideoProc it is
1005           required to handle it gracefully. This patch does that: only tries to
1006           register vaapioverlay if the testing display has VPP and finalize()
1007           vmethods, in filter and blend, bail out if display is NULL.
1008
1009 2020-02-15 11:02:49 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
1010
1011         * gst-libs/gst/vaapi/gstvaapifilter.c:
1012         * gst-libs/gst/vaapi/gstvaapiutils.c:
1013           libs: filter: guard all color properties to VA-API 1.2.0
1014           Older VA-API (0.39.0) doesn't have VAProcColorProperties.
1015           Thus, guard all colorimetry -> VA-API support to version
1016           1.2.0.
1017           Fixes #234
1018
1019 2020-02-17 08:55:36 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1020
1021         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
1022           libs: decoder: h265: set parser info state at decoding codec data
1023           Commit 1168d6d5 showed up a regression: decode_sps() stores the unit's
1024           parser info in sps array. If that parser info comes from decoding
1025           codec data, that parser info will have an undefined state which might
1026           break ensure_sps().
1027           This patch sets the parser info state, at decoding codec data, with
1028           the internal parser state. This is similar with h264 decoder apprach.
1029           Original-patch-by: Xu Guangxin <guangxin.xu@intel.com>
1030
1031 2020-02-07 15:24:18 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1032
1033         * gst/vaapi/gstvaapipostproc.c:
1034           vaapipostproc: demote log message to trace level
1035
1036 2020-02-14 14:45:56 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1037
1038         * gst-libs/gst/vaapi/video-format.c:
1039           libs: video-format: set general vaapi log category
1040           Instead of logging in an unspecified category, set the default vaapi.
1041
1042 2020-02-15 11:44:48 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
1043
1044         * gst-libs/gst/vaapi/gstvaapiutils.c:
1045           libs: utils: guard EncSliceLP for VA-API < 0.39.1
1046           Relates to #234
1047
1048 2020-02-14 16:17:04 +0800  Haihao Xiang <haihao.xiang@intel.com>
1049
1050         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1051           libs: h265enc: Set VA_PICTURE_HEVC_INVALID flag for invalid picture
1052
1053 2020-02-11 11:31:31 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1054
1055         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
1056         * gst-libs/gst/vaapi/gstvaapidisplay.c:
1057         * gst-libs/gst/vaapi/gstvaapiencoder.c:
1058           libs: remove crumbs of libva < 0.39
1059           All these guarded code seem like leftovers of commit 920b1ec7a. This
1060           patch completes that missing clean up.
1061
1062 2020-02-11 00:38:40 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
1063
1064         * gst-libs/gst/vaapi/gstvaapifilter.c:
1065         * gst-libs/gst/vaapi/gstvaapiutils.c:
1066           libs: VA explicit color standard not supported until 1.2.0
1067           VAProcColorStandardExplicit and associated VAProcColorProperties
1068           (primaries, transfer and matrix) are not supported until
1069           VA-API 1.2.0.
1070           Use VAProcColorStandardNone instead of VAProcColorStandardExplicit
1071           if VA-API < 1.2.0.
1072           Fixes #231
1073
1074 2020-02-10 09:31:15 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
1075
1076         * gst-libs/gst/vaapi/gstvaapiutils.c:
1077           libs: utils: WA: use explicit for sRGB colorimetry
1078           Addresses #228 on iHD side.  It seems iHD can't handle
1079           VAProcColorStandardSRGB in all situations for vpp.  But
1080           it has no problem when we specify the sRGB parameters
1081           via VAProcColorStandardExplicit parameters.
1082
1083 2020-02-07 11:25:31 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
1084
1085         * gst-libs/gst/vaapi/gstvaapifilter.c:
1086           libs: filter: set vpp input/output color range
1087           We've always sent VA_SOURCE_RANGE_UNKNOWN to the driver.
1088           And, the [iHD] driver essentially computes the same color
1089           range as gstreamer when we send VA_SOURCE_RANGE_UNKNOWN for
1090           cases were gstreamer computes it automatically.  But,
1091           if the user wants to make it explicit, we should try
1092           to honor it.
1093
1094 2020-02-07 11:20:11 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
1095
1096         * gst-libs/gst/vaapi/gstvaapiutils.c:
1097         * gst-libs/gst/vaapi/gstvaapiutils.h:
1098           libs: utils: map GstVideoColorRange to VAAPI VPP
1099
1100 2020-02-07 15:28:24 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1101
1102         * gst/vaapi/gstvaapidecode.c:
1103           vaapidecode: don't remove chroma-site nor colorimetry
1104           Since now they can be handled by vaapipostproc.
1105
1106 2020-02-04 14:17:43 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
1107
1108         * gst/vaapi/gstvaapipostprocutil.c:
1109           vaapipostproc: use sink resolution to calculate src colorimetry
1110           The default output colorimetry is persuaded by the output
1111           resolution, which is too naive when doing VPP cropping
1112           and/or scaling.  For example, scaling 4K(sink)->1080P(src)
1113           resolution (i.e. both YUV) results in bt2020(sink)->bt709(src)
1114           colorimetry selection and some drivers don't support that
1115           mode in vpp.
1116           Thus, if output (i.e. downstream) does not specify a
1117           colorimetry then we use the input resolution instead of the
1118           output resolution to create the default colorimetry.  Also,
1119           note that we still use the output format since it may be a
1120           different color space than the input.  As in the example
1121           above, this will result in bt2020(sink)->bt2020(src)
1122           colorimetry selection and all drivers (afaik) should support
1123           that in vpp.
1124
1125 2020-02-04 09:57:42 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
1126
1127         * gst/vaapi/gstvaapipostprocutil.c:
1128           vaapipostproc: set srcpad colorimetry unconditionally
1129           We always need a srcpad colorimetry for VAAPI VPP
1130           operations.
1131           Also, check the return value of _set_colorimetry.
1132
1133 2020-01-30 12:34:07 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
1134
1135         * gst/vaapi/gstvaapipostprocutil.c:
1136           vaapipostproc: do not override explicit srcpad colorimetry
1137           If colorimetry has been set by a capsfilter (e.g.
1138           vaapipostproc ! video/x-raw,colorimetry=bt709) then
1139           don't try to override it.  Previously, the aforementioned
1140           capsfilter will fail to negotiate if default colorimetry
1141           is not the same as the capsfilter (e.g. 4K resolutions).
1142
1143 2020-01-30 09:37:18 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
1144
1145         * gst/vaapi/gstvaapipostproc.c:
1146           vaapipostproc: set vpp filter colorimetry
1147           Set the input and output colorimetry for vpp filter.
1148
1149 2020-01-30 09:34:10 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
1150
1151         * gst-libs/gst/vaapi/gstvaapifilter.c:
1152         * gst-libs/gst/vaapi/gstvaapifilter.h:
1153           libs: filter: support vpp input/output color standard
1154           Add API function to allow setting the input and output vpp
1155           color standard from GstVideoColorimetry.
1156
1157 2020-02-04 11:32:54 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
1158
1159         * gst-libs/gst/vaapi/gstvaapiutils.c:
1160         * gst-libs/gst/vaapi/gstvaapiutils.h:
1161           libs: utils: map GstVideoColorimetry to VAAPI VPP
1162           Fallback to VAProcColorStandardExplicit if there is no
1163           1:1 mapping.
1164
1165 2020-02-04 10:27:23 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
1166
1167         * gst-libs/gst/vaapi/gstvaapidisplay.c:
1168         * gst-libs/gst/vaapi/gstvaapidisplay.h:
1169           libs: display: add vpp color standard quirk for i965 driver
1170           The i965 does not properly report supported vpp color
1171           standards.
1172
1173 2020-02-02 18:04:35 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1174
1175         * gst/vaapi/gstvaapivideobufferpool.c:
1176           vaapivideobufferpool: dmabuf implies allocator
1177           Some code can be optimized since only if the dmabuf allocator is set,
1178           the internal flag of dmabuf is TRUE, thus there's no need to evaluate
1179           the allocator address.
1180
1181 2020-01-29 11:55:39 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1182
1183         * gst/vaapi/gstvaapivideobufferpool.c:
1184           vaapivideobufferpool: reject configuration if allocator isn't vaapi
1185           If the requested allocator in set_config() is not a VAAPI valid one,
1186           reject the configuration, instead of lying and using a private one.
1187           This patch superseeds !254 and !24
1188
1189 2020-01-29 11:55:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1190
1191         * gst/vaapi/gstvaapivideobufferpool.c:
1192           vaapivideobufferpool: add explanation for allocator reconfig
1193
1194 2020-01-29 11:54:38 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1195
1196         * gst/vaapi/gstvaapivideobufferpool.c:
1197           vaapivideobufferpool: check for vaapi meta first
1198           If the configured meta doesn't request vaapi meta then it is not a
1199           vaapi buffer pool. Bail out as soon as possible.
1200
1201 2020-01-29 11:52:38 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1202
1203         * gst/vaapi/gstvaapivideobufferpool.c:
1204           vaapivideobufferpool: turn errors into warnings
1205           set_config() vmethod should fail gracefully, thus upstream could
1206           negotiate another pool if possible.
1207           Instead of sending error messages to the bus, let demote the level
1208           to warning.
1209
1210 2020-01-29 11:51:47 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1211
1212         * gst-libs/gst/vaapi/gstvaapidisplay.c:
1213           libs: display: log out vendor string when available
1214           This is useful while asking for logs to know the used driver.
1215
1216 2020-01-27 11:49:26 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1217
1218         * gst-libs/gst/vaapi/gstvaapisurface.c:
1219           libs: surface: initialize VASurfaceAttribExternalBuffers
1220           Initialize VASurfaceAttribExternalBuffers using compiler's syntax
1221           rather than using memset().
1222
1223 2020-01-27 11:44:49 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1224
1225         * gst-libs/gst/vaapi/gstvaapisurface.c:
1226           libs: surface: merge two loops into one
1227           Merge two loops into one for setting offsets and strides in the
1228           external buffer descriptor.
1229
1230 2020-01-22 10:42:35 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1231
1232         * gst-libs/gst/vaapi/gstvaapisurface.c:
1233         * gst-libs/gst/vaapi/gstvaapisurface.h:
1234         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
1235         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
1236           libs: surface: surfacepool: rename variable for clearity
1237           In order to be readable, the meaningless 'flags' is renamed to
1238           surface_allocation_flags, which is clearer.
1239
1240 2020-01-27 18:40:46 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1241
1242         * gst/vaapi/gstvaapivideobufferpool.c:
1243           vaapivideobufferpool: Reuse internal allocator is possible.
1244           Instead of creating a new allocator when upstream requests a different
1245           allocator, this patch tries to reuse the internal allocator if it was
1246           already initializated.
1247           If the stream changes, then either one will be unref and a new
1248           allocator is created.
1249
1250 2020-01-27 18:05:14 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1251
1252         * gst/vaapi/gstvaapivideobufferpool.c:
1253           vaapivideobufferpool: Log messages in proper category.
1254           The log messages where logged in the GstBufferPool category because
1255           the instance was not properly casted. This fix that situation.
1256
1257 2020-01-16 11:49:21 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1258
1259         * gst-libs/gst/vaapi/gstvaapidisplay.c:
1260         * gst-libs/gst/vaapi/gstvaapidisplay.h:
1261         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
1262         * gst/vaapi/gstvaapipluginbase.c:
1263           libs: display: driver quirks mechanism
1264           This mechanism comes from ffmpeg vaapi implementation, where they have
1265           their own quirks.
1266           A specific driver is identified by a substring present in the vendor
1267           string. If that substring is found, a set of bitwise flags are store.
1268           These flags can be accessed through the function
1269           gst_vaapi_display_has_driver_quirks().
1270           The purpose for this first quirks is to disable the put image try for
1271           AMD Gallium driver (see [1]).
1272           1. https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/merge_requests/72
1273
1274 2020-01-15 23:07:29 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1275
1276         * gst/vaapi/gstvaapipluginutil.c:
1277           plugins: renable Mesa Gallium driver
1278
1279 2020-01-24 11:55:22 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1280
1281         * gst/vaapi/gstvaapivideobufferpool.c:
1282           vaapivideobufferpool: validate returned meta
1283           Validate if the meta returned by gst_buffer_get_vaapi_video_meta() in
1284           the acquired buffer is not null.
1285           This situation should be very "pathological", but still it is better
1286           be safe since that meta might be used later to create a new dma
1287           buffer.
1288
1289 2020-01-22 18:50:36 +0100  Philipp Zabel <p.zabel@pengutronix.de>
1290
1291         * gst/vaapi/gstvaapivideobufferpool.c:
1292           vaapivideobufferpool: always update/release the underlying surface proxy
1293           gst_vaapi_video_buffer_pool_reset_buffer() is called when the sink
1294           releases the last reference on an exported DMA buffer. This should
1295           release the underlying surface proxy. To avoid releasing the wrong
1296           surface due to a stale surface proxy reference in the buffer's
1297           GstVaapiVideoMeta, always update the reference to the correct surface
1298           in gst_vaapi_video_buffer_pool_acquire_buffer().
1299
1300 2020-01-23 16:56:44 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1301
1302         * gst-libs/gst/vaapi/gstvaapicontext.c:
1303         * gst-libs/gst/vaapi/gstvaapicontext.h:
1304         * gst-libs/gst/vaapi/gstvaapisurface.c:
1305         * gst-libs/gst/vaapi/gstvaapisurface.h:
1306           libs: context: select vaCreateSurfaces version according attributes
1307           This commit tries to centralize the selection of vaCreateSurfaces
1308           version, instead of having fallbacks everywhere.
1309           These fallbacks are hacks, added because new drivers use the latest
1310           version of vaCreateSurfaces (with surface attributes) [1], meanwhile
1311           old drivers (or profiles as JPEG decoder in i965) might rather use the
1312           old version.
1313           In order to select which method, there's detected hack: each config
1314           context has a list of valid formats, in the case of JPEG decoder the
1315           list only contains "rare" 4:2:2 formats (ICM3, GRAY8) which aren't
1316           handled correctly by the current gstreamer-vaapi code [2].
1317           The hack consist in identify if the format list contains an arbitrary
1318           preferred format (which is suposedly well supported by
1319           gstreamer-vaapi, mostly NV12). If no prefered colour format is found,
1320           the the old version of vaCreateSurfaces is used, and the surfaces wil
1321           be mapped into a image with their own color format.
1322           1. https://bugzilla.gnome.org/show_bug.cgi?id=797143
1323           2. https://bugzilla.gnome.org/show_bug.cgi?id=797222
1324
1325 2020-01-21 19:35:02 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1326
1327         * gst-libs/gst/vaapi/gstvaapicontext.c:
1328           libs: context: add debug category for context
1329
1330 2020-01-22 20:20:30 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1331
1332         * gst-libs/gst/vaapi/gstvaapiblend.c:
1333           libs: blend: guard VA_BLEND_GLOBAL_ALPHA
1334
1335 2020-01-21 14:09:33 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1336
1337         * gst/vaapi/gstvaapiencode_h264.c:
1338           vaapiencode: promote info to warning
1339           Let's notify user about using constrained-baseline instead on
1340           requested basline profile.
1341
1342 2019-06-28 15:41:16 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
1343
1344         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
1345         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
1346         * gst/vaapi/gstvaapidecode.c:
1347         * gst/vaapi/gstvaapidecode_props.c:
1348         * gst/vaapi/gstvaapidecode_props.h:
1349           vaapih264dec: Add a property to assume constrained-baseline
1350           When baseline-as-constrained is set, the decoder will expose support
1351           for baseline decoding and assume that the baseline content is
1352           constrained-baseline. This can be handy to decode streams in hardware
1353           that would otherwise not be possible to decode. A lot of baseline
1354           content is in fact constrained.
1355
1356 2020-01-17 16:19:52 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1357
1358         * gst/vaapi/gstvaapiencode_h264.c:
1359         * gst/vaapi/gstvaapipluginutil.c:
1360           vaapih264enc: accept baseline as constrained baseline compatible
1361
1362 2020-01-17 14:24:37 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1363
1364         * gst/vaapi/gstvaapiencode_h264.c:
1365           vaapih264enc: update level in src caps
1366           And, if downstream requests a specific level, the caps are not
1367           negotiated, because there is no mechanism right now to specify a
1368           custom level in the internal encoder.
1369
1370 2020-01-17 17:12:53 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1371
1372         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1373           libs: encoder: h264: document gst_vaapi_encoder_h264_supports_avc()
1374
1375 2020-01-17 13:38:29 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1376
1377         * gst/vaapi/gstvaapiencode_h264.c:
1378           vaapih264enc: force byte-stream if avc isn't supported
1379           Removing the validation in gst_vaapiencode_h264_get_caps() since that
1380           ought be handled in gst_vaapiencode_h264_set_config()
1381
1382 2020-01-08 17:37:22 +0100  Philipp Zabel <p.zabel@pengutronix.de>
1383
1384         * gst/vaapi/gstvaapiencode_h264.c:
1385           vaaph264enc: suppress avc if the driver does not support packed headers
1386           Do not negotiate AVC output if the driver does not support it.
1387
1388 2020-01-08 17:16:35 +0100  Philipp Zabel <p.zabel@pengutronix.de>
1389
1390         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1391         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
1392           libs: encoder: h264: Add gst_vaapi_encoder_h264_supports_avc()
1393           AVC output requires packed header support in the driver.
1394
1395 2020-01-17 13:07:04 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1396
1397         * gst/vaapi/gstvaapiencode_h264.c:
1398           vaapih264enc: intersect the new proposed caps
1399           Instead of just leave to keep the proposed caps, with the best profile
1400           in the allowed caps, is its intersected again.
1401
1402 2020-01-17 12:58:58 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1403
1404         * gst/vaapi/gstvaapiencode_h264.c:
1405           vaapih264enc: propose new profile caps and fixate it
1406           When the available caps doesn't intersect with the allowed caps in the
1407           pipeline, a new caps is proposed rather than just expecting to
1408           iterate.
1409           Later, the intersected caps (profile_caps) is fixated in order to
1410           extract the configuration.
1411
1412 2020-01-17 13:18:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1413
1414         * gst/vaapi/gstvaapiencode_h264.c:
1415           vaapih264enc: common fail for gst_vaapiencode_h264_set_config()
1416           Add a common fail code path for gst_vaapiencode_h264_set_config().
1417
1418 2020-01-17 12:54:21 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1419
1420         * gst-libs/gst/vaapi/gstvaapiencoder.c:
1421           libs: encoder: unref formats array if none
1422           The formats array is always created, in order to keep the logic and
1423           to avoid broken caps, if this formats array doesn't contain any
1424           elements, it has to be unref and the function should return NULL.
1425
1426 2020-01-17 14:22:48 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1427
1428         * gst/vaapi/gstvaapiencode_h264.c:
1429           vaapih264enc: fix log message
1430           Before the log wasn't processed because wrong instance pointer.
1431
1432 2019-06-22 00:44:25 +0800  He Junyan <junyan.he@hotmail.com>
1433
1434         * gst-libs/gst/vaapi/gstvaapiencoder.c:
1435         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1436         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
1437         * gst/vaapi/gstvaapiencode_h265.c:
1438           plugin: encode: Add H265 main-444 profile.
1439           Expose the main-444 profile to h265enc caps, when the upstream
1440           chooses to use VUYA as input, we choose main 4:4:4 profile to encode
1441           the frames.
1442
1443 2020-01-15 19:36:00 +0800  He Junyan <junyan.he@hotmail.com>
1444
1445         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1446           libs: encoder: h265: Consider main-444 profile when encoding.
1447           Add support of main-444 profile for parameter setting and packed header
1448           generation.
1449
1450 2020-01-15 23:04:08 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1451
1452         * gst-libs/gst/vaapi/gstvaapiencoder.c:
1453         * gst-libs/gst/vaapi/gstvaapiencoder.h:
1454         * gst-libs/gst/vaapi/gstvaapiprofilecaps.c:
1455         * gst-libs/gst/vaapi/gstvaapiprofilecaps.h:
1456         * gst/vaapi/gstvaapiencode.c:
1457           vaapiencode: DMABuf only if PRIME is available
1458           Add DMABuf capsfeature in encoders' allowed sinkcaps only if PRIME
1459           memory type is available in the VA surface attributes of codec
1460           context.
1461
1462 2020-01-16 09:14:30 +0800  Haihao Xiang <haihao.xiang@intel.com>
1463
1464         * hooks/pre-commit.hook:
1465           Add hooks/pre-commit.hook
1466           meson.build in gstreamer-vaapi requires hooks/pre-commit.hook
1467           Copied and pasted pre-commit.hook from other gstreamer modules to make
1468           sure gstreamer-vaapi follows the same code style
1469
1470 2019-12-26 16:45:51 +0800  He Junyan <junyan.he@hotmail.com>
1471
1472         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1473           libs: encoder: h265: Set encoder paramters base on entrypoint.
1474           When the tune is NONE, we now can choose entrypoint freely. So the
1475           GST_VAAPI_ENCODER_TUNE macro may not return the correct current
1476           entrypoint.
1477           We also delay CTU size calculation after entrypoint has been decided.
1478
1479 2019-12-28 19:18:12 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1480
1481         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.c:
1482         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.h:
1483         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy_priv.h:
1484         * gst-libs/gst/vaapi/gstvaapicontext.c:
1485         * gst-libs/gst/vaapi/gstvaapicontext.h:
1486         * gst-libs/gst/vaapi/gstvaapidisplay.c:
1487         * gst-libs/gst/vaapi/gstvaapiencoder.c:
1488         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
1489         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.h:
1490         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
1491         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
1492         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
1493         * gst-libs/gst/vaapi/gstvaapifei_objects.c:
1494         * gst-libs/gst/vaapi/gstvaapifei_objects.h:
1495         * gst-libs/gst/vaapi/gstvaapifei_objects_priv.h:
1496         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
1497         * gst-libs/gst/vaapi/gstvaapifeienc_h264.h:
1498         * gst-libs/gst/vaapi/gstvaapifeipak_h264.c:
1499         * gst-libs/gst/vaapi/gstvaapifeipak_h264.h:
1500         * gst-libs/gst/vaapi/gstvaapifeiutils_h264.c:
1501         * gst-libs/gst/vaapi/gstvaapifeiutils_h264.h:
1502         * gst-libs/gst/vaapi/gstvaapiprofile.c:
1503         * gst-libs/gst/vaapi/gstvaapiprofile.h:
1504         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
1505         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
1506         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
1507         * gst-libs/gst/vaapi/meson.build:
1508         * gst/vaapi/gstvaapi.c:
1509         * gst/vaapi/gstvaapiencode.c:
1510         * gst/vaapi/gstvaapiencode.h:
1511         * gst/vaapi/gstvaapiencode_h264_fei.c:
1512         * gst/vaapi/gstvaapiencode_h264_fei.h:
1513         * gst/vaapi/gstvaapifeivideometa.c:
1514         * gst/vaapi/gstvaapifeivideometa.h:
1515         * gst/vaapi/meson.build:
1516         * meson.build:
1517         * tests/internal/meson.build:
1518         * tests/internal/test-fei-enc-in.c:
1519         * tests/internal/test-fei-enc-out.c:
1520           Remove all FEI related
1521           FEI encoders are not actively mantained neither tested, and it is
1522           using infrastructure that is changing and FEI is stopping this
1523           effort.
1524           Also it is required to rethink how FEI can be used in GStreamer.
1525
1526 2020-01-14 11:17:49 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
1527
1528         * gst/vaapi/gstvaapioverlay.c:
1529           vaapioverlay: ensure sinkpad has current buffer
1530           Use the gst_video_aggregator_pad_has_current_buffer API
1531           to check if the current sinkpad has a queued buffer before
1532           attempting to obtain a input buffer from the base plugin.
1533           If the sinkpad does not have a current buffer, then it is
1534           either not producing them yet (e.g. current time < sinkpad
1535           start time) or it has reached EOS.
1536           Previously, we only handled EOS case.
1537           Example:
1538           gst-launch-1.0 videotestsrc num-buffers=100 \
1539           ! vaapipostproc ! vaapioverlay name=overlay \
1540           ! vaapisink videotestsrc timestamp-offset=1000000000 \
1541           num-buffers=100 ! video/x-raw,width=160,height=120 \
1542           ! overlay.
1543
1544 2020-01-14 18:57:31 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1545
1546         * gst/vaapi/gstvaapioverlay.c:
1547           vaapioverlay: unroll the recursive call
1548           Recursive functions are elegant but dangerous since they might
1549           overflow the stack. It is better to turn them into a list tranversal
1550           if possible, as this case.
1551
1552 2020-01-14 18:46:49 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1553
1554         * gst-libs/gst/vaapi/gstvaapiblend.c:
1555         * gst/vaapi/gstvaapioverlay.c:
1556           vaapioverlay: add minimal documentation
1557
1558 2020-01-14 18:25:11 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1559
1560         * gst-libs/gst/vaapi/gstvaapiblend.c:
1561         * gst-libs/gst/vaapi/gstvaapiblend.h:
1562         * gst/vaapi/gstvaapioverlay.c:
1563           libs: blend: simplify generator API
1564           Instead of using a parent structure that has to be derived by API
1565           consumers, this change propse a simplification by using the common
1566           pattern of GTK of passing a function pointer and user data which will
1567           be passed as its parameter. That user data contains the state and the
1568           function will be called to update that state.
1569
1570 2020-01-10 10:14:38 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
1571
1572         * gst-libs/gst/vaapi/gstvaapiblend.c:
1573         * gst-libs/gst/vaapi/gstvaapiblend.h:
1574           libs: blend: remove begin/render/end API
1575           This API was risky and is superseded by the surface
1576           generator (process) API.
1577           Resolves #219
1578
1579 2020-01-10 10:12:36 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
1580
1581         * gst/vaapi/gstvaapioverlay.c:
1582           vaapioverlay: use blend surface generator API
1583           See #219
1584
1585 2020-01-10 09:54:30 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
1586
1587         * gst-libs/gst/vaapi/gstvaapiblend.c:
1588         * gst-libs/gst/vaapi/gstvaapiblend.h:
1589           libs: blend: add surface generator API
1590           This new API allows the user to call a single method (process)
1591           which handles the [display] lock/unlock logic internally for
1592           them.
1593           This API supersedes the risky begin, render, end API.
1594           It eliminates the need for the user to call a lock method
1595           (process_begin) before processing the input buffers
1596           (process_render) and calling an unlock method (process_end)
1597           afterwards.
1598           See #219
1599
1600 2019-12-23 14:29:08 +0800  He Junyan <junyan.he@hotmail.com>
1601
1602         * gst-libs/gst/vaapi/gstvaapiencoder.c:
1603         * gst-libs/gst/vaapi/gstvaapiencoder.h:
1604         * gst/vaapi/gstvaapiencode.c:
1605         * gst/vaapi/gstvaapiencode.h:
1606         * gst/vaapi/gstvaapiencode_h264.c:
1607         * gst/vaapi/gstvaapiencode_h265.c:
1608           plugin: encode: List all possible profiles to detect input formats.
1609           The current get_profile just return one possible profile for the encode,
1610           which is not enough.  For example, if we want to support HEVC 4:4:4
1611           profile, the input of encode should be VYUA rather than NV12 in HEVC
1612           main profile. So the command line:
1613           gst-launch-1.0 videotestsrc num-buffers=200 ! capsfilter \
1614           caps=video/x-raw,format=VUYA,width=800,height=600 ! vaapih265enc \
1615           tune=low-power init-qp=30 ! fakesink
1616           can not work because vaapih265enc just report NV12 in sink caps, we need
1617           to specify the profile obviously like:
1618           gst-launch-1.0 videotestsrc num-buffers=200 ! capsfilter \
1619           caps=video/x-raw,format=VUYA,width=800,height=600 ! vaapih265enc \
1620           tune=low-power init-qp=30 ! capsfilter caps=video/x-h265, \
1621           profile=main-444 ! fakesink
1622           The encode should have the ability to choose the profile based on input
1623           format automatically. If the input video format is VUYA, the main-444
1624           profile should be auto choosed.
1625           We modify to let get_allowed_profiles of each encode sub class to return
1626           an array of all supported profiles based on downstream's allowed caps, or
1627           return NULL if no valid profiles specified by downstream.
1628           If no allowed profiles found, all profiles which belong to the current
1629           encoder's codec will be the candidates.
1630           The function gst_vaapi_encoder_get_surface_attributes collects the surface's
1631           attributes for that profile list we just get.
1632           So for this case, both NV12 and VUYA should be returned.
1633           TODO: some codec like VP9, need to implement the get_profile() function.
1634
1635 2020-01-08 15:07:36 +0800  He Junyan <junyan.he@hotmail.com>
1636
1637         * gst/vaapi/gstvaapipluginutil.c:
1638         * gst/vaapi/gstvaapipluginutil.h:
1639           plugin: util: add helper function to detect profiles in caps.
1640
1641 2020-01-08 15:04:18 +0800  He Junyan <junyan.he@hotmail.com>
1642
1643         * gst-libs/gst/vaapi/gstvaapiencoder.c:
1644         * gst-libs/gst/vaapi/gstvaapiencoder.h:
1645           libs: encoder: add a helper function to get all supported profiles
1646
1647 2020-01-13 15:34:54 +0900  Seungha Yang <seungha.yang@navercorp.com>
1648
1649         * gst-libs/gst/vaapi/gstvaapidecoder.c:
1650           libs: decoder: Don't unref null object
1651           ** (gst-launch-1.0:9789): CRITICAL **: 15:29:09.330:
1652           gst_vaapi_context_unref: assertion 'context != NULL' failed
1653
1654 2020-01-10 09:26:44 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
1655
1656         * gst/vaapi/gstvaapioverlay.c:
1657           plugins: overlay: use proper NULL check on double pointer
1658           Check the address of the variable is not NULL,
1659           not the address of the pointer.
1660
1661 2020-01-08 23:42:21 +0800  He Junyan <junyan.he@hotmail.com>
1662
1663         * gst-libs/gst/vaapi/gstvaapicodedbuffer_priv.h:
1664           libs: codedbuf: delete a useless field.
1665           The context field in GstVaapiCodedBuffer is not inited correctly
1666           and is never used, just delete it.
1667
1668 2019-12-29 17:57:52 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1669
1670         * gst/vaapi/gstvaapipluginutil.c:
1671           plugins: add iHD driver in whitelist
1672
1673 2020-01-02 21:02:40 +0800  He Junyan <junyan.he@hotmail.com>
1674
1675         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1676           libs: encoder: modify 265 SPS header's profile compatibility flag.
1677           Make the SPS profile compatibility flags more precisely conform to
1678           the HEVC Spec.
1679
1680 2020-01-06 19:39:06 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1681
1682         * tests/check/elements/vaapioverlay.c:
1683           test: vaapioverlay: bail test if not available
1684           vaapioverlay is only registered if the VA driver support the blend
1685           operation.
1686           This patch only executes the test if vaapioverlay is available,
1687           otherwise the test is bail out without raising an error.
1688
1689 2020-01-06 14:53:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1690
1691         * tests/check/elements/vaapioverlay.c:
1692           tests: vaapioverlay: force drm backend
1693
1694 2019-12-22 17:32:19 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1695
1696         * gst-libs/gst/vaapi/gstvaapiblend.c:
1697           libs: blend: update to new mini-object API
1698
1699 2019-11-19 13:48:22 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
1700
1701         * tests/check/elements/vaapioverlay.c:
1702         * tests/check/meson.build:
1703           tests: check: add basic vaapioverlay test
1704           Add test_overlay_position test to verify sink_1 input
1705           is overlayed onto sink_0 input at the appropriate
1706           position.
1707
1708 2019-11-14 12:03:57 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
1709
1710         * gst/vaapi/gstvaapi.c:
1711         * gst/vaapi/gstvaapioverlay.c:
1712         * gst/vaapi/gstvaapioverlay.h:
1713         * gst/vaapi/meson.build:
1714           plugins: add vaapioverlay plugin
1715           A plugin similar to the base compositor element but
1716           uses VA-API VPP blend functions to accelerate the
1717           overlay/compositing.
1718           Simple example:
1719           gst-launch-1.0 -vf videotestsrc ! vaapipostproc \
1720           ! tee name=testsrc ! queue \
1721           ! vaapioverlay sink_1::xpos=300 sink_1::alpha=0.75 \
1722           name=overlay ! vaapisink testsrc. ! queue ! overlay.
1723
1724 2019-11-14 12:02:19 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
1725
1726         * gst-libs/gst/vaapi/gstvaapiblend.c:
1727         * gst-libs/gst/vaapi/gstvaapiblend.h:
1728         * gst-libs/gst/vaapi/meson.build:
1729           libs: add a vaapi blend class
1730           Support for the VA-API VPP blend functions.
1731
1732 2019-11-14 11:54:59 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
1733
1734         * gst/vaapi/gstvaapipluginbase.c:
1735         * gst/vaapi/gstvaapipluginbase.h:
1736           plugins: base: add GstVideoAggregator subclass support
1737
1738 2020-01-05 19:32:16 +0800  He Junyan <junyan.he@hotmail.com>
1739
1740         * gst-libs/gst/vaapi/gstvaapiimage.c:
1741           libs: image: init all image fields correctly.
1742
1743 2020-01-06 17:41:53 +0100  Stéphane Cerveau <scerveau@collabora.com>
1744
1745         * gst/vaapi/gstvaapipostproc.c:
1746           doc: fix pipeline typo in vaapipostproc
1747
1748 2020-01-02 21:11:44 +0800  He Junyan <junyan.he@hotmail.com>
1749
1750         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1751           libs: encoder: modify 265 VPS header fields.
1752           vps_base_layer_internal_flag and vps_base_layer_available_flag
1753           have been clearly defined now.
1754
1755 2020-01-01 19:54:13 +0800  He Junyan <junyan.he@hotmail.com>
1756
1757         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
1758           libs: display: fix a resource leak in X11 pixmap format.
1759
1760 2020-01-02 18:00:21 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1761
1762         * gst-libs/gst/vaapi/gstvaapiprofilecaps.c:
1763         * gst-libs/gst/vaapi/gstvaapiprofilecaps.h:
1764           libs: utils: delete useless gst_vaapi_profile_caps_append_encoder.
1765
1766 2019-12-30 14:09:17 +0800  He Junyan <junyan.he@hotmail.com>
1767
1768         * gst-libs/gst/vaapi/gstvaapiencoder.c:
1769         * gst-libs/gst/vaapi/gstvaapiencoder.h:
1770         * gst/vaapi/gstvaapiencode.c:
1771           libs: encoder: get surfaces resolution the same time with formats.
1772           We can get all the information about the video format at one shot
1773           when we create the test context for getting the supported formats.
1774           The current way to get the width and height ranges are inefficient,
1775           since it calls the function gst_vaapi_profile_caps_append_encoder()
1776           and it creates another temporal context to detect the resolution
1777           information.
1778           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1779
1780 2019-12-28 17:42:55 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1781
1782         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
1783           libs: encoder: vp9: fix code style
1784
1785 2019-12-16 23:19:46 +0800  He Junyan <junyan.he@hotmail.com>
1786
1787         * gst-libs/gst/vaapi/gstvaapiencoder.c:
1788         * gst-libs/gst/vaapi/gstvaapiencoder.h:
1789         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1790         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1791         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
1792           libs: encoder: set entrypoint based on tune automatically
1793           Some profile, such as H265_MAIN_444 on new Intel platform, may only
1794           support ENTRYPOINT_SLICE_ENCODE_LP entrypoint. This leads two
1795           problems:
1796           1. We need to specify the tune mode like `vaapih265enc tune=low-power`
1797           every time when we need to use this kind of profile. Or we can not
1798           create the encoder context successfully.
1799           2. More seriously, we set the entrypoint to a fixed value in
1800           init_context_info() and so the create_test_context_config() can not
1801           create the test context for these profile and can not get the
1802           supported video formats, either.
1803           We now change the entrypoint setting based on the tune option of the
1804           encoder. If no tune property provided, we just choose the first
1805           available entrypoint.
1806
1807 2019-12-16 23:19:46 +0800  He Junyan <junyan.he@hotmail.com>
1808
1809         * gst-libs/gst/vaapi/gstvaapiencoder.c:
1810         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1811         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1812         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
1813         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
1814         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
1815         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
1816           libs: encoder: set context info profile by encoder
1817           Instead of init_context_info() setting the passed profile, it is
1818           assumed that it has to be set by each encoder.
1819           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1820
1821 2019-12-27 18:49:02 +0100  He Junyan <junyan.he@hotmail.com>
1822
1823         * gst-libs/gst/vaapi/gstvaapicontext.c:
1824         * gst-libs/gst/vaapi/gstvaapiprofile.h:
1825           libs: context: add invalid entrypoint symbol
1826           The symbol GST_VAAPI_ENTRYPOINT_INVALID is just a representation of
1827           zero, which was already used as an invalid value tacitly. This patch
1828           only makes it explicit.
1829           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1830
1831 2019-12-29 01:13:29 +0800  He Junyan <junyan.he@hotmail.com>
1832
1833         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
1834           libs: pixmap: Fix a pixmap creation crash.
1835           We use GST_VAAPI_OBJECT_NATIVE_DISPLAY with wrong parameter for x11
1836           pixmap creation, which causes crash if we run the internal test case
1837           of:
1838           test-decode --pixmap
1839
1840 2019-12-22 14:35:18 +0800  He Junyan <junyan.he@hotmail.com>
1841
1842         * gst/vaapi/gstvaapiencode.c:
1843           plugin: encode: set allowed_sinkpad_caps to empty.
1844           We now set encode->allowed_sinkpad_caps to NULL if we fail to get
1845           surfaces formats. This causes two problem:
1846           1. gst_video_encoder_proxy_getcaps use NULL as its caps parameter,
1847           which changes its behavior. It will use encode's sinkpad template
1848           rather than empty caps to do the clip job. So even if we fail to set
1849           allowed_sinkpad_caps, gst_video_encoder_proxy_getcaps can still return
1850           valid caps.
1851           2. We should just set the allowed_sinkpad_caps once. The NULL point
1852           make the ensure_allowed_sinkpad_caps function works again and again.
1853
1854 2019-12-22 15:22:57 +0800  He Junyan <junyan.he@hotmail.com>
1855
1856         * gst-libs/gst/vaapi/gstvaapiencoder.c:
1857           libs: encoder: Add NULL pointer check for context when finalize.
1858           Context may be NULL if pipeline fail in early stage, and the
1859           ensure_context will not be called. Need to add a pointer protection
1860           for it.
1861
1862 2019-12-20 06:38:42 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
1863
1864         * gst/vaapi/gstvaapipluginbase.c:
1865           plugins: base: do not reset can_dmabuf
1866           Don't reset the can_dmabuf field.  This restores the
1867           close/reset logic that existed prior to commit
1868           ca2942176b5632e07eebac23336954f9aaf1cb26 in regards to
1869           dmabuf support.
1870           Plugins only call gst_vaapi_plugin_base_set_srcpad_can_dmabuf
1871           once during startup, but may need to reset the other private
1872           fields multiple times during negotiation.  Thus, can_dmabuf
1873           should be exempt from the resets.
1874           Fixes #208
1875
1876 2019-12-06 00:21:12 +0800  He Junyan <junyan.he@hotmail.com>
1877
1878         * gst/vaapi/gstvaapiencode.c:
1879           plugin: encode: Refine encode's sink caps.
1880           The old manner to get the encode's sink caps is not correct.
1881           Such as 264 encode, it gets:
1882           video/x-raw(memory:VASurface),
1883           format=(string){ ENCODED, NV12, I420, YV12, YUY2, UYVY, Y210,
1884           P010_10LE, AYUV, Y410, Y444 }, width=(int)[ 32, 4096 ],
1885           height=(int)[ 32, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ];
1886           video/x-raw(memory:DMABuf), format=(string){ I420, YV12, RGBA },
1887           width=(int)[ 32, 4096 ], height=(int)[ 32, 4096 ],
1888           framerate=(fraction)[ 0/1, 2147483647/1 ];
1889           video/x-raw, format=(string){ NV12 }, width=(int)[ 32, 4096 ],
1890           height=(int)[ 32, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
1891           where the formats for memory:VASurface and memory:DMABuf are superfluous.
1892           All the "I420, YV12, YUY2, UYVY, Y210, RGBA" can not be really used as
1893           input format for encoder.
1894           We should get:
1895           video/x-raw, format=(string){ NV12 }, width=(int)[ 32, 4096 ],
1896           height=(int)[ 32, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ];
1897           video/x-raw(memory:VASurface), format=(string){ NV12 },
1898           width=(int)[ 32, 4096 ], height=(int)[ 32, 4096 ],
1899           framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(memory:DMABuf),
1900           format=(string){ NV12 }, width=(int)[ 32, 4096 ],
1901           height=(int)[ 32, 4096 ], framerate=(fraction)[ 0/1, 2147483647/1 ]
1902           as the correct result.
1903
1904 2019-12-20 08:37:11 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1905
1906         * gst-libs/gst/vaapi/gstvaapidisplay.c:
1907         * gst-libs/gst/vaapi/gstvaapiprofile.h:
1908           libs: display: code clean up
1909
1910 2019-12-12 21:34:21 +0800  He Junyan <junyan.he@hotmail.com>
1911
1912         * gst-libs/gst/vaapi/gstvaapidisplay.c:
1913         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
1914         * gst-libs/gst/vaapi/gstvaapiprofile.h:
1915           libs: display: refine the profile/entrypoint map.
1916           The old way make the one config for each profile/entrypoint pair,
1917           which is not very convenient for description the relationship
1918           between them. One profile may contain more than one entrypoints
1919           to within it, so a set like data structure should be more suitable.
1920
1921 2019-12-19 14:19:10 +0100  He Junyan <junyan.he@hotmail.com>
1922
1923         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
1924         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
1925         * gst-libs/gst/vaapi/gstvaapicontext.c:
1926         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
1927         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
1928         * gst-libs/gst/vaapi/gstvaapifilter.c:
1929         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
1930         * gst-libs/gst/vaapi/gstvaapisurface.c:
1931         * gst-libs/gst/vaapi/gstvaapisurface.h:
1932         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
1933         * gst-libs/gst/vaapi/gstvaapisurface_egl.c:
1934         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
1935         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
1936         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
1937         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
1938         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
1939         * gst-libs/gst/vaapi/gstvaapivideopool.c:
1940         * gst-libs/gst/vaapi/gstvaapiwindow.c:
1941         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
1942         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
1943         * gst/vaapi/gstvaapipluginbase.c:
1944         * gst/vaapi/gstvaapivideomemory.c:
1945         * gst/vaapi/gstvaapivideometa.c:
1946         * gst/vaapi/gstvaapivideometa_texture.c:
1947         * tests/internal/image.c:
1948         * tests/internal/test-filter.c:
1949         * tests/internal/test-surfaces.c:
1950         * tests/internal/test-windows.c:
1951           libs: surface: port to GstMiniObject
1952           GstVaapiMiniObject and GstVaapiObject are deprecated.
1953           This is the first step to remove them by porting GstVaapiSurface as
1954           a GstMiniBuffer descendant.
1955           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1956
1957 2019-12-19 18:26:10 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1958
1959         * gst-libs/gst/vaapi/gstvaapisurface.c:
1960           libs: surface: rename create function names to init
1961           There are several internal functions with 'create' name, but they
1962           don't create any new structure, but rather it initializes that
1963           structure. Renaming those function to reflect better their purpose.
1964
1965 2019-12-19 14:17:34 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1966
1967         * gst-libs/gst/vaapi/gstvaapisurface.c:
1968           libs: surface: use macro accessors
1969
1970 2019-12-19 13:46:09 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1971
1972         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
1973           libs: surface: fix internal documentation
1974
1975 2019-12-18 18:00:49 +0100  He Junyan <junyan.he@hotmail.com>
1976
1977         * gst-libs/gst/vaapi/gstvaapicodedbuffer.c:
1978         * gst-libs/gst/vaapi/gstvaapicodedbuffer.h:
1979         * gst-libs/gst/vaapi/gstvaapicodedbuffer_priv.h:
1980         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.c:
1981         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
1982         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
1983         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
1984         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
1985         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
1986         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
1987         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
1988         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
1989         * gst-libs/gst/vaapi/gstvaapifeipak_h264.c:
1990         * gst-libs/gst/vaapi/gstvaapivideopool.c:
1991           libs: codedbuffer: port to GstMiniObject
1992           GstVaapiMiniObject and GstVaapiObject are deprecated.
1993           This is the first step to remove them by porting GstVaapiCodedBuffer
1994           as a GstMiniBuffer descendant.
1995           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
1996
1997 2019-12-18 12:57:01 +0100  He Junyan <junyan.he@hotmail.com>
1998
1999         * gst-libs/gst/vaapi/gstvaapiimage.c:
2000         * gst-libs/gst/vaapi/gstvaapiimage.h:
2001         * gst-libs/gst/vaapi/gstvaapiimage_priv.h:
2002         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
2003         * gst-libs/gst/vaapi/gstvaapisurface.c:
2004         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
2005         * gst-libs/gst/vaapi/gstvaapivideopool.c:
2006         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
2007         * gst/vaapi/gstvaapipluginbase.c:
2008         * gst/vaapi/gstvaapivideomemory.c:
2009         * gst/vaapi/gstvaapivideometa.c:
2010         * tests/internal/image.c:
2011         * tests/internal/simple-encoder.c:
2012         * tests/internal/test-fei-enc-in.c:
2013         * tests/internal/test-filter.c:
2014         * tests/internal/test-windows.c:
2015           libs: image: port to GstMiniObject base class
2016           GstVaapiMiniObject and GstVaapiObject are deprecrated. This is the
2017           first step to remove them, by porting GstVaapiImage as a
2018           GstMiniObject.
2019           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2020
2021 2019-09-24 01:01:22 +0800  He Junyan <junyan.he@hotmail.com>
2022
2023         * gst-libs/gst/vaapi/gstvaapicodedbuffer.c:
2024         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
2025         * gst-libs/gst/vaapi/gstvaapicontext.c:
2026         * gst-libs/gst/vaapi/gstvaapicontext.h:
2027         * gst-libs/gst/vaapi/gstvaapidecoder.c:
2028         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2029         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
2030         * gst-libs/gst/vaapi/gstvaapiprofilecaps.c:
2031           libs: context: port to a plain C structure
2032           The GstVaapiMiniObject is obsolete and we need to replace it. This
2033           patch turns GstVaapiContext into a plain C structure with its own
2034           reference counting mechanism.
2035           Also this patch removes unused overlays attributes.
2036           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2037
2038 2019-12-18 00:40:58 +0800  He Junyan <junyan.he@hotmail.com>
2039
2040         * gst/vaapi/gstvaapiencode_h264.c:
2041         * gst/vaapi/gstvaapiencode_h264_fei.c:
2042         * gst/vaapi/gstvaapiencode_h265.c:
2043         * gst/vaapi/gstvaapiencode_jpeg.c:
2044         * gst/vaapi/gstvaapiencode_mpeg2.c:
2045         * gst/vaapi/gstvaapiencode_vp8.c:
2046         * gst/vaapi/gstvaapiencode_vp9.c:
2047           plugin: encode: change the dmabuf caps to all supported formats.
2048           The encode's dmabuf caps definition is obsolete, it can support
2049           more formats now. Re-define it to include all supported formats
2050           in video format map.
2051
2052 2019-12-17 17:09:37 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2053
2054         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
2055           libs: encoder: h264fei: remove unnecessary check
2056           Issue detected by Coverity
2057           `info_to_pack.h264_slice_header` is always allocated by
2058           gst_vaapi_feipak_h264_encode(), thus checking it to free it afterwards
2059           in doesn't make much sense.  But it requires to be free on the error
2060           path.
2061           There may be a null pointer dereference, or else the comparison
2062           against null is unnecessary.
2063           In gst_vaapi_encoder_h264_fei_encode: All paths that lead to this null
2064           pointer comparison already dereference the pointer earlier
2065
2066 2019-12-17 17:05:22 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2067
2068         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
2069           libs: encoder: h264fei: remove unnecessary assert
2070           Issue detected by Coverity
2071           An unsigned value can never be negative, so this test will always
2072           evaluate the same way.
2073           In add_slice_headers: An unsigned value can never be less than 0
2074
2075 2019-12-17 16:57:41 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2076
2077         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
2078           libs: encoder: h264fei: remove unnecessary check
2079           Issue detected by Coverity
2080           There may be a null pointer dereference, or else the comparison
2081           against null is unnecessary.
2082           In gst_vaapi_encoder_h264_fei_encode: All paths that lead to this null
2083           pointer comparison already dereference the pointer earlier
2084
2085 2019-12-17 16:49:47 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2086
2087         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
2088         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
2089           libs: encoder: h264fei: don't free memory on stack
2090           Issue detected by Coverity
2091           `info_to_pak` variable in gst_vaapi_encoder_h264_fei_encode() is
2092           declared in the stack, but it is free in
2093           gst_vaapi_feienc_h264_encode() as if declared on the heap.
2094           This patch initializes the structure and removes the free.
2095           A non-heap pointer is placed on the free list, likely causing a crash
2096           later.
2097           In gst_vaapi_encoder_h264_fei_encode: Free of an address-of
2098           expression, which can never be heap allocated.
2099
2100 2019-12-17 13:22:12 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2101
2102         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
2103           libs: encoder: h264fei: fix surface leak
2104           Issue detected by Coverity
2105           If the FEI mode is not handled the created resources should be
2106           released and return and error code.
2107           The system resource will not be reclaimed and reused, reducing the
2108           future availability of the resource.
2109           In gst_vaapi_encoder_h264_fei_encode: Leak of memory or pointers to
2110           system resources
2111
2112 2019-12-17 13:09:58 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2113
2114         * tests/check/elements/vaapipostproc.c:
2115           tests: check return calling of gst_navigation_event_parse.*
2116           This issue was detected by Coverity.
2117           If the function returns an error value, the error value may be mistaken
2118           for a normal value.
2119           In cb_mouse_event: Value returned from a function is not checked for
2120           errors before being used
2121
2122 2019-12-16 16:25:02 +0800  He Junyan <junyan.he@hotmail.com>
2123
2124         * gst/vaapi/gstvaapiencode_h264.c:
2125         * gst/vaapi/gstvaapiencode_h264_fei.c:
2126         * gst/vaapi/gstvaapiencode_h265.c:
2127         * gst/vaapi/gstvaapiencode_jpeg.c:
2128         * gst/vaapi/gstvaapiencode_mpeg2.c:
2129         * gst/vaapi/gstvaapiencode_vp8.c:
2130         * gst/vaapi/gstvaapiencode_vp9.c:
2131           plugin: encode: set sink's raw caps to GST_VAAPI_FORMATS_ALL.
2132           Then encode plugin just supports raw formats declared in vaapi video
2133           format map. This modification makes the template caps more precise.
2134
2135 2019-11-14 11:13:51 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2136
2137         * gst/vaapi/gstvaapipluginbase.c:
2138           plugins: base: add GstPad param to internal helper functions
2139           The base plugin public API function implementations determine
2140           which pad should be passed to the internal helper functions.
2141           Currently, only the base plugin static sinkpad and static
2142           srcpad are supported/used.  However, this change enables future
2143           API functions to be added that can accept a pad (i.e. request pad)
2144           from an element subclass (e.g. a GstVideoAggregator subclass).
2145
2146 2019-11-12 12:21:52 -0800  U. Artie Eoff <ullysses.a.eoff@intel.com>
2147
2148         * gst/vaapi/gstvaapipluginbase.c:
2149         * gst/vaapi/gstvaapipluginbase.h:
2150           plugins: base: manage pad-specific data in a single struct
2151           Define a struct (GstVaapiPadPrivate) to encapsulate the
2152           pad-specific data (i.e. buffer pool, allocator, info,
2153           caps, etc.).
2154           Add an interface to retrieve the data struct for a given
2155           pad.
2156           Finally, update the base plugin to use the data struct
2157           throughout the implementation.
2158           This will enable us to easily extend the base plugin in the
2159           future to allow for N-to-1 pad subclasses (e.g. overlay/
2160           composite).
2161
2162 2019-10-29 15:13:44 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
2163
2164         * gst/vaapi/gstvaapidecode.c:
2165         * gst/vaapi/gstvaapiencode.c:
2166         * gst/vaapi/gstvaapipluginbase.h:
2167         * gst/vaapi/gstvaapipostproc.c:
2168           plugins: use plugin base macros to access pad specific data
2169           Don't access base struct fields directly since the underlying
2170           definition can change.  Instead, use the accessor macros.
2171
2172 2019-12-03 00:52:45 +0800  He Junyan <junyan.he@hotmail.com>
2173
2174         * gst/vaapi/gstvaapidecode.c:
2175           libs: decoder: Modify decode src's template raw formats
2176           We do not need to maintain a standalone list of decoder's output
2177           template for raw formats and that is easy to make mistake(for
2178           example, the AYVU is wrong in that list, should be VUYA).
2179           Just use GST_VAAPI_FORMATS_ALL to replace the raw formats list for
2180           src template.
2181
2182 2019-12-11 14:11:13 +0800  He Junyan <junyan.he@hotmail.com>
2183
2184         * gst/vaapi/gstvaapipostproc.c:
2185           libs: postproc: Modify src/sink template raw formats
2186           We need to provide more precise template caps for postproc's src
2187           and sink pads. The GST_VIDEO_FORMATS_ALL make all video formats
2188           available which are really superfluous.
2189
2190 2019-12-10 18:40:42 -0300  Thibault Saunier <tsaunier@igalia.com>
2191
2192         * tests/check/elements/vaapipostproc.c:
2193           Do not mix declaration and code
2194
2195 2019-11-03 17:59:01 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2196
2197         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
2198           libs: decoder: h265: skip all pictures prior the first I-frame
2199           Don't try to decode until the first I-frame is received within the
2200           currently active sequence. i965 H265 decoder don't show any artifact
2201           but it crashes.
2202           Fixes: #98
2203
2204 2019-11-27 01:44:05 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2205
2206         * gst-libs/gst/vaapi/video-format.c:
2207           libs: video-format: remove dead code
2208
2209 2019-10-31 00:59:34 +0800  He Junyan <junyan.he@hotmail.com>
2210
2211         * gst-libs/gst/vaapi/video-format.c:
2212         * gst-libs/gst/vaapi/video-format.h:
2213         * gst/vaapi/gstvaapipluginutil.h:
2214           libs: video-format: add GST_VAAPI_FORMATS_ALL
2215           GST_VAAPI_FORMATS_ALL collects all declared formats in video-format
2216           as a caps template string, and make them available in caps with
2217           memory:VASurface feature.
2218           Fixes: #199
2219
2220 2019-11-06 22:37:12 +0800  He Junyan <junyan.he@hotmail.com>
2221
2222         * gst-libs/gst/vaapi/video-format.c:
2223         * tests/internal/test-windows.c:
2224           libs: video-format: change GST_VIDEO_FORMAT_AYUV to VUYA.
2225           We only support VUYA format in gst vaapi now, need to correct
2226           the mapping.
2227
2228 2019-10-09 15:13:09 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
2229
2230         * tests/check/elements/vaapipostproc.c:
2231           tests: check: vaapipostproc test_orientation_mouse_events
2232           Test that vaapipostproc properly translates mouse events
2233           when using video-direction (orientation).
2234
2235 2019-10-09 10:11:54 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
2236
2237         * tests/check/elements/vaapipostproc.c:
2238         * tests/check/meson.build:
2239           tests: check: vaapipostproc test_crop_mouse_events
2240           Test that vaapipostproc properly translates mouse events
2241           when cropping.
2242
2243 2019-10-08 12:20:26 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
2244
2245         * meson.build:
2246         * meson_options.txt:
2247         * tests/check/elements/vaapipostproc.c:
2248         * tests/check/meson.build:
2249         * tests/meson.build:
2250           tests: check: initial unit test support
2251           Add minimal unit test toolchain files and a simple
2252           vaapipostproc unit test.
2253
2254 2019-10-08 12:19:06 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
2255
2256         * meson.build:
2257         * tests/examples/meson.build:
2258         * tests/examples/test-roi.c:
2259         * tests/examples/test-vaapicontext.c:
2260         * tests/examples/test-vaapipostproc.c:
2261         * tests/examples/test-vaapisink.c:
2262         * tests/internal/codec.c:
2263         * tests/internal/codec.h:
2264         * tests/internal/decoder.c:
2265         * tests/internal/decoder.h:
2266         * tests/internal/image.c:
2267         * tests/internal/image.h:
2268         * tests/internal/meson.build:
2269         * tests/internal/output.c:
2270         * tests/internal/output.h:
2271         * tests/internal/simple-decoder.c:
2272         * tests/internal/simple-encoder.c:
2273         * tests/internal/test-decode.c:
2274         * tests/internal/test-decode.h:
2275         * tests/internal/test-display.c:
2276         * tests/internal/test-fei-enc-in.c:
2277         * tests/internal/test-fei-enc-out.c:
2278         * tests/internal/test-filter.c:
2279         * tests/internal/test-h264.c:
2280         * tests/internal/test-h264.h:
2281         * tests/internal/test-jpeg.c:
2282         * tests/internal/test-jpeg.h:
2283         * tests/internal/test-mpeg2.c:
2284         * tests/internal/test-mpeg2.h:
2285         * tests/internal/test-mpeg4.c:
2286         * tests/internal/test-mpeg4.h:
2287         * tests/internal/test-subpicture-data.c:
2288         * tests/internal/test-subpicture-data.h:
2289         * tests/internal/test-subpicture.c:
2290         * tests/internal/test-surfaces.c:
2291         * tests/internal/test-textures.c:
2292         * tests/internal/test-vc1.c:
2293         * tests/internal/test-vc1.h:
2294         * tests/internal/test-windows.c:
2295         * tests/internal/y4mreader.c:
2296         * tests/internal/y4mreader.h:
2297         * tests/meson.build:
2298           tests: move examples and tests to subfolders
2299           This makes way for adding unit (check) tests.
2300
2301 2019-10-14 01:01:27 +0100  Tim-Philipp Müller <tim@centricular.com>
2302
2303         * .gitmodules:
2304         * Makefile.am:
2305         * autogen.sh:
2306         * common:
2307         * configure.ac:
2308         * git.mk:
2309         * gst-libs/Makefile.am:
2310         * gst-libs/gst/Makefile.am:
2311         * gst-libs/gst/vaapi/Makefile.am:
2312         * gst/Makefile.am:
2313         * gst/vaapi/Makefile.am:
2314         * m4/Makefile.am:
2315         * tests/Makefile.am:
2316         * tests/elements/Makefile.am:
2317           Remove autotools build
2318
2319 2019-10-10 15:26:36 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
2320
2321         * gst/vaapi/gstvaapipostproc.c:
2322           vaapipostproc: fix off-by-one coord translations
2323           When translating navigation x,y coordinates for
2324           video-direction, it is necessary to subtract 1
2325           when using the video dimensions to compute the
2326           new x,y coordinates.  That is, a 100x200 image
2327           should map coordinates in x=[0-99],y=[0-199].
2328           This issue was found with unit tests provided
2329           in !182.
2330
2331 2019-10-11 17:34:06 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2332
2333         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
2334           libs: window: x11: Avoid usage of deprecated API
2335
2336 2019-10-11 17:13:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2337
2338         * meson.build:
2339           build: halt meson configuration if no renderer API
2340           We should halt meson configuration if there is no render API
2341           installed (either DRM, Wayland or X11).
2342           That behavior was already in autotools but missed in meson. This patch
2343           brings it back.
2344           Fixes: #196
2345
2346 2019-10-09 12:12:18 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
2347
2348         * gst-libs/gst/vaapi/gstvaapifilter.c:
2349           libs: filter: fix default orientation regression
2350           Fix regression introduced in f232f87f7082
2351
2352 2019-10-07 11:53:23 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
2353
2354         * gst-libs/gst/vaapi/gstvaapifilter.c:
2355           libs: filter: use OP_DATA_DEFAULT_VALUE macro
2356
2357 2019-10-07 11:39:19 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
2358
2359         * gst-libs/gst/vaapi/gstvaapifilter.c:
2360           libs: filter: use macro for returning op default value
2361           The code is essentially the same for getting all op default
2362           values.  Thus, use a macro to help minimize code duplication
2363           and [hopefully] encourage using the same mechanism for all
2364           default getters.
2365
2366 2019-10-07 09:56:37 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
2367
2368         * gst-libs/gst/vaapi/gstvaapifilter.c:
2369           libs: filter: query param spec for default scale method
2370           Related: #159
2371
2372 2019-10-07 09:44:06 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
2373
2374         * gst-libs/gst/vaapi/gstvaapifilter.c:
2375           libs: filter: query param spec for default skin-tone values
2376           Related: #159
2377
2378 2019-10-02 12:54:52 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
2379
2380         * gst-libs/gst/vaapi/gstvaapifilter.c:
2381           libs: filter: query param spec for default video-direction
2382           Related: #159
2383
2384 2019-10-07 10:23:09 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
2385
2386         * .gitignore:
2387           add .gitignore
2388
2389 2019-09-05 16:40:52 +0800  Yan Wang <yan.wang@linux.intel.com>
2390
2391         * gst-libs/gst/vaapi/gstvaapifilter.c:
2392         * gst-libs/gst/vaapi/gstvaapifilter.h:
2393         * gst/vaapi/gstvaapipostproc.c:
2394         * gst/vaapi/gstvaapipostproc.h:
2395           vaapipostproc: Use level value for skin-tone-enhancement filter.
2396           Currently the parameter of skin-tone-enhancement filter is forced
2397           to zero. In fact it could be set different value by the user.
2398           So create a new property named as "skin-tone-enhancement-level"
2399           for accepting the used defined parameter value.
2400           At the same time, skin-tone-enhancement is marked as deprecated.
2401           When skin-tone-enhancement-level is set, skin-tone-enhancement
2402           will be ignored.
2403
2404 2019-09-21 13:39:42 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2405
2406         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
2407         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
2408           libs: decoder: h264, h266: fix g_return_val_if_fail() missuse
2409           g_return_val_fail() documentations says:
2410           If expr evaluates to FALSE, the current function should be
2411           considered to have undefined behaviour (a programmer error).
2412           The only correct solution to such an error is to change the
2413           module that is calling the current function, so that it avoids
2414           this incorrect call.
2415           So it was missused in a couple parts of the H264 and H265 internal
2416           decoders. This patch changes that to plain conditionals.
2417           Also, it was included a couple code-style fixes.
2418
2419 2019-09-23 19:52:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2420
2421         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2422         * gst-libs/gst/vaapi/gstvaapiencoder.h:
2423         * tests/simple-encoder.c:
2424         * tests/test-fei-enc-in.c:
2425           libs: encoder: remove gst_vaapi_encoder_{ref,unref}()
2426           Since GstVaapiEncoder is a descendant of of GstObject, there is no
2427           need to keep a custom ref()/unref() methods. This patch deletes them.
2428
2429 2019-09-24 01:03:02 +0800  He Junyan <junyan.he@hotmail.com>
2430
2431         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2432           libs: encoder: correct encoder's ref/unref function.
2433           GstVaapiEncoder now is a standard gstobject and need to use
2434           gst_object_ref/unref functions.
2435
2436 2019-09-19 12:09:20 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
2437
2438         * gst/vaapi/gstvaapiencode_h264_fei.c:
2439           gst: encode: h264_fei: remove useless comparison
2440           The expression "len >= 0" is always true since "len"
2441           is an unsigned type.  And it is clear that the writers
2442           intention was not to write "len > 0" since we handle
2443           len == 0 in the ensuing "if (len < 3)" conditional
2444           block.
2445
2446 2019-09-19 11:17:24 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
2447
2448         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
2449           libs: encoder: h264_fei: fix potential overflow before widen
2450           Found by static analysis. encoder->mb_width * encoder->mb_height
2451           is evaluated using 32-bit arithmetic before widen.  Thus, cast
2452           at least one of these to guint64 to avoid overflow.
2453
2454 2019-09-19 10:56:13 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
2455
2456         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
2457           libs: encoder: h264_fei: remove dead error condition
2458           Found by static analysis.  The feipak is always null
2459           when we reach the error target.
2460
2461 2019-09-19 10:49:11 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
2462
2463         * gst-libs/gst/vaapi/gstvaapiutils.c:
2464           libs: utils: add missing break in switch
2465
2466 2019-09-11 11:56:35 +0800  He Junyan <junyan.he@hotmail.com>
2467
2468         * gst-libs/gst/vaapi/video-format.c:
2469           libs: video-format: Make all YUV format available
2470           The YUV formats have no ambiguity for drivers, so we can add them all.
2471           Some old driver(i965) does not implement full get/put image functions
2472           but can use derive image funtions for the YUV format. It does not
2473           report that kind of formats correctly in image query, but will derive
2474           that YUV format image from surface. The dynamic mapping of YUV format
2475           will block that manner.
2476           Adding more YUV format mapping has no side effect. So considering the
2477           legacy driver conformance, we add all YUV formats mapping statically
2478           and dynamic mapping RBG formats
2479           Fix: #189
2480           Fix: #190
2481
2482 2019-09-18 15:30:03 +1000  Matthew Waters <matthew@centricular.com>
2483
2484         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
2485         * gst-libs/gst/vaapi/gstvaapiutils_egl.h:
2486           egl: Fix racyness in display thread creation
2487           Multiple different scenarios could break the display thread creation and
2488           end up blocking waiting for thread o be created.  Fix them all by
2489           correctly waiting for a new boolean to become valid.
2490
2491 2019-09-18 15:29:03 +1000  Matthew Waters <matthew@centricular.com>
2492
2493         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
2494           egl: don't advertise a wrapped EGLContext as actually wrapped
2495           It's not actually wrapped as we create a new EGLContext from the passed
2496           in EGLContext.  As a result, the created EGLContext was never destroyed.
2497
2498 2019-09-16 23:28:31 +0800  He Junyan <junyan.he@hotmail.com>
2499
2500         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
2501           libs: h264decoder: do not return error for unhandled NAL unit.
2502           Some streams have error data introducing unknown NAL type. There are
2503           also kinds of NAL types we do not want to handle. The old manner will
2504           set a decoder error when encounter this, which cause a latent crash bug.
2505           The decoder may successfully decode the picture and insert it into DPB.
2506           But there are error NAL units after the AU which cause the post unit error
2507           and make that frame dropped. The later output of the picture still want
2508           to ref that frame and crash.
2509           No need to set decoder error when can not recognize or handle the NAL
2510           unit, just skip it and continue.
2511           Fix: #191
2512
2513 2019-09-11 14:32:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2514
2515         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2516         * gst-libs/gst/vaapi/gstvaapiencoder.h:
2517         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2518         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
2519         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2520         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
2521         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
2522         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
2523         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
2524         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
2525         * gst/vaapi/gstvaapiencode.c:
2526           libs: encoders: use GST_PARAM_USER_SHIFT to define internal params
2527           This patch makes use of GST_PARAM_USER_SHIFT to define the internal
2528           param in encoders to decide which parameters to expose. Thus
2529           gstreamer-vaapi will not interfere with any change in GStreamer in the
2530           future.
2531           Also, the internal symbol was change to
2532           GST_VAAPI_PARAM_ENCODER_EXPOSURE to keep the namespacing.
2533
2534 2019-09-09 18:06:51 +0800  He Junyan <junyan.he@hotmail.com>
2535
2536         * gst-libs/gst/vaapi/gstvaapiimage.c:
2537         * gst-libs/gst/vaapi/video-format.c:
2538           libs: Add BGR10A2_LE support for color space conversion.
2539           Fix: #179
2540
2541 2019-08-23 14:41:06 +0800  He Junyan <junyan.he@hotmail.com>
2542
2543         * gst-libs/gst/vaapi/gstvaapisurface.c:
2544           libs: surface: add pointer check for surface_new_from_formats.
2545           The command line:
2546           gst-launch-1.0 filesrc location=some_name.mjpeg ! jpegparse !
2547           vaapijpegdec !  videoconvert ! video/x-raw,format=I420 ! vaapisink
2548           will crash on i965 driver because of no pointer check.
2549           We now generate the video format map between GST format and VA format
2550           dynamically based on the image format returned by vaQueryImageFormats.
2551           i965 driver does to report image format of 444P and Y800 forcc, while
2552           the jpeg decoder context VASurfaceAttribPixelFormat use them. We can
2553           not recognize these format and pass a NULL pointer to
2554           gst_vaapi_surface_new_from_formats.
2555           We need to add a pointer check here and let the fallback logic handle
2556           this case correctly.
2557           Other drivers work well.
2558
2559 2019-09-07 13:23:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
2560
2561         * gst-libs/gst/vaapi/gstvaapiutils.c:
2562           libs: utils: guard the VAEntrypointFEI symbol
2563           VAEntrypointFEI appeared in libva 2.0.0 (API version 1.0.0)
2564
2565 2019-09-05 14:48:22 +0800  He Junyan <junyan.he@hotmail.com>
2566
2567         * gst-libs/gst/vaapi/gstvaapidisplay.c:
2568         * gst-libs/gst/vaapi/video-format.c:
2569         * gst-libs/gst/vaapi/video-format.h:
2570           libs: video-format: Refine the video format mapping.
2571           Improve the mapping between va format and gst format. The new map
2572           will be generated dynamically, based on the query result of image
2573           format in VA driver. Also consider the ambiguity of RGB color
2574           format in LSB mode.
2575
2576 2019-04-15 16:51:26 +0100  Philippe Normand <philn@igalia.com>
2577
2578         * gst/vaapi/gstvaapipluginutil.c:
2579           pluginutil: Remove Mesa from drivers white list
2580           The Mesa Gallium driver is poorly tested currently, leading to bad user
2581           experience for AMD users. The driver can be added back to the white list at
2582           runtime using the GST_VAAPI_ALL_DRIVERS environment variable.
2583
2584 2019-07-08 14:18:00 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
2585
2586         * gst/vaapi/gstvaapipostproc.c:
2587         * gst/vaapi/gstvaapipostproc.h:
2588         * gst/vaapi/gstvaapipostprocutil.c:
2589           vaapipostproc: allow cropping via properties
2590           Add crop-left, crop-right, crop-top and crop-bottom
2591           properties to vaapipostproc.
2592
2593 2019-08-30 17:31:45 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
2594
2595         * gst/vaapi/gstvaapipostproc.c:
2596           vaapipostproc: rotate outbuf and crop meta if forwarding
2597           When forwarding crop meta to downstream, the output
2598           buffer and crop meta need to be rotated, too.
2599           Test:
2600           for i in 90r 180 90l vert horiz ul-lr ur-ll
2601           do
2602           gst-launch-1.0 -vf videotestsrc num-buffers=500 \
2603           ! videocrop top=100 bottom=30 left=40 right=20 \
2604           ! vaapipostproc video-direction=$i \
2605           ! vaapisink & \
2606           gst-launch-1.0 -vf videotestsrc num-buffers=500 \
2607           ! videocrop top=100 bottom=30 left=40 right=20 \
2608           ! vaapipostproc video-direction=$i \
2609           ! identity drop-allocation=true \
2610           ! vaapisink
2611           done
2612
2613 2019-08-30 14:14:30 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
2614
2615         * gst/vaapi/gstvaapipostproc.c:
2616           vaapipostproc: fix output buffer WxH for crop meta forwarding
2617           Adding crop meta x,y to w,h only compensates for left,top
2618           cropping.  But we also need to compensate for right,bottom
2619           cropping.
2620           The video meta contains the appropriate w,h (uncropped)
2621           values, so use it instead.
2622           Test:
2623           gst-launch-1.0 -vf videotestsrc num-buffers=500 \
2624           ! videocrop top=50 bottom=30 left=40 right=20 \
2625           ! vaapipostproc ! vaapisink & \
2626           gst-launch-1.0 -vf videotestsrc num-buffers=500 \
2627           ! videocrop top=50 bottom=30 left=40 right=20 \
2628           ! vaapipostproc ! identity drop-allocation=1 \
2629           ! vaapisink
2630
2631 2019-09-04 10:52:51 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
2632
2633         * gst/vaapi/gstvaapipostproc.c:
2634           vaapipostproc: handle size and direction together in src events
2635           Mapping a pointer event needs to consider both size and
2636           video-direction operations together, not just one or the other.
2637           This fixes an issue where x,y were not being mapped correctly
2638           for 90r, 90l, ur-ll and ul-lr video-direction. In these directions,
2639           the WxH are swapped and GST_VAAPI_POSTPROC_FLAG_SIZE is set.  Thus,
2640           the first condition in the pointer event handling was entered and
2641           x,y scale factor were incorrectly computed due to srcpad WxH
2642           swap.
2643           This also fixes all cases where both video-direction and scaling
2644           are enabled at the same time.
2645           Test that all pointer events map appropriately:
2646           for i in `seq 0 7`
2647           do
2648           GST_DEBUG=vaapipostproc:5 gst-launch-1.0 -vf videotestsrc \
2649           ! vaapipostproc video-direction=${i} width=300 \
2650           ! vaapisink
2651           GST_DEBUG=vaapipostproc:5 gst-launch-1.0 -vf videotestsrc \
2652           ! vaapipostproc video-direction=${i} width=300 height=200 \
2653           ! vaapisink
2654           GST_DEBUG=vaapipostproc:5 gst-launch-1.0 -vf videotestsrc \
2655           ! vaapipostproc video-direction=${i} height=200 \
2656           ! vaapisink
2657           GST_DEBUG=vaapipostproc:5 gst-launch-1.0 -vf videotestsrc \
2658           ! vaapipostproc video-direction=${i} \
2659           ! vaapisink
2660           done
2661
2662 2019-08-20 14:22:57 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
2663
2664         * gst/vaapi/gstvaapipostproc.c:
2665         * gst/vaapi/gstvaapipostproc.h:
2666           vaapipostproc: advertise crop meta is handled
2667           Advertise to upstream that vaapipostproc can handle
2668           crop meta.
2669           When used in conjunction with videocrop plugin, the
2670           videocrop plugin will only do in-place transform on the
2671           crop meta when vaapipostproc advertises the ability to
2672           handle it.  This allows vaapipostproc to apply the crop
2673           meta on the output buffer using vaapi acceleration.
2674           Without this advertisement, the videocrop plugin will
2675           crop the output buffer directly via software methods,
2676           which is not what we desire.
2677           vaapipostproc will not apply the crop meta if downstream
2678           advertises crop meta handling; vaapipostproc will just
2679           forward the crop meta to downstream.  If crop meta is
2680           not advertised by downstream, then vaapipostproc will
2681           apply the crop meta.
2682           Examples:
2683           1. vaapipostproc will forward crop meta to vaapisink
2684           gst-launch-1.0 videotestsrc \
2685           ! videocrop left=10 \
2686           ! vaapipostproc \
2687           ! vaapisink
2688           2. vaapipostproc will do the cropping
2689           gst-launch-1.0 videotestsrc \
2690           ! videocrop left=10 \
2691           ! vaapipostproc \
2692           ! identity drop-allocation=1 \
2693           ! vaapisink
2694
2695 2019-08-29 18:44:36 +0800  He Junyan <junyan.he@hotmail.com>
2696
2697         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
2698           libs: encoder: clean two virtual func in encoder class
2699           set_property and get_default_properties functions are no longer
2700           needed for encoder class.
2701
2702 2019-08-29 18:43:30 +0800  He Junyan <junyan.he@hotmail.com>
2703
2704         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
2705         * gst-libs/gst/vaapi/gstvaapifeienc_h264.h:
2706           libs: encoder: delete old set_property and property enum feienc264
2707
2708 2019-08-29 18:39:27 +0800  He Junyan <junyan.he@hotmail.com>
2709
2710         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
2711         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.h:
2712           libs: encoder: delete old set_property and property enum in h264 fei
2713
2714 2019-08-29 18:37:58 +0800  He Junyan <junyan.he@hotmail.com>
2715
2716         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
2717         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
2718           libs: encoder: delete old set_property and property enum in vp9
2719
2720 2019-08-29 18:36:51 +0800  He Junyan <junyan.he@hotmail.com>
2721
2722         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
2723         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.h:
2724           libs: encoder: delete old set_property and property enum in vp8
2725
2726 2019-08-29 18:35:59 +0800  He Junyan <junyan.he@hotmail.com>
2727
2728         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
2729         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
2730           libs: encoder: delete old set_property and property enum in mpeg2
2731
2732 2019-08-29 18:34:57 +0800  He Junyan <junyan.he@hotmail.com>
2733
2734         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
2735         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.h:
2736           libs: encoder: delete old set_property and property enum in jpeg
2737
2738 2019-08-29 18:31:56 +0800  He Junyan <junyan.he@hotmail.com>
2739
2740         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2741         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
2742           libs: encoder: delete old set_property and property enum in h265
2743
2744 2019-08-29 18:30:07 +0800  He Junyan <junyan.he@hotmail.com>
2745
2746         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2747         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
2748           libs: encoder: delete old set_property and property enum in h264
2749
2750 2019-08-29 18:17:42 +0800  He Junyan <junyan.he@hotmail.com>
2751
2752         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2753         * gst-libs/gst/vaapi/gstvaapiencoder.h:
2754         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
2755           libs: encoder: delete EncoderPropInfo related functions
2756
2757 2019-08-29 16:13:19 +0800  He Junyan <junyan.he@hotmail.com>
2758
2759         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2760         * gst-libs/gst/vaapi/gstvaapiencoder.h:
2761           libs: encoder: delete encoder_set_property
2762           We no longer need this obsolete set_property function now after
2763           switch to standard gobject's property manner.
2764           Also delete the old encoder's property enum in the header file.
2765
2766 2019-08-29 15:59:43 +0800  He Junyan <junyan.he@hotmail.com>
2767
2768         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2769         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
2770           libs: encoder: delete properties_get_default for base class
2771
2772 2019-08-29 15:52:04 +0800  He Junyan <junyan.he@hotmail.com>
2773
2774         * gst/vaapi/gstvaapiencode.c:
2775         * gst/vaapi/gstvaapiencode.h:
2776           plugin: encode: delete useless init_properties.
2777           Also delete the get_properties function in encode class. We now
2778           use g_object_class_list_properties to get all properties for
2779           internal encoder class.
2780
2781 2019-08-29 15:43:45 +0800  He Junyan <junyan.he@hotmail.com>
2782
2783         * gst/vaapi/gstvaapiencode.c:
2784         * gst/vaapi/gstvaapiencode.h:
2785           plugin: encode: delete set/get_property func in encode class
2786           Use standard gobject's property functions to replace the old way.
2787
2788 2019-08-29 15:31:16 +0800  He Junyan <junyan.he@hotmail.com>
2789
2790         * gst/vaapi/gstvaapiencode.c:
2791         * gst/vaapi/gstvaapiencode.h:
2792           plugin: encode: delete gst_vaapiencode_init_properties
2793           No need to init the properties got by get_default_properties func
2794           now. The properties are inited correctly in internal encoder class.
2795
2796 2019-08-29 15:19:10 +0800  He Junyan <junyan.he@hotmail.com>
2797
2798         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
2799           libs: encoder: delete 3 useless init macro
2800
2801 2019-08-29 15:16:26 +0800  He Junyan <junyan.he@hotmail.com>
2802
2803         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
2804         * gst-libs/gst/vaapi/gstvaapifeienc_h264.h:
2805           libs: encoder: delete get_default_properties of feienc
2806
2807 2019-08-29 15:14:14 +0800  He Junyan <junyan.he@hotmail.com>
2808
2809         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
2810         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.h:
2811           libs: encoder: delete get_default_properties of H264 Fei
2812
2813 2019-08-29 15:07:17 +0800  He Junyan <junyan.he@hotmail.com>
2814
2815         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
2816         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
2817           libs: encoder: delete get_default_properties of VP9
2818
2819 2019-08-29 15:06:25 +0800  He Junyan <junyan.he@hotmail.com>
2820
2821         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
2822         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.h:
2823           libs: encoder: delete get_default_properties of VP8
2824
2825 2019-08-29 15:03:52 +0800  He Junyan <junyan.he@hotmail.com>
2826
2827         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
2828         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
2829           libs: encoder: delete get_default_properties of MPEG2
2830
2831 2019-08-29 15:03:19 +0800  He Junyan <junyan.he@hotmail.com>
2832
2833         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
2834         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.h:
2835           libs: encoder: delete get_default_properties of JPEG
2836
2837 2019-08-30 19:15:38 +0800  He Junyan <junyan.he@hotmail.com>
2838
2839         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2840         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
2841           libs: encoder: delete get_default_properties of H265
2842
2843 2019-08-29 14:59:12 +0800  He Junyan <junyan.he@hotmail.com>
2844
2845         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2846         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
2847           libs: encoder: delete get_default_properties of H264
2848
2849 2019-08-29 14:53:59 +0800  He Junyan <junyan.he@hotmail.com>
2850
2851         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2852           libs: encoder: delete the useless constructed func for encoder.
2853
2854 2019-08-26 23:16:33 +0800  He Junyan <junyan.he@hotmail.com>
2855
2856         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2857         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
2858         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
2859           libs: encoder: implement get_view_ids for h264 encoder.
2860
2861 2019-08-20 23:56:33 +0800  He Junyan <junyan.he@hotmail.com>
2862
2863         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2864         * gst/vaapi/gstvaapiencode.c:
2865         * gst/vaapi/gstvaapiencode_h264.c:
2866         * gst/vaapi/gstvaapiencode_h264_fei.c:
2867         * gst/vaapi/gstvaapiencode_h265.c:
2868         * gst/vaapi/gstvaapiencode_jpeg.c:
2869         * gst/vaapi/gstvaapiencode_mpeg2.c:
2870         * gst/vaapi/gstvaapiencode_vp8.c:
2871         * gst/vaapi/gstvaapiencode_vp9.c:
2872           gst: encode: enable new type of property mechanism.
2873
2874 2019-08-20 22:16:35 +0800  He Junyan <junyan.he@hotmail.com>
2875
2876         * gst/vaapi/gstvaapiencode.c:
2877         * gst/vaapi/gstvaapiencode.h:
2878           gst: encode: add property help functions for encoder properties.
2879           The encoder is a true gstobject now and all the properties are using
2880           gobject's properties mechanism. Add help functions to handle the properties
2881           between encode and encoder class.
2882           The basic idea is mapping the same property between encoder and encode. All
2883           the encoder's properties will have the same name, the same type in encode.
2884           The set/get property function just forward the property setting/getting to
2885           the encoder using the same property name and value. Because the encoder is
2886           created on needed, we need to cache the property setting in encode.
2887
2888 2019-08-30 18:39:32 +0800  He Junyan <junyan.he@hotmail.com>
2889
2890         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2891         * gst-libs/gst/vaapi/gstvaapiencoder.h:
2892         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2893         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
2894         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2895         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
2896         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
2897         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
2898         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
2899         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
2900           libs: encoder: add flags to all encoder properties.
2901           G_PARAM_CONSTRUCT make all properties init correctly, we do not
2902           need to init the properties manually.
2903           G_PARAM_FLAG_VAAPI_ENCODER_EXPOSURE is a vaapi encoder specific
2904           flag, means need to expose the property to according encode class.
2905
2906 2019-08-20 17:00:39 +0800  He Junyan <junyan.he@hotmail.com>
2907
2908         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
2909           libs: encoder: Add properties for h264 encoder fei.
2910           Install properties for h264 encoder fei class. Also set the new get/set
2911           property functions for gobject class. Still use the old properties
2912           way now and this new feature will be enabled later.
2913
2914 2019-08-20 15:58:30 +0800  He Junyan <junyan.he@hotmail.com>
2915
2916         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
2917           libs: encoder: Add properties for h264 fei encoder.
2918           Install properties for h264 fei encoder class. Also set the new get/set
2919           property functions for gobject class. Still use the old properties
2920           way now and this new feature will be enabled later.
2921
2922 2019-08-20 15:29:27 +0800  He Junyan <junyan.he@hotmail.com>
2923
2924         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
2925           libs: encoder: Add properties for vp9 encoder.
2926           Install properties for vp9 encoder class. Also set the new get/set
2927           property functions for gobject class. Still use the old properties
2928           way now and this new feature will be enabled later.
2929
2930 2019-08-20 15:01:02 +0800  He Junyan <junyan.he@hotmail.com>
2931
2932         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
2933           libs: encoder: Add properties for vp8 encoder.
2934           Install properties for vp8 encoder class. Also set the new get/set
2935           property functions for gobject class. Still use the old properties
2936           way now and this new feature will be enabled later.
2937
2938 2019-08-20 14:31:58 +0800  He Junyan <junyan.he@hotmail.com>
2939
2940         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
2941           libs: encoder: Add properties for mpeg2 encoder.
2942           Install properties for mpeg2 encoder class. Also set the new get/set
2943           property functions for gobject class. Still use the old properties
2944           way now and this new feature will be enabled later.
2945
2946 2019-08-20 14:53:06 +0800  He Junyan <junyan.he@hotmail.com>
2947
2948         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
2949           libs: encoder: Add properties for jpeg encoder.
2950           Install properties for jpeg encoder class. Also set the new get/set
2951           property functions for gobject class. Still use the old properties
2952           way now and this new feature will be enabled later.
2953
2954 2019-08-20 14:12:36 +0800  He Junyan <junyan.he@hotmail.com>
2955
2956         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2957           libs: encoder: Add properties for h265 encoder.
2958           Install properties for h265 encoder class. Also set the new get/set
2959           property functions for gobject class. Still use the old properties
2960           way now and this new feature will be enabled later.
2961
2962 2019-08-20 01:33:40 +0800  He Junyan <junyan.he@hotmail.com>
2963
2964         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2965           libs: encoder: Add properties for h264 encoder.
2966           Install properties for h264 encoder class. Also set the new get/set
2967           property functions for gobject class. Still use the old properties
2968           way now and this new feature will be enabled later.
2969
2970 2019-08-19 15:38:09 +0800  He Junyan <junyan.he@hotmail.com>
2971
2972         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2973           libs: encoder: add properties and prop help functions
2974           Add all common properties to encoder base class. rate-control and
2975           tune are moved to sub class.
2976
2977 2019-08-29 14:38:49 +0800  He Junyan <junyan.he@hotmail.com>
2978
2979         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2980         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
2981           libs: encoder: delete useless gst_vaapi_encoder_new func.
2982           GstVaapiEncoder is a abstract gobject and never be created directly.
2983
2984 2019-07-27 00:55:53 +0800  He Junyan <junyan.he@hotmail.com>
2985
2986         * gst-libs/gst/vaapi/gstvaapiencoder.c:
2987         * gst-libs/gst/vaapi/gstvaapiencoder.h:
2988         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
2989         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
2990         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
2991         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.h:
2992         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
2993         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
2994         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
2995         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.h:
2996         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
2997         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
2998         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
2999         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
3000         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.h:
3001         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
3002         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
3003         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
3004         * gst-libs/gst/vaapi/gstvaapifeienc_h264.h:
3005           lib: encoder: gstobjectfy all vaapi encoders.
3006           Replace all gstvaapiobject in vaapi encoders with standard gstobject.
3007           Let the gstobject common logic to handle all the init and finalize
3008           works. But the property install/set/get still use the old way, need
3009           to be improved later.
3010
3011 2019-08-29 12:11:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3012
3013         * gst/vaapi/gstvaapipostproc.c:
3014           vaapipostproc: check for filter before appending caps
3015           While ensuring the allowed sink pad caps, the filter attributes set
3016           the frame size restriction, but it is not ensured, at that moment,
3017           that the filter is already instantiaded.
3018           In order to silence the glib logs, this patch add only calls
3019           gst_vaapi_filter_append_caps() if the filter is instantiated.
3020
3021 2019-08-28 12:49:03 -0400  Thibault Saunier <tsaunier@igalia.com>
3022
3023         * gst/vaapi/gstvaapidecodebin.c:
3024           Classify vaapidecodebin as a hardware decoder
3025
3026 2019-08-27 18:12:45 +0800  He Junyan <junyan.he@hotmail.com>
3027
3028         * gst/vaapi/gstvaapipostproc.c:
3029           libs: postproc: fix a memory leak point.
3030           filter_ops and filter_formats should already have valid value when
3031           the function gst_vaapipostproc_ensure_filter_caps re-enter
3032
3033 2019-08-27 01:30:36 +0800  He Junyan <junyan.he@hotmail.com>
3034
3035         * gst-libs/gst/vaapi/gstvaapiutils_core.c:
3036           libs: util: Fix a memory leak in config_surface_attributes_get
3037
3038 2019-08-22 14:33:54 +0800  Wangfei <fei.w.wang@intel.com>
3039
3040         * gst/vaapi/gstvaapidecode.c:
3041           vaapidecode: support transform ROI meta
3042           This will benefit the use case like:
3043           src --->   encode    ---> decode ---> circle ROI ---> sink
3044           |                |
3045           --> analyse to -->
3046           get ROI
3047
3048 2019-08-23 19:10:15 +0200  Mathieu Duponchelle <mathieu@centricular.com>
3049
3050         * gst/vaapi/gstvaapidecodedoc.c:
3051           docstrings: port ulinks to markdown links
3052
3053 2019-08-20 17:05:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3054
3055         * gst-libs/gst/vaapi/Makefile.am:
3056         * gst-libs/gst/vaapi/gstvaapicontext.c:
3057         * gst-libs/gst/vaapi/gstvaapicontext_overlay.c:
3058         * gst-libs/gst/vaapi/gstvaapicontext_overlay.h:
3059         * gst-libs/gst/vaapi/meson.build:
3060           libs: remove context's overlay
3061           The context overlay was an optimization to apply a video composition
3062           to all the surfaces bound to a context.
3063           But since commit 18031dc6 this optimization was disabled, so it is
3064           better just get rid of it.
3065
3066 2019-08-20 16:50:46 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3067
3068         * gst-libs/gst/vaapi/gstvaapicontext.c:
3069         * gst-libs/gst/vaapi/gstvaapisurface.c:
3070         * gst-libs/gst/vaapi/gstvaapisurface.h:
3071         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
3072         * gst/vaapi/gstvaapipluginutil.c:
3073         * tests/test-subpicture.c:
3074           libs: remove surface's parent context
3075           In commit 18031dc6 surface's parent context is not assigned because of
3076           circular references. Since then (2013), there's has no issue with
3077           subpictures attached to a context, the current only users of this API.
3078           This patch cleans up all of related code with the unused surface's
3079           parent context.
3080
3081 2019-08-18 13:53:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3082
3083         * gst/vaapi/gstvaapidecode.c:
3084           vaapidecode: guard if no structure is available in caps
3085
3086 2019-08-18 13:53:19 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3087
3088         * gst-libs/gst/vaapi/gstvaapifilter.c:
3089         * gst-libs/gst/vaapi/gstvaapifilter.h:
3090         * gst/vaapi/gstvaapipostproc.c:
3091           vaapipostproc: append frame size restrictions in caps
3092
3093 2019-08-18 13:09:58 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3094
3095         * gst-libs/gst/vaapi/gstvaapiprofilecaps.c:
3096           libs: profilecaps: refactor common code
3097
3098 2019-08-16 19:35:58 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3099
3100         * gst/vaapi/gstvaapiencode.c:
3101           vaapiencode: set frame size restrictions in caps
3102           Fixes: #12
3103
3104 2019-08-16 19:28:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3105
3106         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3107         * gst-libs/gst/vaapi/gstvaapiencoder.h:
3108         * gst/vaapi/gstvaapiencode.c:
3109           vaapiencode: enhance how the profile is defined
3110           This code doesn't define the profile used by the internal encoder, but
3111           it used to "predict" which is going to be used and to get the caps
3112           restrictions.
3113           Before the profile was predicted by checking the donwstream caps, but
3114           sometimes they are not defined, setting an unknown profile. In order
3115           to enhances this situation, the encoder asks to internal encoder if it
3116           has one. If so, it is used.
3117           To ask the internal encoder's profile a new accessor function was
3118           added: gst_vaapi_encoder_get_profile()
3119
3120 2019-08-16 19:26:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3121
3122         * gst-libs/gst/vaapi/gstvaapiprofilecaps.c:
3123         * gst-libs/gst/vaapi/gstvaapiprofilecaps.h:
3124           libs: profilecaps: defines gst_vaapi_profile_caps_append_encoder()
3125           Previously it was just a boilerplate. Now it is real implementation.
3126
3127 2019-08-16 19:17:48 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3128
3129         * gst-libs/gst/vaapi/gstvaapiutils.c:
3130           libs: utils: treat va_rt_format as bitwise flag
3131           The return value of vaGetConfigAttributes() of VAConfigAttribRTFormat
3132           is a bitwise flag with *all* the supported chroma types.
3133           Previously it was assumed that the return value was a single value,
3134           thus when returning the GST_VAAPI_CHROMA_TYPE_XXX the code was a
3135           simple case. But it is wrong.
3136           This patch changes the case block with a sequence of ifs testing the
3137           bitwise. For now we assume a "priority" list in the testing sequence.
3138
3139 2019-08-16 18:07:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3140
3141         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3142         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3143         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
3144         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
3145         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
3146         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
3147         * gst-libs/gst/vaapi/gstvaapiprofile.c:
3148         * gst-libs/gst/vaapi/gstvaapiprofile.h:
3149         * tests/test-display.c:
3150           libs: profile: add gst_vaapi_profile_get_va_name()
3151           gst_vaapi_profile_get_name() returns a proper name for
3152           GstCaps. Nonetheless, there are many profiles which don't have a name
3153           representation for that realm.
3154           gst_vaapi_profile_get_va_name() returns the name of the profile
3155           according to its VAProfile name.
3156           This new funtion is used in the encoder error message.
3157
3158 2019-08-05 19:47:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3159
3160         * gst-libs/gst/vaapi/Makefile.am:
3161         * gst-libs/gst/vaapi/gstvaapiprofilecaps.c:
3162         * gst-libs/gst/vaapi/gstvaapiprofilecaps.h:
3163         * gst-libs/gst/vaapi/meson.build:
3164         * gst/vaapi/gstvaapidecode.c:
3165           libs: profilecaps: move caps config into a new file
3166           Implement all the appending of frame size restrictions in caps, for
3167           encoders and decoders, in a new source file.
3168
3169 2019-08-05 19:45:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3170
3171         * gst-libs/gst/vaapi/gstvaapidecoder.c:
3172           libs: decoder: ref the caps as property
3173
3174 2019-08-02 16:56:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3175
3176         * gst-libs/gst/vaapi/gstvaapicontext.c:
3177         * gst-libs/gst/vaapi/gstvaapicontext.h:
3178           libs: context: add gst_vaapi_context_get_surface_attributes()
3179           This function copies the surface attributes from the context's object
3180           to the caller.
3181
3182 2019-08-02 12:46:55 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3183
3184         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
3185         * gst-libs/gst/vaapi/gstvaapibufferproxy.h:
3186         * gst-libs/gst/vaapi/gstvaapiutils.c:
3187         * gst-libs/gst/vaapi/gstvaapiutils.h:
3188           libs: move memory types conversions to gstvaapiutils
3189           And add more supported memory types by current VA.
3190
3191 2019-08-01 19:48:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3192
3193         * gst-libs/gst/vaapi/gstvaapiutils_core.c:
3194         * gst-libs/gst/vaapi/gstvaapiutils_core.h:
3195           libs: utils: remove unused function gst_vaapi_get_surface_formats()
3196
3197 2019-08-01 19:46:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3198
3199         * gst-libs/gst/vaapi/gstvaapicontext.c:
3200         * gst-libs/gst/vaapi/gstvaapicontext.h:
3201         * gst-libs/gst/vaapi/gstvaapifilter.c:
3202           libs: context, filter: use new surface attributes API
3203
3204 2019-08-01 19:13:39 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3205
3206         * gst-libs/gst/vaapi/gstvaapiutils_core.c:
3207         * gst-libs/gst/vaapi/gstvaapiutils_core.h:
3208           libs: utils: add gst_vaapi_config_surface_attributes_get()
3209           To extract the surface restrictions per config using a new structure:
3210           GstVaapiConfigSurfaceAttributes
3211
3212 2019-07-31 13:08:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3213
3214         * gst-libs/gst/vaapi/gstvaapiutils_core.c:
3215           Split the surface attribute retrieval
3216
3217 2019-07-15 21:51:46 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3218
3219         * gst/vaapi/gstvaapipostproc.c:
3220           vaapipostproc: handle navigation downstream event
3221           When navigation events contains coordiantes those have to be mapped
3222           to the new size and/or orientation.
3223
3224 2019-07-15 21:23:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3225
3226         * tests/elements/test-vaapisink.c:
3227           test-vaapisink: also use vaapipostproc to change orientation
3228
3229 2019-07-15 21:27:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3230
3231         * gst-libs/gst/vaapi/gstvaapifilter.c:
3232         * gst-libs/gst/vaapi/gstvaapifilter.h:
3233         * gst/vaapi/gstvaapipostproc.c:
3234         * gst/vaapi/gstvaapipostproc.h:
3235         * gst/vaapi/gstvaapipostprocutil.c:
3236           vaapipostproc: handle image-orientation upstream event
3237           Now that vaapipostproc can possible handle video-direction, it
3238           should also handle the image-orientation event from upstream if
3239           video-direction property is set to auto.
3240
3241 2019-07-26 22:09:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3242
3243         * gst/vaapi/gstvaapipostproc.c:
3244           vaapipostproc: add missing locks when adding flags
3245
3246 2019-07-26 22:05:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3247
3248         * gst/vaapi/gstvaapipostproc.c:
3249           vaapipostproc: update filter before fixate caps
3250           It is requiered to know if postproc is capable to change the video
3251           direction before fixating the source caps.
3252           In order to do it, it'ss required to know if there's a functional VPP,
3253           but that's checked at create() vmethod, which occurs after caps
3254           fixating.
3255           This patch checks for a functional VPP at fixate caps and, if so,
3256           checks for the enabled filtes and later do the caps fixations.
3257
3258 2019-07-26 19:46:09 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3259
3260         * gst-libs/gst/vaapi/gstvaapifilter.c:
3261         * gst-libs/gst/vaapi/gstvaapivalue.c:
3262         * gst-libs/gst/vaapi/gstvaapivalue.h:
3263         * gst/vaapi/gstvaapipostproc.c:
3264           vaapipostproc: element warning if video direction is unsupported
3265           If the video direction is unsupported by the driver, an element
3266           warning is posted in the bus to notify the application.
3267           gst_vaapi_enum_type_get_nick() was added in the library thus it can
3268           be used elsewhere. It retrives the nick from an enum gtype.
3269
3270 2019-07-26 19:09:54 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3271
3272         * gst-libs/gst/vaapi/gstvaapifilter.c:
3273           libs: filter: check mirror and rotation caps only once
3274           This patch locks the display before querying the pipeline caps and
3275           stores the mirror and rotation capabilities, thus they are not queried
3276           every time the video direction is set.
3277
3278 2019-08-16 19:51:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3279
3280         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
3281           libs: encoder: vp9: set VP9_0 profile as default
3282           Commit 0afc8131 introduced a regression and only NV12 format were
3283           admitted, failing in any other valid color format.
3284           This patch sets the profile to GST_VAAPI_PROFILE_VP9_0 by default.
3285
3286 2019-08-16 13:25:06 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3287
3288         * gst-libs/gst/vaapi/gstvaapifilter.c:
3289           libs: filter: fail if first color balance value is invalid
3290
3291 2019-08-06 19:24:08 +0800  Yan Wang <yan.wang@linux.intel.com>
3292
3293         * gst-libs/gst/vaapi/gstvaapifilter.c:
3294         * gst-libs/gst/vaapi/gstvaapiutils.c:
3295         * gst-libs/gst/vaapi/gstvaapiutils.h:
3296           libs: filter: set all color balance values
3297           When set multiple settings of color balance like hue, saturation,
3298           brightness and contrast for vaapipostproc, they should be set as
3299           parameters of color balance filter, at the same color balance
3300           filter calling.
3301           Otherwise, multiple color balance filter calling will cause
3302           previous setting get reset by the last calling with default value.
3303           Fixes #182.
3304           Signed-off-by: Yan Wang <yan.wang@linux.intel.com>
3305
3306 2019-08-16 11:02:08 +0800  Wangfei <fei.w.wang@intel.com>
3307
3308         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
3309           libs: h265dec: remove limitation of get iq matrix
3310           According hevc spec, scaling_list_data is not related
3311           to chroma_format_idc.
3312
3313 2019-05-30 23:52:51 +0800  He Junyan <junyan.he@hotmail.com>
3314
3315         * gst-libs/gst/vaapi/gstvaapivideopool.c:
3316           libs: videopool: fix undocumented behavior and counting
3317           gst_vaapi_video_pool_reserve_unlocked() hit an undocumented behavoir
3318           because it locks twice the same mutex.
3319           Also, n had different meanings in the current code: as an increase
3320           value and as a new total of allocated surfaces.
3321           This patche removes the undocumented behavoir (usually a deadlock) and
3322           fixes the meaning of n as the new total of allocated surfaces.
3323           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3324
3325 2019-07-17 11:56:45 +0800  He Junyan <junyan.he@hotmail.com>
3326
3327         * gst-libs/gst/vaapi/gstvaapiutils.c:
3328           libs: utils: Add missing entries for string_of_VAEntrypoint.
3329
3330 2019-07-18 22:01:01 +0800  He Junyan <junyan.he@hotmail.com>
3331
3332         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
3333           libs: encoder: Consider vp9 profiles based on input format.
3334           Only support GST_VAAPI_PROFILE_VP9_0 and GST_VAAPI_PROFILE_VP9_2 now.
3335           Fix: #184
3336
3337 2019-08-12 18:41:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3338
3339         * gst/vaapi/gstvaapivideomemory.c:
3340           vaapivideomemory: demote error message to info
3341           The main reason to demote the message's level is because it is not an
3342           error, it's a possible output of the trial and there's a code path
3343           that handles it.
3344           Secondly, it's very annoying when using gallium driver for radeon.
3345
3346 2019-07-18 13:32:46 +0800  Wangfei <fei.w.wang@intel.com>
3347
3348         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3349         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
3350         * gst-libs/gst/vaapi/gstvaapitypes.h:
3351         * gst-libs/gst/vaapi/gstvaapiutils.c:
3352         * gst-libs/gst/vaapi/gstvaapivalue.c:
3353           libs: encoder: h264: support ICQ/QVBR bitrate control mode
3354           ICQ is Intelligent Constant Quality. It will use the initial QP
3355           vaule of icq-quality-factor to adjust QP at MB level intelligently
3356           to improve subjective quality.
3357           QVBR is Quality defined VBR. It will use qvbr-quality-factor to
3358           adjust QP for each MB to get enough quality picture without waste
3359           of bits.
3360
3361 2019-08-05 10:51:24 +0800  Wangfei <fei.w.wang@intel.com>
3362
3363         * gst-libs/gst/vaapi/gstvaapitypes.h:
3364           libs: Let GST_VAAPI_RATECONTROL_MASK return unsigned int
3365           The value return from GST_VAAPI_RATECONTROL_MASK will be used by
3366           GST_VAAPI_POPCOUNT32 as its inpput. GST_VAAPI_POPCOUNT32 can only
3367           deal with unsigned int. Otherwise there may be an error of out of
3368           range of integer if we define few more rate-control mode.
3369
3370 2019-06-07 09:54:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3371
3372         * gst/vaapi/gstvaapidecodebin.c:
3373           vaapidecodebin: set queue's max size buffers to 1
3374           Otherwise the queue will swallow all the available decoder's surfaces
3375           reaching a dead-lock.
3376           This setting might impact the bin's peformance, but it's a trade-off.
3377
3378 2019-06-07 09:53:08 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3379
3380         * gst/vaapi/gstvaapidecodebin.c:
3381           vaapidecodebin: set properties default values
3382
3383 2019-05-31 13:12:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3384
3385         * gst/vaapi/gstvaapidecode.c:
3386           vaapidecode: don't error if can't push buffers downtream
3387           When the code path goes to push buffers downstream when no surface
3388           available in decoder context, and it fails the code bails out with a
3389           fatal error.
3390           That behavior is wrong, since it shouldn't be fatal. The use case is
3391           when the video stream is disabled.
3392           This patch just ignores the errors in this situation and demotes the
3393           level of a log message.
3394
3395 2019-05-18 13:24:35 +0800  Wangfei <fei.w.wang@intel.com>
3396
3397         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3398         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
3399         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
3400         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.h:
3401         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3402         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
3403           libs: encoder: h264,h265: add new property "max-qp"
3404           Add new property "max-qp" to allow set the maximum quantisation
3405           parameter values.
3406
3407 2019-05-23 10:18:52 -0400  Wangfei <fei.w.wang@intel.com>
3408
3409         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
3410           libs: encoder: vp9: add low power mode encode
3411           By now, this feature only support by media-driver on Ice Lake
3412           platform, more information you can reference:
3413           https://github.com/intel/media-driver
3414
3415 2019-07-15 15:33:07 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
3416
3417         * gst/vaapi/gstvaapipostprocutil.c:
3418           vaapipostproc: update PAR when rotating
3419           When rotating, swap pixel-aspect-ratio during
3420           negotiation.
3421           Fixes #181
3422
3423 2019-07-01 15:26:18 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
3424
3425         * gst-libs/gst/vaapi/gstvaapifilter.c:
3426         * gst-libs/gst/vaapi/gstvaapiutils.c:
3427         * gst-libs/gst/vaapi/gstvaapiutils.h:
3428         * gst/vaapi/gstvaapipostprocutil.c:
3429           vaapipostproc: add rotation support
3430           Adds vpp rotation support to vaapipostproc.  Uses
3431           property video-direction. Default is identity (no
3432           rotation).
3433           Closes #104
3434
3435 2019-05-22 10:47:30 -0400  Wangfei <fei.w.wang@intel.com>
3436
3437         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3438           libs: encoder: h265: pass diff_cu_qp_delta_depth flag to driver
3439           Intel media-driver requires enablement of diff_cu_qp_delta_depth when
3440           cu_qp_delta_enabled_flag enabled.
3441           Fixes: #177
3442
3443 2019-07-01 17:02:33 +0800  Wangfei <fei.w.wang@intel.com>
3444
3445         * gst-libs/gst/vaapi/gstvaapiutils.c:
3446           libs: encoder: Add MB ratecontrol mode to get its string
3447
3448 2019-07-01 16:52:00 +0800  Wangfei <fei.w.wang@intel.com>
3449
3450         * gst-libs/gst/vaapi/gstvaapiutils.c:
3451           libs: encoder: refine guard of bitrate control mode
3452           Remove useless guard of all bitrate control mode's guard except MB
3453           which is define in VA-API version 0.39.1.
3454
3455 2019-06-29 00:08:40 +1000  Jan Schmidt <jan@centricular.com>
3456
3457         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
3458           h264: Update for parse_vui_params parameter removal.
3459           Update calls to the h264 parser lib for removal of the
3460           parse_vui_params parameter.
3461
3462 2019-06-24 16:26:56 -0400  Wang Zhanjun <zhanjunx.wang@intel.com>
3463
3464         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
3465           libs: dec: vp9: do not use display size as decoded size
3466           If display size is smaller than current frame size, then the crop size
3467           will be set as display size, which either crashes the pipeline or the
3468           output MD5 does not match. Rather it should use the actual decoded size.
3469           This patch removes the cropping set. For rendering we can use aspect
3470           ratio to set display size.
3471           Fixes #175
3472           Signed-off-by: Wang Zhanjun <zhanjunx.wang@intel.com>
3473           Signed-off-by: Xu Guangxin <guangxin.xu@intel.com>
3474
3475 2019-06-28 16:32:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3476
3477         * README:
3478           Update README
3479
3480 2019-06-25 19:11:12 +0800  He Junyan <junyan.he@hotmail.com>
3481
3482         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
3483         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
3484         * gst-libs/gst/vaapi/gstvaapiutils_h265_priv.h:
3485           libs: dec: h265: Consider chroma_bit_depth to choose chrome type
3486           For some main-10 stream, sometime the luma is 8 bits while chrome is more
3487           than 8 bits, which cause using the wrong NV12 surface as the render target
3488           and decoding error.
3489           Fix #176
3490
3491 2019-06-25 10:31:20 +0800  Wangfei <fei.w.wang@intel.com>
3492
3493         * gst/vaapi/gstvaapidecode.c:
3494           vaapidecode: set initial decode format according surface chroma type
3495           For surfaces with different chroma type, it is prefer to initialize
3496           a format which chroma type should be same with surface chroma type
3497           instead of using fixed NV12.
3498
3499 2019-05-30 09:48:51 -0400  Wangfei <fei.w.wang@intel.com>
3500
3501         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
3502         * gst-libs/gst/vaapi/gstvaapiimage.c:
3503         * gst-libs/gst/vaapi/video-format.c:
3504         * gst/vaapi/gstvaapidecode.c:
3505         * gst/vaapi/gstvaapipluginutil.h:
3506           libs: decoder: jpeg: add support 400/411/422/444 chroma type
3507           When create vaapi surface, it is better to use the chroma type get
3508           from jpeg file instead of using fixed 420 format. And the correct
3509           chroma type can be determined by horizontal_factor/vertical_factor
3510           flags that get from jpegparse.
3511
3512 2019-06-22 00:05:24 +0800  He Junyan <junyan.he@hotmail.com>
3513
3514         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
3515           libs: dec: h265: Fix profile_idc mapping.
3516           The old mapping values return by gst_vaapi_utils_h265_get_profile_idc is
3517           wrong, though GST_H265_PROFILE_IDC_MAIN and GST_H265_PROFILE_IDC_MAIN_10
3518           happened to be the correct value.
3519           We only support Annex A profile_idc (1-4).
3520
3521 2019-06-10 20:46:30 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
3522
3523         * gst/vaapi/gstvaapipluginbase.c:
3524           plugins: remove last negotiated video info if caps are same
3525           If the allocation caps and negotiated caps are the same,
3526           then ensure any previously negotiated video info is also
3527           removed.  This can occur when multi-resolution video
3528           decoding returns to it's original resolution.
3529           Fixes #170
3530
3531 2019-06-10 20:39:28 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
3532
3533         * gst/vaapi/gstvaapivideomemory.c:
3534           vaapivideomemory: allow negotiated info to be removed
3535           Allow NULL negotiated_vinfo to be passed into
3536           gst_allocator_set_vaapi_negotiated_video_info to allow
3537           any previously set info to be removed.
3538
3539 2019-06-06 17:24:30 +0300  Freyr <freyrnjordrson@gmail.com>
3540
3541         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
3542         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
3543           libs: encoder: vp8,vp9: reset frame_counter when input frame's format changes
3544           When input frame's formate changes, vp{8,9} encoders don't reset their frame
3545           counter, hence the newly created frame could become a P-frame, leading to some
3546           major troubles (sigabrt in libdrm in case of vp9). This patch adds some frame
3547           prediction-related reset logic to the `flush' methods of GstVaapiEncoderVP8 and
3548           GstVaapiEncoderVP9 implementations.
3549
3550 2019-05-31 12:30:03 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
3551
3552         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3553           libs: encoder: increase bitrate prop max value
3554           There are many profile levels that can support
3555           more than 102400 kbps.  Thus, increase the max
3556           allowed bitrate property value from 102400 kbps
3557           to 2048000 kbps (same as msdk encoder plugins).
3558
3559 2019-06-04 13:27:50 +0800  He Junyan <junyan.he@hotmail.com>
3560
3561         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
3562           libs: mpeg2 encoder: No packed header for SPS and PPS
3563           Dislable passing down packed PPS and PPS to driver if driver does
3564           not want it.
3565           Fix: #168
3566
3567 2019-05-31 23:10:33 +0200  Niels De Graef <niels.degraef@barco.com>
3568
3569         * configure.ac:
3570         * meson.build:
3571         * tests/output.c:
3572           meson: Bump minimal GLib version to 2.44
3573           This means we can use some newer features and get rid of some
3574           boilerplate code using the G_DECLARE_* macros.
3575           As discussed on IRC, 2.44 is old enough by now to start depending on it.
3576
3577 2019-05-31 13:08:39 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3578
3579         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
3580           libs: dec: vp9: clear parser pointer after release
3581           Fix an use-after-release of the parser pointer in VP9 decoder.
3582
3583 2019-05-28 12:09:36 +0300  Freyr666 <sky_rider_93@mail.ru>
3584
3585         * gst/vaapi/gstvaapiencode.c:
3586           vaapiencode: Fixes deadlock in gst_vaapiencode_change_state function
3587           This fixes a deadlock in gst_vaapiencode_change_state, which was due to
3588           srcpad's chain function was locked waiting for available buffers. Since the
3589           coded buffers in codedbuf_queue become available after sinkpad consume the
3590           encoded frames, Paused -> Ready state change leads to deadlock. Coded buffers
3591           are never consumed and marked free, hence gst_vaapiencode_handle_frame waits for
3592           available buffers and holds the stream_lock of the srcpad.
3593
3594 2019-05-29 23:08:22 +0200  Mathieu Duponchelle <mathieu@centricular.com>
3595
3596         * gst-libs/gst/vaapi/gstvaapitypes.h:
3597         * gst/vaapi/gstvaapidecodebin.c:
3598         * gst/vaapi/gstvaapidecodedoc.c:
3599         * gst/vaapi/gstvaapiencode_h264.c:
3600         * gst/vaapi/gstvaapiencode_h264_fei.c:
3601         * gst/vaapi/gstvaapiencode_h265.c:
3602         * gst/vaapi/gstvaapiencode_jpeg.c:
3603         * gst/vaapi/gstvaapiencode_mpeg2.c:
3604         * gst/vaapi/gstvaapiencode_vp8.c:
3605         * gst/vaapi/gstvaapiencode_vp9.c:
3606         * gst/vaapi/gstvaapipostproc.c:
3607         * gst/vaapi/gstvaapisink.c:
3608           doc: remove xml from comments
3609
3610 2019-05-13 16:39:33 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
3611
3612         * gst-libs/gst/vaapi/gstvaapifilter.c:
3613         * gst-libs/gst/vaapi/gstvaapifilter.h:
3614         * gst-libs/gst/vaapi/gstvaapiutils.c:
3615         * gst-libs/gst/vaapi/gstvaapiutils.h:
3616         * gst/vaapi/gstvaapipostproc.c:
3617         * gst/vaapi/gstvaapipostproc.h:
3618           vaapipostproc: add mirror support
3619           Adds vpp mirroring support to vaapipostproc.  Use
3620           property video-direction.  Valid values are identity,
3621           horiz or vert.  Default is identity (no mirror).
3622           Closes #89
3623           v2: Use GstVideoOrientationMethod enum
3624           v3: Don't warn for VA_MIRROR_NONE.
3625           Use GST_TYPE_VIDEO_ORIENTATION_METHOD type.
3626           v4: Query VAAPI caps when setting mirror value
3627           instead of during per-frame processing.
3628           v5: Return TRUE in warning cases when setting mirror value.
3629
3630 2019-05-29 01:35:17 +0200  Mathieu Duponchelle <mathieu@centricular.com>
3631
3632         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
3633         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
3634         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
3635         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
3636         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
3637         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
3638         * gst/vaapi/gstvaapidecodebin.c:
3639         * gst/vaapi/gstvaapisink.c:
3640           doc: fix some incorrect gtk-doc links
3641
3642 2019-05-16 09:22:42 -0400  Thibault Saunier <tsaunier@igalia.com>
3643
3644         * docs/gst_plugins_cache.json:
3645           docs: Update plugin cache
3646           Fixes https://gitlab.freedesktop.org/gstreamer/gst-docs/issues/36
3647
3648 2019-05-16 16:46:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3649
3650         * gst-libs/gst/vaapi/gstvaapisurface.h:
3651           libs: surface: fix documentation format
3652
3653 2019-05-16 10:05:17 +0800  Wangfei <fei.w.wang@intel.com>
3654
3655         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3656           libs: enc: h265: reset num_ref_idx_l1_active_minus1 when low delay B.
3657           When enable low delay B, the reference list 1 will be same with
3658           reference list 0, so need reset the num_ref_idx_l1_active_minus1
3659           to num_ref_idx_l0_active_minus1.
3660           Fixes: #160
3661
3662 2019-05-13 19:05:43 -0400  Thibault Saunier <tsaunier@igalia.com>
3663
3664         * docs/meson.build:
3665           meson: Fix call to wrong function
3666
3667 2018-10-22 11:48:29 +0200  Thibault Saunier <tsaunier@igalia.com>
3668
3669         * Makefile.am:
3670         * configure.ac:
3671         * docs/Makefile.am:
3672         * docs/gst_plugins_cache.json:
3673         * docs/index.md:
3674         * docs/meson.build:
3675         * docs/plugins/Makefile.am:
3676         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
3677         * docs/plugins/gstreamer-vaapi-plugins-sections.txt:
3678         * docs/plugins/gstreamer-vaapi-plugins.types:
3679         * docs/plugins/inspect/plugin-vaapi.xml:
3680         * docs/plugins/running.xml:
3681         * docs/sitemap.txt:
3682         * docs/version.entities.in:
3683         * gst/vaapi/meson.build:
3684         * meson.build:
3685         * meson_options.txt:
3686           docs: Port to hotdoc
3687
3688 2019-05-10 18:29:10 +0800  He Junyan <junyan.he@hotmail.com>
3689
3690         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3691         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3692           libs: encoder: not call ensure_num_slices inside g_assert
3693           g_assert will take no effect when glib's G_DISABLE_ASSERT macro is
3694           defined. The function inside the g_assert will take no effect and
3695           we will fail to set the correct slice number.
3696
3697 2019-04-29 09:52:39 +0800  Wangfei <fei.w.wang@intel.com>
3698
3699         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
3700           libs: h265: dec: Add extension flags setting.
3701           Use VAPictureParameterBufferHEVCExtension&
3702           VASliceParameterBufferHEVCExtension to pass extension setting from
3703           some extension profile clips which may include these information.
3704           The hevc extension setting only supported after libva release 2.2.0
3705           (API 1.2.0).
3706
3707 2019-05-01 12:56:55 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
3708
3709         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3710         * gst-libs/gst/vaapi/gstvaapiencoder.h:
3711         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
3712           libs: encoder: add target-percentage property
3713           Allow users to set the target-percentage for
3714           variable rate controls.  The default value is
3715           70 (as hard-coded prior).
3716           v2: minimum allowed value changed from 0 to 1
3717           v3: target-percentage unchanged if CBR used
3718           Resolves #129
3719
3720 2019-05-09 00:09:21 +0800  He Junyan <junyan.he@hotmail.com>
3721
3722         * gst-libs/gst/vaapi/gstvaapiencoder.h:
3723           libs: encoder: Add a missing comment for DEFAULT_ROI_VALUE property.
3724
3725 2019-05-08 23:39:20 +0800  He Junyan <junyan.he@hotmail.com>
3726
3727         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3728         * gst-libs/gst/vaapi/gstvaapiencoder.h:
3729         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3730         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
3731         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
3732           libs: encoder: Enable trellis quantization method.
3733           The advanced trellis algorithm is supported in VA driver. We add
3734           its support as a property named "trellis" of encoder.
3735           It only works for H264 now, should be more in future.
3736
3737 2019-05-07 11:03:51 +0800  Wangfei <fei.w.wang@intel.com>
3738
3739         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
3740           libs: decoder: vp9: support 422/444 8bit/10bit chroma type.
3741           According to the vp9 sepc, profile 1/3 support 422/440/444 chroma
3742           type, so we need to add subsampling_x&subsampling_y to fix it.
3743           Here is the relationship between chroma type and profile and
3744           subsampling_x&subsampling_y according to vp9 spec:
3745           ------------------------------------------
3746           Profile | Bit depth | Chroma subsampling |
3747           ------------------------------------------
3748           0      | 8         | 420                |
3749           ------------------------------------------
3750           1      | 8         | 422,440,444        |
3751           ------------------------------------------
3752           2      | 10, 12    | 420                |
3753           ------------------------------------------
3754           3      | 10, 12    | 422,440,444        |
3755           ------------------------------------------
3756           -----------------------------------------------
3757           Subsampling_x | Subsampling_y | Chroma format |
3758           -----------------------------------------------
3759           0            | 0             | 444           |
3760           -----------------------------------------------
3761           0            | 1             | 440           |
3762           -----------------------------------------------
3763           1            | 0             | 422           |
3764           -----------------------------------------------
3765           1            | 1             | 420           |
3766           -----------------------------------------------
3767
3768 2019-04-16 18:33:54 +0800  He Junyan <junyan.he@hotmail.com>
3769
3770         * gst-libs/gst/vaapi/gstvaapiimage.c:
3771         * gst-libs/gst/vaapi/video-format.c:
3772           libs: Add packed 24 RGB format support.
3773           Can not find a suitable chrome_type for this GST_VIDEO_FORMAT_RGB
3774           packed 24 format. Just use GST_VAAPI_CHROMA_TYPE_RGB32 as its chrome
3775           type. This kind of surface will just be created by new API with fourcc
3776           and no old style chrome based creation is available.
3777           fixes: #151
3778
3779 2019-03-15 14:29:41 +0800  Wangfei <fei.w.wang@intel.com>
3780
3781         * gst/vaapi/gstvaapiencode.c:
3782         * gst/vaapi/gstvaapiencode_h264.c:
3783         * gst/vaapi/gstvaapiencode_h264_fei.c:
3784         * gst/vaapi/gstvaapiencode_h265.c:
3785         * gst/vaapi/gstvaapiencode_jpeg.c:
3786         * gst/vaapi/gstvaapiencode_mpeg2.c:
3787         * gst/vaapi/gstvaapiencode_vp8.c:
3788         * gst/vaapi/gstvaapiencode_vp9.c:
3789           vaapiencode: handle DMABuf caps feature in sink pad
3790           Add DMABuff caps features in all encoders' sink pad.
3791
3792 2019-05-03 10:31:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3793
3794         * gst-libs/gst/vaapi/gstvaapiencoder.c:
3795           libs: encoder: continue if roi meta is NULL
3796           Coverity scan bug:
3797           If the function actually returns a null value, a null pointer
3798           dereference will occur.
3799           In gst_vaapi_encoder_ensure_param_roi_regions(): Return value of
3800           function which returns null is dereferenced without checking
3801
3802 2019-04-15 19:58:14 +0800  He Junyan <junyan.he@hotmail.com>
3803
3804         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
3805           lib: decoder: vp9: Set chroma_type by VP9 bit_depth
3806           The decoder's surface chroma type should depend on the bit depth
3807           of VP9's parser. For 10bits VP9 stream, we need to use P10LE kind
3808           10 bits surface as the decoder result.
3809           Fixes #155
3810
3811 2019-05-02 16:00:57 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3812
3813         * gst/vaapi/gstvaapipostprocutil.c:
3814           vaapipostproc: don't do any color conversion when GL_TEXTURE_UPLOAD
3815           https://bugzilla.gnome.org/show_bug.cgi?id=748184 has resurrected
3816           with commit 3e992d8a
3817           Since gst_vaapi_find_preferred_caps_feature() returns a color format
3818           from caps negotiation, different from the default one (NV12), the
3819           postproc enables the color transformation. But when GL_TEXTURE_UPLOAD
3820           feature is negotiated, no color transformation shall be done.
3821           Nonetheless, with commit 3e992d8a the requested format changes
3822           firstly, because there's no video sink yet, so ANY caps are
3823           negotiated; but later, when there's a video sink and a caps
3824           renegotiation, the GL_TEXTURE_UPLOAD is negotiated though the color
3825           format conversion still ongoing. It is required to reset that
3826           conversion.
3827           This patch force default color format when GL_TEXTURE_UPLOAD is
3828           selected as preferred, thus avoiding the color conversion.
3829           Fixes: #157
3830
3831 2019-04-19 15:49:37 -0700  Julien Isorce <jisorce@oblong.com>
3832
3833         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
3834           libs: surface: fix double free when dmabuf export fails
3835           Happens if vaAcquireBufferHandle fails.
3836
3837 2019-04-29 20:10:39 +0800  He Junyan <junyan.he@hotmail.com>
3838
3839         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3840           libs: h264encoder: fix a typo of GstVaapiEncoderH264PredictionType
3841
3842 2019-04-19 10:43:35 +0100  Tim-Philipp Müller <tim@centricular.com>
3843
3844         * RELEASE:
3845         * configure.ac:
3846         * docs/plugins/inspect/plugin-vaapi.xml:
3847         * meson.build:
3848           Back to development
3849
3850 === release 1.16.0 ===
3851
3852 2019-04-19 00:38:12 +0100  Tim-Philipp Müller <tim@centricular.com>
3853
3854         * ChangeLog:
3855         * NEWS:
3856         * RELEASE:
3857         * configure.ac:
3858         * gstreamer-vaapi.doap:
3859         * meson.build:
3860           Release 1.16.0
3861
3862 2019-04-19 00:38:12 +0100  Tim-Philipp Müller <tim@centricular.com>
3863
3864         * docs/plugins/inspect/plugin-vaapi.xml:
3865           Update docs
3866
3867 2019-04-15 19:34:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3868
3869         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3870         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
3871         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3872           libs: encoder: h264,h265: guard VA version for max_qp property
3873           This patch fixes a regression from commit 5b1fe9c6.
3874           max_qp, in rate control configuration, appeared in libva release
3875           2.1 (API 1.1), thus it is required to guard the VA API version.
3876           Fixes: #150
3877
3878 2019-04-08 18:29:35 +0800  He Junyan <junyan.he@hotmail.com>
3879
3880         * gst-libs/gst/vaapi/gstvaapiimage.c:
3881         * gst-libs/gst/vaapi/video-format.c:
3882           libs: Add RGB565 image format support.
3883
3884 2019-04-10 13:59:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3885
3886         * configure.ac:
3887           build: configure: delay USE_GTK conditional until check libva-x11
3888           libva-x11 is used for X11 applications, so it is required to build
3889           any GTK application.
3890           Later, when Wayland test is added, we should change this.
3891
3892 2019-04-10 13:25:10 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3893
3894         * configure.ac:
3895           build: configure: disable GLX if libva-x11 is not found
3896
3897 2019-04-15 13:55:26 +0200  He Junyan <junyan.he@hotmail.com>
3898
3899         * gst-libs/gst/vaapi/gstvaapiutils.c:
3900           libs: utils: avoid macro evaluation when stringify
3901           string_of_va_chroma_format() gets a wrong string format description.
3902           For example, the YUV420_10BPP get a string of 0x00000100 as output.
3903           It's because VA_RT_FORMAT_xxx values are macro definitions. And
3904           STRINGIFY(VA_RT_FORMAT_xxx) will expand to its real value
3905           0x00000XXX.
3906           To avoid the macro evaluation, it is changed to show only the color
3907           format without VA_RT_FORMAT_ prefix.
3908
3909 2019-04-15 13:54:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3910
3911         * gst-libs/gst/vaapi/gstvaapiutils.c:
3912           libs: utils: use glib's macros
3913           Don't reinvent the wheel.
3914
3915 2019-04-11 15:05:02 +0800  Wangfei <fei.w.wang@intel.com>
3916
3917         * gst/vaapi/gstvaapipluginutil.c:
3918           plugins: find the preferred format from right caps.
3919           When the downstream has any caps, then raw video feature will
3920           be used. At this situation, the preferred format should be chose
3921           from caps which contains "vide/x-raw" feature instead of from
3922           the fist allowed caps.
3923           Fixes #142
3924
3925 2019-04-10 11:43:33 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
3926
3927         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3928           libs: encoder: h265: fill tier in va seq param buf
3929           Now that tier is calculated in commit 58e74f9440fe (!68),
3930           ensure we fill in the general_tier_flag in the
3931           VAEncSequenceParameterBufferHEVC.
3932
3933 === release 1.15.90 ===
3934
3935 2019-04-11 00:40:03 +0100  Tim-Philipp Müller <tim@centricular.com>
3936
3937         * ChangeLog:
3938         * NEWS:
3939         * RELEASE:
3940         * configure.ac:
3941         * gstreamer-vaapi.doap:
3942         * meson.build:
3943           Release 1.15.90
3944
3945 2019-04-11 00:40:03 +0100  Tim-Philipp Müller <tim@centricular.com>
3946
3947         * docs/plugins/inspect/plugin-vaapi.xml:
3948           Update docs
3949
3950 2019-04-09 20:42:04 +0800  He Junyan <junyan.he@hotmail.com>
3951
3952         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3953           libs: encoder: h265: Recognize the correct level and tier.
3954           The current manner can not recognize the correct level and always
3955           set the tier to main. Need to add frame rate check to recognize
3956           levels such as 4.1, 6.2, etc. We also add a logic to check main
3957           and high tier based on bitrate.
3958           Fixes: #145
3959
3960 2019-04-03 14:12:23 +0800  He Junyan <junyan.he@hotmail.com>
3961
3962         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3963         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
3964         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3965           libs: encoder: h264,h265: Set max_qp if min_qp is non-zero.
3966           media-driver currently fails to set a correct value of max_qp when
3967           min_qp is different to zero, in CBR and VBR mode, generating full
3968           quality frames, thus unexpected huge output.
3969           This patch sets max_qp to an arbitrary value to avoid this output
3970           temporary.
3971           Fixes: #144
3972
3973 2019-04-09 12:42:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
3974
3975         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
3976         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
3977         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
3978           libs: encoder: h264,h265: initial and minimal QP can be zero
3979           Currently the minimal value for either min_qp and init_qp are 1,
3980           but VA documentation specifiy that zero is also valid and means
3981           to ignore the quantiser.
3982           The default value is not changed though to avoid behaivor changes
3983           to users.
3984
3985 2019-04-09 09:20:23 +0800  Haihao Xiang <haihao.xiang@intel.com>
3986
3987         * tests/elements/meson.build:
3988           meson: build test-vaapicontext when using X11
3989           x11_dep and libva_x11_dep are optional and meson ignores these
3990           dependencies even if they are added into the dependency list.
3991           This fixes the error below when libva-x11 is not avaiblabe:
3992           cc -Itests/elements/tests@elements@@test-vaapicontext@exe
3993           -Itests/elements -I../../gstreamer-vaapi/tests/elements -I.
3994           -I../../gstreamer-vaapi/ -Igst-libs -I../../gstreamer-vaapi/gst-libs
3995           -I/usr/include/gstreamer-1.0 -I/usr/include/glib-2.0
3996           -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/orc-0.4
3997           -I/usr/include/at-spi2-atk/2.0 -I/usr/include/at-spi-2.0
3998           -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include
3999           -I/usr/include/gtk-3.0 -I/usr/include/gio-unix-2.0/
4000           -I/usr/include/libdrm -I/usr/include/harfbuzz -I/usr/include/pango-1.0
4001           -I/usr/include/fribidi -I/usr/include/atk-1.0 -I/usr/include/cairo
4002           -I/usr/include/pixman-1 -I/usr/include/uuid -I/usr/include/freetype2
4003           -I/usr/include/libpng16 -I/usr/include/gdk-pixbuf-2.0
4004           -fdiagnostics-color=always -pipe -D_FILE_OFFSET_BITS=64 -Wall
4005           -Winvalid-pch -O2 -g -fvisibility=hidden -fno-strict-aliasing -pthread
4006           -DHAVE_CONFIG_H  -MD -MQ
4007           'tests/elements/tests@elements@@test-vaapicontext@exe/test-vaapicontext.c.o'
4008           -MF
4009           'tests/elements/tests@elements@@test-vaapicontext@exe/test-vaapicontext.c.o.d'
4010           -o
4011           'tests/elements/tests@elements@@test-vaapicontext@exe/test-vaapicontext.c.o'
4012           -c ../../gstreamer-vaapi/tests/elements/test-vaapicontext.c
4013           ../../gstreamer-vaapi/tests/elements/test-vaapicontext.c:29:10: fatal
4014           error: va/va_x11.h: No such file or directory
4015           #include <va/va_x11.h>
4016
4017 2019-04-01 12:56:28 +0800  He Junyan <junyan.he@hotmail.com>
4018
4019         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
4020         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
4021         * gst-libs/gst/vaapi/gstvaapifeipak_h264.c:
4022           libs: encoder: h264_fei: Use gst_param_spec_array for view-ids
4023           GValueArray is deprecated. Use GstValueArray instead.
4024
4025 2019-03-30 18:29:31 +0100  Danilo Spinella <danyspin97@protonmail.com>
4026
4027         * gst/vaapi/gstvaapipluginutil.c:
4028           vaapipluginutil: Fix #endif for USE_X11
4029
4030 2019-03-29 18:29:51 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4031
4032         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4033           libs: encoder: h264: simplify the view-ids setting
4034
4035 2019-03-26 14:54:47 +0800  He Junyan <junyan.he@hotmail.com>
4036
4037         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4038           libs: encoder: h264: Use gst_param_spec_array for view-ids
4039           GValueArray is deprecated. Use GstValueArray instead.
4040           gst_param_spec_array can be deserialized from command line using:
4041           vaapih264enc view-ids="<(uint)40,(uint)100>" num-views=2
4042           While the g_param_spec_value_array() can not, and always get
4043           error: "gst_value_deserialize_g_value_array: unimplemented"
4044           Also fixed an out-of-range bug.
4045
4046 2019-03-29 13:33:41 +0800  He Junyan <junyan.he@hotmail.com>
4047
4048         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
4049           libs: Change the parameter setting order when encode picture.
4050           The order in gst_vaapi_enc_picture_encode when encoding one
4051           picture is not very correct. The misc parameters are set before
4052           the picture parameters. Some of the misc parameters such as
4053           ROI may change the current picture parameters. But the later
4054           setting of picture parameter will re-init all picture related
4055           parameters and clear the previous setting. The right order
4056           should be picture parameter first and then misc parameters.
4057           Signed-off-by: He Junyan <junyan.he@hotmail.com>
4058
4059 2019-03-26 14:20:34 +0800  Wangfei <fei.w.wang@intel.com>
4060
4061         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
4062           libs: decoder: jpeg: support dynamic resolution change decode.
4063           Add size_changed flag to watch out resolution. if change, reset
4064           jpeg decoder's context.
4065
4066 2019-03-23 15:34:03 +0800  Wangfei <fei.w.wang@intel.com>
4067
4068         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4069           libs: encoder: h265: add low power mode encode.
4070           By now, this feature only support by media-driver on Ice Lake
4071           platform, more information you can reference:
4072           https://github.com/intel/media-driver
4073
4074 2019-03-15 18:40:21 +0800  He Junyan <junyan.he@hotmail.com>
4075
4076         * gst/vaapi/gstvaapiencode.c:
4077           vaapiencode: gobject's prop_id differ from vaapi encoder
4078           The vaapi internal encoder's property id are negative, thus they are
4079           different from GObject's property ids.
4080           gst_vaapi_encoder_set_property() should map to the internal encoder
4081           property id, assigned in gst_vaapiencode_default_set_property().
4082
4083 2019-03-21 16:56:34 +0000  Tim-Philipp Müller <tim@centricular.com>
4084
4085         * meson.build:
4086           meson: disable compiler warnings for unused vars and args if gst debug system is disabled
4087
4088 2019-03-21 13:31:57 +0000  Tim-Philipp Müller <tim@centricular.com>
4089
4090         * meson.build:
4091           meson: use new 'python' module instead of deprecated 'python3' one
4092
4093 2019-03-11 18:38:36 -0300  Thibault Saunier <tsaunier@igalia.com>
4094
4095         * common:
4096           Update common submodule back to 59cb678164719ff59dcf6c8b93df4617a1075d11
4097           It was wrongly changed in 3d9555a86d45565870c684fe00ec8bbb0fed7205
4098
4099 2019-03-04 09:16:17 +0000  Tim-Philipp Müller <tim@centricular.com>
4100
4101         * NEWS:
4102         * RELEASE:
4103         * configure.ac:
4104         * docs/plugins/inspect/plugin-vaapi.xml:
4105         * meson.build:
4106           Back to development
4107
4108 2019-03-01 12:33:26 +0800  He Junyan <junyan.he@hotmail.com>
4109
4110         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
4111           libs: Fix a typo in comments.
4112           Fix a typo in function description of
4113           gst_vaapi_surface_pool_new_with_chroma_type.
4114           Signed-off-by: He Junyan <junyan.he@hotmail.com>
4115
4116 2019-02-27 13:02:10 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4117
4118         * gst/vaapi/gstvaapipluginutil.c:
4119           plugin: if any caps in downstream, negotiate raw video
4120           When downstream has any caps, vaapi should not shovel vaapi featured
4121           buffers, but rather plain raw video, assuming always the worst case
4122           scenario (downstream cannot handle featured video memory but raw
4123           system memory buffers).
4124           This patch query the peer caps without any filter, to know if
4125           donwstream just ask for any caps, if so jump to the color space
4126           checking, otherwise do the caps intersection and continue with the
4127           feature selection algorithm.
4128           Fixes: #139
4129
4130 === release 1.15.2 ===
4131
4132 2019-02-26 12:01:53 +0000  Tim-Philipp Müller <tim@centricular.com>
4133
4134         * ChangeLog:
4135         * NEWS:
4136         * RELEASE:
4137         * configure.ac:
4138         * gstreamer-vaapi.doap:
4139         * meson.build:
4140           Release 1.15.2
4141
4142 2019-02-26 12:01:53 +0000  Tim-Philipp Müller <tim@centricular.com>
4143
4144         * docs/plugins/inspect/plugin-vaapi.xml:
4145           Update docs
4146
4147 2019-02-05 16:59:40 +0800  He Junyan <junyan.he@hotmail.com>
4148
4149         * gst/vaapi/gstvaapivideomemory.c:
4150           vaapivideomemory: Prefer same format for surface and image
4151           We prefer to use the same format between image and surface for gst
4152           vaapi allocator. The old way may choose different formats between
4153           image and surface. For example, the RGBA image may have a NV12 surface.
4154           So we need to do format conversion when we put/get image to surface.
4155           Some drivers such as iHD can not support such conversion and always
4156           cause a data flow error. There may also have some performance cost
4157           for format conversion when put/get images.
4158           So we prefer to use the same format for image and surface in the
4159           allocator. If the surface can not support that format, we then
4160           fallback to find a best one as the surface format.
4161           Co-authored-by: Víctor Jáquez <vjaquez@igalia.com>
4162
4163 2019-02-15 15:19:51 +0800  He Junyan <junyan.he@hotmail.com>
4164
4165         * gst-libs/gst/vaapi/video-format.c:
4166           libs: Delete the duplicated ARGB video format.
4167           Two ARGB formats with the same format information.
4168           Should be verbose and delete one.
4169           Signed-off-by: He Junyan <junyan.he@hotmail.com>
4170
4171 2019-02-13 10:39:59 -0500  Adam Jackson <ajax@redhat.com>
4172
4173         * common:
4174         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
4175           glx: Stop specifying GLX_DEPTH_SIZE
4176           This code is just confused. It's asking for at least as many bits of
4177           (z-axis) depth as the root window has bits of (color) depth. For rgb565
4178           or rgb888 this is harmless, but at 10 bits per channel this demands a
4179           30-bit or deeper Z buffer. While some hardware could in principle do a
4180           32-bit Z buffer, Mesa does not expose such fbconfigs (at least on Intel
4181           and AMD).
4182           We're not actually using the Z buffer, so just stop asking for one.
4183
4184 2019-01-14 11:30:48 +0100  Niels De Graef <niels.degraef@barco.com>
4185
4186         * configure.ac:
4187         * gst-libs/gst/vaapi/Makefile.am:
4188         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
4189         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
4190         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
4191         * gst-libs/gst/vaapi/meson.build:
4192         * gst/vaapi/gstvaapisink.c:
4193         * meson.build:
4194           libs: wayland: add support for XDG-shell protocol
4195           [wl_shell] is officially [deprecated], so provide support for the
4196           XDG-shell protocol should be provided by all desktop-like compositors.
4197           (In case they don't, we can of course fall back to wl_shell).
4198           Note that the XML file is directly provided by the `wayland-protocols`
4199           dependency and generates the protocol marshalling code.
4200           [wl_shell]: https://people.freedesktop.org/~whot/wayland-doxygen/wayland/Client/group__iface__wl__shell.html
4201           [deprecated]: https://github.com/wayland-project/wayland/commit/698dde195837f3d0844b2725ba4ea8ce9ee7518c
4202
4203 2019-02-16 19:09:50 +0100  Niels De Graef <nielsdegraef@gmail.com>
4204
4205         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
4206           libs: window: wayland: Prefix wl_shell_surface field with `wl_`
4207           It will help us to distinguish from other Wayland shell surface
4208           (such as XDG-shell) later on.
4209
4210 2019-01-14 09:58:19 +0100  Niels De Graef <nielsdegraef@gmail.com>
4211
4212         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
4213         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
4214         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
4215           libs: wayland: Prefix wl_shell field with `wl_`
4216           It will help us to distinguish from other Wayland shells (such as
4217           XDG-shell) later on.
4218
4219 2019-02-08 09:21:28 +0300  Denis Nagorny <denis.nagorny@intel.com>
4220
4221         * gst-libs/gst/vaapi/gstvaapidisplay.c:
4222           libs: display: lock ensure_profile()
4223           Thread safety patch for ensure_profile() function
4224           Fixes #133
4225
4226 2019-02-08 16:35:39 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4227
4228         * meson.build:
4229           meson: bump the minimum wayland version requirement to 1.11.0
4230           This was missed on commit 77bb3424
4231
4232 2019-01-24 21:08:07 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4233
4234         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
4235         * gst/vaapi/gstvaapisink.c:
4236           vaapisink: x11: trap WM_DELETE_WINDOW message
4237           Register the WM_DELETE_WINDOW message from window manager and
4238           trap it to stop the pipeline cleanly.
4239           Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/130
4240
4241 2019-01-21 19:22:58 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4242
4243         * gst-libs/gst/vaapi/gstvaapiwindow.c:
4244           libs: window: remove native-id property
4245           native-id property is problematic since the variable that stores it is
4246           gsize, which is platform specific, and in some is bigger than unsigned
4247           long, and there are not way to handle gsize properties.
4248           Also, GST_VAAPI_ID_INVALID is defined in gsize terms, and we would
4249           like to keep using it for this scope.
4250           This patch removes the native-id property and set it manually in
4251           gst_vaapi_window_new_internal().
4252
4253 2019-01-18 10:33:37 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4254
4255         * gst-libs/gst/vaapi/gstvaapiwindow.c:
4256           libs: window: use G_GSIZE_MODIFIER for window id
4257           gsize type is not equal in all platforms, then the 'l' print modifier
4258           shall not be used always.
4259           This issue was found in Debian builds.
4260
4261 2019-01-17 10:27:13 +0800  Wangfei <fei.w.wang@intel.com>
4262
4263         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4264         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4265           encoder: h264/h265: set SPS cbr_flag with correct value.
4266           The flag only set as 1 when the rate-control mode is CBR.
4267
4268 === release 1.15.1 ===
4269
4270 2019-01-17 02:36:52 +0000  Tim-Philipp Müller <tim@centricular.com>
4271
4272         * ChangeLog:
4273         * NEWS:
4274         * RELEASE:
4275         * configure.ac:
4276         * gstreamer-vaapi.doap:
4277         * meson.build:
4278           Release 1.15.1
4279
4280 2019-01-17 02:36:52 +0000  Tim-Philipp Müller <tim@centricular.com>
4281
4282         * docs/plugins/inspect/plugin-vaapi.xml:
4283           Update docs
4284
4285 2019-01-14 19:35:34 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4286
4287         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4288           libs: encoder: refactor to avoid code duplication
4289           gst_vaapi_encoder_put_frame() and gst_vaapi_encoder_flush() duplicates
4290           the same code segment where the coded buffer is created, the picture
4291           encoded on it and pushed to the async queue.
4292           The function gst_vaapi_encoder_encode_and_queue() refactor this.
4293
4294 2019-01-14 18:21:30 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4295
4296         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4297         * gst-libs/gst/vaapi/gstvaapiencoder.h:
4298         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4299         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4300         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
4301           libs: encoder: h264/h265: flush pending ordered pictures
4302           In order to flush the pending pictures, a new internal encoder vmethod
4303           is used: get_pending_reordered()
4304           This method follows an iterator pattern which will return the next
4305           picture to encode and push.
4306           The base encoder will call this function in a loop when flush() is called.
4307           For now, only H.264 and H.265 encoders implement this flushing mechanism.
4308
4309 2018-12-06 10:18:53 +0800  Wangfei <fei.w.wang@intel.com>
4310
4311         * gst-libs/gst/vaapi/gstvaapiencoder.c:
4312         * gst-libs/gst/vaapi/gstvaapiencoder.h:
4313         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
4314         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
4315           libs: encoder: h264/h265: fix encode lose frame issue.
4316           Instead of dropping all remain frames in reorder_frame_list during
4317           flush, keep encoding.
4318           https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/97
4319
4320 2019-01-15 14:33:11 +0800  Wangfei <fei.w.wang@intel.com>
4321
4322         * gst/vaapi/gstvaapipostproc.c:
4323           vaapipostproc: before set surface proxy, check if it already been created and exist.
4324           Fix the deinterlace black frame when playing with glimagesink:
4325           gst-launch-1.0 filesrc location=test.264 ! h264parse ! vaapih264dec \
4326           ! vaapipostproc deinterlace-mode=1 deinterlace-method=1 ! glimagesink
4327
4328 2019-01-11 13:48:29 +0800  Wangfei <fei.w.wang@intel.com>
4329
4330         * gst-libs/gst/vaapi/gstvaapiutils.c:
4331           vaapipostproc: clean up USE_VA_VPP macro since it already removed from configure file.
4332
4333 2018-12-26 14:36:23 +0800  Haihao Xiang <haihao.xiang@intel.com>
4334
4335         * gst-libs/gst/vaapi/meson.build:
4336         * gst/vaapi/meson.build:
4337         * meson.build:
4338         * tests/meson.build:
4339           meson: build h264 fei encoder if possible
4340
4341 2018-12-26 14:04:08 +0800  Haihao Xiang <haihao.xiang@intel.com>
4342
4343         * configure.ac:
4344           configure: bump the minimum wayland version requirement to 1.11.0
4345
4346 2018-12-24 12:58:53 +0800  Haihao Xiang <haihao.xiang@intel.com>
4347
4348         * configure.ac:
4349         * gst-libs/gst/vaapi/Makefile.am:
4350         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
4351         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
4352         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
4353         * gst-libs/gst/vaapi/gstvaapicompat.h:
4354         * gst-libs/gst/vaapi/gstvaapicontext.c:
4355         * gst-libs/gst/vaapi/gstvaapidisplay.c:
4356         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
4357         * gst-libs/gst/vaapi/gstvaapifilter.c:
4358         * gst-libs/gst/vaapi/gstvaapiprofile.c:
4359         * gst-libs/gst/vaapi/gstvaapisurface.c:
4360         * gst-libs/gst/vaapi/gstvaapiutils.c:
4361         * gst-libs/gst/vaapi/gstvaapiutils_core.c:
4362         * gst-libs/gst/vaapi/meson.build:
4363         * gst/vaapi/Makefile.am:
4364         * gst/vaapi/gstvaapi.c:
4365         * gst/vaapi/gstvaapidecode.c:
4366         * gst/vaapi/gstvaapidecodebin.c:
4367         * gst/vaapi/gstvaapipluginbase.c:
4368         * gst/vaapi/meson.build:
4369         * meson.build:
4370         * tests/decoder.c:
4371         * tests/simple-decoder.c:
4372           vaapi: bump the minimum vaapi version requirement to 0.39.0
4373           And reduce unnecessary API version and structures check as well.
4374           https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/108
4375
4376 2018-12-22 18:07:35 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4377
4378         * gst-libs/gst/vaapi/gstvaapiwindow.c:
4379         * gst-libs/gst/vaapi/gstvaapiwindow.h:
4380         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
4381         * tests/test-decode.c:
4382         * tests/test-filter.c:
4383         * tests/test-subpicture.c:
4384         * tests/test-textures.c:
4385         * tests/test-windows.c:
4386           libs: window: remove custom ref() and unref()
4387           Use gst_object_ref() and gst_object_unref() instead.
4388
4389 2018-12-22 13:25:09 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4390
4391         * gst-libs/gst/vaapi/gstvaapiwindow.c:
4392         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
4393         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
4394         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
4395         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
4396         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
4397           libs: window: use its own debug category
4398
4399 2018-12-22 18:02:38 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4400
4401         * gst-libs/gst/vaapi/gstvaapiwindow.c:
4402         * gst-libs/gst/vaapi/gstvaapiwindow.h:
4403         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
4404         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
4405         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
4406         * gst-libs/gst/vaapi/gstvaapiwindow_egl.h:
4407         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
4408         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
4409         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
4410         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
4411         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
4412         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
4413         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
4414         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
4415           libs: window: refactor as gobject
4416           This is another step in the gobjectification of the internal library
4417           of gstreamer-vaapi. Now it is the turn of GstVaapiWindow and its
4418           derivates.
4419           The idea is to minimize the changeset keeping the same design as
4420           much as possible.
4421           GstVaapiWindow is defined as an abstract class with two properties:
4422           the GstVaapiDisplay and the native ID. Thus, many of the
4423           GstVaapiObject macros were copied as GstVaapiWindow macros.
4424           The function gst_vaapi_window_new_internal() is kept as a decorator
4425           of for calling gst_vaapi_window_create() and the possibility of
4426           failure.
4427           The descendant classes, such as glx, still use the private
4428           structures, but through the gobject mechanism.
4429
4430 2018-12-03 22:05:29 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4431
4432         * gst-libs/gst/vaapi/gstvaapifilter.c:
4433           libs: filter: use its own debug category
4434
4435 2018-12-24 14:08:42 +0800  He Junyan <junyan.he@hotmail.com>
4436
4437         * gst/vaapi/gstvaapidecode.c:
4438         * gst/vaapi/gstvaapipluginbase.c:
4439         * gst/vaapi/gstvaapipluginbase.h:
4440         * gst/vaapi/gstvaapipostproc.c:
4441         * gst/vaapi/gstvaapisink.c:
4442           plugins: Add more check for allowed raw caps.
4443           The gst_vaapi_plugin_base_get_allowed_raw_caps is used for both sink
4444           pad and src pad, which cause some bugs. For sink pad, we need to verify
4445           vaPutImage() while for the src pad we need to verify vaGetImage().
4446           For vaapidecoderXXX kind of plugins, the case is more complex. We need
4447           to verify whether the decoded result(in some surface, NV12 format most
4448           of the time) can be vaGetImage to some raw image format. Add more check
4449           to fix all these problems.
4450           https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/123
4451           Signed-off-by: He Junyan <junyan.he@hotmail.com>
4452
4453 2018-12-18 10:44:21 +0800  Wangfei <fei.w.wang@intel.com>
4454
4455         * gst/vaapi/gstvaapipostproc.c:
4456           vaapipostproc: fix csc fail when only change width or height.
4457
4458 2018-12-15 09:47:15 +0900  Wonchul Lee <chul0812@gmail.com>
4459
4460         * tests/elements/meson.build:
4461           meson: Add gtk guard
4462
4463 2018-12-15 14:48:03 +0800  Wangfei <fei.w.wang@intel.com>
4464
4465         * gst/vaapi/gstvaapiencode_h264.c:
4466           libs: enc: h264: set max profile idc with correct profile.
4467           Use the highest rank of available profile as the max profile to
4468           set max idc value.
4469           https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/124
4470
4471 2018-12-03 13:56:52 +0100  Niels De Graef <nielsdegraef@gmail.com>
4472
4473         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
4474         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
4475         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
4476           Use G_DEFINE_TYPE_WITH_PRIVATE if applicable
4477           This gets rid of the strange `do_init` macro and makes the intent a bit
4478           more clear.
4479
4480 2018-12-05 17:24:53 -0300  Thibault Saunier <tsaunier@igalia.com>
4481
4482         * common:
4483           Automatic update of common submodule
4484           From ed78bee to 59cb678
4485
4486 2018-11-27 09:47:44 -0500  Wangfei <fei.w.wang@intel.com>
4487
4488         * gst-libs/gst/vaapi/gstvaapiimage.c:
4489         * gst-libs/gst/vaapi/gstvaapiprofile.c:
4490         * gst-libs/gst/vaapi/gstvaapiprofile.h:
4491         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
4492         * gst-libs/gst/vaapi/video-format.c:
4493         * gst/vaapi/gstvaapidecode.c:
4494         * gst/vaapi/gstvaapipluginutil.h:
4495           libs: dec: h265: support decode for main-444 10bit streams.
4496           Add 444 10bit yuv format Y410, which can be used to decode
4497           main-444 10bit streams. Currently, this feature is only
4498           supported by media-driver in Icelake.
4499
4500 2018-11-28 05:56:44 +0200  Jordan Petridis <jordan@centricular.com>
4501
4502         * gst/vaapi/gstvaapidecode.c:
4503         * gst/vaapi/gstvaapisink.c:
4504           Run gst-indent through the files
4505           This is required before we enabled an indent test in the CI.
4506           https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/33
4507
4508 2018-11-14 13:11:56 +0800  He Junyan <junyan.he@hotmail.com>
4509
4510         * gst/vaapi/gstvaapipluginbase.c:
4511           plugins: modify image check of extract_allowed_surface_formats.
4512           The extract_allowed_surface_formats function just check whether
4513           we can support some kind of surface/image format pair. We just
4514           need to create a surface, create an image with the same video-format
4515           and putImage from image to surface. All these operations success,
4516           that kind of video-format is supported.
4517           The old manner do not work for some kind of video-format. For example,
4518           the RGBA kind of format will create a NV12 surface and RGBA image,
4519           and the putImage will fail because the format is not same. And so
4520           the RGBA format is not supported but actually it is supported.
4521
4522 2018-11-14 11:34:20 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
4523
4524         * gst/vaapi/gstvaapipostproc.c:
4525           vaapipostproc: add some missing locking
4526           gst_vaapi_plugin_base_close() removed the raw caps that are used indirectly
4527           in gst_vaapipostproc_transform_caps(). The usage is already protected by
4528           the mutex.
4529           This is needed when the pipeline is stopped during startup.
4530
4531 2018-11-20 16:07:44 +0800  Xiang, Haihao <haihao.xiang@intel.com>
4532
4533         * gst/vaapi/gstvaapivideomemory.c:
4534           Close dmabuf_fd
4535           Otherwise it will result in resource leak when failed to create
4536           dmabuf memory
4537
4538 2018-11-12 13:39:51 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
4539
4540         * gst/vaapi/gstvaapiencode.c:
4541           vaapiencode: don't start src pad task in set_format
4542           Otherwise the task may be restarted during shutdown. Start the task in
4543           gst_vaapiencode_handle_frame() instead.
4544
4545 2018-11-14 13:52:48 +0800  Wangfei <fei.w.wang@intel.com>
4546
4547         * gst-libs/gst/vaapi/gstvaapiprofile.c:
4548         * gst-libs/gst/vaapi/gstvaapiprofile.h:
4549         * gst-libs/gst/vaapi/gstvaapiutils.c:
4550         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
4551         * gst/vaapi/gstvaapidecode.c:
4552         * gst/vaapi/gstvaapipluginutil.h:
4553           libs: dec: h265: support decode for main-444 8bit streams.
4554           Add 444 8bit yuv format AYUV, which can be used to decode
4555           main-444 8bit streams. Currently, this feature is only
4556           supported by media-driver in Icelake.
4557           https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/119
4558
4559 2018-11-12 17:43:54 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4560
4561         * .gitlab-ci.yml:
4562           Add Gitlab CI configuration
4563           This commit adds a .gitlab-ci.yml file, which uses a feature
4564           to fetch the config from a centralized repository. The intent is
4565           to have all the gstreamer modules use the same configuration.
4566           The configuration is currently hosted at the gst-ci repository
4567           under the gitlab/ci_template.yml path.
4568           Part of https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/29
4569
4570 2018-11-09 22:03:43 +0800  He Junyan <junyan.he@hotmail.com>
4571
4572         * gst-libs/gst/vaapi/gstvaapisurface.h:
4573         * gst-libs/gst/vaapi/gstvaapiutils.c:
4574           libs: Sync the GstVaapiChromaType to VA header file.
4575           Add more kinds of chrometype which will be used to describe
4576           new video formats. Sync it with 1.4.0 version header file.
4577           Alse delete useless GST_VAAPI_CHROMA_TYPE_YUV410 chrome type.
4578           Signed-off-by: He Junyan <junyan.he@hotmail.com>
4579
4580 2018-11-09 23:55:05 +0000  Tim-Philipp Müller <tim@centricular.com>
4581
4582         * gst-libs/gst/vaapi/meson.build:
4583           meson: link with -lm
4584           Fixes #117 hopefully.
4585
4586 2018-11-09 23:46:53 +0000  Tim-Philipp Müller <tim@centricular.com>
4587
4588         * meson.build:
4589           meson: bump meson required to 0.47 for feature options
4590
4591 2018-11-06 14:38:08 +0800  Junyan He <junyan.he@intel.com>
4592
4593         * gst-libs/gst/vaapi/video-format.c:
4594           libs: Modify the video format of endianness.
4595           We lack some video format because endianness declare.
4596           The video format should not directly relate to endianness. For example,
4597           ARGB on big endian should not be simplely seen as BGRA on little endian
4598           machine. We should provide endianess convert or format convert help
4599           functions if endianness does not match.
4600           https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/112
4601           Signed-off-by: Junyan He <junyan.he@intel.com>
4602
4603 2018-10-17 18:36:52 +0800  Junyan He <junyan.he@intel.com>
4604
4605         * gst/vaapi/gstvaapipluginutil.c:
4606           plugins: Fix build error when GL is enabled while EGL is disabled.
4607           gl_platform_type in gst_vaapi_get_display_type_from_gl_env generate
4608           unused-variable warning and may block build when Werror enabled.
4609           Several functions like gst_vaapi_display_egl_new_with_native_display
4610           have no prototype warning and link error when GL is enabled but EGL
4611           is disabled. Fix all these warning and link error.
4612           https://bugzilla.gnome.org/show_bug.cgi?id=797358
4613           Signed-off-by: Junyan He <junyan.he@intel.com>
4614
4615 2018-11-03 15:06:09 +0800  Wangfei <fei.w.wang@intel.com>
4616
4617         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
4618         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
4619           libs: encoder: h264/h264fei: remove unuseless code.
4620           The variable are set twice, remove previous one.
4621           https://bugzilla.gnome.org/show_bug.cgi?id=797365
4622
4623 2018-11-03 15:28:35 +0800  Wangfei <fei.w.wang@intel.com>
4624
4625         * tests/simple-encoder.c:
4626         * tests/test-fei-enc-in.c:
4627           tests: check return value when using gst_buffer_map.
4628           https://bugzilla.gnome.org/show_bug.cgi?id=797366
4629
4630 2018-11-02 16:50:47 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4631
4632         * meson.build:
4633         * meson_options.txt:
4634         * tests/elements/meson.build:
4635         * tests/meson.build:
4636           build: meson: build examples
4637
4638 2018-11-02 16:50:00 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4639
4640         * gst-libs/gst/vaapi/meson.build:
4641           build: meson: declare headers for libgstvaapi
4642           Thus handling its recompilation if needed.
4643
4644 2018-11-05 05:41:13 +0000  Matthew Waters <matthew@centricular.com>
4645
4646         * .gitmodules:
4647           Update common submodule location
4648           Remove the git directory
4649
4650 2018-11-05 13:00:28 +0800  Haihao Xiang <haihao.xiang@intel.com>
4651
4652         * .gitmodules:
4653         * gstreamer-vaapi.doap:
4654           Clone the code from gitlab
4655           This fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues/116
4656
4657 2018-10-24 14:18:37 -0400  Wangfei <fei.w.wang@intel.com>
4658
4659         * gst-libs/gst/vaapi/gstvaapiimage.c:
4660         * gst-libs/gst/vaapi/gstvaapisurface.h:
4661         * gst-libs/gst/vaapi/gstvaapiutils.c:
4662         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
4663         * gst-libs/gst/vaapi/video-format.c:
4664         * gst/vaapi/gstvaapidecode.c:
4665         * gst/vaapi/gstvaapipluginutil.h:
4666           libs: dec: h265: support decode for main-10-422 10bit streams.
4667           Add 422 10bit yuv format Y210, which can be used to decode
4668           main-10-422 10bit streams. Currently, this feature is only
4669           supported by media-driver in Icelake.
4670           https://bugzilla.gnome.org/show_bug.cgi?id=797264
4671
4672 2018-10-13 15:00:32 +0800  Wangfei <fei.w.wang@intel.com>
4673
4674         * gst-libs/gst/vaapi/gstvaapicontext.c:
4675           libs: context: roi_rc_qp_delta_support should not be checked when CQP.
4676           VA_ROI_RC_QP_DELTA_SUPPORT return value will be ignored when the
4677           rate control mode is set as CQP. In CQP mode, it shouldn't check
4678           roi_rc_qp_delta_support return value from driver backend.
4679           https://bugzilla.gnome.org/show_bug.cgi?id=797087
4680
4681 2018-10-15 17:55:24 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4682
4683         * gst/vaapi/gstvaapipostproc.c:
4684           vaapipostproc: fix classification string
4685           The classification string is splitted by '/' and then looks for the
4686           components.
4687           This patch removes the ';' by unifying all the components.
4688
4689 2018-10-15 16:05:02 +0100  Philippe Normand <philn@igalia.com>
4690
4691         * gst/vaapi/gstvaapipostproc.c:
4692           vaapipostproc: Add Hardware classifier to metadata
4693
4694 2018-10-12 16:37:34 +0800  Wangfei <fei.w.wang@intel.com>
4695
4696         * gst-libs/gst/vaapi/gstvaapicontext.c:
4697           libs: context: create context first before using it to create surface.
4698           In gst_vaapi_context_reset(), if the context has to be destroyed, make
4699           sure to create it first before allocating its associated surfaces.
4700           This patch fixes a regression introduced in commit 82872f4 because
4701           the formats available in the current context now are ensured before
4702           creating the context's surfaces.
4703           https://bugzilla.gnome.org/show_bug.cgi?id=797277
4704
4705 2018-10-12 15:39:53 +0100  Philippe Normand <philn@igalia.com>
4706
4707         * docs/plugins/inspect/plugin-vaapi.xml:
4708         * gst/vaapi/gstvaapidecode.c:
4709         * gst/vaapi/gstvaapiencode_h264.c:
4710         * gst/vaapi/gstvaapiencode_h264_fei.c:
4711         * gst/vaapi/gstvaapiencode_h265.c:
4712         * gst/vaapi/gstvaapiencode_jpeg.c:
4713         * gst/vaapi/gstvaapiencode_mpeg2.c:
4714         * gst/vaapi/gstvaapiencode_vp8.c:
4715         * gst/vaapi/gstvaapiencode_vp9.c:
4716           gst: Advertise elements interacting with hardware devices
4717
4718 2018-10-01 09:26:05 +0800  Wangfei <fei.w.wang@intel.com>
4719
4720         * gst-libs/gst/vaapi/gstvaapicontext.c:
4721         * gst-libs/gst/vaapi/gstvaapisurface.c:
4722         * gst-libs/gst/vaapi/gstvaapisurface.h:
4723           libs: context: query surface format before context to create surface.
4724           Before using context to create surface, the supported surface format
4725           should be checked first.
4726           https://bugzilla.gnome.org/show_bug.cgi?id=797222
4727
4728 2018-10-09 17:23:55 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4729
4730         * gst-libs/gst/vaapi/gstvaapiimage.c:
4731         * gst-libs/gst/vaapi/gstvaapivalue.c:
4732           libs: replace g_error with GST_ERROR
4733           And handle those errors rather than halting.
4734
4735 2018-10-09 17:23:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4736
4737         * gst-libs/gst/vaapi/gstvaapiimage.c:
4738         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
4739         * gst-libs/gst/vaapi/gstvaapisurface.c:
4740           libs: replace g_warning with GST_WARNING
4741
4742 2018-09-26 14:55:32 -0500  Matteo Valdina <matteo.valdina@gmail.com>
4743
4744         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
4745         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
4746         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
4747         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.c:
4748           libs: Move from g_debug to GST_DEBUG.
4749           https://bugzilla.gnome.org/show_bug.cgi?id=797202
4750
4751 2018-10-04 02:20:10 +0800  Soon, Thean Siew <thean.siew.soon@intel.com>
4752
4753         * gst/vaapi/gstvaapipostproc.c:
4754           vaapipostproc: change the way of handling deinterlace
4755           The current vaapipostproc calls driver's video processing
4756           pipeline for deinterlacing only if it is Advance deinterlacing.
4757           Modify in the way that it always tries with driver's video
4758           processing pipeline for deinterlacing, and falls back to software
4759           method of appending picture structure meta data only if it fails
4760           with driver's method.
4761           https://bugzilla.gnome.org/show_bug.cgi?id=797095
4762
4763 2018-09-24 16:54:29 -0500  Matteo Valdina <matteo.valdina@gmail.com>
4764
4765         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
4766         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
4767           libs: h264: Update level table to "Recommendation H.264 (04/17)".
4768           Added level 6, 6.1 and 6.2. Reference Table A-1 – Level limits
4769           from T-REC-H.264-201704.
4770           https://bugzilla.gnome.org/show_bug.cgi?id=797202
4771
4772 2018-09-20 09:57:33 +0800  Wangfei <fei.w.wang@intel.com>
4773
4774         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
4775         * gst-libs/gst/vaapi/gstvaapiprofile.c:
4776         * gst-libs/gst/vaapi/gstvaapiprofile.h:
4777         * gst-libs/gst/vaapi/gstvaapisurface.c:
4778         * gst-libs/gst/vaapi/gstvaapiutils.c:
4779         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
4780         * gst-libs/gst/vaapi/gstvaapiutils_h265_priv.h:
4781         * gst-libs/gst/vaapi/video-format.c:
4782         * gst-libs/gst/vaapi/video-format.h:
4783         * gst/vaapi/gstvaapidecode.c:
4784         * gst/vaapi/gstvaapipluginbase.c:
4785         * gst/vaapi/gstvaapipluginutil.h:
4786           libs: dec: h265: add 422 chroma format support.
4787           Add main-422-10 profile which support 422 chroma format stream.
4788           Currently, this feature is only supported by media-driver in Icelake.
4789           https://bugzilla.gnome.org/show_bug.cgi?id=797143
4790
4791 2018-09-26 19:34:06 +0200  U. Artie Eoff <ullysses.a.eoff@intel.com>
4792
4793         * tests/y4mreader.c:
4794           tests: include sysdeps.h in compilation unit
4795           Fixes https://bugzilla.gnome.org/show_bug.cgi?id=797204
4796           Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
4797
4798 2018-09-26 18:04:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4799
4800         * tests/y4mreader.c:
4801         * tests/y4mreader.h:
4802           tests: fix compilation
4803           https://bugzilla.gnome.org/show_bug.cgi?id=797204
4804
4805 2018-09-25 20:28:02 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4806
4807         * tests/y4mreader.h:
4808           tests: don's use sysdeps.h in header
4809
4810 2018-09-14 19:30:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4811
4812         * gst-libs/gst/vaapi/gstvaapiutils.h:
4813           libs: utils: no need of include config.h
4814
4815 2018-09-13 18:12:02 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4816
4817         * tests/decoder.c:
4818         * tests/output.c:
4819         * tests/test-decode.c:
4820         * tests/test-subpicture.c:
4821           tests: remove already include string.h
4822           Since sysdeps.h includes string.h there's no need to include it again.
4823
4824 2018-09-13 18:11:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4825
4826         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
4827         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
4828         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
4829         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
4830         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
4831         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
4832         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
4833         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
4834         * gst-libs/gst/vaapi/gstvaapidisplay.c:
4835         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
4836         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
4837         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
4838         * gst-libs/gst/vaapi/gstvaapiimage.c:
4839         * gst-libs/gst/vaapi/gstvaapiprofile.c:
4840         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
4841         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
4842         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
4843         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
4844           libs: remove already include string.h
4845           Since sysdeps.h includes string.h there's no need to include it again.
4846
4847 2018-09-13 18:26:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4848
4849         * gst-libs/gst/vaapi/gstvaapiobject.h:
4850         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
4851         * gst/vaapi/gstvaapivideometa_texture.c:
4852           libs: object: separation of internal API and plugins
4853           Removed exposed macros GST_VAAPI_OBJECT_DISPLAY() and
4854           GST_VAAPI_OBJECT_ID() to plugins, keeping them only for internal
4855           library usage.
4856           The purpose is readability.
4857           https://bugzilla.gnome.org/show_bug.cgi?id=797139
4858
4859 2018-09-13 16:34:54 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4860
4861         * gst-libs/gst/vaapi/gstvaapiparser_frame.h:
4862           libs: parser_frame: change macros for inlined functions
4863           https://bugzilla.gnome.org/show_bug.cgi?id=797139
4864
4865 2018-09-13 16:10:13 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4866
4867         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.c:
4868         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
4869         * gst-libs/gst/vaapi/gstvaapivideopool.c:
4870         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
4871           libs: videopool: remove unneeded code
4872           The removed code comes frome the bad practice of copy&paste. Better
4873           move it as internal function.
4874           https://bugzilla.gnome.org/show_bug.cgi?id=797139
4875
4876 2018-09-13 12:22:42 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4877
4878         * gst-libs/gst/vaapi/Makefile.am:
4879         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
4880         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
4881         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
4882         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
4883         * gst-libs/gst/vaapi/gstvaapiobject.c:
4884         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
4885         * gst-libs/gst/vaapi/gstvaapipixmap.c:
4886         * gst-libs/gst/vaapi/gstvaapipixmap_priv.h:
4887         * gst-libs/gst/vaapi/gstvaapitexture.c:
4888         * gst-libs/gst/vaapi/gstvaapitexture_priv.h:
4889         * gst-libs/gst/vaapi/gstvaapiwindow.c:
4890         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
4891         * gst-libs/gst/vaapi/meson.build:
4892           libs: remove dependency on IN_LIBGSTVAAPI_CORE
4893           This conditional code was when libgstvaapi was intended to be library
4894           used outside GStreamer. This not the case anymore, thus removing it.
4895           https://bugzilla.gnome.org/show_bug.cgi?id=797139
4896
4897 2018-09-19 10:16:36 +0800  Wangfei <fei.w.wang@intel.com>
4898
4899         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
4900           libs: dec: h265: fix the macros used for IDC profile
4901           profile_idc flag in SPS only indicate the IDC profile, which may
4902           need some other flags together to get the real profile.
4903           https://bugzilla.gnome.org/show_bug.cgi?id=797160
4904
4905 2018-09-12 19:06:22 +0900  Jimmy Ohn <yongjin.ohn@lge.com>
4906
4907         * gst-libs/gst/vaapi/gstvaapidisplay.c:
4908         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
4909         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
4910         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
4911         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
4912           libs: use g_clear_pointer() when possible
4913           https://bugzilla.gnome.org/show_bug.cgi?id=797131
4914
4915 2018-09-03 13:56:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4916
4917         * gst-libs/gst/vaapi/gstvaapifilter.h:
4918           libs: filter: add gobject's cleanup function
4919
4920 2018-05-22 14:28:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4921
4922         * gst-libs/gst/vaapi/gstvaapifilter.c:
4923         * gst-libs/gst/vaapi/gstvaapifilter.h:
4924         * gst-libs/gst/vaapi/gstvaapisurface_egl.c:
4925         * tests/test-filter.c:
4926           libs: filter: remove custom ref() and unref()
4927           Replacing them by gst_object_ref() and gst_object_unref()
4928           https://bugzilla.gnome.org/show_bug.cgi?id=796308
4929
4930 2018-05-22 14:26:48 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4931
4932         * gst-libs/gst/vaapi/gstvaapifilter.c:
4933         * gst-libs/gst/vaapi/gstvaapifilter.h:
4934           libs: filter: refactor filter as gobject
4935           https://bugzilla.gnome.org/show_bug.cgi?id=796308
4936
4937 2018-05-21 13:38:00 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4938
4939         * gst-libs/gst/vaapi/gstvaapidecoder.c:
4940         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
4941           libs: decoder: remove destoy() and create() callbacks
4942           They were all replaced by reset()
4943           https://bugzilla.gnome.org/show_bug.cgi?id=796308
4944
4945 2018-05-21 13:26:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4946
4947         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
4948           libs: decoder: vp9: implement reset() callback
4949           remove destroy() and create() callback
4950           https://bugzilla.gnome.org/show_bug.cgi?id=796308
4951
4952 2018-05-21 13:25:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4953
4954         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
4955           libs: decoder: vp8: implement reset() callback
4956           remove create() and destroy() callbacks
4957           https://bugzilla.gnome.org/show_bug.cgi?id=796308
4958
4959 2018-05-21 13:24:39 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4960
4961         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
4962           libs: decoder: vc1: implement reset() callback
4963           remove destroy() and create() callbacks
4964           use g_clear_pointer for rbdu_buffer
4965           no cast for enum
4966           https://bugzilla.gnome.org/show_bug.cgi?id=796308
4967
4968 2018-05-21 13:24:13 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4969
4970         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
4971           libs: decoder: mpeg4: implement reset() callback
4972           remove destroy() and create() callback
4973           https://bugzilla.gnome.org/show_bug.cgi?id=796308
4974
4975 2018-05-21 13:22:45 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4976
4977         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
4978           libs: decoder: mpeg2: implement reset() callback
4979           remove create() and destroy() callbacks
4980           https://bugzilla.gnome.org/show_bug.cgi?id=796308
4981
4982 2018-05-21 13:22:07 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4983
4984         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
4985           libs: decoder: jpeg: implement reset() callback
4986           and remove create() and destroy() callbacks.
4987           https://bugzilla.gnome.org/show_bug.cgi?id=796308
4988
4989 2018-05-21 13:13:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4990
4991         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
4992           libs: decoder: h265: implement reset() callback
4993           and remove create() and destroy()
4994           and use g_clear_pointer for dpb structure
4995           https://bugzilla.gnome.org/show_bug.cgi?id=796308
4996
4997 2018-05-21 13:11:41 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
4998
4999         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
5000           libs: decoder: h264: remove create() and destroy() callbacks
5001           https://bugzilla.gnome.org/show_bug.cgi?id=796308
5002
5003 2018-05-21 11:56:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5004
5005         * gst-libs/gst/vaapi/gstvaapidecoder.c:
5006         * gst-libs/gst/vaapi/gstvaapidecoder.h:
5007         * tests/test-decode.c:
5008         * tests/test-subpicture.c:
5009           libs: decoder: remove gst_vaapi_decoder_unref()
5010           Replaced by gst_object_unref() in tests
5011           https://bugzilla.gnome.org/show_bug.cgi?id=796308
5012
5013 2018-05-21 11:51:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5014
5015         * gst-libs/gst/vaapi/gstvaapidecoder.c:
5016         * gst-libs/gst/vaapi/gstvaapidecoder.h:
5017           libs: decoder: remove gst_vaapi_decoder_ref()
5018           https://bugzilla.gnome.org/show_bug.cgi?id=796308
5019
5020 2018-05-21 11:50:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5021
5022         * gst-libs/gst/vaapi/gstvaapidecoder.c:
5023         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
5024           libs: decoder: remove gst_vaapi_decoder_new()
5025           https://bugzilla.gnome.org/show_bug.cgi?id=796308
5026
5027 2018-05-18 16:09:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5028
5029         * gst-libs/gst/vaapi/gstvaapidecoder.c:
5030         * gst-libs/gst/vaapi/gstvaapidecoder.h:
5031         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
5032         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
5033         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
5034         * gst-libs/gst/vaapi/gstvaapidecoder_h265.h:
5035         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
5036         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
5037         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
5038         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
5039         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
5040         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
5041         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
5042         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
5043         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
5044         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
5045         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.h:
5046         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
5047         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.h:
5048           libs: decoder: refactor decoders as gobject
5049           https://bugzilla.gnome.org/show_bug.cgi?id=796308
5050
5051 2018-08-31 20:56:13 -0500  Matteo Valdina <matteo.valdina@gmail.com>
5052
5053         * gst/vaapi/gstvaapidecode.c:
5054           vaapidecode: Requests upstream a key unit at parse or decode error.
5055           This is done to resume decoding after a parse error or decode error.
5056           Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=797006
5057
5058 2018-08-31 20:48:13 -0500  Matteo Valdina <matteo.valdina@gmail.com>
5059
5060         * gst/vaapi/gstvaapidecode.c:
5061           vaapidecode: sets return value in failure case.
5062           In gst_vaapidecode_handle_frame, when there is a decode error
5063           there is a code path the returns an uninitialized value.
5064           Bugzilla: https://bugzilla.gnome.org/show_bug.cgi?id=797006
5065
5066 2018-08-30 18:56:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5067
5068         * gst-libs/gst/vaapi/gstvaapidisplay.c:
5069           libs: display: lock at extracting available image formates
5070           When running several vaapi elements at the concurrently, at
5071           initialization, there is a race condition when extractin the avaible
5072           formats for images and subpictures.
5073           This patch add a lock when the those arrays are filled.
5074           https://bugzilla.gnome.org/show_bug.cgi?id=797039
5075
5076 2018-08-31 14:47:55 +0530  Nirbheek Chauhan <nirbheek@centricular.com>
5077
5078         * meson.build:
5079           meson: Sync libversion and osxversion code from other repos
5080           gstreamer-vaapi does not build any libraries, only plugins, so this is
5081           not used, but sync it just in case someone does add it in the future.
5082
5083 2018-08-29 13:44:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5084
5085         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
5086           libs: encoder: h265: trivial documentation fix
5087
5088 2018-08-30 11:08:07 +0800  Wangfei <fei.w.wang@intel.com>
5089
5090         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5091         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
5092           libs: encoder: h265: add low delay B frame support.
5093           Low delay B frame provide the function of transforming
5094           P frame into low delay B frame which frame type is B, but
5095           only reference predictive frames. This can be used when P
5096           frame unsupported. Especially for P and B both unsupported,
5097           in this case, I and low delay B frame can be encoded in a
5098           stream.
5099           https://bugzilla.gnome.org/show_bug.cgi?id=796984
5100
5101 2018-08-27 20:42:15 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
5102
5103         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
5104           libs: decoder: h264: Avoid using picture after it has been free
5105           In some cases, the found_picture ended up being evicted and freed, which
5106           would lead to a use after free when accessing picture->base.poc. In this
5107           fix, we take a ref on the picture before calling dpb_evict.
5108           https://bugzilla.gnome.org/show_bug.cgi?id=787124
5109
5110 2018-07-25 17:03:19 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
5111
5112         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
5113           h264decoder: Fail decoding slice with missing inter-view reference
5114           Similarly to previous patch, we have no error concealment. As a side
5115           effect, it's better to skip slices with missing references then passing
5116           NULL pointers to the accelerator. Passing NULL pointer would lead to
5117           major visual artifact, a behaviour that is likely undefined.
5118           https://bugzilla.gnome.org/show_bug.cgi?id=787124
5119
5120 2017-09-14 14:25:41 +0900  Hyunjun Ko <zzoon@igalia.com>
5121
5122         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
5123           libs: decoder: h264: reset context when the number of view is increased
5124           Usually in case of MVC decoding, dpb size is increasedi if subset sps.
5125           That's why it resets context without this patch.
5126           But for some media it doesn't increase dpb size. Even in this case we
5127           should reset context to deal with MVC decoding.
5128           Otherwise, it leads to assert.
5129           https://bugzilla.gnome.org/show_bug.cgi?id=787124
5130
5131 2018-07-25 13:50:23 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
5132
5133         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
5134         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
5135         * gst/vaapi/gstvaapidecode.c:
5136           vaapidecode: Skip unparsable units from adapter
5137           If the unit could not be parsed, just skip this nal and keep parsing
5138           what is left in the adapter. We need to flush the broken unit in the
5139           decoder specific parser because the generic code does not know about
5140           units boundary. This increases error resilliance.
5141           Before this, the broken unit would stay in the adapter and EOS would be
5142           returned. Which stopped the streaming. Just removing the EOS would have
5143           lead to the adapter size growing indefinitely.
5144           https://bugzilla.gnome.org/show_bug.cgi?id=796863
5145
5146 2018-07-24 12:40:00 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
5147
5148         * gst/vaapi/gstvaapidecode.c:
5149           vaapidecoder: Don't error out on decode errors
5150           This is problematic on live pipeline where loosing network can
5151           cause an important amount of errors.
5152           https://bugzilla.gnome.org/show_bug.cgi?id=796832
5153
5154 2018-07-25 15:47:49 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
5155
5156         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
5157           h265decoder: Don't scan empty buffer
5158           Same as what we did for H264 decoder, this is to avoid an assertion
5159           in the adapter.
5160           https://bugzilla.gnome.org/show_bug.cgi?id=796832
5161
5162 2018-07-25 20:21:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5163
5164         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
5165           libs: h264: renable the vaapi category for logging
5166           h264 log messages were logged in default category because a regression
5167           in code. This patch renable the usage of vaapi logging category.
5168           This regression was introduced in commit 7c365bdd.
5169
5170 2018-07-18 13:09:42 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
5171
5172         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
5173           h264decoder: Fail decoding slice if modification process failed
5174           This patch chains up failure to executing the modification process. The
5175           end result is that we now fail decoding the slice if this process fails.
5176           This avoid sending a corrupted state to the accelerator. In some special
5177           cases, this could lead to unrecoverable errors.
5178           https://bugzilla.gnome.org/show_bug.cgi?id=796832
5179
5180 2018-07-18 13:07:51 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
5181
5182         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
5183           h264decoder: Don't scan empty buffer
5184           gst_adapter_masked_scan_uint32_peek() asserts if size is 0. Don't
5185           try and scan in that case. This fixes assertion that would some times
5186           happen when the stream is corrupted.
5187           https://bugzilla.gnome.org/show_bug.cgi?id=796832
5188
5189 2018-07-04 12:51:10 +0800  Tianhao Liu <tianhao.liu@intel.com>
5190
5191         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
5192           libs: encoder: jpeg: set component id and Tqi
5193           This change is due a problem encoding JPEGs with Intel's
5194           media-driver: green/black image when playback jpeg
5195           This patch sets component identifier and quantization table
5196           destination selector in frame header to support packing headers
5197           by Intel's media-driver that does not accept packed header
5198           in AP level.
5199           https://bugzilla.gnome.org/show_bug.cgi?id=796705
5200
5201 2018-06-25 14:20:32 +0200  Mathieu Duponchelle <mathieu@centricular.com>
5202
5203         * gst/vaapi/gstvaapipluginutil.c:
5204           pluginutil: downgrade unsupported driver logging
5205           On systems with an Nvidia card, this error is output each time
5206           the registry is rebuilt, which happens pretty often when
5207           using gst-build as a development environment.
5208           https://bugzilla.gnome.org/show_bug.cgi?id=796663
5209
5210 2018-06-24 13:07:20 +0200  Tim-Philipp Müller <tim@centricular.com>
5211
5212         * gst/vaapi/gstvaapivideobufferpool.c:
5213           Update for g_type_class_add_private() deprecation in recent GLib
5214
5215 2018-05-30 16:01:36 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
5216
5217         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
5218           h264dec: Remove false assumption about parity order
5219           The decoder was trying to detect earlier that a field was lost base
5220           on guessing the parity order. This breaks in streams were the parity
5221           order changes.
5222           This patch reverts the field order prediction code added by commit
5223           8dd93e9c8.
5224           https://bugzilla.gnome.org/show_bug.cgi?id=796169
5225
5226 2018-05-18 17:03:57 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
5227
5228         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
5229           h264dec: Properly set sentinel in ref frame list
5230           This ensure that we always have sentinels set in the reference
5231           pictures arrays. The code wasn't unsafe, this simply improve the
5232           tracing, so instead of printing 32 lines of zeros, va tracer
5233           prints proper empty lists.
5234           https://bugzilla.gnome.org/show_bug.cgi?id=796169
5235
5236 2018-06-13 18:00:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5237
5238         * gst-libs/gst/vaapi/gstvaapidecoder.c:
5239         * gst-libs/gst/vaapi/gstvaapidisplay.c:
5240         * gst-libs/gst/vaapi/gstvaapidisplay.h:
5241         * gst-libs/gst/vaapi/gstvaapiencoder.c:
5242         * gst-libs/gst/vaapi/gstvaapifilter.c:
5243         * gst-libs/gst/vaapi/gstvaapiobject.c:
5244         * gst-libs/gst/vaapi/gstvaapivideopool.c:
5245         * gst/vaapi/gstvaapipluginbase.c:
5246         * gst/vaapi/gstvaapivideometa.c:
5247         * tests/test-decode.c:
5248           libs: display: remove gst_vaapi_display_ref()
5249           Replace it with gst_object_ref()
5250           https://bugzilla.gnome.org/show_bug.cgi?id=796470
5251
5252 2018-06-13 17:54:23 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5253
5254         * gst-libs/gst/vaapi/gstvaapidisplay.c:
5255         * gst-libs/gst/vaapi/gstvaapidisplay.h:
5256         * gst/vaapi/gstvaapi.c:
5257         * gst/vaapi/gstvaapidecode.c:
5258         * gst/vaapi/gstvaapiencode.c:
5259         * gst/vaapi/gstvaapipluginbase.c:
5260         * gst/vaapi/gstvaapipluginutil.c:
5261         * tests/output.c:
5262         * tests/simple-encoder.c:
5263         * tests/test-decode.c:
5264         * tests/test-display.c:
5265         * tests/test-fei-enc-in.c:
5266         * tests/test-filter.c:
5267         * tests/test-subpicture.c:
5268         * tests/test-surfaces.c:
5269         * tests/test-textures.c:
5270         * tests/test-windows.c:
5271           libs: display: remove gst_vaapi_display_unref()
5272           Use gst_object_unref() instead.
5273           https://bugzilla.gnome.org/show_bug.cgi?id=796470
5274
5275 2018-06-13 18:10:28 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5276
5277         * gst/vaapi/gstvaapivideobufferpool.c:
5278           vaapibufferpool: declare parameter display as object
5279           We have neglected to update this code since GstVaapiDisplay turned
5280           into a GstObject descendant.
5281           https://bugzilla.gnome.org/show_bug.cgi?id=796470
5282
5283 2018-06-01 12:36:51 +0900  Hyunjun Ko <zzoon@igalia.com>
5284
5285         * gst-libs/gst/vaapi/gstvaapidisplay.c:
5286         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
5287         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
5288         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
5289         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
5290         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
5291         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
5292           libs: display: replace gst_vaapi_display_new() with gst_vaapi_display_config()
5293           Gobjectification for GstVaapiDisplay was almost done by the commit 185da3d1.
5294           But still something breaking GObject code convention remains, which is
5295           calling gst_vaapi_display_new() in each decendants.
5296           This patch replaces it with gst_vaapi_display_config(), defined in private
5297           header.
5298           https://bugzilla.gnome.org/show_bug.cgi?id=796470
5299
5300 2018-06-13 17:05:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5301
5302         * gst-libs/gst/vaapi/gstvaapidisplay.c:
5303           libs: display: redefine gst_vaapi_display_create()
5304           The function name was gst_vaapi_display_create_unlocked(), nonetheless
5305           it wasn't called unlocked. In order to keep the semantics this patch
5306           renames the gst_vaapi_display_create_unlocked() as
5307           gst_vaapi_display_create(), removing the previous function
5308           gst_vaapi_display_create().
5309           https://bugzilla.gnome.org/show_bug.cgi?id=796470
5310
5311 2018-06-12 15:53:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5312
5313         * meson.build:
5314           Revert "build: meson: libva gst-uninstall friendly"
5315           This reverts commit fc3eef9c432c1628cb92ab56e74924cf1182da30.
5316
5317 2018-06-12 15:13:33 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5318
5319         * gst/vaapi/gstvaapipluginutil.c:
5320           plugins: fix compilation
5321           gstvaapipluginutil.c:171:1: error: old-style function definition [-Werror=old-style-definition]
5322
5323 2018-04-20 18:05:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5324
5325         * meson.build:
5326           build: meson: libva gst-uninstall friendly
5327           Make gstreamer-vaapi to use libva uninstalled.
5328
5329 2018-06-10 10:44:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5330
5331         * gst/vaapi/gstvaapipluginutil.c:
5332           plugins: refactor gst_vaapi_create_display_from_gl_context()
5333           gst_vaapi_create_display_from_gl_context() was a spaghetti mess.
5334           This path refactors it, in order to make the code readable and
5335           easy to follow.
5336           https://bugzilla.gnome.org/show_bug.cgi?id=796564
5337
5338 2018-05-25 12:17:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5339
5340         * gst-libs/gst/vaapi/gstvaapidisplay.c:
5341         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
5342         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
5343           libs: display: resurrect parent private member
5344           This is, practically, a revert of commit dcf135e2.
5345           The parent logic is useful for the EGL display, which is a decorator
5346           of the real windowing subsystem (X11 or Wayland). Thus it is avoided
5347           calling vaInitialize() and vaTerminate() twice.
5348           https://bugzilla.gnome.org/show_bug.cgi?id=795391
5349
5350 2018-04-27 18:35:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5351
5352         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
5353           libs: display: egl: initialize params structure
5354           Statically initialise the internal params structure.
5355           https://bugzilla.gnome.org/show_bug.cgi?id=795391
5356
5357 2018-04-27 18:34:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5358
5359         * gst/vaapi/gstvaapipluginutil.c:
5360           plugins: handle EGL when creating VAAPI display from gl
5361           If GstGL reports a EGL platform force to create a EGL display using
5362           the native EGL display.
5363           https://bugzilla.gnome.org/show_bug.cgi?id=795391
5364
5365 2018-04-24 18:17:24 +0900  Hyunjun Ko <zzoon@igalia.com>
5366
5367         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
5368         * gst/vaapi/gstvaapipluginutil.c:
5369           display: egl: create VaapiDisplayEGL with native EGL display
5370           gst_vaapi_display_egl_new_with_native_display() has been broken since
5371           it wasn't used.
5372           Currently it's needed to call this API to create a display providing
5373           the EGL display, so it could avoid duplicated calls to the native
5374           display (eg. eglTerminate).
5375           Signed-off-by: Victor Jaquez <vjaquez@igalia.com>
5376           https://bugzilla.gnome.org/show_bug.cgi?id=795391
5377
5378 2018-06-07 09:34:11 +0800  Tianhao Liu <tianhao.liu@intel.com>
5379
5380         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
5381           libs: decoder: release VA buffers after vaEndPicture
5382           This change is due a problem decoding JPEGs with Intel's media-driver:
5383           no image was generated.
5384           This patch relases the VA buffers after vaEndPicture() is called,
5385           and not before (after vaRenderPicture()).
5386           https://bugzilla.gnome.org/show_bug.cgi?id=796505
5387
5388 2018-06-07 19:49:02 +0100  Tim-Philipp Müller <tim@centricular.com>
5389
5390         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
5391         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
5392         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
5393           meson: fix build when xrender or xrandr are not available
5394           HAVE_XRENDER are defined to 1 or 0, not defined or undefined.
5395
5396 2018-05-25 16:47:00 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
5397
5398         * gst/vaapi/gstvaapipostproc.c:
5399           vaapipostproc: don't copy the GstParentBufferMeta if use_vpp
5400           Otherwise a reference to a DMABuf input buffer is kept until the output
5401           buffer is deleted.
5402           https://bugzilla.gnome.org/show_bug.cgi?id=796399
5403
5404 2018-05-22 21:13:08 +0900  Hyunjun Ko <zzoon@igalia.com>
5405
5406         * gst-libs/gst/vaapi/gstvaapidisplay.c:
5407         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
5408           libs: display: remove unnecessary legacy code since gobjectification
5409           https://bugzilla.gnome.org/show_bug.cgi?id=796470
5410
5411 2018-05-22 21:05:54 +0900  Hyunjun Ko <zzoon@igalia.com>
5412
5413         * gst-libs/gst/vaapi/gstvaapidisplay.c:
5414         * gst-libs/gst/vaapi/gstvaapidisplay.h:
5415           libs: display: remove unused code
5416           https://bugzilla.gnome.org/show_bug.cgi?id=796470
5417
5418 2018-06-05 15:16:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5419
5420         * gst/vaapi/gstvaapiencode_h264.c:
5421           vaapiencode: h264: log output caps
5422
5423 2018-06-05 22:38:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5424
5425         * gst/vaapi/gstvaapiencode_h264.c:
5426           vaapiencode: h264: find profile in available and allowed caps
5427           The commit 67e33d3de225d0e006d7bf606e7abb20d4544eab ("vaapiencode: h264:
5428           find best profile in those available") changed the code to pick a profile
5429           that is actually supported by the hardware. Unfortunately it dropped the
5430           downstream constraints. This can cause negotiation failures under certain
5431           circumstances.
5432           The fix is split in two cases:
5433           1\ the available VA-API caps doesn't intersect with pipeline's allowed
5434           caps:
5435           * The best allowed profile (pipeline's caps) is set as the encoding
5436           target profile (it will be adjusted later by the available profiles
5437           and properties)
5438           2\ the available VA-API caps does intersect with pipeline's allowed
5439           caps:
5440           * The intersected caps are fixed, and its profile is set as the
5441           encoding target profile. In this case the is not the best profile,
5442           but the minimal one (if VA-API reports the profiles in order).
5443           Setting the minimal profile of the intersected caps is better for
5444           compatibility.
5445           This patch fixes other tests related with caps negotiation, for
5446           example, it handles baseline profile, even when VA only supports
5447           constrained-baseline.
5448           Original-patch-by: Michael Olbrich <m.olbrich@pengutronix.de>
5449           https://bugzilla.gnome.org/show_bug.cgi?id=794306
5450
5451 2018-06-01 15:27:25 +0900  Hyunjun Ko <zzoon@igalia.com>
5452
5453         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5454           libs: encoder: h265: increase log2_max_pic_order_cnt range according to spec
5455           The specification says,
5456           "log2_max_pic_order_cnt_lsb_minus4 shall be in the range of 0 to 12, inclusive."
5457           This patch changes the upper limit from 6 to 12.
5458           https://bugzilla.gnome.org/show_bug.cgi?id=796179
5459
5460 2018-05-21 13:27:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5461
5462         * gst/vaapi/gstvaapipluginutil.c:
5463           plugins: guard GstGL code
5464
5465 2018-05-18 18:23:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5466
5467         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
5468           libs: decoder: h264: use g_clear_pointer()
5469
5470 2018-05-18 17:27:46 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5471
5472         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
5473         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
5474           libs: decoder: mpeg4, vc1: remove unused header
5475
5476 2018-05-18 11:09:58 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5477
5478         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
5479           libs: decoder: remove unused forward declaration
5480
5481 2018-05-07 07:59:25 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
5482
5483         * configure.ac:
5484           fix configure.ac regression
5485           Fixes regression introduced by 77527d67abe
5486           https://bugzilla.gnome.org/show_bug.cgi?id=795885
5487
5488 2018-05-05 17:57:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5489
5490         * gst-libs/gst/Makefile.am:
5491         * gst-libs/gst/base/Makefile.am:
5492         * gst-libs/gst/base/gstbitwriter.c:
5493         * gst-libs/gst/base/gstbitwriter.h:
5494         * gst-libs/gst/base/meson.build:
5495         * gst-libs/gst/meson.build:
5496         * gst-libs/gst/vaapi/Makefile.am:
5497         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5498         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
5499         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5500         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
5501         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
5502         * gst-libs/gst/vaapi/gstvaapifeipak_h264.c:
5503         * gst-libs/gst/vaapi/meson.build:
5504           libs: remove gstbitwriter
5505           Since it is deployed in gstreamer-core, there is no need to use
5506           our custom version.
5507           https://bugzilla.gnome.org/show_bug.cgi?id=795848
5508
5509 2018-04-28 16:10:46 +0800  Wang,Fei <fei.w.wang@intel.com>
5510
5511         * gst/vaapi/gstvaapidecode.c:
5512           vaapih264dec: add constrained and progressive profiles
5513           Those profiles have been added in the version 2012-01
5514           and 2011-06 of the AVC spec (A.2.4.1 and A.2.4.2).
5515           Both are supported by VAProfileH264High
5516           https://bugzilla.gnome.org/show_bug.cgi?id=795624
5517
5518 2018-04-26 18:15:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5519
5520         * gst/vaapi/gstvaapipluginbase.c:
5521         * gst/vaapi/gstvaapipluginutil.c:
5522         * gst/vaapi/gstvaapivideocontext.c:
5523         * gst/vaapi/gstvaapivideocontext.h:
5524           plugin: remove custom GstGL context handling
5525           Instead of using our own context handling for looking for GstGL
5526           parameters (display, context and other context), this patch changes
5527           the logic to use the utility function offered by GstGL.
5528           https://bugzilla.gnome.org/show_bug.cgi?id=793643
5529
5530 2018-04-26 15:03:23 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5531
5532         * gst/vaapi/gstvaapipluginbase.c:
5533           plugins: GstGL API must use the member variables
5534           This commit basically is a revert of commits 8092537 and fc1c415
5535           https://bugzilla.gnome.org/show_bug.cgi?id=793643
5536
5537 2018-04-25 16:24:32 +0900  Hyunjun Ko <zzoon@igalia.com>
5538
5539         * gst/vaapi/gstvaapipluginbase.c:
5540           plugins: pass members as parameters of gst_gl_ensure_element_data()
5541           The parameters of gst_gl_ensure_element_data() have to be not
5542           local variable since they are going to be used to see if they're
5543           set in gst_element_set_context() inside the API.
5544           This is basically a revert of commit 3d56306c
5545           https://bugzilla.gnome.org/show_bug.cgi?id=793643
5546
5547 2018-04-25 17:50:14 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5548
5549         * meson.build:
5550           meson: fix USE_GLES_VERSION_MASK
5551           1. The macro in the code is USE_GLES_VERSION_MASK
5552           2. glesv3 is provided by glesv2 pkg-config, then it's required to
5553           check headers
5554           https://bugzilla.gnome.org/show_bug.cgi?id=795391
5555
5556 2018-04-24 18:12:44 +0900  Hyunjun Ko <zzoon@igalia.com>
5557
5558         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
5559           libs: egl: utils: mark context as wrapped when it is
5560           The returning egl context may be null, so we should check the
5561           return value.
5562           https://bugzilla.gnome.org/show_bug.cgi?id=795391
5563
5564 2018-04-24 10:02:33 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5565
5566         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
5567           libs: egl: utils: fix usage of GstGL macros
5568           Include gl.h for the required GstGL symbols.
5569           https://bugzilla.gnome.org/show_bug.cgi?id=795391
5570
5571 2018-04-25 11:01:45 +0100  Tim-Philipp Müller <tim@centricular.com>
5572
5573         * meson.build:
5574           meson: use -Wl,-Bsymbolic-functions where supported
5575           Just like the autotools build.
5576
5577 2018-04-20 16:01:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5578
5579         * meson.build:
5580           meson: use get_pkgconfig_variable()
5581           Use get_pkgconfig_variable() method, of dependency class, rather
5582           than using run_command().
5583
5584 2018-04-20 11:50:55 +0100  Tim-Philipp Müller <tim@centricular.com>
5585
5586         * gst-libs/gst/base/meson.build:
5587         * gst-libs/gst/vaapi/meson.build:
5588         * meson.build:
5589           meson: fix miscellaneous meson warnings
5590           WARNING: Passed invalid keyword argument "rqeuired".
5591           gst-libs/gst/base/meson.build:11: WARNING: Passed invalid keyword argument "version".
5592           gst-libs/gst/base/meson.build:11: WARNING: Passed invalid keyword argument "soversion".
5593           gst-libs/gst/vaapi/meson.build:223: WARNING: Passed invalid keyword argument "version".
5594           gst-libs/gst/vaapi/meson.build:223: WARNING: Passed invalid keyword argument "soversion".
5595
5596 2018-03-30 13:41:39 +0200  Paul Kocialkowski <paul.kocialkowski@bootlin.com>
5597
5598         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
5599           display: drm: Allow finding DRM paths out of the PCI subsystem
5600           This removes hard-coded checks on the parent subsystem of potential DRM
5601           devices. These checks were set to exlude devices that do not originate
5602           from the PCI bus, which is only a valid approach on x86 devices.
5603           Other devices may have a DRM device originating from the platform
5604           subsystem, so the checks that were previously restricted to PCI are
5605           extended to cover platform devices as well.
5606           https://bugzilla.gnome.org/show_bug.cgi?id=794840
5607           Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
5608
5609 2017-11-08 13:27:06 +0900  Hyunjun Ko <zzoon@igalia.com>
5610
5611         * gst/vaapi/gstvaapivideocontext.c:
5612           videocontext: support wl-display in "gst.vaapi.app.Display"
5613           Through "gst.vaapi.app.Display" context, users can set their own
5614           VADisplay and native display of their backend.
5615           So far we support only X11 display, from now we also support Wayland
5616           display.
5617           Attributes:
5618           - wl-display : pointer of struct wl_display .
5619           https://bugzilla.gnome.org/show_bug.cgi?id=705821
5620
5621 2017-11-08 13:26:38 +0900  Hyunjun Ko <zzoon@igalia.com>
5622
5623         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
5624         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
5625           libs: display: wayland: add gst_vaapi_display_wayland_new_with_va_display()
5626           Implements new API function so that users could create GstVaapiDisplay
5627           with their own VADisplay within a native display as backend.
5628           https://bugzilla.gnome.org/show_bug.cgi?id=705821
5629
5630 2018-04-13 09:28:53 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
5631
5632         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
5633           wayland: don't poll if there are no pending frames
5634           Otherwise the following poll may not return for an arbitrary amount of
5635           time. This can happen if another wayland event queue has flushed and read
5636           our events.
5637           https://bugzilla.gnome.org/show_bug.cgi?id=795224
5638
5639 2017-10-16 12:09:08 +0900  Hyunjun Ko <zzoon@igalia.com>
5640
5641         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5642           libs: encoder: h265: 16 bit rounding of picture width and height
5643           pic_width_in_luma_samples/pic_height_in_luma_samples can be 16-bit rounded
5644           instead of 32-bit.
5645           In addition, codedbuf_size must be calculated according to this change.
5646           https://bugzilla.gnome.org/show_bug.cgi?id=753229
5647
5648 2018-04-16 10:53:47 +0100  Tim-Philipp Müller <tim@centricular.com>
5649
5650         * common:
5651           Automatic update of common submodule
5652           From 3fa2c9e to ed78bee
5653
5654 2018-03-30 20:39:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5655
5656         * gst/vaapi/gstvaapiencode_h264.c:
5657           vaapiencode: h264: find best profile in those available
5658           Instead to look for the best profile in the allowed profiles by
5659           downstream, the encoder should look for the base profile in the
5660           available profile in VA-API.
5661           https://bugzilla.gnome.org/show_bug.cgi?id=794306
5662
5663 2018-03-20 10:49:10 +0000  Tim-Philipp Müller <tim@centricular.com>
5664
5665         * NEWS:
5666         * RELEASE:
5667         * configure.ac:
5668         * docs/plugins/inspect/plugin-vaapi.xml:
5669         * meson.build:
5670           Back to development
5671
5672 === release 1.14.0 ===
5673
5674 2018-03-19 20:30:28 +0000  Tim-Philipp Müller <tim@centricular.com>
5675
5676         * ChangeLog:
5677         * NEWS:
5678         * configure.ac:
5679         * gstreamer-vaapi.doap:
5680         * meson.build:
5681           Release 1.14.0
5682
5683 2018-03-12 16:59:01 +0000  Julien Isorce <jisorce@oblong.com>
5684
5685         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
5686           libs: decoder: h264: ensure num_ref_frames is greater than 0
5687           Even if it is the h264parse fault or bad video file, vaapih264dec
5688           should set a proper value for VAPictureParameterBufferH264.num_ref_frames
5689           as the driver might use it.
5690           Also see "info.ref_frames = dpb_size;" in
5691           gstvaapidecoder_h264.c::ensure_context
5692           https://bugzilla.gnome.org/show_bug.cgi?id=793836
5693
5694 === release 1.13.91 ===
5695
5696 2018-03-13 19:32:05 +0000  Tim-Philipp Müller <tim@centricular.com>
5697
5698         * ChangeLog:
5699         * NEWS:
5700         * configure.ac:
5701         * gstreamer-vaapi.doap:
5702         * meson.build:
5703           Release 1.13.91
5704
5705 === release 1.13.90 ===
5706
5707 2018-03-03 22:59:30 +0000  Tim-Philipp Müller <tim@centricular.com>
5708
5709         * ChangeLog:
5710         * NEWS:
5711         * configure.ac:
5712         * gstreamer-vaapi.doap:
5713         * meson.build:
5714           Release 1.13.90
5715
5716 2018-03-01 07:33:27 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5717
5718         * gst/vaapi/gstvaapipostproc.c:
5719           vaapipostproc: change how the metadata is copied
5720           Instead of copying the metada in prepare_output_buffer() vmethod,
5721           it is done in append_output_buffer_metadata() thus deinterlaced
5722           buffers could also have the proper metas.
5723           GstVideoCropMeta now it is copied internally and it is decided via
5724           transform_meta() vmethod.
5725           A new internal method, copy_metadata() was added to handle VPP
5726           transformation where non-GstVideoVaapiMeta metas were lost.
5727
5728 2018-02-27 16:20:15 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
5729
5730         * gst/vaapi/gstvaapipostproc.c:
5731           postproc: Copy meta data from input to output
5732           This will ensure that meta data without memory tags will be copied. This
5733           was noticed when testing ROI.
5734           https://bugzilla.gnome.org/show_bug.cgi?id=768248
5735
5736 2018-02-23 10:48:36 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5737
5738         * tests/elements/test-roi.c:
5739           tests: element: rewrite ROI test
5740           Rewrote the ROI test to use GstVideoRegionOfInterest meta rather
5741           than injecting GstEvents. These meta are added as a pad probe in
5742           the queue src pad.
5743           Also
5744           * Use of navigation messages to control de test
5745           * Use signal watch for processing messages
5746           * Change to H265 rather than H264 since current intel-vaapi-driver
5747           only supports ROI on kabylake.
5748           TODO: add a parameter to change the encoder/decoder to test.
5749           https://bugzilla.gnome.org/show_bug.cgi?id=768248
5750
5751 2018-02-22 14:20:42 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5752
5753         * gst-libs/gst/vaapi/gstvaapicontext.c:
5754         * gst-libs/gst/vaapi/gstvaapiencoder.c:
5755         * gst-libs/gst/vaapi/gstvaapiencoder.h:
5756         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5757         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5758         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
5759           libs: encoder: reimplement ROI using meta
5760           Check input buffers for ROI metas and pass them to VA. Also added a
5761           new "default-roi-delta-qp" property in order to tell the encoder what
5762           delta QP should be applied to ROI by default.
5763           Enabled it for H264 and H265 encoders.
5764           https://bugzilla.gnome.org/show_bug.cgi?id=768248
5765
5766 2018-02-22 08:22:35 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5767
5768         * gst-libs/gst/vaapi/gstvaapiencoder.c:
5769         * gst-libs/gst/vaapi/gstvaapiencoder.h:
5770         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
5771           Revert "libs: encoder: add api gst_vaapi_encoder_add/del_roi"
5772           This reverts commit 7a6f690340dcb3b82c59efa777d4453227851de8.
5773           https://bugzilla.gnome.org/show_bug.cgi?id=768248
5774
5775 2018-02-22 14:29:19 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5776
5777         * tests/simple-encoder.c:
5778           Revert "tests: simple-encoder: add an option to set ROI"
5779           This reverts commit c21345c4787bb6342adddea1190f53fe62abff04.
5780           https://bugzilla.gnome.org/show_bug.cgi?id=768248
5781
5782 2018-02-21 10:56:47 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5783
5784         * gst/vaapi/gstvaapiencode.c:
5785         * gst/vaapi/gstvaapiencode_h264.c:
5786           Revert "vaapiencode: handle custom event GstVaapiEncoderRegionOfInterest"
5787           This reverts commit 8f1b88dac0e64a211325cdcb2cda693b80229bd1.
5788           https://bugzilla.gnome.org/show_bug.cgi?id=768248
5789
5790 2018-02-23 09:25:51 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5791
5792         * gst/vaapi/gstvaapipluginbase.c:
5793           plugins: copy input buffer metas
5794           When importing buffers to a VA-base buffer, it is required to copy
5795           the metas in the original buffer, otherwise information will be
5796           lost, such as GstVideoRegionOfInterestMeta.
5797           https://bugzilla.gnome.org/show_bug.cgi?id=768248
5798
5799 2018-02-27 06:10:09 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5800
5801         * gst-libs/gst/vaapi/gstvaapisurface.c:
5802           libs: surface: cast to uintptr_t pointer
5803           According to Debian package auto-building, uintptr_t is not an
5804           unsigned long in i386 arch, raising an "incompatible pointer type"
5805           error.
5806           This patch adds a casting for compiler's satisfaction in i386.
5807
5808 2018-02-25 20:46:56 -0600  Matteo Valdina <matteo.valdina@gmail.com>
5809
5810         * gst-libs/gst/vaapi/gstvaapiencoder.c:
5811           libs: encoder: add zero as valid value for periodic keyframe.
5812           Enabled zero as valid value for keyframe-period property.
5813           https://bugzilla.gnome.org/show_bug.cgi?id=793829
5814
5815 2018-02-22 08:24:12 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5816
5817         * gst-libs/gst/vaapi/gstvaapiencoder.c:
5818           libs: encoder: code-style fix
5819
5820 2018-02-17 18:32:11 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5821
5822         * gst/vaapi/gstvaapidecode.c:
5823           vaapidecode: generate system allocated buffers
5824           Generate system allocated output buffers when downstream doesn't
5825           support GstVideoMeta.
5826           The VA buffer content is copied to the new output buffer, and it
5827           replaces the VA buffer.
5828           https://bugzilla.gnome.org/show_bug.cgi?id=785054
5829
5830 2018-02-15 19:32:37 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5831
5832         * gst/vaapi/gstvaapipostproc.c:
5833           vaapipostproc: handle system allocated buffers when required
5834           When downstream can't handle GstVideoMeta it is required to send
5835           system allocated buffers.
5836           The system allocated buffers are produced in prepare_output_buffer()
5837           vmethod if downstream can't handl GstVideoMeta.
5838           At transform() vmethod if the buffer is a system allocated buffer,
5839           a VA buffer is instanciated and replaces the out buffer. Later
5840           the VA buffer is copied to the system allocate buffer and it
5841           replaces the output buffer.
5842           https://bugzilla.gnome.org/show_bug.cgi?id=785054
5843
5844 2018-02-15 19:32:19 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5845
5846         * gst/vaapi/gstvaapipluginbase.c:
5847         * gst/vaapi/gstvaapipluginbase.h:
5848           plugins: add gst_vaapi_copy_va_buffer()
5849           This helper function aims to copy buffers with VA memory to dumb
5850           buffers, when GstVideoMeta is not available dowstream.
5851           https://bugzilla.gnome.org/show_bug.cgi?id=785054
5852
5853 2018-02-15 19:29:51 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5854
5855         * gst/vaapi/gstvaapipluginbase.c:
5856         * gst/vaapi/gstvaapipluginbase.h:
5857           plugins: add COPY_OUTPUT_FRAME flag
5858           This patch add the member copy_output_frame and set it TRUE when
5859           when downstream didn't request GstVideoMeta API, the caps are raw
5860           and the internal allocator is the VA-API one.
5861           https://bugzilla.gnome.org/show_bug.cgi?id=785054
5862
5863 2018-02-15 19:28:33 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5864
5865         * gst/vaapi/gstvaapipluginbase.c:
5866         * gst/vaapi/gstvaapipluginbase.h:
5867           plugins: store the first downstream allocator if available
5868           The allocator will be required if we need to allocate a buffer
5869           to store the frame with the expected strides.
5870           https://bugzilla.gnome.org/show_bug.cgi?id=785054
5871
5872 2018-02-20 02:25:13 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5873
5874         * gst/vaapi/gstvaapivideobufferpool.c:
5875         * gst/vaapi/gstvaapivideobufferpool.h:
5876           vaapibufferpool: add gst_vaapi_video_buffer_pool_copy_buffer()
5877           This function will inform the element if it shall copy the generated
5878           buffer by the pool to a system allocated buffer before pushing it
5879           to downstream.
5880           https://bugzilla.gnome.org/show_bug.cgi?id=785054
5881
5882 2018-02-15 19:22:08 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5883
5884         * gst/vaapi/gstvaapivideobufferpool.c:
5885           vaapibufferpool: don't change config when forcing video meta
5886           VA-API based buffer might need a video meta because of different
5887           strides. But when donwstream doesn't support video meta we need to
5888           force the usage of video meta.
5889           Before we changed the buffer pool configuration, but actually this
5890           is a hack and we cannot rely on that for downstream.
5891           This patch add a check fo raw video caps and allocator is VA-API,
5892           then the option is enabled without changing the pool configuration.
5893           In this case the element is responsible to copy the frame to a
5894           simple buffer with the expected strides.
5895           https://bugzilla.gnome.org/show_bug.cgi?id=785054
5896
5897 2018-02-20 09:15:05 -0600  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5898
5899         * gst/vaapi/gstvaapipostproc.c:
5900           vaapipostproc: set discont flag at vpp deinterlacing
5901           When deinterlacing with VPP the discont flag was not forwarded to
5902           the new created buffer. This patch sets the discont flag if input
5903           buffer has it.
5904
5905 2018-02-20 02:14:37 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5906
5907         * gst/vaapi/gstvaapivideobufferpool.h:
5908           vaapibufferpool: remove wrong gcc annotation
5909
5910 2018-02-15 14:55:42 -0600  Matteo Valdina <matteo.valdina@gmail.com>
5911
5912         * gst-libs/gst/vaapi/gstvaapiencoder.c:
5913         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
5914         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
5915         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
5916         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
5917         * gst-libs/gst/vaapi/gstvaapifeipak_h264.c:
5918         * gst-libs/gst/vaapi/gstvaapiutils_h26x_priv.h:
5919           libs: encoder: h264,h265: extend max periodic keyframe.
5920           Increased max values of periodic key frame for h26x codecs.
5921           This allow more fine tunning of encoder that in certian scenario
5922           want higher periodic key frame.
5923           For example: it doesn't want a key frame each 10 seconds but
5924           each 120 seconds.
5925           https://bugzilla.gnome.org/show_bug.cgi?id=786320
5926
5927 2018-02-15 19:44:35 +0000  Tim-Philipp Müller <tim@centricular.com>
5928
5929         * configure.ac:
5930         * meson.build:
5931           Back to development
5932
5933 === release 1.13.1 ===
5934
5935 2018-02-15 17:39:16 +0000  Tim-Philipp Müller <tim@centricular.com>
5936
5937         * Makefile.am:
5938         * NEWS:
5939         * configure.ac:
5940         * gstreamer-vaapi.doap:
5941         * meson.build:
5942           Release 1.13.1
5943
5944 2018-02-15 18:15:33 +0000  Tim-Philipp Müller <tim@centricular.com>
5945
5946         * gst/vaapi/Makefile.am:
5947           vaapi: dist new header
5948
5949 2018-02-12 17:53:58 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5950
5951         * gst/vaapi/gstvaapi.c:
5952           vaapi: register vaapisink as marginal on wayland
5953           vaapsink, when used with the Intel VA-API driver, tries to display
5954           surfaces with format NV12, which are handled correctly by
5955           Weston. Nonetheless, COGL cannot display YUV surfaces, making fail
5956           pipelines on mutter.
5957           This shall be solved either by COGL or by making the driver to paint
5958           RGB surfaces. In the meanwhile, let's just demote vaapisink as
5959           marginal when the Wayland environment is detected, no matter if it is
5960           Weston.
5961           https://bugzilla.gnome.org/show_bug.cgi?id=775698
5962
5963 2018-02-12 19:00:36 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5964
5965         * gst/vaapi/gstvaapipluginutil.c:
5966           plugins: update mesa's vendor string in whitelist
5967           Mesa has updated its VA-API Gallium driver vendor string:
5968           https://cgit.freedesktop.org/mesa/mesa/commit/?id=5db29d62ce1fefa3f2ee6e4a4688576fde4bde4a
5969           This patch tries to cover both, the old and the new one.
5970           https://bugzilla.gnome.org/show_bug.cgi?id=793386
5971
5972 2018-02-08 19:22:17 +0000  Tim-Philipp Müller <tim@centricular.com>
5973
5974         * meson.build:
5975           meson: make version numbers ints and fix int/string comparison
5976           WARNING: Trying to compare values of different types (str, int).
5977           The result of this is undefined and will become a hard error
5978           in a future Meson release.
5979
5980 2018-02-07 09:13:26 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5981
5982         * gst/vaapi/gstvaapipluginbase.c:
5983           plugins: handle vaapi allocator in allocation query
5984           In propose_allocation() if the numer of allocation params is zero, the
5985           system's allocator is added first, and lastly the native VA-API
5986           allocator.
5987           In decide_allocation(), the allocations params in query are travered,
5988           looking for a native VA-API allocator. If it is found, it is reused as
5989           src pad allocator. Otherwise, a new allocator is instantiated and
5990           appended in the query.
5991           https://bugzilla.gnome.org/show_bug.cgi?id=789476
5992
5993 2018-02-07 09:06:46 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
5994
5995         * gst/vaapi/gstvaapivideomemory.h:
5996           vaapivideomemory: remove unused macro
5997           GST_VAAPI_VIDEO_ALLOCATOR_NAME was added in commit 5b11b8332 but it
5998           was never used, since the native VA-API allocator name has been
5999           GST_VAAPI_VIDEO_MEMORY_NAME.
6000           This patch removes GST_VAAPI_VIDEO_ALLOCATOR_NAME macro.
6001           https://bugzilla.gnome.org/show_bug.cgi?id=789476
6002
6003 2018-02-02 08:54:00 +0000  VaL Doroshchuk <valkov@yandex.ru>
6004
6005         * gst/vaapi/gstvaapisink.c:
6006           vaapisink: don't mask button events for foreign windows
6007           Don't subscribe to button press events when using a foreing window,
6008           because the user created window would trap those events, preveting the
6009           show of frames.
6010           https://bugzilla.gnome.org/show_bug.cgi?id=791615
6011
6012 2018-02-05 08:51:56 +0100  Tim-Philipp Müller <tim@centricular.com>
6013
6014         * configure.ac:
6015           autotools: use -fno-strict-aliasing where supported
6016           https://bugzilla.gnome.org/show_bug.cgi?id=769183
6017
6018 2018-01-30 20:38:37 +0000  Tim-Philipp Müller <tim@centricular.com>
6019
6020         * meson.build:
6021           meson: use -fno-strict-aliasing where supported
6022           https://bugzilla.gnome.org/show_bug.cgi?id=769183
6023
6024 2018-01-30 12:56:49 +0000  Philippe Normand <philn@igalia.com>
6025
6026         * gst/vaapi/gstvaapi.c:
6027           vaapi: add NULL-sentinel to kernel_names
6028           The array needs to be NULL-terminated according to the
6029           gst_plugin_add_dependency() documentation.
6030
6031 2018-01-18 18:53:29 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6032
6033         * gst/vaapi/gstvaapipostprocutil.c:
6034           vaapipostproc: remove spurious code
6035           This assignation is dead code, since gst_video_info_from_caps() set
6036           to 1 by default.
6037           https://bugzilla.gnome.org/show_bug.cgi?id=790149
6038
6039 2018-01-18 18:51:57 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6040
6041         * gst/vaapi/gstvaapipostprocutil.c:
6042           vaapipostproc: if no p-a-r in out caps define a range
6043           Instead of copying the pixel-aspect-ratio from the sink caps, define
6044           an open range for the src caps pixel-aspect-ratio. Later it will be
6045           defined.
6046           https://bugzilla.gnome.org/show_bug.cgi?id=790149
6047
6048 2018-01-18 13:10:59 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6049
6050         * gst/vaapi/gstvaapisink.c:
6051           vaapisink: check for display's color-balance properties
6052           Check for display's color-balance properties, available by the VA-API
6053           driver, before setting them.
6054           Also logs an info message of those unavailable properties.
6055           https://bugzilla.gnome.org/show_bug.cgi?id=792638
6056
6057 2018-01-17 17:30:50 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6058
6059         * gst/vaapi/gstvaapipluginbase.c:
6060           plugins: re-using buffer pool breaks renegotiation
6061           at propose_allocation() we should not reuse the proposed buffer,
6062           because it could break renegotiation.
6063           https://bugzilla.gnome.org/show_bug.cgi?id=792620
6064
6065 2018-01-17 17:26:24 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6066
6067         * gst/vaapi/gstvaapipluginbase.c:
6068           plugins: use g_clear_object() to unref sinkpad_buffer_pool
6069           https://bugzilla.gnome.org/show_bug.cgi?id=792620
6070
6071 2018-01-17 12:42:12 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6072
6073         * gst-libs/gst/vaapi/meson.build:
6074           build: meson: add missing GstGL dependency
6075
6076 2018-01-17 12:41:54 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6077
6078         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
6079           libs: utils: egl: add missing guards for GstGL
6080
6081 2018-01-11 11:48:02 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6082
6083         * gst/vaapi/gstvaapipluginbase.c:
6084           plugins: remove dmabuf-import hack
6085           Remove the hack to check if an upstream element has enabled the
6086           property io-mode enabled as dmabuf-import.
6087           https://bugzilla.gnome.org/show_bug.cgi?id=792034
6088
6089 2017-12-01 15:04:35 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6090
6091         * gst-libs/gst/vaapi/Makefile.am:
6092         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
6093         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
6094         * gst-libs/gst/vaapi/gstvaapiutils_egl.h:
6095           libs: egl: utils: use eglGetPlatformDisplay()
6096           eglGetDisplay() is currently broken in Mesa for Wayland.  Also using
6097           eglGetDisplay() is rather fragile, and it is recommended to use
6098           eglGetPlatformDisplay() when possible.
6099           In order to do that, this patch uses the helper in GstGL. If
6100           gstreamer-vaapi is not compiled with GstGL support, eglGetDisplay()
6101           will be used.
6102           https://bugzilla.gnome.org/show_bug.cgi?id=790493
6103
6104 2017-12-08 14:46:02 +0100  Michael Tretter <m.tretter@pengutronix.de>
6105
6106         * gst/vaapi/gstvaapipostproc.c:
6107           vaapipostproc: lock ensure_filter with postproc_lock
6108           gst_vaapipostproc_ensure_filter might free the allowed_srcpad_caps
6109           and allowed_sinkpad_caps. This can race with copying these caps in
6110           gst_vaapipostproc_transform_caps and lead to segfaults.
6111           The gst_vaapipostproc_transform_caps function already locks
6112           postproc_lock before copying the caps. Make sure that calls to
6113           gst_vaapipostproc_ensure_filter also acquire this lock.
6114           https://bugzilla.gnome.org/show_bug.cgi?id=791404
6115
6116 2018-01-10 17:10:28 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6117
6118         * tests/test-filter.c:
6119           tests: test-filter: fix dereference before null check
6120           Null-checking op_info suggests that it may be null, but it has already
6121           been dereferenced on all paths leading to the check.
6122           There may be a null pointer dereference, or else the comparison
6123           against null is unnecessary.
6124
6125 2018-01-10 17:06:53 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6126
6127         * tests/y4mreader.c:
6128           tests: y4mreader: fix string state checkup
6129           str cannot be null in that moment, but it may be the end of string.
6130
6131 2018-01-10 16:59:56 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6132
6133         * tests/y4mreader.c:
6134           tests: y4mreader: use int for fgetc
6135           Assigning the return value of fgetc to char truncates its value.
6136           It will not be possible to distinguish between EOF and a valid
6137           character.
6138
6139 2018-01-10 16:48:07 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6140
6141         * tests/y4mreader.c:
6142           tests: y4mreader: fix incompatible cast
6143           Passed pointer in parse_int() are unsigned int (32 bits, unsigned) but
6144           they are dereferenced as a wider long (64 bits, signed). This may lead
6145           to memory corruption.
6146
6147 2017-12-19 16:01:10 +0000  Tim-Philipp Müller <tim@centricular.com>
6148
6149         * meson.build:
6150           meson: fix fallback for gstreamer-gl-1.0, it's now in -base
6151
6152 2017-12-14 14:53:27 +1100  Matthew Waters <matthew@centricular.com>
6153
6154         * common:
6155           Automatic update of common submodule
6156           From e8c7a71 to 3fa2c9e
6157
6158 2017-12-06 16:11:46 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
6159
6160         * gst/vaapi/gstvaapivideocontext.c:
6161           videoconvert: gst_element_post_message() is transfer full on msg
6162           For this reson we need not to unref the message, even if it failed.
6163
6164 2017-12-06 16:11:25 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.com>
6165
6166         * gst/vaapi/gstvaapivideocontext.c:
6167           Revert "vaapivideocontext: possible memleak when no bus attached"
6168           This reverts commit 0438a3e62660e64ed390b6bb83bfb560b91664aa.
6169
6170 2017-12-01 23:03:32 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6171
6172         * tests/elements/test-vaapicontext.c:
6173           test: vaapicontext: process have-context bus message
6174
6175 2017-11-29 18:29:45 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6176
6177         * tests/elements/test-vaapicontext.c:
6178           test: vaapicontext: app context is not persistent
6179
6180 2017-11-29 11:02:03 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6181
6182         * gst/vaapi/gstvaapipluginbase.c:
6183         * gst/vaapi/gstvaapivideocontext.c:
6184         * gst/vaapi/gstvaapivideocontext.h:
6185           vaapivideocontext: only vaapisink process app context
6186           gst.vaapi.app.Display context is made for applications that will
6187           provide the VA display and the native display to used by the
6188           pipeline, when are using vaapisink as overlay. There are no use
6189           case for encoders, decoders, neither for the postprocessor.
6190           In the case of the vaapisink, it shall query for gst.vaapi.Display
6191           upstream first, and then, if there is no reply,
6192           gst.vaapi.app.Display context will be posted in the bus for the
6193           application. If the application replies, a GstVaapiDisplay object
6194           is instantiated given the context info, otherwise a
6195           GstVaapiDisplay is created with the normal algorithm to guess the
6196           graphics platform. Either way, the instantiated GstVaapiDisplay
6197           is propagated among the pipeline and the have-message bus message.
6198           Also only vaapisink will process the gst.vaapi.app.Display, if
6199           and only if, it doesn't have a display already set. This is
6200           caused because if vaapisink is in a bin (playsink, for example)
6201           the need-context is posted twice, leading to an error state.
6202           https://bugzilla.gnome.org/show_bug.cgi?id=790999
6203
6204 2017-12-01 20:21:54 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6205
6206         * gst/vaapi/gstvaapivideocontext.c:
6207           vaapivideocontext: log the name of GstVaapiDisplay
6208           https://bugzilla.gnome.org/show_bug.cgi?id=790999
6209
6210 2017-11-30 14:24:43 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6211
6212         * gst/vaapi/gstvaapivideocontext.c:
6213           vaapivideocontext: possible memleak when no bus attached
6214           https://bugzilla.gnome.org/show_bug.cgi?id=790999
6215
6216 2017-11-27 13:04:24 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6217
6218         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
6219           libs: window: wayland: remove unused header include
6220           Remove wayland-client.h include since there is no exposed symbols from
6221           it.
6222
6223 2017-11-27 12:18:56 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6224
6225         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
6226         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
6227           libs: encoder: h264,h265: guard rate control's macroblock
6228           macroblock parameter appear on VA-API 1.0.0. It should be guarded.
6229
6230 2017-11-27 20:17:55 +1100  Matthew Waters <matthew@centricular.com>
6231
6232         * common:
6233           Automatic update of common submodule
6234           From 3f4aa96 to e8c7a71
6235
6236 2016-07-29 14:58:49 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6237
6238         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
6239           libs: encoder: h264: Add Hierarchical-B encode
6240           Frames are encoded as different layers. Frame in a particular
6241           layer will use pictures in lower or same layer as references.
6242           Which means decoder can drop the frames in upper layer but still
6243           decode lower layer frames.
6244           B-frames, except the one in top most layer, are reference frames.
6245           All the base layer frames are I or P.
6246           eg: with 3 temporal layers
6247           T3:             B1            B3              B5              B7
6248           T2:                   B2                              B6
6249           T1:   I0                                P4                        P8
6250           T1, T2, T3: Temporal Layers
6251           P1...Pn:   P-Frames:
6252           B1...Bn:   B-frames:
6253           T1: I0->P4 , P4->P8 etc..
6254           T2: I0--> B2 <-- P4
6255           T3: I0--> B1 <-- B2, B2 --> B3 <-- P4
6256           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6257           https://bugzilla.gnome.org/show_bug.cgi?id=788918
6258
6259 2016-07-28 18:33:23 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6260
6261         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
6262           libs: encoder: h264: Add Hierarchical-P encode
6263           Frames are encoded as different layers. A frame in a particular
6264           layer will use pictures in lower or same layer as references.
6265           Which means decoder can drop the frames in upper layer but still
6266           decode lower layer frames.
6267           eg: with 3 temporal layers
6268           T3:             P1            P3              P5              P7
6269           T2:                   P2                              P6
6270           T1:   P0                                P4                        P8
6271           T1, T2, T3: Temporal Layers
6272           P1...pn:   P-Frames:
6273           P0->P1 , P0->P2, P2->P3, P0->P4......repeat
6274           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6275           https://bugzilla.gnome.org/show_bug.cgi?id=788918
6276
6277 2016-07-28 16:51:28 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6278
6279         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
6280           libs: encoder: h264: Fix frame_num generation
6281           The frame_num generation was not correctly implemented.
6282           According to h264 spec, frame_num should get incremented
6283           for each frame if previous frame is a referece frame.
6284           For eg: IPBPB sequece should have the frame numbers 0,1,2,2,3
6285           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6286           https://bugzilla.gnome.org/show_bug.cgi?id=788918
6287
6288 2016-07-28 15:53:48 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6289
6290         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
6291         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
6292           libs: encoder: h264: Add new property "prediction-type"
6293           Adds new property "prediction-type" to select different reference
6294           picture selection modes like hierarchical-p, hierarchical-b etc.
6295           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6296           https://bugzilla.gnome.org/show_bug.cgi?id=788918
6297
6298 2016-07-28 15:12:05 +0300  XuGuangxin <guangxin.xu@intel.com>
6299
6300         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
6301         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
6302           libs: encoder: h264: Add machinery for implementing hierarchical-prediction
6303           Adds some basic building blocks to ease the implementation
6304           of hierarchical prediction modes.
6305           -- add an utility method to find temporal level of each frame
6306           -- define max_ref_frame count based on temporal level count
6307           -- add temporal_level_div[] for finding temporal level each frame
6308           to be encoded.
6309           -- find ip_period based on temporal level count
6310           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6311           https://bugzilla.gnome.org/show_bug.cgi?id=788918
6312
6313 2016-07-28 14:17:53 +0300  XuGuangxin <guangxin.xu@intel.com>
6314
6315         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
6316         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
6317           libs: encoder: h264: Add property "temporal-levels"
6318           Adds new property "temporal-levels" to select the number of
6319           temporal levels to be included in the encoded stream.
6320           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6321           https://bugzilla.gnome.org/show_bug.cgi?id=788918
6322
6323 2016-07-27 16:41:01 +0300  XuGuangxin <guangxin.xu@intel.com>
6324
6325         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
6326           libs: encoder: objects: Add a reference flag
6327           We can have p-frame as non-ref and also b-frame as ref
6328           which are not supported yet. Reference flag
6329           is the first machinery needed for more advanced
6330           reference picture selection modes.
6331           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6332           https://bugzilla.gnome.org/show_bug.cgi?id=788918
6333
6334 2017-11-02 13:21:34 +0100  Daniel van Vugt <daniel.van.vugt@canonical.com>
6335
6336         * gst-libs/gst/vaapi/gstvaapisurface_egl.c:
6337           libs: surface: egl: add comment
6338           Add a warning comment when using old intel-vaapi-drivers (>1.8.4),
6339           where the creation of surfaces from GEM fd may fail.
6340           https://bugzilla.gnome.org/show_bug.cgi?id=773453
6341
6342 2017-10-10 13:38:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6343
6344         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
6345         * gst-libs/gst/vaapi/gstvaapidisplay_egl.h:
6346         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
6347           libs: display: egl: add gst_vaapi_display_egl_set_current_display()
6348           Adds a new function that changes the internal EGL display to the
6349           current one (eglGetCurrentDisplay()) and sets the current context
6350           too (eglGetCurrentContext()).
6351           This new function is called by gst_vaapi_texture_egl_create() updating
6352           the GstVaapiDisplayEGL with the current EGL display.
6353           https://bugzilla.gnome.org/show_bug.cgi?id=773453
6354
6355 2017-10-09 16:02:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6356
6357         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
6358           libs: texture: egl: update EGL display and context
6359           It is required to use the context of the calling thread when wrapping
6360           a foreign texture. According the documentation of
6361           GstVideoGLTextureUploadMeta:
6362           "The caller of gst_video_gl_texture_upload_meta_upload() must
6363           have OpenGL set up and call this from a thread where it is valid
6364           to upload something to an OpenGL texture."
6365           This patch updates the EGL display and context in GstVaapiDisplay
6366           instance to the one used by te renderer that uploads the texture.
6367           Original-patch-by: Daniel van Vugt <daniel.van.vugt@canonical.com>
6368           https://bugzilla.gnome.org/show_bug.cgi?id=773453
6369
6370 2017-10-10 19:53:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6371
6372         * gst/vaapi/gstvaapipluginbase.c:
6373           plugins: centralize assignation of GL objects
6374           Add plugin_set_gst_gl() where the GstGL objects are assigned.
6375           https://bugzilla.gnome.org/show_bug.cgi?id=773453
6376
6377 2017-10-10 19:13:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6378
6379         * gst/vaapi/gstvaapipluginbase.c:
6380           plugins: set GL objects if ensured
6381           Only set the GL display and GL other context if they are ensured.
6382           https://bugzilla.gnome.org/show_bug.cgi?id=773453
6383
6384 2017-10-10 17:14:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6385
6386         * gst/vaapi/gstvaapipluginbase.c:
6387           plugins: set GL objects if context is handled
6388           Only set the GL display and GL other context if they are extracted
6389           correctly from the gstreamer's context.
6390           https://bugzilla.gnome.org/show_bug.cgi?id=773453
6391
6392 2017-10-10 19:57:45 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6393
6394         * gst/vaapi/gstvaapipluginbase.c:
6395           plugins: fix memory leak when GL context is created
6396           When the GL display and context are created inside an VAAPI element
6397           the created GL context is leaked.
6398           https://bugzilla.gnome.org/show_bug.cgi?id=773453
6399
6400 2017-10-10 14:01:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6401
6402         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
6403           libs: display: egl: free leaked memory
6404           The EGL VAAPI display forgot to release the egl display, context and
6405           proxied VAAPI display.
6406           https://bugzilla.gnome.org/show_bug.cgi?id=773453
6407
6408 2017-10-05 19:25:08 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6409
6410         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
6411           libs: texture: egl: code style
6412           https://bugzilla.gnome.org/show_bug.cgi?id=773453
6413
6414 2017-10-04 13:51:23 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6415
6416         * gst-libs/gst/vaapi/gstvaapisurface_egl.c:
6417           libs: surface: egl: error message if no extension
6418           Instead of silently fail to export the image if there is not available
6419           the EGL_MESA_drm_image, log an error message. Also a code refactoring
6420           was done.
6421           https://bugzilla.gnome.org/show_bug.cgi?id=773453
6422
6423 2017-10-31 13:10:50 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6424
6425         * gst/vaapi/gstvaapipluginbase.c:
6426           plugins: direct rendering on memory:VASurface
6427           As buffers negotiated with memory:VASurface caps feature can also be
6428           mapped, they can also be configured to use VA derived images, in other
6429           words "direct rendering".
6430           Also, because of the changes in dmabuf allocator as default allocator,
6431           the code for configuring the direct rendering was not clear.
6432           This patch cleans up the code and enables direct rendering when the
6433           environment variable GST_VAAPI_ENABLE_DIRECT_RENDERING is defined,
6434           even then the memory:VASurface cap feature is negotiated.
6435           https://bugzilla.gnome.org/show_bug.cgi?id=786054
6436
6437 2017-10-04 11:54:31 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6438
6439         * gst/vaapi/gstvaapipluginbase.c:
6440         * gst/vaapi/gstvaapipluginutil.c:
6441           plugins: only dmabuf on srcpad if downstream
6442           Set if source pad can handle dmabuf only if the GstGL context comes
6443           from downstream.
6444           It is possible to know that at two moments:
6445           1\ In the case of GstGLTextureUpload caps feature is negotiated and
6446           downstream pool reports back gst.gl.GstGLContext.
6447           2\ When GstGLContext is found as GstContext from dowstream.
6448           https://bugzilla.gnome.org/show_bug.cgi?id=788503
6449
6450 2017-10-04 11:52:32 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6451
6452         * gst/vaapi/gstvaapivideocontext.c:
6453           vaapivideocontext: add inline documentation
6454           Document function gst_vaapi_find_gl_local_context().
6455           https://bugzilla.gnome.org/show_bug.cgi?id=788503
6456
6457 2017-10-04 11:50:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6458
6459         * gst/vaapi/gstvaapipluginutil.c:
6460         * gst/vaapi/gstvaapivideocontext.c:
6461         * gst/vaapi/gstvaapivideocontext.h:
6462           vaapivideocontext: return the direction of gl context
6463           In function gst_vaapi_find_gl_context() add a direction parameter to
6464           return back the direction where the GstGL context was found.
6465           This is going to be useful when checking if downstream can import
6466           dmabuf-based buffers.
6467           https://bugzilla.gnome.org/show_bug.cgi?id=788503
6468
6469 2017-10-04 08:30:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6470
6471         * gst/vaapi/gstvaapipluginbase.c:
6472         * gst/vaapi/gstvaapipluginbase.h:
6473           plugins: add gst_vaapi_plugin_base_set_srcpad_can_dmabuf()
6474           This patch refactors the code by adding the function
6475           vaapi_plugin_base_set_srcpad_can_dmabuf(), it determines if the passed
6476           GstGLContext can handle dmabuf-based buffers.
6477           The function is exposed publicly since it is intended to be used later
6478           at GstVaapiDisplay instantiation.
6479           https://bugzilla.gnome.org/show_bug.cgi?id=788503
6480
6481 2017-10-20 12:37:15 +0200  Hyunjun Ko <zzoon@igalia.com>
6482
6483         * gst/vaapi/gstvaapiencode.c:
6484           vaapiencode: allow to set property on runtime
6485           Tis patch, allows some properties that we want to be set on
6486           runtime. (eg. bitrate)
6487           Note that all properties are under control by num_codedbuf_queued.
6488           https://bugzilla.gnome.org/show_bug.cgi?id=786321
6489
6490 2017-09-15 15:38:18 +0900  Hyunjun Ko <zzoon@igalia.com>
6491
6492         * gst-libs/gst/vaapi/gstvaapiencoder.c:
6493           libs: encoder: allow to set bitrate on runtime
6494           In case of streaming, controlling bitrate dynamically for encoder might be
6495           important to manage quality of the streaming.
6496           This patch is to support such a scenario.
6497           https://bugzilla.gnome.org/show_bug.cgi?id=786321
6498
6499 2017-10-10 11:35:24 +0300  Sebastian Dröge <sebastian@centricular.com>
6500
6501         * gst/vaapi/gstvaapi.c:
6502         * gst/vaapi/gstvaapi.h:
6503         * gst/vaapi/gstvaapidecodebin.c:
6504           vaapidecodebin: Register element if no VPP support is available too
6505           VPP support is only needed for advanced deinterlacing, which is not
6506           enabled by default either. Error out if it is selected but VPP is not
6507           supported, and otherwise just work without VPP support.
6508           https://bugzilla.gnome.org/show_bug.cgi?id=788758
6509
6510 2017-10-16 11:57:16 +0200  Thibault Saunier <thibault.saunier@osg.samsung.com>
6511
6512         * gst/vaapi/gstvaapipluginutil.c:
6513           Avoid infinite loop when vaapi_create_display fails
6514           Which might be the case when using, for example, xvfb.
6515
6516 2017-10-02 18:53:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6517
6518         * gst-libs/gst/vaapi/gstvaapiutils.c:
6519           libs: utils: log warn if display fail
6520           gstreamer-vaapi initializes the display by trial-and-error, thus
6521           logging an error message if the display initialisation fails the user
6522           may be weary of the error message in the screen, if using VA-API 1.0
6523           This commit set the VA error log handler to GStreamer warning level
6524           while calling vaInitialize() and set it to error after that.
6525           https://bugzilla.gnome.org/show_bug.cgi?id=783169
6526
6527 2017-09-29 20:05:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6528
6529         * gst/vaapi/gstvaapipluginutil.c:
6530           plugins: try to create test display in order
6531           When creating the test display for querying capabilites, it try in
6532           certain order: DRM, Wayland and finally X11. GLX nor EGL are tried
6533           since they are either composited with X11 or Wayland.
6534           The reason for this is to reduce the posibility of failure that could
6535           blacklist the plugin.
6536           https://bugzilla.gnome.org/show_bug.cgi?id=782212
6537
6538 2017-09-29 15:07:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6539
6540         * gst-libs/gst/vaapi/gstvaapidisplay.c:
6541         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
6542           libs: display: delay getting screen resolution
6543           Instead of extracting the screen resolution at GstVaapiDisplay
6544           creation, this patch delay it until the screen size is requested for
6545           first time.
6546           https://bugzilla.gnome.org/show_bug.cgi?id=782212
6547
6548 2017-09-28 18:58:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6549
6550         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
6551           libs: display: egl: avoid two vaDisplay instantiates
6552           GstVaapiDisplayEGL is a wrapper of another GstVaapiDisplay, either X11
6553           or Wayland. Nonetheless it created another vaDisplay for it, instead
6554           of using the wrapped one.
6555           This patch enables the reuse of the wrapped vaDisplay avoiding
6556           instantiating two.
6557           https://bugzilla.gnome.org/show_bug.cgi?id=782212
6558
6559 2017-09-28 17:45:00 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6560
6561         * gst-libs/gst/vaapi/gstvaapidisplay.c:
6562         * gst-libs/gst/vaapi/gstvaapidisplay.h:
6563         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
6564         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
6565         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
6566           libs: display: remove display_type from display info
6567           Since it's no required to pass the display type in the display info,
6568           the structure member is removed.
6569           https://bugzilla.gnome.org/show_bug.cgi?id=782212
6570
6571 2017-09-28 17:35:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6572
6573         * gst-libs/gst/vaapi/gstvaapidisplay.c:
6574         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
6575           libs: display: remove display_type member
6576           It is not used any more since GstVaapiDisplay was ported as a
6577           GstObject-based. This information is part of the class information.
6578           https://bugzilla.gnome.org/show_bug.cgi?id=782212
6579
6580 2017-09-28 16:12:23 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6581
6582         * gst-libs/gst/vaapi/gstvaapidisplay.c:
6583         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
6584           libs: display: remove parent member
6585           Parent was a crumb left from display cache.
6586           https://bugzilla.gnome.org/show_bug.cgi?id=782212
6587
6588 2017-10-03 13:06:33 +0200  Sebastian Dröge <sebastian@centricular.com>
6589
6590         * gst/vaapi/gstvaapi.c:
6591           vaapi: Also register vaapipostproc without VPP support
6592           It can still do simple deinterlacing then.
6593
6594 2017-10-03 10:51:06 +0200  Sebastian Dröge <sebastian@centricular.com>
6595
6596         * gst/vaapi/gstvaapipostproc.c:
6597           vaapipostproc: Allow running without VPP support
6598           We returned FALSE from ::start() if VPP support is not available, but it
6599           is only really needed for complex filters and during transform we check
6600           for that. For simple deinterlacing it is not needed.
6601
6602 2017-09-27 18:35:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6603
6604         * gst/vaapi/gstvaapipostproc.c:
6605           vaapipostproc: use scoped variable for return value
6606           Instead of reusing a parameter variable for the return value of
6607           gst_vaapipostproc_transform_caps(), this patch uses the function
6608           scoped pointer. Thus, the code is cleaner.
6609           https://bugzilla.gnome.org/show_bug.cgi?id=785706
6610
6611 2017-09-27 18:32:03 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6612
6613         * gst/vaapi/gstvaapipostproc.c:
6614           vaapipostproc: removed unused parameter
6615           Removed caps parameter from gst_vaapipostproc_transform_caps_impl()
6616           helper function since the it is not used.
6617           https://bugzilla.gnome.org/show_bug.cgi?id=785706
6618
6619 2017-09-27 13:32:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6620
6621         * gst/vaapi/gstvaapipostproc.c:
6622           vaapipostproc: use scoped variable for return value
6623           Instead of reusing a parameter variable for the return value of
6624           gst_vaapipostproc_fixate_caps(), this patch uses the function scoped
6625           pointer. Thus, the code is cleaner.
6626           https://bugzilla.gnome.org/show_bug.cgi?id=785706
6627
6628 2017-09-27 11:27:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6629
6630         * gst/vaapi/gstvaapipluginutil.h:
6631           plugins: memory:DMABuf only handles planar formats
6632           When glimagesink negotiates the caps feature memory:DMABuf the
6633           exported dmabufs buffers with NV12 format are not well rendered, thus
6634           setting only planar.
6635           https://bugzilla.gnome.org/show_bug.cgi?id=788229
6636
6637 2017-09-25 17:04:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6638
6639         * gst/vaapi/gstvaapiencode.c:
6640           vaapiencode: flush pending frames before set format
6641           Flush pending frames, if any, in the internal encorder, before setting
6642           the new negotiated format.
6643           https://bugzilla.gnome.org/show_bug.cgi?id=786173
6644
6645 2017-09-25 15:50:19 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6646
6647         * gst/vaapi/gstvaapidecode.c:
6648           vaapidecode: drain pending frames before set format
6649           Drain pending frames, if any, in the internal decoder before setting
6650           the new negotiated format.
6651           https://bugzilla.gnome.org/show_bug.cgi?id=786173
6652
6653 2017-09-22 19:35:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6654
6655         * tests/test-display.c:
6656           tests: display: use GObject getter
6657           Instead of using the gst_vaapi_display_get_property(), this patch
6658           replaces it with g_object_get_property() to dump the available VA
6659           display properties.
6660           https://bugzilla.gnome.org/show_bug.cgi?id=788058
6661
6662 2017-09-22 19:25:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6663
6664         * gst/vaapi/gstvaapisink.c:
6665           vaapisink: use GObject setter and getter
6666           Instead of using gst_vaapi_display_set_property() or
6667           gst_vaapi_display_get_property(), this patch set replace it usage
6668           with g_object_set() or g_object_get().
6669           Also the internal helper cb_set_value() is removed since it is not
6670           used anymore.
6671           https://bugzilla.gnome.org/show_bug.cgi?id=788058
6672
6673 2017-09-22 18:59:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6674
6675         * gst-libs/gst/vaapi/gstvaapidisplay.c:
6676           libs: display: initialize value if they are not yet
6677           This is a difference between the GObject API and the GstVaapi one: the
6678           GValue passed to get a property value, in GObject has to be
6679           initialized with g_value_init(), but in GstVaapi is has not.
6680           In order to overcome this mismatch, this patch call g_value_init()
6681           internally only in the passed one is not already initialized.
6682           https://bugzilla.gnome.org/show_bug.cgi?id=788058
6683
6684 2017-09-22 17:04:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6685
6686         * gst-libs/gst/vaapi/gstvaapidisplay.c:
6687           libs: display: optimize properties setters and getters
6688           Shuffled some code to avoid to find the properties descriptor in the
6689           array twice, adding the internal functions _set_property() and
6690           _get_property().
6691           https://bugzilla.gnome.org/show_bug.cgi?id=788058
6692
6693 2017-09-22 16:29:02 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6694
6695         * gst-libs/gst/vaapi/gstvaapidisplay.c:
6696           libs: display: install properties in class
6697           Install the properties in the class as a normal GObject. Implement
6698           set_property() and get_property() vmethods.
6699           https://bugzilla.gnome.org/show_bug.cgi?id=788058
6700
6701 2017-09-22 15:16:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6702
6703         * gst-libs/gst/vaapi/gstvaapidisplay.c:
6704           libs: display: remove gst_vaapi_display_properties_init()
6705           Remove gst_vaapi_display_properties_init() since it can be unrolled in
6706           gst_vaapi_display_class_init()
6707           https://bugzilla.gnome.org/show_bug.cgi?id=788058
6708
6709 2017-09-22 15:12:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6710
6711         * gst-libs/gst/vaapi/gstvaapidisplay.c:
6712           libs: display: remove libgstvaapi_init_once()
6713           It is not required since it can be unrolled in
6714           gst_vaapi_display_class_init()
6715           https://bugzilla.gnome.org/show_bug.cgi?id=788058
6716
6717 2017-09-22 17:50:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6718
6719         * tests/test-display.c:
6720           tests: test-display: remove display cache tests
6721           Since commit ec3e10f6, display cache was removed. This patch removes
6722           this leftovers in the display test.
6723
6724 2017-09-18 14:29:55 +0900  Hyunjun Ko <zzoon@igalia.com>
6725
6726         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
6727         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
6728           libs: decoder: h264/h265: decode codec data only if opened
6729           Fixes regression introduced by commit 2eb2b26a.
6730           There is a use case when the decoder set the src caps and immediatly
6731           tries to process the media codec_data, this happens before decoder is
6732           even opened, thus priv->parser is not instantiated yet.
6733           https://bugzilla.gnome.org/show_bug.cgi?id=787818
6734
6735 2017-09-18 19:11:45 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6736
6737         * gst-libs/gst/vaapi/gstvaapiencoder.c:
6738         * gst-libs/gst/vaapi/gstvaapiencoder.h:
6739         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
6740         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
6741         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
6742           libs: encoder: change mbbrc from uint to enum
6743           Instead of handling the macroblock bitrate control as a integer, this
6744           patch changes it as a enum, which is more self documented in the
6745           GStreamer elements.
6746           https://bugzilla.gnome.org/show_bug.cgi?id=787855
6747
6748 2017-09-18 13:55:49 +1000  Jan Schmidt <jan@centricular.com>
6749
6750         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
6751           Fix a typo in the prop string for compliance-mode
6752
6753 2017-09-15 18:31:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6754
6755         * gst-libs/gst/vaapi/gstvaapiencoder.c:
6756           libs: encoder: don't unref properties
6757           This patch fixes a regression introduced in commit 148f867c, since the
6758           props variable is set to object's member variable
6759           encoder->properties. And it is set in the instance initialization,
6760           thus it will not be leaked.
6761           https://bugzilla.gnome.org/show_bug.cgi?id=787733
6762
6763 2017-09-15 15:14:47 +0900  Hyunjun Ko <zzoon@igalia.com>
6764
6765         * gst-libs/gst/vaapi/gstvaapiencoder.c:
6766         * gst/vaapi/gstvaapiencode.c:
6767           vaapiencode/libs: encoder: fix leaks of properties
6768           https://bugzilla.gnome.org/show_bug.cgi?id=786321
6769
6770 2017-08-24 21:51:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
6771
6772         * gst-libs/gst/vaapi/gstvaapidecoder.c:
6773           libs: decoder: at update_caps() decode codec_data
6774           When updating the caps in decoder, if the caps has codec_data (avC
6775           format), it has to be parsed to update the state of the decoder.
6776           https://bugzilla.gnome.org/show_bug.cgi?id=786173
6777
6778 2017-09-13 15:44:32 +0900  Hyunjun Ko <zzoon@igalia.com>
6779
6780         * gst-libs/gst/vaapi/gstvaapicontext.c:
6781           libs: context: fix wrong counter of the array of attributes
6782           The counter value passed to vaCreateConfig is always +1.
6783           This is a regression caused by commit e42ec3ad.
6784           The present patch fixes wrong counting of the array of attributes.
6785           https://bugzilla.gnome.org/show_bug.cgi?id=787613
6786
6787 2017-09-13 12:23:42 +0900  Hyunjun Ko <zzoon@igalia.com>
6788
6789         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
6790         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
6791           libs: encoder: h265: support I/P/B QP setting seperatedly
6792           Creates 2 properties, qp-ip and qp-ib for setting different QP for P/B
6793           frames
6794           and set slice_qp_delta for each frame according to the value provided.
6795           https://bugzilla.gnome.org/show_bug.cgi?id=785923
6796
6797 2017-09-13 12:22:07 +0900  Hyunjun Ko <zzoon@igalia.com>
6798
6799         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
6800         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
6801           libs: encoder: h264: support I/P/B QP setting seperatedly
6802           Creates 2 properties, qp-ip and qp-ib for setting different QP for P/B
6803           frames
6804           and set slice_qp_delta for each frame according to the value provided.
6805           In addition, remove the limitation of (<= 4) when setting
6806           slice_qp_delta.
6807           https://bugzilla.gnome.org/show_bug.cgi?id=785923
6808
6809 2017-09-13 12:15:57 +0900  Hyunjun Ko <zzoon@igalia.com>
6810
6811         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
6812         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
6813           libs: encoder: h264/h265: keep min_qp as is unless it's over init_qp
6814           Creates new variable for QP for I frame and keep it at configuration and
6815           use this for pic_init_qp and slice_qp_delta setting.
6816           Since changing min qp doesn't make sense, keep min qp as is.
6817           https://bugzilla.gnome.org/show_bug.cgi?id=785923
6818
6819 2017-09-13 12:09:45 +0900  Hyunjun Ko <zzoon@igalia.com>
6820
6821         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
6822         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
6823           libs: encoder: h265: Add mbbrc property
6824           This property supports Macroblock level Bitrate Control as the
6825           following (same as h264 encoder):
6826           0: auto
6827           1: on
6828           2: off
6829           https://bugzilla.gnome.org/show_bug.cgi?id=785917
6830
6831 2017-09-13 12:02:53 +0900  Hyunjun Ko <zzoon@igalia.com>
6832
6833         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
6834         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
6835           libs: encoder: h264: Add mbbrc property
6836           This property supports Macroblock level Bitrate Control as the
6837           following:
6838           0: auto
6839           1: on
6840           2: off
6841           https://bugzilla.gnome.org/show_bug.cgi?id=785917
6842
6843 2017-09-13 11:39:09 +0900  Hyunjun Ko <zzoon@igalia.com>
6844
6845         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
6846           libs: encoder: h265: add multi reference support
6847           This is doing the same as h264 encoder as the following:
6848           Using num_ref_frames provided and the result of the Query
6849           VAConfigAttribEncMaxRefFrames, it determines the size of reference list
6850           and perform encoding with multi reference frames as the following:
6851           1\ The num_ref_frames is being considered as the number of
6852           reference picture list0
6853           2\ Encoder adds 1 reference frame more to the reference picture list1
6854           internally if b-frame encoding.
6855           3\ If num_ref_frames is bigger than the number of refrence frames
6856           supported in the driver, it will be lowered.
6857           Also this patch includes:
6858           - Set num_negative_pics and num_positive_pics according to the number of
6859           refs.
6860           - Set delta_poc according to the number of refs.
6861           - Increase max_dec_pic_buffering according to the number of refs
6862           - Change max_num_reorder_pics according to num of bframes
6863           https://bugzilla.gnome.org/show_bug.cgi?id=783804
6864
6865 2017-09-13 11:37:33 +0900  Hyunjun Ko <zzoon@igalia.com>
6866
6867         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
6868         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
6869           libs: encoder: h265: add refs property
6870           Users can provide the number of reference frame by this property,
6871           which is exaclty same as h264.
6872           The value of the property will be considered as the number of
6873           reference picture list0 and will add 1 reference frame more to the
6874           reference picture list1 internally if b-frame encoding.
6875           If the value provided is bigger than the number of refrence frames
6876           supported in the driver, it will be lowered.
6877           The maximum value is aligned to the value of the driver supported now.
6878           https://bugzilla.gnome.org/show_bug.cgi?id=783804
6879
6880 2017-09-13 11:17:26 +0900  Hyunjun Ko <zzoon@igalia.com>
6881
6882         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
6883         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
6884           libs: encoder: h264/5: determine num_ref_idx_active_override_flag according to reference list
6885           Follows the specification as below:
6886           7.4.7.1 in Rec. ITU-T H.265 v4 (12/2016)
6887           num_ref_idx_active_override_flag equal to 1 specifies that the syntax
6888           element num_ref_idx_l0_active_minus1 is present for P and B slices and
6889           that the syntax element num_ref_idx_l1_active_minus1 is present for B
6890           slices.
6891           num_ref_idx_active_override_flag equal to 0 specifies that the syntax
6892           elements num_ref_idx_l0_active_minus1 and num_ref_idx_l1_active_minus1
6893           are not present.
6894           https://bugzilla.gnome.org/show_bug.cgi?id=783804
6895
6896 2017-09-13 11:06:20 +0900  Hyunjun Ko <zzoon@igalia.com>
6897
6898         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
6899           libs: encoder: h265: keep idr_period equal to keyframe period
6900           Remove FIXME code, which makes previous assignation spurious.
6901           This also means to make idr_period equal to keyframe period,
6902           which is same as h264 encoder.
6903           https://bugzilla.gnome.org/show_bug.cgi?id=783804
6904
6905 2017-09-06 14:03:25 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
6906
6907         * gst/vaapi/gstvaapipluginbase.c:
6908           Request minimum buffer even if need_pool is FALSE
6909           When tee is used, it will not request a pool, but still it wants to
6910           know how many buffers are required.
6911           https://bugzilla.gnome.org/show_bug.cgi?id=730758
6912
6913 2017-09-05 10:58:57 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
6914
6915         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
6916           libs: encoder: h264_fei: VA-API 1.0 compat
6917           Use VA_ENC_PACKED_HEADER_H264_SEI compat macro for VA-API 1.0
6918           compatibility.
6919           https://bugzilla.gnome.org/show_bug.cgi?id=787322
6920           Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
6921
6922 2017-09-01 13:48:01 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6923
6924         * gst/vaapi/gstvaapisink.c:
6925           vaapisink: Fix rendering in drm display
6926           Make sure vaapisink create a va surface backed buffer pool and all
6927           required attributes get assigned correctly for drm display type.
6928           This is needed to make the below pipeline working:
6929           gst-launch-1.0 filesrc location= raw_video.mov ! videoparse format=uyvy
6930           width=320 height=240 framerate=30/1 ! vaapisink display=drm
6931           https://bugzilla.gnome.org/show_bug.cgi?id=786954
6932
6933 2017-08-09 18:46:09 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6934
6935         * tests/Makefile.am:
6936         * tests/test-fei-enc-in.c:
6937         * tests/test-fei-enc-out.c:
6938           FEI: Add test applications to showcase fei use case
6939           test-fei-enc-out: A simple fei encoding application to output mv, mbcode and distortion
6940           eg:
6941           ./test-fei-enc-out -i sample_320x240.nv12 -w 320 -h 240 -o out.264 -v mv.out -d out.dist -m out.mbcode -e 1
6942           test-fei-enc-in: A simple fei encoding application for testing input fei buffers
6943           eg:
6944           ./test-fei-enc-in -c h264 -o out.264 -e 4 -q 1 sample_i420.y4m
6945           Fixme: Running test-fei-enc-in in PAK mode with mv and mbcode input buffers
6946           from saved files is still not working
6947           People contributed:
6948           Wang, Yi <yi.a.wang@intel.com>
6949           Leilei <leilei.shang@intel.com>
6950           Zhong, Xiaoxia <xiaoxia.zhong@intel.com>
6951           xiaominc <xiaomin.chen@intel.com>
6952           Li, Jing B <jing.b.li@intel.com>
6953           https://bugzilla.gnome.org/show_bug.cgi?id=785712
6954           https://bugzilla.gnome.org/show_bug.cgi?id=784667
6955
6956 2017-08-09 18:36:13 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6957
6958         * gst/vaapi/Makefile.am:
6959         * gst/vaapi/gstvaapi.c:
6960         * gst/vaapi/gstvaapiencode_h264_fei.c:
6961         * gst/vaapi/gstvaapiencode_h264_fei.h:
6962           FEI: plugin: Add vaapih264feienc element
6963           A new FEI based encoder element for h264 is added: vaapih264feienc
6964           FEI is a an extension to VA-API which is providing low level
6965           advanced control over different stages of encoding.
6966           Extending vaapih264enc with fei support is possible, but it will
6967           make the code too much complicated and will be difficult
6968           to debug. So adding the new encoder element, but keeping
6969           the rank as 0 , vaapih264enc will stay as the primary
6970           encoder for normal use cases.
6971           The vaaih264feienc is mainly useful for customers who want to play
6972           with MotionVectors and Macroblock Predictions. Also user can
6973           do one stage of encoding(eg: only the Motion Vector Calculation)
6974           in software and offload trasformation/entroy-coding etc to
6975           Hardware (which is what PAK module is doing) using FEI element.
6976           vaapih264feienc can work in  different modes using fei-mode properoty
6977           eg: gst-launch-1.0 videotestsrc ! vaapih264feienc fei-mode=ENC+PAK ! filesink location=sample.264
6978           Important Note: ENC only mode won't produce any encoded data which is expected.
6979           But ENC alwys requires the output of PAK in order to do the inter-prediction
6980           over reconstructed frames.
6981           Similary PAK mode alway requires MV and MBCode as input, so unless there is an
6982           upstream element providing those buffers, PAK only won't work as expected.
6983           In a nutshell, ENC_PAK and the ENC+PAK modes are the only options we can verify
6984           with vaapih264feienc. But ideally, EN+PAK mode verification is enough to make sure
6985           that ENC and PAK are working as expected since ENC+PAK mode always invoke ENC and PAK
6986           separately in vaapih264feienc.
6987           People contributed:
6988           Wang, Yi <yi.a.wang@intel.com>
6989           Leilei <leilei.shang@intel.com>
6990           Zhong, Xiaoxia <xiaoxia.zhong@intel.com>
6991           xiaominc <xiaomin.chen@intel.com>
6992           Li, Jing B <jing.b.li@intel.com>
6993           https://bugzilla.gnome.org/show_bug.cgi?id=785712
6994           https://bugzilla.gnome.org/show_bug.cgi?id=784667
6995           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
6996
6997 2017-08-09 18:32:13 -0700  Yi A Wang <yi.a.wang@intel.com>
6998
6999         * gst/vaapi/gstvaapiencode.c:
7000         * gst/vaapi/gstvaapiencode.h:
7001           FEI: plugin: Add virtual methods to base encode
7002           Two new virtual methods are added to gstvaapiencode.
7003           load_control_data():  load the FEI input buffers set by the upstream elements
7004           save_stats_to_meta(): save the FEI output buffers to Meta for downnstream elements
7005           https://bugzilla.gnome.org/show_bug.cgi?id=785712
7006           https://bugzilla.gnome.org/show_bug.cgi?id=784667
7007           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7008
7009 2017-08-09 18:26:57 -0700  Yi A Wang <yi.a.wang@intel.com>
7010
7011         * gst/vaapi/Makefile.am:
7012         * gst/vaapi/gstvaapifeivideometa.c:
7013         * gst/vaapi/gstvaapifeivideometa.h:
7014           FEI: plugin: Add fei specific video meta
7015           GstVaapiFeiVideoMeta holds the below fei codec objects:
7016           GstVaapiEncFeiMbCode
7017           GstVaapiEncFeiMv
7018           GstVaapiEncFeiMvPredictor
7019           GstVaapiEncFeiMbControl
7020           GstVaapiEncFeiQp
7021           GstVaapiEncFeiDistortion
7022           https://bugzilla.gnome.org/show_bug.cgi?id=785712
7023           https://bugzilla.gnome.org/show_bug.cgi?id=784667
7024           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7025
7026 2017-08-09 18:19:06 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7027
7028         * gst-libs/gst/vaapi/Makefile.am:
7029         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.c:
7030         * gst-libs/gst/vaapi/gstvaapiencoder_h264_fei.h:
7031         * gst-libs/gst/vaapi/gstvaapifeienc_h264.c:
7032         * gst-libs/gst/vaapi/gstvaapifeienc_h264.h:
7033         * gst-libs/gst/vaapi/gstvaapifeipak_h264.c:
7034         * gst-libs/gst/vaapi/gstvaapifeipak_h264.h:
7035           FEI: libs: Add FEI encoder
7036           Adding FEI encoder to core lib.
7037           The code is splitted into three session:
7038           1: gstvaapiencoder_h264_fei.{h,c}
7039           This is the replica of gstvaapiencoder_h264.{c,h} but with FEI.
7040           All the modes ENC, PAK and ENC_PAK are running based
7041           the code in these files.
7042           2: gstvaapifeienc_h264.{h,c}
7043           Abstract implementation intended for ENC (only VME) operation.
7044           3: gstvaapifeipak_h264.{h,c}
7045           Abstrct implementation intended for PAK (only the PAK module)
7046           Right now ENC_PAK, ENC and PAK are running based on code
7047           in gstvaapiencoder_h264_fei.{h,c}. The abstract implementations
7048           in gstvaapifeienc_h264.{h,c} and gstvaapifeipak_h264.{h,c} are
7049           needed if user request for ENC+PAK mode operation.
7050           ENC+PAK: Here we need to invoke two sequence of
7051           vaBeginPicture/vaRenderPicutre/vaEndPicture for each frame,
7052           first for the ENC only and the second for PAK only.
7053           Each mode associated with separate context ,but same pool of surfaces are
7054           shared between the modes.
7055           This is more useful once we have custom BRC algorithms.
7056           Other Contributors:
7057           Wang, Yi <yi.a.wang@intel.com>
7058           Leilei <leilei.shang@intel.com>
7059           Zhong, Xiaoxia <xiaoxia.zhong@intel.com>
7060           xiaominc <xiaomin.chen@intel.com>
7061           Li, Jing B <jing.b.li@intel.com>
7062           https://bugzilla.gnome.org/show_bug.cgi?id=785712
7063           https://bugzilla.gnome.org/show_bug.cgi?id=784667
7064
7065 2017-08-09 17:54:27 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7066
7067         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
7068         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
7069           FEI: libs: Add fei codec objects to GstVaapiEncPicture
7070           All the codec objects(vaapi buffers) supposed to be
7071           submited in vaRenderPicutre are associated with a GstVaapiEncPicture
7072           for each frame, follow the same design for FEI too.
7073           https://bugzilla.gnome.org/show_bug.cgi?id=785712
7074           https://bugzilla.gnome.org/show_bug.cgi?id=784667
7075
7076 2017-08-09 16:05:13 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7077
7078         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.c:
7079         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.h:
7080         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy_priv.h:
7081           FEI: libs: Add fei codec objects in codedbufferproxy
7082           MbCode, MV and Distortion buffers (fei codec objects)
7083           can be treated as output of different fei modes based user request.
7084           For eg: MbCode and MV are the output of ENC only. MbCode, MV and Dist
7085           can be dumped as output in ENC_PAK mode for analysis purpose.
7086           So treating them as a part of CodedBufferProxy too.
7087           Here we avoided Qp, MbControl and MvPredictor codec objects since
7088           there is no practical use case of treating them as "output buffers".
7089           Other contributors:
7090           Zhong, Xiaoxia <xiaoxia.zhong@intel.com>
7091           xiaominc <xiaomin.chen@intel.com>
7092           Leilei <leilei.shang@intel.com>
7093           Li, Jing B <jing.b.li@intel.com>
7094           https://bugzilla.gnome.org/show_bug.cgi?id=785712
7095           https://bugzilla.gnome.org/show_bug.cgi?id=784667
7096
7097 2017-08-09 15:49:21 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7098
7099         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
7100         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
7101         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
7102           FEI: libs: Add fei codec objects to surface proxy
7103           Add fei codec objects to surface proxy since handling the
7104           fei buffers(codec objects here) external to gstvaapisurfaceproxy
7105           will make the code complicated. Especially considering the behavior
7106           of encoder where the input frame order from upstream and output
7107           frame order to the downstream are not sequential.
7108           Other contributors:
7109           Zhong, Xiaoxia <xiaoxia.zhong@intel.com>
7110           xiaominc <xiaomin.chen@intel.com>
7111           Leilei <leilei.shang@intel.com>
7112           Li, Jing B <jing.b.li@intel.com>
7113           https://bugzilla.gnome.org/show_bug.cgi?id=785712
7114           https://bugzilla.gnome.org/show_bug.cgi?id=784667
7115
7116 2017-08-09 15:35:10 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7117
7118         * gst-libs/gst/vaapi/Makefile.am:
7119         * gst-libs/gst/vaapi/gstvaapifei_objects.c:
7120         * gst-libs/gst/vaapi/gstvaapifei_objects.h:
7121         * gst-libs/gst/vaapi/gstvaapifei_objects_priv.h:
7122           FEI: Add codec objects for fei usecase
7123           There are 6 new va buffer types, each defined as a specific codec object.
7124           Borrowed the code from gstvaapicodecobject , but made a clear separation
7125           to avoid any possible mess-up. Because unlike the other gstvaaicodecobjects,
7126           feicodecobjects can be shared between elements and also can be accessed
7127           from different thread.
7128           Unlike the other fei codecs object, VAEncMiscParameterTypeFEIFrameControl
7129           object is not shared between elements.So we utilize the already
7130           existing gst_vaapi_enc_misc_param_new(), but still keeping the code
7131           in gstvaapfei_objects_priv.h in order to have a better
7132           code readability.
7133           Fixme:
7134           -- Probably we need _locked_map() and _unlocked_map()
7135           -- Context can be associated with PreEnc(not just Enoder)
7136           once we have the proper support inplace, but for now we don't have
7137           PreEnc support, so should be safe enough to use GstVaapiEncoder.
7138           https://bugzilla.gnome.org/show_bug.cgi?id=785712
7139           https://bugzilla.gnome.org/show_bug.cgi?id=784667
7140
7141 2017-08-09 14:22:12 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7142
7143         * gst-libs/gst/vaapi/Makefile.am:
7144         * gst-libs/gst/vaapi/gstvaapifeiutils_h264.c:
7145         * gst-libs/gst/vaapi/gstvaapifeiutils_h264.h:
7146           FEI: libs: add H264 fei specific utility functions
7147           Added enum/flag type definitions for a number of FEI
7148           input and output parameters.
7149           Original author of the patch: Wang, Yi <yi.a.wang@intel.com>
7150           https://bugzilla.gnome.org/show_bug.cgi?id=785712
7151           https://bugzilla.gnome.org/show_bug.cgi?id=784667
7152           Signed-off-by: Wang, Yi <yi.a.wang@intel.com>
7153           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7154
7155 2017-08-09 14:10:16 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7156
7157         * gst-libs/gst/vaapi/gstvaapiencoder.c:
7158         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
7159           FEI: libs: Add virtual method for secondary context creation.
7160           Add a new vitrual method ensure_secondary_context to the
7161           base encoder which is only required for the FEI entrypoint, that too
7162           only when user configures the ENC+PAK mode. ENC+PAK mode is not something
7163           supported directly by libva or driver, but this can be enabled
7164           from the middleware.
7165           Original Author of this idea: Leilei Shang <leilei.shang@intel.com>
7166           Signed-off-by: Leilei Shang <leilei.shang@intel.com>
7167           Signed-off-by: xiaominc <xiaomin.chen@intel.com>
7168           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7169           https://bugzilla.gnome.org/show_bug.cgi?id=785712
7170           https://bugzilla.gnome.org/show_bug.cgi?id=784667
7171
7172 2017-08-09 14:05:03 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7173
7174         * gst-libs/gst/vaapi/gstvaapiencoder.c:
7175           FEI: libs: make sure the default context creation works as expected.
7176           Current code always guess the entrypoint during init phase in case
7177           if there is no entrypoint already configured in GstVaapiContextInfo.
7178           Make sure FEI Entrypoint is not messing up with this logic.
7179           https://bugzilla.gnome.org/show_bug.cgi?id=785712
7180           https://bugzilla.gnome.org/show_bug.cgi?id=784667
7181
7182 2017-08-09 13:45:40 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7183
7184         * gst-libs/gst/vaapi/gstvaapicontext.c:
7185         * gst-libs/gst/vaapi/gstvaapicontext.h:
7186         * gst-libs/gst/vaapi/gstvaapiencoder.c:
7187           FEI: libs: Add FEI functional mode configuration
7188           FEI Entrypoint can work in either one of the 3 different modes:
7189           VA_FEI_FUNCTION_ENC, VA_FEI_FUNCTION_PAK or VA_FEI_FUNCTION_ENC_PAK.
7190           Add infrastructure in gstvaapicontext and gstvaapiencoder for this
7191           functioal mode configuration.
7192           https://bugzilla.gnome.org/show_bug.cgi?id=785712
7193           https://bugzilla.gnome.org/show_bug.cgi?id=784667
7194
7195 2017-08-09 13:02:24 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7196
7197         * gst-libs/gst/vaapi/gstvaapidisplay.c:
7198         * gst-libs/gst/vaapi/gstvaapiprofile.c:
7199         * gst-libs/gst/vaapi/gstvaapiprofile.h:
7200           FEI: libs: Add FEI Entrypoint mapping
7201           Define the new mapping GST_VAAPI_ENTRYPOINT_SLICE_ENCODE_FEI
7202           for VAEntrypointFEI.
7203           https://bugzilla.gnome.org/show_bug.cgi?id=785712
7204           https://bugzilla.gnome.org/show_bug.cgi?id=784667
7205
7206 2017-08-09 12:58:29 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7207
7208         * configure.ac:
7209           FEI: Add support for FEI conditional build
7210           FEI(Flexible Encoding Infrastructure) is an extension
7211           to VA API. Define USE_H264_FEI_ENCODER based on
7212           fei header file and required structures availability.
7213           https://bugzilla.gnome.org/show_bug.cgi?id=785712
7214           https://bugzilla.gnome.org/show_bug.cgi?id=784667
7215
7216 2017-08-28 17:34:50 -0700  Orestis Floros <orestisf1993@gmail.com>
7217
7218         * gst/vaapi/gstvaapidecode.c:
7219           vaapidecode: force add h264 SVC profiles in caps
7220           When vaapih264dec's base-only profile is set to TRUE, fake SVC profile
7221           support in caps.
7222           https://bugzilla.gnome.org/show_bug.cgi?id=732266
7223           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7224
7225 2017-08-28 17:32:57 -0700  Orestis Floros <orestisf1993@gmail.com>
7226
7227         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
7228           libs: decoder: h264: decode SVC base layer only
7229           Drops non-base NALs when the base-only property is set to TRUE.
7230           This modifies the behavior for MVC streams with base-only too: All the
7231           non-base units are dropped before they are decoded instead of dropping
7232           the non-base frames.
7233           The relevant part from the H264 spec is:
7234           > Decoders that conform to one or more of the profiles specified in
7235           Annex A rather than the profiles specified in Annexes G or H shall
7236           ignore (remove from the bitstream and discard) the contents of all NAL
7237           units with nal_unit_type equal to 14, 15, or 20.
7238           To eliminate side effects from the offending units:
7239           - PPS's with a broken seq_parameter_set_id (referring to dropped subset
7240           SPS's) are ignored.
7241           - The NAL parsing is skipped and their flags are set to
7242           GST_VAAPI_DECODER_UNIT_FLAG_SKIP.
7243           - Prefix units are not stored in prev_pi. Otherwise, parse_slice() would
7244           use them even if they are flagged to be skipped. Subset SPS's and slice
7245           extension units are not stored there either.
7246           https://bugzilla.gnome.org/show_bug.cgi?id=732266
7247           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7248
7249 2017-08-28 17:28:04 -0700  Orestis Floros <orestisf1993@gmail.com>
7250
7251         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
7252           libs: decoder: h264: check nalu validity in parser info finalize
7253           https://bugzilla.gnome.org/show_bug.cgi?id=732266
7254           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7255
7256 2017-08-28 19:20:42 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7257
7258         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7259         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
7260         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
7261         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
7262         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
7263           libs: encoder: remove unused cast macro
7264           Remove internal macro to cast structure that are already declared
7265           in the header.
7266
7267 2017-08-28 19:09:07 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7268
7269         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
7270         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
7271         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.h:
7272         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
7273         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.h:
7274         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
7275           Revert "libs: encoders: remove unused cast macros"
7276           This reverts commit fd7d38f7d26b11e592638092b4073b5c1764f255.
7277
7278 2017-08-28 18:32:32 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7279
7280         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
7281         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
7282         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.h:
7283         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
7284         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.h:
7285         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
7286           libs: encoders: remove unused cast macros
7287           They are only used inside the code, where another macro is defined.
7288           Thus these exported macros have no use.
7289
7290 2017-08-24 20:26:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7291
7292         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
7293           libs: decoder: h264: improve code-style
7294           https://bugzilla.gnome.org/show_bug.cgi?id=786173
7295
7296 2017-08-25 16:22:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7297
7298         * gst-libs/gst/vaapi/gstvaapicompat.h:
7299         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7300           libs: encoder: h264: handle deprecated enum
7301           In VA-API 1.0 the enum VAEncPackedHeaderH264_SEI is deprecated, and
7302           instead VAEncPackedHeaderRawData should be used.
7303           This patch creates a compatibility symbol,
7304           VA_ENC_PACKED_HEADER_H264_SEI, to expose the used enum according the
7305           VA-API version.
7306           https://bugzilla.gnome.org/show_bug.cgi?id=784398
7307
7308 2017-08-25 16:07:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7309
7310         * gst-libs/gst/vaapi/gstvaapiprofile.c:
7311         * gst-libs/gst/vaapi/gstvaapiutils.c:
7312           libs: guard deprecated symbols
7313           In VA-API 1.0 the H.264 baseline profile is deprecated. This patch
7314           guards the H.264 baseline usage. Consider this commit as a
7315           continuation of commit e0e0a474
7316           https://bugzilla.gnome.org/show_bug.cgi?id=784398
7317
7318 2017-08-17 12:54:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7319
7320         * configure.ac:
7321         * meson.build:
7322         * meson_options.txt:
7323           Revert "build: check for libva-2.0"
7324           This reverts commit 8f2eb70803099d4b533ecc10fc259041d8714210.
7325           https://bugzilla.gnome.org/show_bug.cgi?id=784398
7326
7327 2017-08-17 12:44:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7328
7329         * gst-libs/gst/vaapi/gstvaapicompat.h:
7330         * gst-libs/gst/vaapi/gstvaapicontext.c:
7331         * gst-libs/gst/vaapi/gstvaapiencoder.c:
7332           libs: macro to get a renamed value in VA-API 1.0
7333           In VA-API 1.0 the union bits in VAEncMiscParameterBufferROI has
7334           renamed one member from roi_value_is_qp_delat to
7335           roi_value_is_qp_delta, which is the correct name.
7336           In order to keep back compatibility a macro has added to access this
7337           union member.
7338           https://bugzilla.gnome.org/show_bug.cgi?id=784398
7339
7340 2017-08-22 11:37:28 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7341
7342         * gst/vaapi/gstvaapipluginbase.h:
7343         * gst/vaapi/gstvaapipluginutil.c:
7344           plugins: include main gstgl header
7345           Instead including particular gstgl header files in a header file
7346           that doesn't export a gstgl symbol, the main gstgl header file is
7347           included in gstvaapipluginutil.c where the symbols are used.
7348           https://bugzilla.gnome.org/show_bug.cgi?id=786597
7349
7350 2017-08-18 18:00:24 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7351
7352         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7353           libs: encoder: h264: fix enum namespace
7354
7355 2017-08-17 12:26:12 +0100  Tim-Philipp Müller <tim@centricular.com>
7356
7357         * common:
7358           Automatic update of common submodule
7359           From 48a5d85 to 3f4aa96
7360
7361 2017-08-17 11:03:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7362
7363         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7364           libs: encoder: h264: remove spurious assignation
7365           Coverity scan bug:
7366           An assigned value that is never used may represent unnecessary
7367           computation, an incorrect algorithm, or possibly the need for cleanup
7368           or refactoring.
7369           ip_period is assigned first to be rewritter inmediatly after. The
7370           first assignation is spurious.
7371
7372 2017-08-15 17:36:51 +0900  Hyunjun Ko <zzoon@igalia.com>
7373
7374         * gst/vaapi/gstvaapidecode.c:
7375           vaapidecode: fix mismatch of the return type
7376           https://bugzilla.gnome.org/show_bug.cgi?id=786307
7377
7378 2017-08-10 13:34:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7379
7380         * gst-libs/gst/vaapi/Makefile.am:
7381         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
7382         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
7383         * gst-libs/gst/vaapi/gstvaapiutils.h:
7384         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
7385         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
7386         * gst-libs/gst/vaapi/gstvaapiutils_h265_priv.h:
7387         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
7388         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
7389         * gst-libs/gst/vaapi/libgstvaapi_priv_check.h:
7390         * gst-libs/gst/vaapi/meson.build:
7391           libs: remove unused header
7392           Since libgstvaapi is not distributed, there is no need to check for
7393           private header inclusion. Thus removing it.
7394           https://bugzilla.gnome.org/show_bug.cgi?id=786119
7395
7396 2017-08-10 13:27:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7397
7398         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
7399         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
7400         * gst-libs/gst/vaapi/gstvaapiutils_h265.h:
7401         * gst-libs/gst/vaapi/gstvaapiutils_h265_priv.h:
7402         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.h:
7403         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
7404           libs: utils: move gstvaapisurface.h to private headers
7405           Since the utils don't expose API defined in gstvaapisource.h, it is
7406           moved to their private headers where they are used.
7407           https://bugzilla.gnome.org/show_bug.cgi?id=786119
7408
7409 2017-08-10 13:26:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7410
7411         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
7412         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
7413         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
7414         * gst-libs/gst/vaapi/gstvaapiutils_h265.h:
7415         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.c:
7416         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.h:
7417           libs: utils: remove va.h include in header
7418           And include gstvaapicompat.h in the C files, since the VA-API is not
7419           exposed in the headers.
7420           https://bugzilla.gnome.org/show_bug.cgi?id=786119
7421
7422 2017-08-10 13:24:06 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7423
7424         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7425         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
7426         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
7427         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
7428         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
7429         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
7430           libs: encoder: remove va.h include
7431           Since it is already managed by gstvaapicompat.h
7432           https://bugzilla.gnome.org/show_bug.cgi?id=786119
7433
7434 2017-08-10 13:11:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7435
7436         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
7437         * gst-libs/gst/vaapi/gstvaapicompat.h:
7438         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
7439         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
7440         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
7441         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7442         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
7443         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
7444         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
7445         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
7446         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
7447         * gst-libs/gst/vaapi/gstvaapifilter.c:
7448         * gst-libs/gst/vaapi/gstvaapiutils.c:
7449         * meson.build:
7450           build: consolidate the VA sub API includes
7451           Include all VA sub APIs headers in a single point (gstvaapicompat.h),
7452           since they are all already included in va.h after VA-API 0.38.
7453           https://bugzilla.gnome.org/show_bug.cgi?id=786119
7454
7455 2017-08-10 13:09:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7456
7457         * configure.ac:
7458         * meson.build:
7459           build: check for va_vpp.h
7460           Thus, in config.h the macro HAVE_VA_VA_VPP_H is defined. This will
7461           allow us to handle the inclusion of the header better.
7462           https://bugzilla.gnome.org/show_bug.cgi?id=786119
7463
7464 2017-08-11 20:22:41 +0100  Tim-Philipp Müller <tim@centricular.com>
7465
7466         * meson.build:
7467           meson: don't export symbols by default
7468           Only plugin entry points should be exported.
7469
7470 2017-08-09 19:06:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7471
7472         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
7473           libs: decoder: h265: remove spurious code
7474           Coverity scan:
7475           Logically dead code: The indicated dead code may have performed some
7476           action; that action will never occur.
7477           By using pointer arithmetic is impossible to get NULL.
7478
7479 2017-08-08 18:52:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7480
7481         * gst-libs/gst/vaapi/gstvaapicontext.c:
7482           libs: context: use attribs index instead pointers
7483           Coverity scan bug:
7484           Out-of-bounds write. This could cause an immediate crash or incorrect
7485           computations.
7486           Coverity basically found that it is possible to assign more than 4
7487           attribs in the array.
7488           In my opinion this was produced because code pattern used pointer
7489           arithmetic, which is not readable nor maintainable.
7490           This patch refactors config_create() to use an array index rather than
7491           pointer arithmetic. Also a run-time check for index size was added.
7492
7493 2017-08-08 17:38:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7494
7495         * gst/vaapi/gstvaapiencode_h264.c:
7496           vaapiencode: h264: remove spurious code
7497           Coverity scan bug:
7498           An unsigned value can never be negative, so this test will always
7499           evaluate the same way.
7500           As len is guint32, there is no need to check it if it is equal or
7501           bigger than zero.
7502
7503 2017-08-08 17:34:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7504
7505         * gst/vaapi/gstvaapidecode.c:
7506           vaapidecode: initialize variable
7507           Coverity scan bug:
7508           The variable will contain an arbitrary value left from earlier
7509           computations.
7510           Variable base_only is fetched from base-only property, and it may be
7511           not assigned. It needs to be initialized.
7512
7513 2017-08-08 17:29:54 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7514
7515         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
7516           libs: windows: wayland: fail if cannot remove last frame
7517           Converity scan bug:
7518           If the function returns an error value, the error value may be
7519           mistaken for a normal value.
7520           If g_atomic_pointer_compare_and_exchange() fails because the frame is
7521           not the last one, the function fails. Thus, logging an info message.
7522
7523 2017-08-08 17:21:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7524
7525         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
7526           libs: utils: glx: check return value
7527           Coverity scan bug:
7528           If the function returns an error value, the error value may be
7529           mistaken for a normal value.
7530           Function sscanf returns the number of assignations done. Validate this
7531           return value with the number of expected variables to match.
7532
7533 2017-08-08 17:12:06 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7534
7535         * gst-libs/gst/vaapi/gstvaapiobject.c:
7536           libs: vaapi: object: remove unrequired NULL check
7537           Coverity scan bug:
7538           Dereference after null check: Either the check against null is
7539           unnecessary, or there may be a null pointer dereference.
7540           Variable klass has been validated as non-NULL several time before in
7541           gst_vaapi_object_new() function, so there is no need to check it
7542           again.
7543
7544 2017-08-08 17:06:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7545
7546         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
7547           libs: encoder: h265: remove spurious assignation
7548           Coverity scan bug:
7549           An assigned value that is never used may represent unnecessary
7550           computation, an incorrect algorithm, or possibly the need for cleanup
7551           or refactoring.
7552           ip_period is assigned first to be rewritter inmediatly after. The
7553           first assignation is spurious.
7554
7555 2017-08-08 16:50:39 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7556
7557         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7558           libs: encoder: h264: fix copy & paste error
7559           Coverity scan bug:
7560           The copied code will not have its intended effect.
7561           This is a bug from commit cdaf15b2, where the intention is to
7562           initialize RefPicList1 while setting RefPicList0.
7563
7564 2017-08-08 16:33:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7565
7566         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7567         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
7568           libs: encoder: h265: fix possible integer overflow
7569           Coverity scan bug:
7570           Unintentional integer overflow. The expression's value may not be what
7571           the programmer intended, because the expression is evaluated using a
7572           narrow (i.e. few bits) integer type.
7573           Cast operator to guint64 before computation to avoid narrowing.
7574           merge with 3c5a6add
7575
7576 2017-08-08 16:12:13 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7577
7578         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
7579           libs: decoder: mpeg4: fail if return value is not OK
7580           Coverity scan bug:
7581           An assigned value that is never used may represent unnecessary
7582           computation, an incorrect algorithm, or possibly the need for cleanup
7583           or refactoring.
7584           In the return value of decode_slice() or
7585           gst_mpeg4_parse_video_packet_header() are not success, thus fail
7586           decode_packet() function.
7587
7588 2017-08-08 15:49:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7589
7590         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
7591           libs: decoder: h265: check for null
7592           Coverity scan bug:
7593           Dereference after null check: Either the check against null is
7594           unnecessary, or there may be a null pointer dereference.
7595           While looking for hte lowest poc, according to rest of the code, the
7596           picture in the dbp (decoded picture buffer) might be NULL, thus we
7597           could check for a NULL picture before assigned as found.
7598           Also, split a comma operator because it is considered as a bad
7599           practice because it possible side effects.
7600
7601 2017-08-08 15:38:16 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7602
7603         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
7604           libs: decoder: h265: untaint loop control variable
7605           Coverity scan bug:
7606           Scalars (for example, integers) are not properly
7607           bounds-checked (sanitized) before being used as array or pointer
7608           indexes, loop boundaries, or function arguments are considered as
7609           tainted.
7610           In this case, num_nals were not checked before used as loop control.
7611
7612 2017-08-08 13:46:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7613
7614         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
7615           libs: decoder: h264: remove unrequired NULL check
7616           Coverity scan bug:
7617           Dereference after null check: Either the check against null is
7618           unnecessary, or there may be a null pointer dereference.
7619           In the original commit for fill_picture_gaps() (commit 5abd2b90) the
7620           prev_picture could be NULL, that's why the code did a null check. But,
7621           since commit 52adebe7, the previous reference frames are tracked, thus
7622           there is no need to check null anymore.
7623
7624 2017-08-03 23:17:44 +0300  orestisf <orestisf1993@gmail.com>
7625
7626         * gst/vaapi/gstvaapidecode.c:
7627           vaapidecode: fix gst_caps_new_simple call
7628           https://bugzilla.gnome.org/show_bug.cgi?id=732265
7629
7630 2017-07-25 22:25:10 +0300  orestisf <orestisf1993@gmail.com>
7631
7632         * gst/vaapi/gstvaapidecode.c:
7633           vaapidecode: force add h264 MVC profiles in caps
7634           When vaapih264dec's base-only profile is set to TRUE, fake MVC profile
7635           support in caps.
7636           https://bugzilla.gnome.org/show_bug.cgi?id=732265
7637
7638 2017-07-25 22:54:30 +0300  orestisf <orestisf1993@gmail.com>
7639
7640         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
7641           libs: decoder: h264: decode MVC base view only
7642           If processed SPS has mvc profile and the configuration is set to
7643           base-only, the frame is drop.
7644           https://bugzilla.gnome.org/show_bug.cgi?id=732265
7645
7646 2017-07-25 22:06:56 +0300  orestisf <orestisf1993@gmail.com>
7647
7648         * gst/vaapi/gstvaapidecode.c:
7649         * gst/vaapi/gstvaapidecode_props.c:
7650           vaapidecode: set h264 base-only to decoder
7651           Set the base-only value when property is set and the internal
7652           decoder is already instantiated or when the internal decoder
7653           is created.
7654           https://bugzilla.gnome.org/show_bug.cgi?id=732265
7655
7656 2017-07-25 22:03:34 +0300  orestisf <orestisf1993@gmail.com>
7657
7658         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
7659         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
7660           libs: decoder: h264: add setter for base-only mode
7661           https://bugzilla.gnome.org/show_bug.cgi?id=732265
7662
7663 2017-07-25 22:01:37 +0300  orestisf <orestisf1993@gmail.com>
7664
7665         * gst/vaapi/gstvaapidecode_props.c:
7666         * gst/vaapi/gstvaapidecode_props.h:
7667           vaapidecode_props: h264: add base-only property
7668           https://bugzilla.gnome.org/show_bug.cgi?id=732265
7669
7670 2017-08-01 11:11:55 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7671
7672         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
7673           libs: encoder: h264: missing property enum documentation
7674
7675 2017-08-02 14:54:53 +0900  Hyunjun Ko <zzoon@igalia.com>
7676
7677         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7678           libs: encoder: h264: add multi reference support
7679           Using num_ref_frames provided and the result of the Query
7680           VAConfigAttribEncMaxRefFrames, it determines the size of reference list
7681           and perform encoding with multi reference frames as the following:
7682           1\ The num_ref_frames is being considered as the number of
7683           reference picture list0
7684           2\ Encoder adds 1 reference frame more to the reference picture list1
7685           internally if b-frame encoding.
7686           3\ If num_ref_frames is bigger than the number of refrence frames
7687           supported in the driver, it will be lowered.
7688           https://bugzilla.gnome.org/show_bug.cgi?id=783803
7689
7690 2017-08-02 14:53:34 +0900  Hyunjun Ko <zzoon@igalia.com>
7691
7692         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7693         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
7694           libs: encoder: h264: add refs property
7695           Users can provide the number of reference frame by this property.
7696           The value of the property will be considered as the number of
7697           reference picture list0 and will add 1 reference frame more to the
7698           reference picture list1 internally if b-frame encoding.
7699           If the value provided is bigger than the number of refrence frames
7700           supported in the driver, it will be lowered.
7701           https://bugzilla.gnome.org/show_bug.cgi?id=783803
7702
7703 2017-07-28 15:27:20 +0900  Hyunjun Ko <zzoon@igalia.com>
7704
7705         * gst-libs/gst/vaapi/gstvaapiencoder.c:
7706         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
7707           libs: encoder: implements gst_vaapi_encoder_ensure_max_num_ref_frames
7708           This function will query VAConfigAttribEncMaxRefFrames to get the
7709           maximum number of reference frames supported in the driver.
7710           This will be used for h264/h265 encoding.
7711           https://bugzilla.gnome.org/show_bug.cgi?id=783803
7712
7713 2017-08-01 18:38:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7714
7715         * gst/vaapi/gstvaapiencode_h265.c:
7716           vaapiencode: h265: compare an unsigned int if not zero
7717           An unsigned value can never be negative, so this test (greater than
7718           zero) will always evaluate the same way. Thus change it to just if
7719           it's not zero.
7720
7721 2017-08-01 18:10:50 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7722
7723         * gst/vaapi/gstvaapipluginbase.c:
7724           plugins: check gst_gl_ensure_element_data() return value
7725           Refactor gst_vaapi_plugin_base_create_gl_context() in order to check
7726           the return value of gst_gl_ensure_element_data(). The result is a code
7727           bit cleaner.
7728
7729 2017-08-01 17:59:38 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7730
7731         * gst/vaapi/gstvaapipluginutil.c:
7732           plugins: avoid dead code detection
7733           By using #elif macro, the static code analysis would stop to detect
7734           these lines as dead code. Also it is inforced the mutually exclusive
7735           environments.
7736
7737 2017-08-01 17:39:04 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7738
7739         * gst/vaapi/gstvaapivideobufferpool.c:
7740           vaapivideobufferpool: don't shift by negative since it's undefined
7741           The function g_bit_nth_lsf() may return -1 if the request bit position
7742           is not avaible. Thus, this patch check if the return value is not -1
7743           in order to continue.
7744
7745 2017-08-01 17:29:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7746
7747         * gst/vaapi/gstvaapisink.c:
7748           vaapisink: fix memory leak
7749
7750 2017-08-01 17:23:48 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7751
7752         * gst/vaapi/gstvaapipostprocutil.c:
7753           vaapipostproc: fix memory leaks
7754
7755 2017-07-27 10:54:00 +0000  Tomas Rataj <rataj28@gmail.com>
7756
7757         * gst-libs/gst/vaapi/gstvaapidisplay.c:
7758           libs: display: when appending formats change pointers to indexes
7759           Thus, it fixes an invalid read when YV12 or I420 are not supported by
7760           the driver.
7761           https://bugzilla.gnome.org/show_bug.cgi?id=785085
7762
7763 2017-07-19 12:02:40 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7764
7765         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
7766         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
7767           libs: encoder: h264: Add uncompliant mode reducing coded buffer size
7768           Added a new property "compliance-mode", which default is the normal
7769           strict compliant mode.
7770           The second mode, "restrict-buf-alloc", is to limit the coded buffer
7771           allocation size to improve performance in some specific Intel
7772           platforms (there is asignificant performance improvement in parallel
7773           encodings). Under this new mode, we use the MinCR field in A.3.1 for
7774           pre-calculating the coded-buffer size.
7775           https://bugzilla.gnome.org/show_bug.cgi?id=784590
7776
7777 2017-07-05 17:13:44 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
7778
7779         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
7780         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
7781           libs: utils_h264: Extend LevelLimit table with MinCR field
7782           Add MinCR(Minimum Compression Ratio) field to GstVaapiH264LevelLimits
7783           based on Annex A.3
7784           https://bugzilla.gnome.org/show_bug.cgi?id=784590
7785
7786 2017-07-11 17:29:13 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7787
7788         * gst-libs/gst/vaapi/gstvaapiutils.c:
7789           libs: utils: libva 1.0 changed the logging
7790           The logging mechanism in libva has changed it's functions
7791           signatures. This patch updates that for libva versions >= 1.0
7792           https://bugzilla.gnome.org/show_bug.cgi?id=784398
7793
7794 2017-07-11 17:27:32 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7795
7796         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
7797           libs: decoder: h264: libva 1.0 deprecated baseline
7798           libva 1.0 deprecated H.264 baseline profile and FMO support
7799           (commit b4f332b3).
7800           https://bugzilla.gnome.org/show_bug.cgi?id=784398
7801
7802 2017-07-26 20:03:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7803
7804         * configure.ac:
7805         * meson.build:
7806         * meson_options.txt:
7807           build: check for libva-2.0
7808           Check for libva-2.0 since libva's developers decided to increase the
7809           library's version number.
7810           https://bugzilla.gnome.org/show_bug.cgi?id=784398
7811
7812 2017-07-11 16:55:26 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7813
7814         * configure.ac:
7815         * meson.build:
7816           build: blacklist only libva 0.99.0
7817           Intel's MSDK uses libva 0.99.0, meanwhile open source libva bumped
7818           its API version to 1.0.0. Thus we have to blacklist only the MSDK's
7819           libva (0.99.0)
7820           https://bugzilla.gnome.org/show_bug.cgi?id=784398
7821
7822 2017-07-26 20:30:37 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7823
7824         * gst-libs/gst/vaapi/meson.build:
7825           build: meson: remove gstvaapidisplaycache.c
7826           This is a missing bit of commit ec3e10f6
7827
7828 2017-07-26 09:53:10 -0700  U. Artie Eoff <ullysses.a.eoff@intel.com>
7829
7830         * configure.ac:
7831           configure: do not break configure if gtk+-3.0 devel missing
7832           Fix PKG_CHECK_MODULES rule for with_gtk=check condition to
7833           set USE_GTK=0 if gtk+-3.0 is not available.
7834           Since commit 85856c29a70d6de4aea5b708e04e9eb418190623
7835           Author: Hyunjun Ko <zzoon@igalia.com>
7836           Date:   Wed Jul 5 15:59:43 2017 +0900
7837           tests: elements: add testsuite of vaapi context
7838           ...configure fails if gtk+-3.0 development files are missing.
7839           The "with_gtk" option defaults to "check" in configure.ac
7840           which implies that if it is not explicitly requested then
7841           configure will only enable it if it's available on the system.
7842           However, the PKG_CHECK_MODULES rule that get's activated on
7843           "check" condition did not provide default when gtk+-3.0 devel
7844           packages are not found on the system.  Thus, it resulted in
7845           configure failure.
7846           Signed-off-by: U. Artie Eoff <ullysses.a.eoff@intel.com>
7847           https://bugzilla.gnome.org/show_bug.cgi?id=785452
7848
7849 2017-07-05 15:59:43 +0900  Hyunjun Ko <zzoon@igalia.com>
7850
7851         * configure.ac:
7852         * tests/elements/Makefile.am:
7853         * tests/elements/test-vaapicontext.c:
7854           tests: elements: add testsuite of vaapi context
7855           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7856           https://bugzilla.gnome.org/show_bug.cgi?id=766704
7857
7858 2017-07-05 15:32:43 +0900  Hyunjun Ko <zzoon@igalia.com>
7859
7860         * gst/vaapi/gstvaapisink.c:
7861           vaapisink: fail if surface display is different
7862           Replacing GstVaapiDisplay during rendering might be hiding problems
7863           at some cases, even though it's safe currently since we use cache
7864           of GstVaapidisplay.
7865           Play safe by failing if this happens.
7866           https://bugzilla.gnome.org/show_bug.cgi?id=766704
7867
7868 2017-07-05 15:31:55 +0900  Hyunjun Ko <zzoon@igalia.com>
7869
7870         * gst/vaapi/gstvaapivideocontext.c:
7871         * gst/vaapi/gstvaapivideocontext.h:
7872           videocontext: support "gst.vaapi.app.Display" context
7873           Through "gst.vaapi.app.Display" context, users can set their own VADisplay
7874           and native display of their backend.
7875           Attributes:
7876           - display : pointer of VADisplay
7877           - x11-display : pointer of X11 display (Display *), if they're using.
7878           This patch creates GstVaapidisplayX11 if information provided through
7879           "gst.vaapi.app.Display"
7880           https://bugzilla.gnome.org/show_bug.cgi?id=766704
7881
7882 2017-07-05 14:33:38 +0900  Hyunjun Ko <zzoon@igalia.com>
7883
7884         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
7885         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
7886           libs: display: x11: add gst_vaapi_display_x11_new_with_va_display()
7887           Implements new API function so that users could create GstVaapiDisplay
7888           with their own VADisplay within a native display as backend.
7889           https://bugzilla.gnome.org/show_bug.cgi?id=766704
7890
7891 2017-07-05 14:32:35 +0900  Hyunjun Ko <zzoon@igalia.com>
7892
7893         * gst-libs/gst/vaapi/gstvaapidisplay.c:
7894           libs: display: pass display info when foreign display
7895           When creating a GstVaapiDisplay using a foreign VADisplay, and render
7896           with that display, it also requires native display of the backend.
7897           https://bugzilla.gnome.org/show_bug.cgi?id=766704
7898
7899 2017-06-26 21:18:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7900
7901         * gst-libs/gst/vaapi/Makefile.am:
7902         * gst-libs/gst/vaapi/gstvaapidisplay.c:
7903         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
7904         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
7905         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
7906         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
7907         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
7908         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
7909           libs: display: remove cache
7910           Remove a bunch of code that handles the VADisplay cache, since the
7911           context sharing should be doing this correctly.
7912           https://bugzilla.gnome.org/show_bug.cgi?id=747946
7913
7914 2017-07-13 10:56:18 +0900  Hyunjun Ko <zzoon@igalia.com>
7915
7916         * tests/elements/Makefile.am:
7917         * tests/elements/test-vaapipostproc.c:
7918           tests: elements: add test for vaapipostproc
7919           https://bugzilla.gnome.org/show_bug.cgi?id=754885
7920
7921 2017-07-12 18:25:15 +0900  Hyunjun Ko <zzoon@igalia.com>
7922
7923         * gst/vaapi/gstvaapipostproc.c:
7924           postproc: reconfigure when width or height changes
7925           https://bugzilla.gnome.org/show_bug.cgi?id=754885
7926
7927 2017-07-17 18:53:57 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7928
7929         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
7930           libs: encoder: vp9: array terminated in zeros
7931           There is a crash when setting ref-pic-mode since the #GEnumValue
7932           array is not terminated with a structured with all memvers being
7933           zero.
7934           https://bugzilla.gnome.org/show_bug.cgi?id=785032
7935
7936 2017-07-13 16:43:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7937
7938         * gst/vaapi/gstvaapiencode_h264.c:
7939           vaapiencode: h264: add plugin documentation
7940           Comment how the profile is set and other parameters.
7941
7942 2017-05-26 15:19:00 +0000  Matt Staples <staples255@gmail.com>
7943
7944         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
7945           libs: decoder: h264: push frames as soon as possible
7946           Push frames downstream as soon as possible instead of waiting until
7947           they are ejected from the DPB.
7948           This patch makes the decoder not comply with the H.264 specification,
7949           but it is required for some video cameras.
7950           https://bugzilla.gnome.org/show_bug.cgi?id=762509
7951           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7952
7953 2017-07-10 19:27:57 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7954
7955         * gst/vaapi/gstvaapidecode_props.c:
7956           vaapidecode_props: h264: set low-latency in decoder
7957           Set the low-latency property if the H264 decoder is already
7958           instantiated, thus you could change the behavior in run-time.
7959           https://bugzilla.gnome.org/show_bug.cgi?id=783588
7960
7961 2017-07-06 20:00:15 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7962
7963         * gst/vaapi/gstvaapidecode.c:
7964           vaapidecode: set h264 low latency to decoder
7965           https://bugzilla.gnome.org/show_bug.cgi?id=783588
7966
7967 2017-06-14 18:30:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7968
7969         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
7970         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
7971           libs: decoder: h264: add getter/setter for low latency mode
7972           https://bugzilla.gnome.org/show_bug.cgi?id=783588
7973
7974 2017-06-14 18:31:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7975
7976         * gst/vaapi/gstvaapidecode_props.c:
7977         * gst/vaapi/gstvaapidecode_props.h:
7978           vaapidecode_props: h264: add low latency property
7979           Adding support for private data.
7980           https://bugzilla.gnome.org/show_bug.cgi?id=783588
7981
7982 2017-06-14 18:23:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7983
7984         * gst/vaapi/Makefile.am:
7985         * gst/vaapi/gstvaapidecode.c:
7986         * gst/vaapi/gstvaapidecode_props.c:
7987         * gst/vaapi/gstvaapidecode_props.h:
7988         * gst/vaapi/meson.build:
7989           vaapidecode_props: add skeleton for h264 decoder properties
7990           https://bugzilla.gnome.org/show_bug.cgi?id=783588
7991
7992 2017-06-14 17:07:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
7993
7994         * gst/vaapi/gstvaapidecode.c:
7995           vaapidecode: properties callback in decoders map
7996           https://bugzilla.gnome.org/show_bug.cgi?id=783588
7997
7998 2017-07-07 12:01:59 +0100  Tim-Philipp Müller <tim@centricular.com>
7999
8000         * meson.build:
8001           meson: find python3 via python3 module
8002           https://bugzilla.gnome.org/show_bug.cgi?id=783198
8003
8004 2017-06-09 14:47:40 +0900  Hyunjun Ko <zzoon@igalia.com>
8005
8006         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8007           libs: encoder: h264: submit sps in case of IDR picture
8008           If the picture is IDR, also submit a SPS header.
8009           This means when frame number reaches to keyframe-period or an force
8010           key unit event arrives, we insert SPS/PPS again.
8011           https://bugzilla.gnome.org/show_bug.cgi?id=776712
8012
8013 2017-06-09 14:47:16 +0900  Hyunjun Ko <zzoon@igalia.com>
8014
8015         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8016           libs: encoder: h264: set the frame as IDR if forced key unit
8017           GST_VIDEO_CODEC_FRAME_IS_FORCE_KEYFRAME() is a flag usually used to manage
8018           the `frame-lost` event in the case of streaming, such as RTP.
8019           In case of this event, it is needed to start new GOP rather than just
8020           produce an I-frame.
8021           https://bugzilla.gnome.org/show_bug.cgi?id=776712
8022
8023 2017-04-05 14:48:46 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8024
8025         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8026         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
8027           libs: encoder: h264: insert AU delimiter
8028           Insert an AUD as the first NAL of each encoded frame.
8029           Some applications require Access Unit Delimiter for decoding the
8030           stream.
8031           The AU delimeter insertion is done only when the aud parameter is
8032           TRUE (by default is disabled). The reason of this it is because this
8033           header is only available from Intel Gen9 and the VA intel driver
8034           should be 1.8 or superior. Otherwise, the output will be corrupted.
8035           https://bugzilla.gnome.org/show_bug.cgi?id=776712
8036           Signed-off-by: Victor Jaquez <vjaquez@igalia.com>
8037
8038 2017-06-29 12:50:26 +0900  Hyunjun Ko <zzoon@igalia.com>
8039
8040         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8041           libs: encoder: h264: initialize all elements of view_ids
8042           Currently when num_views is changed by multiview-mode on sink caps, it produces
8043           wrong MVC encoded stream since the array view_ids is not set properly according
8044           to changed num_views.
8045           So this patch initializes all of the array sequentially to handle this case.
8046           Side effect is not going to happen by this patch since this array is being
8047           handled by num_views.
8048           https://bugzilla.gnome.org/show_bug.cgi?id=784321
8049
8050 2017-06-27 14:30:54 +0900  Hyunjun Ko <zzoon@igalia.com>
8051
8052         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8053           Revert "encoder: h264: Use high profile by default"
8054           This reverts commit 4aec5bdd7207fc0e45813ef14c9c0ad5174a8f75.
8055           https://bugzilla.gnome.org/show_bug.cgi?id=757941
8056
8057 2017-06-27 16:03:37 +0900  Hyunjun Ko <zzoon@igalia.com>
8058
8059         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8060           libs: encoder: h264: set profile via capsfilter
8061           Until now, the encoder ignored the profile in src caps and chose one
8062           according with the given parameters. But the encoder must honor the
8063           profile specifed in src caps.
8064           This patch do that, and if the encoder needs to choose the profile,
8065           it will do it by following these rules:
8066           1\ If given parameters are not compatible with given profile, the
8067           encoder will bail out with an error.
8068           2\ The encoder will choose the higher profile indicated in the
8069           src caps.
8070           https://bugzilla.gnome.org/show_bug.cgi?id=757941
8071
8072 2017-06-27 13:14:31 +0900  Hyunjun Ko <zzoon@igalia.com>
8073
8074         * gst/vaapi/gstvaapiencode_h264.c:
8075           vaapiencode: h264: set profile to src caps
8076           So far vaapi encoder does not set profile to src caps. This patch makes it
8077           setting profile to src caps, which is determined by itself.
8078           In addition, if encoder chose different profile, which is not negotiated with
8079           downstream, we should set compatible profile to make negotiation working.
8080           https://bugzilla.gnome.org/show_bug.cgi?id=757941
8081
8082 2017-06-22 09:56:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8083
8084         * gst/vaapi/gstvaapiencode_h264.c:
8085         * gst/vaapi/gstvaapiencode_h264.h:
8086           vaapiencode: h264: verify if requested profile is supported
8087           Check if the requested profile in source caps, is supported by the
8088           VA driver. If it is not, an info log message is send saying that
8089           another (compatible?) profile will be used.
8090           https://bugzilla.gnome.org/show_bug.cgi?id=757941
8091
8092 2017-06-21 21:49:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8093
8094         * gst/vaapi/gstvaapiencode_h264.c:
8095           vaapiencode: h264: improve set_config() vmethod
8096           First check if downstream requests ANY caps. If so, byte-stream is
8097           used and the profile will be choose by the encoder. If dowstream
8098           requests EMPTY caps, the negotiation will fail.
8099           Lately, byte-stream and profile are looked in the allowed caps.
8100           https://bugzilla.gnome.org/show_bug.cgi?id=757941
8101
8102 2017-06-21 19:30:55 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8103
8104         * gst/vaapi/gstvaapiencode_h264.c:
8105           vaapiencode: h264: check for avc in set_config()
8106           The check for avc stream format was done in the vaapi encoder's
8107           vmethod get_caps(), but that is wrong since it has to be check
8108           when encoder set_format().
8109           https://bugzilla.gnome.org/show_bug.cgi?id=757941
8110
8111 2017-06-29 12:49:24 +0900  Hyunjun Ko <zzoon@igalia.com>
8112
8113         * gst/vaapi/gstvaapipostprocutil.c:
8114           vaapipostproc: set multivew-mode flags to src caps
8115           vaapipostproc didn't negotiate the proper multiview caps losing
8116           downstream information.
8117           This patch enables the playing of MVC encoded stream by setting
8118           the proper multiview mode/flags and views to src caps, according
8119           to sink caps.
8120           https://bugzilla.gnome.org/show_bug.cgi?id=784320
8121
8122 2016-11-22 15:52:47 +0000  Julien Isorce <j.isorce@samsung.com>
8123
8124         * gst/vaapi/gstvaapipostproc.c:
8125           vaapipostproc: add support for DMABuf caps feature
8126           https://bugzilla.gnome.org/show_bug.cgi?id=755072
8127           Signed-off-by: Julien Isorce <j.isorce@samsung.com>
8128
8129 2017-06-01 19:42:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8130
8131         * gst/vaapi/gstvaapidecode.c:
8132           vaapidecode: add support for DMABuf caps feature
8133           https://bugzilla.gnome.org/show_bug.cgi?id=755072
8134           Original-patch-by: Julien Isorce <j.isorce@samsung.com>
8135
8136 2017-06-23 12:12:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8137
8138         * gst/vaapi/gstvaapipluginbase.c:
8139           vaapipluginbase: force dmabuf allocator if DMABuf caps feature
8140           Instantiate all dmabuf allocator for src pad buffer pool if the
8141           src caps ask for memory:DMABuf feature.
8142           https://bugzilla.gnome.org/show_bug.cgi?id=755072
8143
8144 2016-11-22 23:26:05 +0000  Julien Isorce <j.isorce@samsung.com>
8145
8146         * gst/vaapi/gstvaapipluginutil.c:
8147         * gst/vaapi/gstvaapipluginutil.h:
8148           vaapipluginutil: add support for DMABuf caps feature
8149           https://bugzilla.gnome.org/show_bug.cgi?id=755072
8150           Signed-off-by: Julien Isorce <j.isorce@samsung.com>
8151           Signed-off-by: Victor Jaquez <vjaquez@igalia.com>
8152           vaapipluginutil: add support for DMABuf caps feature
8153
8154 2017-06-01 19:13:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8155
8156         * gst/vaapi/gstvaapipluginbase.c:
8157           vaapipluginbase: dmabuf memory map trial for raw caps
8158           Only push dmabuf-based buffers with raw caps if gst_memory_map()
8159           succeeds. Otherwise, use the the vaapi surfaces allocator.
8160           https://bugzilla.gnome.org/show_bug.cgi?id=755072
8161           https://bugzilla.gnome.org/show_bug.cgi?id=774649
8162           Original-patch-by: Julien Isorce <j.isorce@samsung.com>
8163
8164 2016-06-08 19:11:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8165
8166         * gst/vaapi/gstvaapivideomemory.c:
8167         * gst/vaapi/gstvaapivideomemory.h:
8168           vaapivideomemory: add gst_vaapi_dmabuf_can_map()
8169           This new method checks the specified allocator can create GstMemory that can
8170           be mapped.
8171           https://bugzilla.gnome.org/show_bug.cgi?id=755072
8172
8173 2017-06-23 17:33:03 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8174
8175         * gst/vaapi/gstvaapivideobufferpool.c:
8176           vaapivideobufferpool: fix regression with video metas
8177           There is another regression with 7a206923 when setting the video
8178           info for the video meta, it should be the one from the image's
8179           allocator rather from the allocation caps.
8180           Test pipeline:
8181           gst-launch-1.0 filesrc location=bug766184.flv ! decodebin \
8182           ! tee ! videoconvert ! videoscale                     \
8183           ! video/x-raw, width=1920, height=1080 ! xvimagesink
8184
8185 2017-06-23 14:38:10 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8186
8187         * gst/vaapi/gstvaapipluginbase.c:
8188         * gst/vaapi/gstvaapivideobufferpool.c:
8189           plugins: update buffer size with the one reported by allocator
8190           There is a regression in 7a206923, since the buffer pool ditches all
8191           the buffers generated by them because the pool config size is
8192           different of the buffer's size.
8193           Test pipeline:
8194           gst-launch-1.0 filesrc location=big_buck_bunny_1080p_h264.mov \
8195           ! qtdemux ! vaapih264dec ! vaapipostproc ! xvimagesink    \
8196           --gst-debug=GST_PERFORMANCE:5
8197           The allocator may update the buffer size according to the VA surface
8198           properties. In order to do this, the video info is modified when the
8199           allocator is created, which reports through the allocation info the
8200           updated size, and set it to the pool config.
8201
8202 2017-06-14 21:40:33 +0900  Hyunjun Ko <zzoon@igalia.com>
8203
8204         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
8205           libs: decoder: h264: initialize active_sps/pps in reset
8206           Since commits in https://bugzilla.gnome.org/show_bug.cgi?id=781142 landed,
8207           they introduced regression in seek.
8208           Formerly, once seek is done, decoder drops P-frames until I-frame arrives.
8209           But since the commits landed, it doesn't drop P-frame and does try to
8210           decode it continuously because active_sps is still alive. See ensure_sps function.
8211           But there are prev_frames and prev_ref_frames reset already, then it
8212           causes assertion.
8213           So it's necessary to reset active_sps/pps also in reset method.
8214           https://bugzilla.gnome.org/show_bug.cgi?id=783726
8215
8216 2017-06-15 13:24:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8217
8218         * gst-libs/gst/vaapi/gstvaapiencoder.c:
8219         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8220           libs: encoder: fix compilation with old versions of libva
8221           There are some symbols that are not used when compiling with old
8222           version of libva and those generates a compilation error.
8223           Original-patch-by: Matt Staples <staples255@gmail.com>
8224
8225 2017-06-09 14:02:20 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8226
8227         * gst-libs/gst/vaapi/gstvaapiencoder.c:
8228           libs: encoder: Fix the quality level clamping
8229           Change the hard-coded range of quality-level from {1-8} to {1-7},
8230           since it is the range Intel Open source driver supports.
8231           Also perform the range clamping only if the user provided
8232           quality-level is greater than the max-range suppored by the driver,
8233           because there could be non-intel drivers giving lower value than
8234           the hard-coded max value 7.
8235           https://bugzilla.gnome.org/show_bug.cgi?id=783567
8236
8237 2017-04-06 19:35:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8238
8239         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8240         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8241         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
8242         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
8243         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
8244         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
8245           libs: encoder: log out the name of the profile
8246           Instead of printing a number, it is more readable to log out, in
8247           case of error, the name of the failing profile.
8248
8249 2017-05-31 12:36:17 +0900  Hyunjun Ko <zzoon@igalia.com>
8250
8251         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8252           libs: encoder: h264: changes raw number of profile to macro name of its
8253           Changes raw number of profile to macro name of its to improve readability.
8254           https://bugzilla.gnome.org/show_bug.cgi?id=757941
8255
8256 2017-06-09 17:00:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8257
8258         * gst/vaapi/gstvaapivideobufferpool.c:
8259           vaapivideobufferpool: remove allocation_vinfo private attribute
8260           There is no need to keep this attribute internally since it is
8261           already managed by the allocator.
8262           https://bugzilla.gnome.org/show_bug.cgi?id=783599
8263
8264 2017-06-09 15:02:08 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8265
8266         * gst/vaapi/gstvaapivideobufferpool.c:
8267           vaapivideobufferpool: refactor set_config()
8268           Refactor the set_config() virtual method considering a cleaner
8269           approach to allocator instanciation, if it it not set or if it is
8270           not valid for the pool.
8271           https://bugzilla.gnome.org/show_bug.cgi?id=783599
8272
8273 2017-06-09 13:05:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8274
8275         * gst/vaapi/gstvaapipluginbase.c:
8276         * gst/vaapi/gstvaapivideobufferpool.c:
8277         * gst/vaapi/gstvaapivideomemory.c:
8278         * gst/vaapi/gstvaapivideomemory.h:
8279           plugins: distinguish allocation and negotiation caps
8280           The vaapi video decoders might have different allocation caps from
8281           the negotiation caps, thus the GstVideoMeta shall use the negotiation
8282           caps, not the allocation caps.
8283           This was done before reusing gst_allocator_get_vaapi_video_info(),
8284           storing there the negotiation caps if they differ from the allocation
8285           ones, but this strategy felt short when the allocator had to be reset
8286           in the vaapi buffer pool, since we need both.
8287           This patch adds gst_allocator_set_vaapi_negotiated_video_info() and
8288           gst_allocator_get_vaapi_negotiated_video_info() to store the
8289           negotiated video info in the allocator, and distinguish it from
8290           the allocation video info.
8291           https://bugzilla.gnome.org/show_bug.cgi?id=783599
8292
8293 2017-06-08 19:32:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8294
8295         * gst/vaapi/gstvaapivideomemory.c:
8296         * gst/vaapi/gstvaapivideomemory.h:
8297           vaapivideomemory: rename qdata quarks and ids
8298           Also the parameter names were renamed to reflect their origin
8299           and purpose.
8300           https://bugzilla.gnome.org/show_bug.cgi?id=783599
8301
8302 2017-06-08 16:05:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8303
8304         * gst/vaapi/gstvaapivideobufferpool.c:
8305           vaapivideobufferpool: rename local variables
8306           Renamed local video info structure names in set_config() vitual
8307           method. The purpose of their renaming is to clarify the origin
8308           of those structures, whether come from passed caps parameter
8309           (new_allocation_vinfo) or from the configured allocator
8310           (allocator_vinfo).
8311           https://bugzilla.gnome.org/show_bug.cgi?id=783599
8312
8313 2017-06-08 15:49:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8314
8315         * gst/vaapi/gstvaapivideobufferpool.c:
8316           vaapivideobufferpool: rename video info structures
8317           Renamed private GstVideoInfo structure video_info to allocation_vinfo
8318           and alloc_info to negotiated_vinfo.
8319           The purpose of these renaming is to clarify the origin and purpose of
8320           these private variables:
8321           video_info (now allocation_vinfo) comes from the bufferpool
8322           configuration. It describes the physical video resolution to be
8323           allocated by the allocator, which may be different from the
8324           negotiated one.
8325           alloc_info (now vmeta_vinfo) comes from the negotiated caps in
8326           the pipeline. It represents how the frame is going to be mapped
8327           using the video meta.
8328           In Intel's VA-API backend, the allocation_vinfo resolution is
8329           bigger than the negotiated_info.
8330           https://bugzilla.gnome.org/show_bug.cgi?id=783599
8331
8332 2017-06-08 12:51:50 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8333
8334         * gst-libs/gst/vaapi/gstvaapiencoder.c:
8335           libs: encoder: set framerate if bigger than 0/1
8336           Just set the framerate parameter if the framerate numerator and
8337           denominator are bigger than zero.
8338           Otherwise, in Intel Gen6 driver, a warning is raised disabling the
8339           bitrate control.
8340           Original-patch-by: Hyunjun Ko <zzoon@igalia.com>
8341           https://bugzilla.gnome.org/show_bug.cgi?id=783532
8342
8343 2017-06-07 12:32:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8344
8345         * gst-libs/gst/vaapi/gstvaapiencoder.c:
8346           libs: encoder: bitrate target percentage calculation
8347           If the rate control is set to Constant Bit Rate (CBR) the target
8348           percentage is 100%, otherwise is 70%
8349
8350 2017-06-07 12:25:24 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8351
8352         * gst-libs/gst/vaapi/gstvaapiencoder.c:
8353         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8354         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8355         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
8356         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
8357         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
8358           libs: encoder: h264,h265,mpeg2,vp8,vp9: refactor ratecontrol param
8359           Centralize the common configuration for the Rate Control parameter,
8360           thus can be overloaded per each specific encoder.
8361
8362 2017-06-07 11:10:49 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8363
8364         * gst-libs/gst/vaapi/gstvaapiencoder.c:
8365         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8366         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8367         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
8368         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
8369         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
8370           libs: encoder: h264,h265,mpeg2,vp8,vp9: refactor framerate param
8371           Since the framerate VA parameter is calculated equally among all the
8372           encoders, it is better to handle it in the base encoder class.
8373
8374 2016-08-09 15:53:47 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8375
8376         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
8377         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
8378           libs: encoder: vp9: Adds CBR and VBR Encoding support
8379           https://bugzilla.gnome.org/show_bug.cgi?id=766832
8380           Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
8381           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8382
8383 2017-06-01 12:12:26 +0900  Hyunjun Ko <zzoon@igalia.com>
8384
8385         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
8386           libs: encoder: vp8: Adds VBR Encoding support
8387           https://bugzilla.gnome.org/show_bug.cgi?id=778732
8388
8389 2017-06-01 12:11:12 +0900  Hyunjun Ko <zzoon@igalia.com>
8390
8391         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8392           libs: encoder: h265: Adds VBR Encoding support
8393           Enables Variable BitRate mode, which does set FrameRate and RateControl
8394           parameters.
8395           https://bugzilla.gnome.org/show_bug.cgi?id=778732
8396
8397 2017-06-02 13:50:05 +0900  Hyunjun Ko <zzoon@igalia.com>
8398
8399         * gst-libs/gst/vaapi/gstvaapiencoder.c:
8400           libs: encoder: Describes more detail about the bitrate property
8401           https://bugzilla.gnome.org/show_bug.cgi?id=778732
8402
8403 2017-06-05 20:44:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8404
8405         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8406           libs: encoder: h265: add rate control parameter
8407           https://bugzilla.gnome.org/show_bug.cgi?id=783449
8408
8409 2017-06-05 20:33:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8410
8411         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8412         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8413         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
8414           libs: encoder: h264,h265,mpeg2: add framerate parameter
8415           https://bugzilla.gnome.org/show_bug.cgi?id=783449
8416
8417 2017-06-05 20:30:07 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8418
8419         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8420         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8421         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
8422         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
8423           libs: encoder: vp8,h264,h265,mpeg2: set misc param once
8424           Instead of recalculating the miscellaneous buffer parameters for
8425           every buffer, it is only done once, when the encoder is configured.
8426           And for every buffer, the same structures are just copied.
8427           https://bugzilla.gnome.org/show_bug.cgi?id=783449
8428
8429 2017-06-05 17:31:10 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8430
8431         * gst-libs/gst/vaapi/gstvaapiencoder.c:
8432         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8433         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8434         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
8435         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
8436         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
8437           libs: encoder: vp8,h264,h265,mpeg2: refactor misc parameters
8438           This is patch pretends to decouple the assignation of the values
8439           in the parameter structures and the VA buffer's parameters setting.
8440           It may lead to some issues since HRD, framerate or controlrate may
8441           not be handled by the specific encoder, but they are set in
8442           the VA buffer's parameters.
8443           I leave as it because this patch is just a transitional patch.
8444           https://bugzilla.gnome.org/show_bug.cgi?id=783449
8445
8446 2017-06-05 16:34:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8447
8448         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
8449           libs: encoder: vp8: fix frame rate calculation
8450           According to the VA documentation:
8451           The framerate is specified as a number of frames per second,
8452           as a fraction.  The denominator of the fraction is given in
8453           the top half (the high two bytes) of the framerate field, and
8454           the numerator is given in the bottom half (the low two bytes).
8455           For example, if framerate is set to (100 << 16 | 750), this is
8456           750 / 100, hence 7.5fps.
8457           If the denominator is zero (the high two bytes are both zero)
8458           then it takes the value one instead, so the framerate is just
8459           the integer in the low 2 bytes.
8460           This patch fixes the the framerate calculation in vp8 encoder
8461           according to this.
8462           https://bugzilla.gnome.org/show_bug.cgi?id=783449
8463
8464 2017-06-02 19:46:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8465
8466         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
8467           libs: encoder: vp8: refactor FrameRate parameter
8468           Move frame-rate parameter from ensure_misc_params() to
8469           ensure_contro_rate_param() since it only has meaning when the
8470           control rate is either VBR or CBR.
8471           https://bugzilla.gnome.org/show_bug.cgi?id=783449
8472
8473 2017-06-02 19:33:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8474
8475         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8476         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8477         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
8478         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
8479           libs: encoder: h264,h265,mpeg2,vp8: refactor HDR
8480           Move the Hypothetical Reference Decoder (HRD) parameter, from
8481           ensure_misc_params() to ensure_control_rate_params(), since it
8482           only shall be defined when the control rate is either VBR or CBR.
8483           https://bugzilla.gnome.org/show_bug.cgi?id=783449
8484
8485 2017-06-02 17:21:25 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8486
8487         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8488         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
8489         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
8490           libs: encoder: h264,vp8,mpeg2: refactor control rate
8491           Instead of filling the control rate param in ensure_misc_params(),
8492           this patch refactor it out, as a first step to merge the same code
8493           for all the encoders.
8494           https://bugzilla.gnome.org/show_bug.cgi?id=783449
8495
8496 2017-06-02 16:28:30 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8497
8498         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8499         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8500         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
8501           libs: encoder: h264, h265, mpeg2: remove assert
8502           Remove spurious asserts for misc parameters. If they cannot be
8503           allocated, FALSE is already returned.
8504
8505 2017-06-05 18:19:05 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8506
8507         * gst-libs/gst/vaapi/gstvaapiencoder.c:
8508         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
8509           libs: encoder: use VA quality level structure
8510           Instead of using a proxy to story the buffer quality level, the
8511           encoder now uses the native VA structure, which is copied to the
8512           dynamically allocated VAEncMiscParameterBuffer.
8513           This approach is computationally less expensive.
8514
8515 2017-05-26 11:10:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8516
8517         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
8518         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
8519         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8520         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
8521           libs: standardize the FIXME comment
8522           This is a trivial patch that makes homogeneous the FIXME tag in
8523           comments.
8524           For more info about these comment style:
8525           http://wiki.c2.com/?FixmeComment
8526
8527 2017-05-22 17:20:45 +0200  Hyunjun Ko <zzoon@igalia.com>
8528
8529         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
8530           libs: encoder: vp8: set quality level regardless of rate control mode
8531           https://bugzilla.gnome.org/show_bug.cgi?id=782957
8532
8533 2017-05-15 18:38:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8534
8535         * gst-libs/gst/vaapi/gstvaapiencoder.c:
8536         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8537         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8538         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
8539           libs: encoder: check for maximum number of slices
8540           Right now, H264 and HEVC can set as a property the number of slices to
8541           process. But each driver can set a maximum number of slices, depending
8542           on the supported profile & entry point.
8543           This patch verifies the current num_slices to process against the maximum
8544           permitted by the driver and the media size.
8545           https://bugzilla.gnome.org/show_bug.cgi?id=780955
8546
8547 2017-05-15 18:36:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8548
8549         * gst-libs/gst/vaapi/gstvaapiutils_h26x_priv.h:
8550           libs: utils: mark functions as internals
8551           The functions in this header are internal to the library.
8552
8553 2017-05-15 18:35:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8554
8555         * gst-libs/gst/vaapi/gstvaapicontext.h:
8556           libs: context: add missing documentation
8557           Document the region-of-interest configuration variables.
8558
8559 2017-05-12 18:46:50 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8560
8561         * tests/elements/test-vaapisink.c:
8562           tests: elements: vaapisink: handle nav events
8563           The test app can now handle navigation events to rotate the
8564           display.
8565
8566 2017-05-12 18:17:55 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8567
8568         * tests/elements/test-vaapisink.c:
8569           tests: elements: clean up vaapisink test
8570           - Use gst_element_send_event() instead of gst_pad_push_event()
8571           - don't zero App structure
8572           - check for pipeline parsing error
8573           - only get vaapisink for property set
8574
8575 2017-05-12 13:08:30 +0900  Hyunjun Ko <zzoon@igalia.com>
8576
8577         * gst/vaapi/gstvaapisink.c:
8578           vaapisink: keep handle_events flag except that if user want to set
8579           When state of vaapisink is changed from PLAYING to NULL, the handle_events
8580           flag is set to FALSE, and never recovered, and then event thread is never
8581           going to run.
8582           So we should allow to set the flag only when users try it.
8583           https://bugzilla.gnome.org/show_bug.cgi?id=782543
8584
8585 2017-05-12 13:06:24 +0900  Hyunjun Ko <zzoon@igalia.com>
8586
8587         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
8588           libs: window: x11: fix src rect info when using vpp
8589           Since we started using VPP in VaapiWindowX11, we need to care about
8590           the case that src rect and window's size are different.
8591           So, once VPP has converted to other format, we should honor the
8592           size of the VPP's surface as source rect. Otherwise, it is cropped
8593           according the previous size of the source rect.
8594           https://bugzilla.gnome.org/show_bug.cgi?id=782542
8595
8596 2017-04-28 15:20:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8597
8598         * gst/vaapi/gstvaapipluginutil.c:
8599           plugins: remove par from caps negotiation
8600           https://bugzilla.gnome.org/show_bug.cgi?id=781759
8601
8602 2017-03-30 17:57:42 +0900  Hyunjun Ko <zzoon@igalia.com>
8603
8604         * tests/elements/Makefile.am:
8605         * tests/elements/test-roi.c:
8606           tests: elements: add an example for ROI
8607           This implements a pipleint to recognize difference between ROI and non-ROI.
8608           See comments in this code in detail.
8609           https://bugzilla.gnome.org/show_bug.cgi?id=768248
8610           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8611
8612 2017-03-30 17:54:20 +0900  Hyunjun Ko <zzoon@igalia.com>
8613
8614         * gst/vaapi/gstvaapiencode.c:
8615         * gst/vaapi/gstvaapiencode_h264.c:
8616           vaapiencode: handle custom event GstVaapiEncoderRegionOfInterest
8617           Handles new custom event GstVaapiEncoderRegionOfInterest
8618           to enable/disable a ROI region.
8619           Writes a way to use new event to document.
8620           https://bugzilla.gnome.org/show_bug.cgi?id=768248
8621           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8622
8623 2017-02-23 18:53:18 +0900  Hyunjun Ko <zzoon@igalia.com>
8624
8625         * tests/simple-encoder.c:
8626           tests: simple-encoder: add an option to set ROI
8627           $ simple-encoder -r inputfile.y4m
8628           And you'll got an output file in H264 with two regions of interest.
8629           https://bugzilla.gnome.org/show_bug.cgi?id=768248
8630           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8631
8632 2017-02-23 18:52:48 +0900  Hyunjun Ko <zzoon@igalia.com>
8633
8634         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8635           libs: encoder: h264: set ROI params during encoding
8636           Set ROI params during encoding each frame, which are set via
8637           gst_vaapi_encoder_add_roi ()
8638           https://bugzilla.gnome.org/show_bug.cgi?id=768248
8639           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8640
8641 2017-03-28 17:41:37 +0900  Hyunjun Ko <zzoon@igalia.com>
8642
8643         * gst-libs/gst/vaapi/gstvaapiencoder.c:
8644         * gst-libs/gst/vaapi/gstvaapiencoder.h:
8645         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
8646           libs: encoder: add api gst_vaapi_encoder_add/del_roi
8647           Implements and exposes new api gst_vaapi_encoder_add/del_roi to set ROI regions.
8648           https://bugzilla.gnome.org/show_bug.cgi?id=768248
8649
8650 2017-02-23 17:57:07 +0900  Hyunjun Ko <zzoon@igalia.com>
8651
8652         * gst-libs/gst/vaapi/gstvaapicontext.c:
8653         * gst-libs/gst/vaapi/gstvaapicontext.h:
8654         * gst-libs/gst/vaapi/gstvaapiencoder.c:
8655           libs: encoder/context: query region of interest support
8656           Queries if the driver supports "Region of Interest" (ROI) during the config
8657           creation.
8658           This attribute conveys whether the driver supports region-of-interest (ROI)
8659           encoding, based on user provided ROI rectangles.  The attribute value is
8660           partitioned into fields as defined in the VAConfigAttribValEncROI union.
8661           If ROI encoding is supported, the ROI information is passed to the driver
8662           using VAEncMiscParameterTypeROI.
8663           https://bugzilla.gnome.org/show_bug.cgi?id=768248
8664           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8665
8666 2017-05-12 11:11:48 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8667
8668         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
8669           libs: encoder: fix a comment
8670
8671 2017-05-11 12:23:28 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8672
8673         * gst-libs/gst/vaapi/gstvaapiencoder.c:
8674           libs: encoder: guard quality level configuration
8675           The quality level appeared in VA-API 0.36. So let's guard its
8676           usage.
8677
8678 2017-04-19 13:04:44 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
8679
8680         * gst-libs/gst/vaapi/gstvaapiencoder.c:
8681         * gst-libs/gst/vaapi/gstvaapiencoder.h:
8682         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
8683         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
8684         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
8685         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
8686         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
8687         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
8688         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
8689           encoders: add quality level tuning
8690           This patch adds the handling of VAEncMiscParameterTypeQualityLevel,
8691           in gstreamer-vaapi encoders:
8692           The encoding quality could be set through this structure, if the
8693           implementation supports multiple quality levels. The quality level set
8694           through this structure is persistent over the entire coded sequence, or
8695           until a new structure is being sent. The quality level range can be queried
8696           through the VAConfigAttribEncQualityRange attribute. A lower value means
8697           higher quality, and a value of 1 represents the highest quality. The quality
8698           level setting is used as a trade-off between quality and speed/power
8699           consumption, with higher quality corresponds to lower speed and higher power
8700           consumption.
8701           The quality level is set by the element's parameter "quality-level" with a
8702           hard-coded range of 1 to 8.
8703           Later, when the encoder is configured in run time, just before start
8704           processing, the quality level is scaled to the codec range. If
8705           VAConfigAttribEncQualityRange is not available in the used VA backend, then
8706           the quality level is set to zero, which means "disabled".
8707           All the available codecs now process this parameter if it is available.
8708           https://bugzilla.gnome.org/show_bug.cgi?id=778733
8709           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8710
8711 2017-05-04 18:59:31 +0300  Sebastian Dröge <sebastian@centricular.com>
8712
8713         * configure.ac:
8714         * meson.build:
8715           Back to development
8716
8717 === release 1.12.0 ===
8718
8719 2017-05-04 15:46:03 +0300  Sebastian Dröge <sebastian@centricular.com>
8720
8721         * ChangeLog:
8722         * NEWS:
8723         * configure.ac:
8724         * gstreamer-vaapi.doap:
8725         * meson.build:
8726           Release 1.12.0
8727
8728 2017-05-04 11:49:33 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8729
8730         * gst/vaapi/gstvaapidecodebin.c:
8731           Revert "vaapidecodebin: fix element's classification"
8732           This reverts commit 8cbe03599a4f27c2001380e2ec150c4f4267a9cf.
8733
8734 2017-04-27 22:55:27 -0700  Scott D Phillips <scott.d.phillips@intel.com>
8735
8736         * configure.ac:
8737         * meson.build:
8738           build: Require libva < 0.99.0
8739           libva >= 0.99.0 is not currently supported by gstreamer-vaapi, so
8740           fail to configure instead of failing late in the build.
8741           This libva is bundled in msdk[1] and it is ahead in time with
8742           respect the official and open source libva[2]. GStreamer-VAAPI
8743           only supports the latter for now.
8744           1. https://software.intel.com/en-us/media-sdk/download
8745           2. https://github.com/01org/libva/
8746           https://bugzilla.gnome.org/show_bug.cgi?id=781866
8747
8748 2017-05-02 14:08:54 +0200  Victor Toso <me@victortoso.com>
8749
8750         * gst/vaapi/gstvaapidecodebin.c:
8751           vaapidecodebin: fix element's classification
8752           This bin should have similar classification as decodebin which is
8753           "Generic/Bin/Decoder" otherwise it will appear wrongly as video
8754           decoder.
8755           Signed-off-by: Victor Toso <victortoso@redhat.com>
8756           https://bugzilla.gnome.org/show_bug.cgi?id=782063
8757
8758 === release 1.11.91 ===
8759
8760 2017-04-27 17:49:52 +0300  Sebastian Dröge <sebastian@centricular.com>
8761
8762         * ChangeLog:
8763         * NEWS:
8764         * configure.ac:
8765         * gstreamer-vaapi.doap:
8766         * meson.build:
8767           Release 1.11.91
8768
8769 2017-04-27 13:08:56 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8770
8771         * gst/vaapi/gstvaapipluginutil.c:
8772           Revert "plugins: reject pixel-aspect-ratio with value 0/1"
8773           This reverts commit c0be7b1890ea8da915a81ae82bc9f504aee7cc26.
8774
8775 2017-04-27 12:43:54 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8776
8777         * gst/vaapi/gstvaapipluginutil.c:
8778           plugins: reject pixel-aspect-ratio with value 0/1
8779           Do not negotiate a pixel-aspect-ratio of 0/1.
8780           https://bugzilla.gnome.org/show_bug.cgi?id=781759
8781
8782 2017-04-26 15:48:01 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8783
8784         * gst/vaapi/gstvaapipostprocutil.c:
8785         * gst/vaapi/gstvaapisink.c:
8786           plugins: handle pixel-aspect-ratio with value 0/1
8787           When downstream negotiates a pixel-aspect-ratio of 0/1, the
8788           calculations for resizing and formatting in vaapipostproc and
8789           vaapisink, respectively, failed, and thus the pipeline.
8790           This patch handles this situation by converting p-a-r of 0/1 to
8791           1/1. This is how other sinks, such as glimagesink, work.
8792           https://bugzilla.gnome.org/show_bug.cgi?id=781759
8793
8794 2017-04-27 14:42:55 +0900  Hyunjun Ko <zzoon@igalia.com>
8795
8796         * gst/vaapi/gstvaapivideobufferpool.c:
8797           vaapivideobufferpool: fix leak of created allocator
8798           Since it's created by itself, it should be unref-counted
8799           after gst_buffer_pool_config_set_allocator call. Afterwards,
8800           this allocator will be ref-counted again when assigning to priv->allocator.
8801           https://bugzilla.gnome.org/show_bug.cgi?id=781577
8802
8803 2017-04-21 19:07:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8804
8805         * gst/vaapi/gstvaapivideobufferpool.c:
8806           vaapivideobufferpool: create or reconfig allocator
8807           Sometimes a video decoder could set different buffer pool
8808           configurations, because their frame size changes. In this case we
8809           did not reconfigure the allocator.
8810           This patch enables this use case, creating a new allocator inside
8811           the VAAPI buffer pool if the caps changed, if it is not dmabuf-based.
8812           If so, it is just reconfigured, since it doesn't have a surface pool.
8813           https://bugzilla.gnome.org/show_bug.cgi?id=781577
8814
8815 2017-04-25 12:58:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8816
8817         * tests/elements/Makefile.am:
8818           test: elements: fix compilation flags
8819           This issue was spotten on bug #766704
8820           Original-patch-by: Hyunjun Ko <zzoon@igalia.com>
8821
8822 2017-04-25 16:23:08 +0900  Hyunjun Ko <zzoon@igalia.com>
8823
8824         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
8825           libs: windows: wayland: fix leak if failure of sync
8826           Sometimes gst_vaapi_window_wayland_sync returns FALSE when poll returns EBUSY
8827           during destruction.
8828           In this case, if GstVaapiWindow is using vpp, leak of vpp surface happens.
8829           This surface is not attached to anything at this moment, so we should release
8830           it manually.
8831           https://bugzilla.gnome.org/show_bug.cgi?id=781695
8832
8833 2017-04-24 20:30:30 +0100  Tim-Philipp Müller <tim@centricular.com>
8834
8835         * common:
8836           Automatic update of common submodule
8837           From 60aeef6 to 48a5d85
8838
8839 2017-04-21 15:30:09 +0200  Hyunjun Ko <zzoon@igalia.com>
8840
8841         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
8842           libs: window: wayland: mark frames as done
8843           When the frame listener callbacks 'done', the number of pending
8844           frames are decreased. Nonetheless, there might be occasions where
8845           the buffer listener callbacks 'release', without calling previously
8846           frame's 'done'. This leads to problem with
8847           gst_vaapi_window_wayland_sync() operation.
8848           This patch marks as done those frames which were callbacked, but if
8849           the buffer callbacks 'release' and associated frame is not marked
8850           as 'done' it is so, thus the number of pending frames keeps correct.
8851           https://bugzilla.gnome.org/show_bug.cgi?id=780442
8852           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8853
8854 2017-04-21 14:07:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8855
8856         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
8857           libs: window: wayland: don't sync at destroy()
8858           Don't call gst_vaapi_window_wayland_sync() when destroying the
8859           wayland window instance, since it might lead to a lock at
8860           gst_poll_wait() when more than one instances of vaapisink are
8861           rendering in the same pipeline, this is because they share the
8862           same window.
8863           Since now all the frames are freed we don't need to freed the
8864           private last_frame, since its address is invalid now.
8865           https://bugzilla.gnome.org/show_bug.cgi?id=780442
8866           Signed-off-by: Hyunjun Ko <zzoon@igalia.com>
8867
8868 2017-04-19 10:37:19 +0900  Hyunjun Ko <zzoon@igalia.com>
8869
8870         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
8871           libs: window: wayland: null buffer at destroy()
8872           Fix leakage of the last wl buffer.
8873           VAAPI wayland sink needs to send a null buffer while destruction,
8874           it assures that all the wl buffers are released. Otherwise, the last
8875           buffer's callback might be not called, which leads to leak of
8876           GstVaapiDisplay.
8877           This was inspired by gstwaylandsink.
8878           https://bugzilla.gnome.org/show_bug.cgi?id=774029
8879           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8880
8881 2016-10-30 10:43:49 +0900  Jagyum Koo <koojagyum@gmail.com>
8882
8883         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
8884           libs: window: wayland: rt event queue at destroy()
8885           The proxy object of wl_buffer for the last frame remains in the
8886           wl_map. Even though we call wl_buffer_destroy() in
8887           frame_release_callback(), the proxy object remains without being
8888           removed, since proxy object is deleted when wayland server sees the
8889           delete request and sends 'delete_id' event.
8890           We need to call roundtrip before destroying event_queue so that the
8891           proxy object is removed. Otherwise, it would be mess up as receiving
8892           'delete_id' event from previous play, when playing in the next
8893           va/wayland window with the same wl_display connection.
8894           https://bugzilla.gnome.org/show_bug.cgi?id=773689
8895           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8896
8897 2017-04-20 20:30:52 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8898
8899         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
8900           libs: window: wayland: cancel read at poll message
8901           Always call wl_display_cancel_read() when an errno is set, but
8902           different to EAGAIN or EINTR.
8903           https://bugzilla.gnome.org/show_bug.cgi?id=780442
8904
8905 2017-04-21 18:05:48 +0900  Hyunjun Ko <zzoon@igalia.com>
8906
8907         * gst/vaapi/gstvaapidecodebin.c:
8908         * gst/vaapi/gstvaapidecodebin.h:
8909           vaapidecodebin: skips configuration once it's done
8910           Skips configuration of creation of vpp/capsfilter and link them once it's done.
8911           Otherwise, it always fails when it's trying to re-start playback.
8912           https://bugzilla.gnome.org/show_bug.cgi?id=781573
8913
8914 2017-04-20 18:44:41 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
8915
8916         * gst/vaapi/gstvaapipostprocutil.c:
8917           vaapipostproc: fixes for memory leaks
8918           The use of gst_vaapi_value_set_format() and gst_structure_*_value()
8919           requires to clear the used GValue to avoid a memory leak.
8920
8921 2016-12-08 18:51:54 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8922
8923         * gst/vaapi/gstvaapipluginbase.c:
8924         * gst/vaapi/gstvaapipluginbase.h:
8925           plugins: enable direct rendering with envvar
8926           Direct rendering (use vaDeriveImage rather than vaPutImage) has better
8927           performance in some Intel platforms (Haswell, for example) but in others
8928           (Skylake) is the opposite.
8929           In order to have some control, the patch enables the direct rendering
8930           through the environment variable GST_VAAPI_ENABLE_DIRECT_RENDERING.
8931           Also it seems to generating some problems with gallium/radeon backend.
8932           See bug #779642.
8933           https://bugzilla.gnome.org/show_bug.cgi?id=775848
8934
8935 2017-04-08 02:05:21 +1000  Jan Schmidt <jan@centricular.com>
8936
8937         * gst/vaapi/gstvaapidecode.c:
8938           vaapidecode: Don't renegotiate on every flush
8939           If caps don't actually change, don't update the
8940           decoder and don't set the do_renego flag forcing
8941           downstream renegotiation
8942           https://bugzilla.gnome.org/show_bug.cgi?id=781142
8943
8944 2017-04-08 01:21:23 +1000  Jan Schmidt <jan@centricular.com>
8945
8946         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
8947           h264 decoder: Implement reset() for faster flush
8948           Implement a custom reset() function for faster flushes
8949           that just clear the reference pictures but don't reallocate
8950           the DPB or clear out SPS/PPS
8951           https://bugzilla.gnome.org/show_bug.cgi?id=781142
8952
8953 2017-04-05 17:24:20 +1000  Jan Schmidt <jan@centricular.com>
8954
8955         * gst-libs/gst/vaapi/gstvaapidecoder.c:
8956         * gst-libs/gst/vaapi/gstvaapidecoder.h:
8957         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
8958         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
8959         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
8960         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
8961         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
8962         * gst/vaapi/gstvaapidecode.c:
8963           Implement decoder reset on flush, rather than recreating
8964           Clear decoders out on a flush but keep the same instance,
8965           rather than completely recreating them. That avoids
8966           unecessarily freeing and recreating surface pools
8967           and contexts, which can be quite expensive
8968           https://bugzilla.gnome.org/show_bug.cgi?id=781142
8969
8970 2017-04-11 18:50:35 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8971
8972         * gst-libs/gst/vaapi/gstvaapiwindow.c:
8973           libs: window: don't add an unused function
8974           The macro GST_VAAPI_OBJECT_DEFINE_CLASS_WITH_CODE only defines
8975           a function that is never used, thus when compiling we might see
8976           this warning (clang):
8977           gstvaapiwindow.c:147:1: warning: unused function 'gst_vaapi_window_class' [-Wunused-function]
8978           GST_VAAPI_OBJECT_DEFINE_CLASS_WITH_CODE (GstVaapiWindow,
8979           ^
8980           https://bugzilla.gnome.org/show_bug.cgi?id=759533
8981
8982 2017-04-11 18:22:00 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
8983
8984         * gst-libs/gst/vaapi/gstvaapiwindow.c:
8985         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
8986           libs: window: remove surface_format member
8987           Since we always convert to NV12, there is no need to keep a
8988           variable for that. Let us hard code it.
8989           https://bugzilla.gnome.org/show_bug.cgi?id=759533
8990
8991 2017-04-10 17:23:26 +0900  Hyunjun Ko <zzoon@igalia.com>
8992
8993         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
8994         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
8995         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
8996           libs: window: x11/wayland: use new api for conversion
8997           Since gst_vaapi_window_vpp_convert_internal is created,
8998           GstVaapiWindowX11/Wayland can use it for conversion.
8999           Note that once it chooses to use vpp, it's going to use vpp
9000           until the session is finished.
9001           https://bugzilla.gnome.org/show_bug.cgi?id=759533
9002
9003 2017-04-10 11:41:29 +0900  Hyunjun Ko <zzoon@igalia.com>
9004
9005         * gst-libs/gst/vaapi/gstvaapiwindow.c:
9006         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
9007           libs: window: add gst_vaapi_window_vpp_convert_internal()
9008           If a backend doesn't support specific format, we can use vpp for conversion
9009           and make it playing.
9010           This api is originated from GstVaapiWindowWayland and moved to GstVaapiWindow,
9011           so that GstVaapiWindowX11 could use it.
9012           https://bugzilla.gnome.org/show_bug.cgi?id=759533
9013
9014 2017-04-03 16:45:36 +0900  Hyunjun Ko <zzoon@igalia.com>
9015
9016         * gst-libs/gst/vaapi/gstvaapiwindow.c:
9017         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
9018         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
9019         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
9020         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
9021           libs: window: x11/wayland: chaining up to GstVaapiWindow
9022           Currently, GstVaapiWindowX11/Wayland are not descendants of GstVaapiWindow.
9023           This patch chains them up to GstVaapiWindow to handle common members in GstVaapiWindow.
9024           https://bugzilla.gnome.org/show_bug.cgi?id=759533
9025
9026 2017-04-05 11:19:15 -0700  Scott D Phillips <scott.d.phillips@intel.com>
9027
9028         * gst/vaapi/gstvaapipluginutil.c:
9029           plugins: Fix usage of GST_GL_HAVE_WINDOW_* defines
9030           When these definitions are false, they are undef in the
9031           preprocessor, not a defined value of 0. When they are unset the
9032           compile fails with:
9033           'GST_GL_HAVE_WINDOW_WAYLAND' undeclared (first use in this function)
9034           https://bugzilla.gnome.org/show_bug.cgi?id=780948
9035
9036 2017-04-10 23:51:06 +0100  Tim-Philipp Müller <tim@centricular.com>
9037
9038         * common:
9039           Automatic update of common submodule
9040           From 39ac2f5 to 60aeef6
9041
9042 === release 1.11.90 ===
9043
9044 2017-04-07 16:36:21 +0300  Sebastian Dröge <sebastian@centricular.com>
9045
9046         * ChangeLog:
9047         * NEWS:
9048         * configure.ac:
9049         * gstreamer-vaapi.doap:
9050         * meson.build:
9051           Release 1.11.90
9052
9053 2017-04-03 14:52:41 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9054
9055         * gst/vaapi/gstvaapiencode_h265.c:
9056           vaapiencode: h265: add main-10 in caps template
9057           This patch adds h265's main-10 profile in encoder src caps template.
9058           https://bugzilla.gnome.org/show_bug.cgi?id=771291
9059
9060 2017-04-03 15:34:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9061
9062         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
9063           libs: encoder: h265: chroma and luma with format
9064           If the profile is main-10 the bit_depth_luma_minus8, in the sequence
9065           parameter buffer, shall be the color format bit depth minus 8, 10-8
9066           which is 2. Also for bit_depth_chroma_minus8.
9067           This patch gets the negotiated sink caps format and queries its
9068           luma's depth and uses that value to fill the mentioned parameters.
9069           https://bugzilla.gnome.org/show_bug.cgi?id=771291
9070
9071 2017-03-29 19:20:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9072
9073         * gst-libs/gst/vaapi/gstvaapiencoder.c:
9074           libs: encoder: admit YUV420_10BPP as valid chroma
9075           Accepts as supported the GST_VAAPI_CHROMA_TYPE_YUV420_10BPP chroma
9076           type.
9077           https://bugzilla.gnome.org/show_bug.cgi?id=771291
9078
9079 2017-03-29 19:16:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9080
9081         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
9082           libs: encoder: h265: ensures profile given format
9083           Set the VA profile as GST_VAAPI_PROFILE_H265_MAIN10 if the
9084           configured color format is P010_10LE.
9085           Otherwise, keep GST_VAAPI_PROFILE_H265_MAIN
9086           https://bugzilla.gnome.org/show_bug.cgi?id=771291
9087
9088 2017-04-06 17:21:21 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9089
9090         * gst-libs/gst/vaapi/gstvaapiencoder.c:
9091           libs: encode: merge all possible surface formats
9092           When the function gst_vaapi_encoder_get_surface_formats() was added
9093           it was under the assumption that any VA profile of the specific codec
9094           supported the same format colors. But it is not, for example the
9095           profiles that support 10bit formats.
9096           In other words, different VA profiles of a same codec may support
9097           different color formats in their upload surfaces.
9098           In order to expose all the possible color formats, if no profile is
9099           specified via source caps, or if the encoder doesn't have yet a
9100           context, all the possible VA profiles for the specific codec are
9101           iterated and their color formats are merged.
9102           https://bugzilla.gnome.org/show_bug.cgi?id=771291
9103
9104 2017-04-06 16:28:12 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9105
9106         * gst/vaapi/gstvaapiencode.c:
9107         * gst/vaapi/gstvaapiencode.h:
9108         * gst/vaapi/gstvaapiencode_h264.c:
9109         * gst/vaapi/gstvaapiencode_h265.c:
9110           vaapiencode: add get_profile() vmethod
9111           This new virtual method, get_profile(), if implemented by specific
9112           encoders, will return the VA profile potentially determined by the
9113           source caps.
9114           Also it is implemented by h264 and h265 encoders, which are the main
9115           users of this vmethod.
9116           https://bugzilla.gnome.org/show_bug.cgi?id=771291
9117
9118 2017-04-06 12:49:24 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9119
9120         * gst-libs/gst/vaapi/gstvaapiencoder.c:
9121         * gst-libs/gst/vaapi/gstvaapiencoder.h:
9122         * gst/vaapi/gstvaapiencode.c:
9123           libs: encoder: pass profile to get_surface_formats()
9124           In order to get the supported surface formats within a specific
9125           profile this patch adds the GstVaapiProfile as property to
9126           gst_vaapi_encoder_get_surface_formats().
9127           Currently the extracted formats are only those related with the
9128           default profile of the element's codec.
9129           https://bugzilla.gnome.org/show_bug.cgi?id=771291
9130
9131 2017-04-06 12:28:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9132
9133         * gst-libs/gst/vaapi/gstvaapiencoder.c:
9134           libs: encoder: dummy context for get_surface_formats()
9135           Instead of creating (if it doesn't exist, yet) the encoder's context
9136           the method gst_vaapi_encoder_get_surface_formats() now it creates
9137           dummy contexts, unless the encoder has it already created.
9138           The purpose of this is to avoid setting a encoder's context with a
9139           wrong profile.
9140           https://bugzilla.gnome.org/show_bug.cgi?id=771291
9141
9142 2017-04-04 14:39:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9143
9144         * gst-libs/gst/vaapi/gstvaapiencoder.c:
9145           libs: encoder: refactor init_context_info()
9146           In order to generate vaapi contexts iterative, the function
9147           init_context_info() is refactored to pass, as parameters the
9148           GstVaapiContextInfo and the GstVaapiProfile.
9149           https://bugzilla.gnome.org/show_bug.cgi?id=771291
9150
9151 2017-04-04 14:21:43 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9152
9153         * gst-libs/gst/vaapi/gstvaapiencoder.c:
9154         * gst-libs/gst/vaapi/gstvaapiutils.c:
9155         * gst-libs/gst/vaapi/gstvaapiutils.h:
9156           libs: encoder: initialize chroma_type
9157           Instead of initialize the chroma_type with a undefined value, which
9158           will be converted to GST_VAAPI_CHROMA_TYPE_YUV420 by GstVaapiContext,
9159           this patch queries the VA config, given the received
9160           GstVaapiContextInfo's parameters, and gets the first response.
9161           In order to get the GstVaapiChromaType value, also it was needed to
9162           add a new utility function: to_GstVaapiChromaType(), which, given a
9163           VA_RT_FORMAT_* will return the associated GstVaapiChromaType.
9164           https://bugzilla.gnome.org/show_bug.cgi?id=771291
9165
9166 2017-03-31 11:21:21 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9167
9168         * gst/vaapi/gstvaapiencode.c:
9169           vaapiencode: enhance logs of negotiated caps
9170           https://bugzilla.gnome.org/show_bug.cgi?id=771291
9171
9172 2017-04-05 11:15:41 -0700  Scott D Phillips <scott.d.phillips@intel.com>
9173
9174         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
9175           libs: encoder: vp9: Fix initialization of ref_list
9176           gcc 7.0.1 gives a memset-elt-size warning in gst_vaapi_encoder_vp9_init:
9177           'memset' used with length equal to number of elements without
9178           multiplication by element size [-Werror=memset-elt-size]
9179           https://bugzilla.gnome.org/show_bug.cgi?id=780947
9180
9181 2017-03-31 14:12:43 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9182
9183         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9184           encoder: h264: Fix Backward ReferencePicture flag setting
9185           This is a regression introduced by e829b62 which
9186           override the reference flags and caused issues with
9187           latest intel-vaapi-driver.
9188
9189 2017-03-29 13:22:47 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9190
9191         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
9192           libs: encoder: h265: fix code style
9193           Trivial patch to remove a double ';' as end of instruction.
9194
9195 2017-03-28 10:53:20 -0700  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9196
9197         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9198           encoder: h264: Fix B frame encoding artifacts
9199           The current implementation is updating the POC values only
9200           in Slice parameter Buffer.But we are not filling the
9201           picture order count and reference flags in VAPictureH264
9202           while populating VA Picture/Slice structures.The latest
9203           intel-vaapi-driver is directly accessing the above fields
9204           from VAPicutreH264 provided as RefPicLists, which resulted
9205           some wrong maths and prediction errors in driver.
9206           https://bugzilla.gnome.org/show_bug.cgi?id=780620
9207
9208 2017-03-21 16:13:56 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9209
9210         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
9211           libs: encoder: h265: remove unused macro definition
9212           Since the h265 encoder doesn't use GValueArray, there is no need to
9213           disable the Glib deprecation warnings, thus removing the macro
9214           definition.
9215
9216 2017-03-20 16:45:01 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
9217
9218         * gst/vaapi/gstvaapidecode.c:
9219         * gst/vaapi/gstvaapiencode.c:
9220         * gst/vaapi/gstvaapipostproc.c:
9221         * gst/vaapi/gstvaapisink.c:
9222           plugins: when debug disabled, default category is NULL
9223           As in gstreamer-vaapi a common base class is used, the specific
9224           default category is passed to the base-plugin initializator, thus
9225           the log messages are categorized with the used plugin.
9226           Nonetheless, when the gst-debug is disabled in compilation time,
9227           it is needed to pass NULL to the base-plugin initializator. This
9228           patch does that.
9229           https://bugzilla.gnome.org/show_bug.cgi?id=780302
9230
9231 2017-03-17 17:14:01 +0900  Hyunjun Ko <zzoon@igalia.com>
9232
9233         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9234         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
9235         * gst-libs/gst/vaapi/gstvaapiutils_h26x.c:
9236         * gst-libs/gst/vaapi/gstvaapiutils_h26x_priv.h:
9237           libs: h26x: adds gst_vaapi_utils_h26x_write_nal_unit()
9238           Implements gst_vaapi_utils_h26x_write_nal_unit(), which writes NAL
9239           unit length and data to a bitwriter.
9240           Note that this helper function applies EPB (Emulation Prevention
9241           Bytes), since otherwise produced codec_data might be broken when
9242           decoder/parser considering EPB, starts parsing.
9243           See sections 7.3 and 7.4 of the H264 and H264 specifications, which
9244           describes the emulation_prevention_three_byte.
9245           https://bugzilla.gnome.org/show_bug.cgi?id=778750
9246           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9247
9248 2017-03-17 16:49:41 +0900  Hyunjun Ko <zzoon@igalia.com>
9249
9250         * gst-libs/gst/vaapi/Makefile.am:
9251         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9252         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
9253         * gst-libs/gst/vaapi/gstvaapiutils_h26x.c:
9254         * gst-libs/gst/vaapi/gstvaapiutils_h26x_priv.h:
9255         * gst-libs/gst/vaapi/meson.build:
9256           libs: utils: h26x: create vaapiutils_h26x
9257           Since there is duplicated code in h264/265 encoder, we could
9258           refactor it to avoid duplicated code.
9259           https://bugzilla.gnome.org/show_bug.cgi?id=778750
9260           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9261
9262 2017-03-17 16:32:36 +0900  Hyunjun Ko <zzoon@igalia.com>
9263
9264         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
9265         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
9266           libs: encoder: h264/5: fix wrong return value
9267           https://bugzilla.gnome.org/show_bug.cgi?id=778750
9268
9269 2017-03-13 17:29:59 +0900  Hyunjun Ko <zzoon@igalia.com>
9270
9271         * gst/vaapi/gstvaapiencode_h264.c:
9272         * gst/vaapi/gstvaapiencode_h265.c:
9273           docs: h264/h265: put parser to the example pipeline
9274           https://bugzilla.gnome.org/show_bug.cgi?id=778749
9275
9276 2017-03-13 16:20:59 +0900  Hyunjun Ko <zzoon@igalia.com>
9277
9278         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
9279           libs: encoder: h265: fix reserved length of bits
9280           Fix reserved length of bits for bit_depth_luma_minus8 and bit_depth_chroma_minus8
9281           https://bugzilla.gnome.org/show_bug.cgi?id=778749
9282
9283 2017-03-12 18:59:42 +0100  Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
9284
9285         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
9286         * tests/test-display.c:
9287           O_CLOEXEC needs _GNU_SOURCE defined
9288           From man open(2):
9289           The O_CLOEXEC, O_DIRECTORY, and O_NOFOLLOW flags are not specified
9290           in POSIX.1-2001, but are specified in POSIX.1-2008.  Since glibc
9291           2.12, one can obtain their definitions by defining either
9292           _POSIX_C_SOURCE with a value greater than or equal to 200809L or
9293           _XOPEN_SOURCE with a value greater than or equal to 700.  In glibc
9294           2.11 and earlier, one obtains the definitions by defining
9295           _GNU_SOURCE.
9296           And indeed, with the uClibc C library, O_CLOEXEC is not exposed if
9297           _GNU_SOURCE is not defined. Therefore, this commit fixes the build of
9298           gstreamer-vaapi with the uClibc C library.
9299           Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
9300           https://bugzilla.gnome.org/show_bug.cgi?id=779953
9301
9302 2017-03-14 16:07:08 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9303
9304         * README:
9305           README: fix "Sources" section
9306           Update the URL where the release source tarballs can be downloaded.
9307
9308 2017-03-12 21:39:53 +0100  Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
9309
9310         * README:
9311           README: fix "Reporting bugs" section
9312           The "Reporting bugs" section gives
9313           https://bugzilla.gnome.org/enter_bug.cgi?product=gstreamer-vaapi as the
9314           link to report a bug, but this link says "Sorry, entering a bug into the
9315           product gstreamer-vaapi has been disabled.".
9316           This commit fixes the URL to point to the proper location, and also
9317           removes the following paragraph that is no longer correct.
9318           Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
9319           https://bugzilla.gnome.org/show_bug.cgi?id=779954
9320
9321 2017-03-03 19:55:00 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9322
9323         * gst/vaapi/gstvaapipluginutil.c:
9324           plugins: retry to create the VA display
9325           Particularly in GNOME Wayland, the negotiated or created GL context
9326           defines a GLX environment, but VAAPI fails to create a GLX VA
9327           display because there is no a DRI2 connection.
9328           This patch retries to create the VA display if VA cannot create one
9329           with the GL context parameters. Now using the old list of display
9330           types.
9331           This should also work in the case of systems with two GPU, when the
9332           non-VAAPI has the graphics environment, and the VAAPI-enabled one
9333           shall work headless.
9334           https://bugzilla.gnome.org/show_bug.cgi?id=772838
9335
9336 2016-10-19 15:33:41 +0100  Julien Isorce <j.isorce@samsung.com>
9337
9338         * gst/vaapi/gstvaapipostproc.c:
9339           vaapipostproc: texture upload if driver supports GL
9340           Removes GstVideoGLTextureUploadMeta caps feature if the driver
9341           doesn't support opengl.
9342           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9343           https://bugzilla.gnome.org/show_bug.cgi?id=772838
9344
9345 2016-10-25 17:48:47 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9346
9347         * gst/vaapi/gstvaapidecode.c:
9348           vaapidecode: texture upload if driver supports GL
9349           When the allowed source pad caps are generated, the GLTextureUpload caps are
9350           only inserted if the driver support OpenGL.
9351           https://bugzilla.gnome.org/show_bug.cgi?id=772838
9352
9353 2017-02-22 15:02:01 -0800  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
9354
9355         * configure.ac:
9356           configure: Add missing compiler flags
9357           The AC_CHECK_HEADERS macro was failing to locate some headers, in
9358           particular the va_enc_* headers due to missing compiler flags.
9359           https://bugzilla.gnome.org/show_bug.cgi?id=779101
9360           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9361
9362 2017-03-01 14:48:46 +0900  Hyunjun Ko <zzoon@igalia.com>
9363
9364         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
9365           libs: window: wayland: handle more VAStatus to use vpp
9366           Since the commit landed https://github.com/01org/intel-vaapi-driver/pull/55,
9367           we should consider more returned VAStatus to use vpp.
9368           https://bugzilla.gnome.org/show_bug.cgi?id=779400
9369
9370 2017-02-23 15:16:06 +0900  Hyunjun Ko <zzoon@igalia.com>
9371
9372         * gst-libs/gst/vaapi/gstvaapiencoder.c:
9373           libs: encoder: ensure profile when context initialization
9374           We can't be sure that encoder's profile is assgined already or not
9375           at context initialization.
9376           https://bugzilla.gnome.org/show_bug.cgi?id=779120
9377
9378 2017-02-23 15:13:59 +0900  Hyunjun Ko <zzoon@igalia.com>
9379
9380         * gst-libs/gst/vaapi/gstvaapiencoder.c:
9381           libs: encoder: set rate control info only when query succeed
9382           Currently, it set rate control information even when query fails.
9383           In addition, it doesn't update any more since the flag
9384           got_rate_control_mask is set to TRUE.
9385           https://bugzilla.gnome.org/show_bug.cgi?id=779120
9386
9387 2017-02-24 16:00:23 +0200  Sebastian Dröge <sebastian@centricular.com>
9388
9389         * meson.build:
9390           meson: Update version
9391
9392 2017-02-24 15:38:22 +0200  Sebastian Dröge <sebastian@centricular.com>
9393
9394         * configure.ac:
9395           Back to development
9396
9397 === release 1.11.2 ===
9398
9399 2017-02-24 15:10:21 +0200  Sebastian Dröge <sebastian@centricular.com>
9400
9401         * ChangeLog:
9402         * NEWS:
9403         * configure.ac:
9404         * gstreamer-vaapi.doap:
9405           Release 1.11.2
9406
9407 2017-02-16 18:37:59 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9408
9409         * gst/vaapi/gstvaapiencode.c:
9410           vaapiencode: merge tags for downstream's info
9411           Add encoder and codec name and the bitrate into the output for
9412           informational purposes. Some muxers or application use it as
9413           media metadata.
9414           https://bugzilla.gnome.org/show_bug.cgi?id=778781
9415
9416 2017-02-17 01:27:52 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9417
9418         * gst-libs/gst/vaapi/gstvaapiencoder.c:
9419           libs: encoder: caps can change at any time
9420           The encoder should be able to change its caps even it is already
9421           processing a stream.
9422           This is suppose to happen after a flush so the codedbuf_queue should
9423           be empty.
9424           https://bugzilla.gnome.org/show_bug.cgi?id=775490
9425
9426 2017-02-17 01:19:00 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9427
9428         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
9429           libs: encoder: h265: bail if nal unit type fails
9430           Bail out if the NAL unit type is not recognized.
9431           https://bugzilla.gnome.org/show_bug.cgi?id=778782
9432
9433 2017-02-16 18:11:50 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9434
9435         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9436         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
9437           libs: decoder: h264,h265 avoid uninitialized variable
9438           Configuring GCC to verify possible usage of uninitialized variables,
9439           shows that found_index might be used without previous assignation.
9440           This patch assigns a initial value to found_index, also avoid a
9441           branching when returning the result value.
9442           https://bugzilla.gnome.org/show_bug.cgi?id=778782
9443
9444 2017-02-13 16:39:41 -0800  Scott D Phillips <scott.d.phillips@intel.com>
9445
9446         * configure.ac:
9447         * gst-libs/gst/vaapi/Makefile.am:
9448         * gst/vaapi/gstvaapidecode.c:
9449         * gst/vaapi/gstvaapidecodebin.c:
9450           build: rename USE_HEVC_DECODER to USE_H265_DECODER
9451           Rename to be consistent with H.264 and also H.265 encoder. The
9452           meson build assumed this was already consistently named, and so
9453           previously was not able to actually build the H.265 decoder.
9454           https://bugzilla.gnome.org/show_bug.cgi?id=778576
9455
9456 2017-02-15 19:14:59 +0000  Tim-Philipp Müller <tim@centricular.com>
9457
9458         * meson.build:
9459           meson: gstreamer-codecparsers is a required dep
9460           Just like in configure.ac.
9461
9462 2017-02-15 00:26:21 +0000  Tim-Philipp Müller <tim@centricular.com>
9463
9464         * Makefile.am:
9465           meson: dist meson build files
9466           Ship meson build files in tarballs, so people who use tarballs
9467           in their builds can start playing with meson already.
9468
9469 2017-02-10 09:51:38 +0900  Hyunjun Ko <zzoon@igalia.com>
9470
9471         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
9472           libs: encoder: vp8: add CBR encoding mode
9473           This patch enables the Constant BitRate encoding mode in VP8 encoder.
9474           Basically it adds the configuration parameters required by libva to
9475           CBR enconding.
9476           Original-Patch-By: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9477           https://bugzilla.gnome.org/show_bug.cgi?id=749950
9478
9479 2017-02-09 12:39:19 +0900  Hyunjun Ko <zzoon@igalia.com>
9480
9481         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
9482           libs: encoder: vp8: fix bitrate calculation
9483           Base encoder's unit of bitrate is in Kbps. We should honor it so
9484           we use the value of bitrate in VA, in which is expressed in bps.
9485           https://bugzilla.gnome.org/show_bug.cgi?id=749950
9486
9487 2017-02-09 12:49:44 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9488
9489         * gst/vaapi/gstvaapipluginbase.c:
9490           plugins: fix build when gcc
9491           In commit a8e482f9 we added a function without parameters, but gcc
9492           doesn't like that.
9493
9494 2017-02-06 15:46:20 -0800  Scott D Phillips <scott.d.phillips@intel.com>
9495
9496         * gst-libs/gst/base/meson.build:
9497         * gst-libs/gst/meson.build:
9498         * gst-libs/gst/vaapi/meson.build:
9499         * gst-libs/meson.build:
9500         * gst/meson.build:
9501         * gst/vaapi/meson.build:
9502         * meson.build:
9503         * meson_options.txt:
9504           vaapi: add meson build
9505           https://bugzilla.gnome.org/show_bug.cgi?id=778250
9506
9507 2017-02-08 10:17:40 -0800  Scott D Phillips <scott.d.phillips@intel.com>
9508
9509         * configure.ac:
9510         * gst-libs/gst/vaapi/Makefile.am:
9511         * gst-libs/gst/vaapi/gstvaapidisplay.c:
9512         * gst-libs/gst/vaapi/gstvaapiversion.h.in:
9513           make: remove gstvaapiversion.h generation
9514           https://bugzilla.gnome.org/show_bug.cgi?id=778250
9515
9516 2016-10-19 15:47:41 +0100  Julien Isorce <j.isorce@samsung.com>
9517
9518         * gst/vaapi/gstvaapipluginbase.c:
9519           plugins: use linear storage if not the same device
9520           When dmabuf is negotiated downstream and decoding and rendering are
9521           not done on the same device, the layout has to be linear in order for
9522           the memory to be shared accross devices, since each device has its
9523           own way to do tiling.
9524           Right now this code is rather just a to-do comment, since we are not
9525           fetching the device ids.
9526           https://bugzilla.gnome.org/show_bug.cgi?id=755072
9527
9528 2017-02-08 14:17:05 +0900  Hyunjun Ko <zzoon@igalia.com>
9529
9530         * gst-libs/gst/vaapi/gstvaapiutils.c:
9531           libs: utils: add HEVC profiles representation
9532           https://bugzilla.gnome.org/show_bug.cgi?id=778318
9533
9534 2017-02-07 16:17:39 +0900  Hyunjun Ko <zzoon@igalia.com>
9535
9536         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9537           libs: decoder: h264: reduce frame number of gaps
9538           Reduce frame num gaps so that we don't have to create unnecessary
9539           dummy pictures, just throw them away.
9540           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9541           https://bugzilla.gnome.org/show_bug.cgi?id=777506
9542
9543 2016-10-16 01:04:09 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9544
9545         * gst/vaapi/gstvaapidecode.c:
9546           vaapidecode: don't GLTextureUpload if dmabuf
9547           Do not add the meta:GstVideoGLTextureUploadMeta feature if the render
9548           element can handle dmabuf-based buffers, avoiding its negotiation.
9549
9550 2016-10-19 16:21:21 +0100  Julien Isorce <j.isorce@samsung.com>
9551
9552         * gst/vaapi/gstvaapidecode.c:
9553           vaapidecode: make pool to export decoder's surface
9554           Use new -base API gst_video_decoder_allocate_output_frame_full() to
9555           pass the current proxy/surface to the pool.
9556           The pool will will export thins given surface instead of exporting a
9557           brand new surface that will never be filled in with meaningfull data.
9558           https://bugzilla.gnome.org/show_bug.cgi?id=755072
9559
9560 2017-02-03 17:06:29 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9561
9562         * gst/vaapi/gstvaapipluginbase.c:
9563           plugins: decoder can negotiate dmabuf downstream
9564
9565 2016-10-19 16:07:07 +0100  Julien Isorce <j.isorce@samsung.com>
9566
9567         * gst/vaapi/gstvaapivideobufferpool.c:
9568           vaapivideobufferpool: override acquire_buffer()
9569           Overriding the vmethod acquire_buffer() it is possible to attach the
9570           right GstMemory to the current acquired buffer.
9571           As a matter of fact, this acquired buffer may contain any instantiated
9572           GstFdmemory, since this buffer have been popped out from the buffer
9573           pool, which is a FIFO queue. So there is no garantee that this buffer
9574           matches with the current processed surface. Evenmore, the VA driver
9575           might not use a FIFO queue. Therefore, it is no way to guess on the
9576           ordering.
9577           In short, acquire_buffer on the VA driver and on the buffer pool return
9578           none matching data, we have to manually attach the right GstFdMemory to
9579           the acquired GstBuffer. The right GstMemory is the one associated with
9580           the current surface.
9581           https://bugzilla.gnome.org/show_bug.cgi?id=755072
9582
9583 2016-10-19 16:05:04 +0100  Julien Isorce <j.isorce@samsung.com>
9584
9585         * gst/vaapi/gstvaapivideobufferpool.c:
9586         * gst/vaapi/gstvaapivideomemory.c:
9587           vaapivideomemory: export surface if it is provided
9588           gst_vaapi_dmabuf_memory_new() always exports a surface. Previously, it
9589           had to create that surface. Now it can also export an already provided
9590           surface. It is useful to export decoder's surfaces (from VA context).
9591           https://bugzilla.gnome.org/show_bug.cgi?id=755072
9592
9593 2016-10-19 15:55:27 +0100  Julien Isorce <j.isorce@samsung.com>
9594
9595         * gst/vaapi/gstvaapivideobufferpool.h:
9596           vaapivideobufferpool: add GstVaapiVideoBufferPoolAcquireParams
9597           Useful to let the pool know the current surface proxy when calling
9598           gst_buffer_pool_alloc_buffer() / gst_buffer_pool_acquire_buffer()
9599           https://bugzilla.gnome.org/show_bug.cgi?id=755072
9600
9601 2016-10-19 15:09:34 +0100  Julien Isorce <j.isorce@samsung.com>
9602
9603         * gst-libs/gst/vaapi/gstvaapisurface.c:
9604         * gst-libs/gst/vaapi/gstvaapisurface.h:
9605           libs: surface: add gst_vaapi_surface_{set,peek}_buffer_proxy()
9606           These functions are useful when a dmabuf-based memory is instantiated in
9607           order to relate the generated buffer @proxy with the processed @surface.
9608           https://bugzilla.gnome.org/show_bug.cgi?id=755072
9609
9610 2016-10-19 15:07:31 +0100  Julien Isorce <j.isorce@samsung.com>
9611
9612         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
9613         * gst-libs/gst/vaapi/gstvaapibufferproxy.h:
9614         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
9615           libs: bufferproxy: gst_vaapi_buffer_proxy_{set,peek}_mem()
9616           This patch adds a GstMemory as a variable member of the buffer proxy,
9617           because we will need to associate the buffer proxy with the memory
9618           which exposes it. Later, we will know which memory, in the video buffer
9619           pool, is attached to the processed surface.
9620           https://bugzilla.gnome.org/show_bug.cgi?id=755072
9621
9622 2016-10-19 15:33:41 +0100  Julien Isorce <j.isorce@samsung.com>
9623
9624         * gst/vaapi/gstvaapipostproc.c:
9625           vaapipostproc: don't GLTextureUpload if dmabuf
9626           Do not add the meta:GstVideoGLTextureUploadMeta feature if the render
9627           element can handle dmabuf-based buffers, avoiding its negotiation.
9628           Similar as "vaapidecode: do not add meta:GstVideoGLTextureUploadMeta
9629           feature if can dmabuf"
9630           https://bugzilla.gnome.org/show_bug.cgi?id=755072
9631
9632 2016-12-16 14:12:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9633
9634         * gst/vaapi/gstvaapipluginbase.c:
9635           plugins: enable DMAbuf allocator to downstream
9636           If the negotiated caps are raw caps and downstream supports the
9637           EGL_EXT_image_dma_buf_import extension, then the created allocator
9638           is the DMAbuf, configured to downstream.
9639           At this moment, the only element which can push dmabuf-based buffers
9640           to downstream, is vaapipostproc.
9641
9642 2016-06-02 22:13:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9643
9644         * gst/vaapi/gstvaapipluginbase.c:
9645         * gst/vaapi/gstvaapipluginbase.h:
9646           plugins: check if negotiate dmabuf with downstream
9647           In order to enable, in the future, dmabuf-based buffers, the vaapi base
9648           plugin needs to check if downstream can import dmabuf buffers.
9649           This patch checks if downstream can handle dmabuf, by introspecting the
9650           shared GL context. If the GL context is EGL/GLES2 and have the extension
9651           EGL_EXT_image_dma_buf_import, then dmabuf can be negotiated.
9652           Original-patch-by: Julien Isorce <j.isorce@samsung.com>
9653
9654 2016-10-19 15:37:04 +0100  Julien Isorce <j.isorce@samsung.com>
9655
9656         * gst/vaapi/gstvaapivideomemory.c:
9657           vaapivideomemory: release proxy's data if downstream
9658           The surface created for downstream is going to be filled by VAAPI
9659           elements. So, the driver needs write access on that surface.
9660           This patch releases the derived image held by the proxy, thus the
9661           surface is unmarked as busy.
9662           This is how it has to be done as discussed on libva mailing list.
9663           https://bugzilla.gnome.org/show_bug.cgi?id=755072
9664
9665 2016-10-19 15:01:04 +0100  Julien Isorce <j.isorce@samsung.com>
9666
9667         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
9668         * gst-libs/gst/vaapi/gstvaapibufferproxy.h:
9669           libs: bufferproxy: add gst_vaapi_buffer_proxy_release_data()
9670           Adds an API to request the user's data release in the buffer proxy.
9671           https://bugzilla.gnome.org/show_bug.cgi?id=755072
9672
9673 2016-10-19 15:27:03 +0100  Julien Isorce <j.isorce@samsung.com>
9674
9675         * gst/vaapi/gstvaapipluginbase.c:
9676         * gst/vaapi/gstvaapivideomemory.c:
9677         * gst/vaapi/gstvaapivideomemory.h:
9678           vaapivideomemory: add direction to dmabuf allocator
9679           Add GstPadDirection param to gst_vaapi_dmabuf_allocator_new(), thus
9680           we later could do different thing when the allocated memory is for
9681           upstream or dowstream, as required by VA-API.
9682           https://bugzilla.gnome.org/show_bug.cgi?id=755072
9683
9684 2016-12-15 15:59:30 +0900  Hyunjun Ko <zzoon@igalia.com>
9685
9686         * gst-libs/gst/vaapi/gstvaapiutils_core.c:
9687           libs: utils: return NULL if failed to get surface formats
9688           Thus, when generating the allowed caps, the element will throw a
9689           warning and it will use its caps template.
9690           This behavior might be a bug in the VA driver.
9691           https://bugzilla.gnome.org/show_bug.cgi?id=775490
9692
9693 2015-11-26 18:21:08 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9694
9695         * gst-libs/gst/vaapi/gstvaapidisplay.c:
9696           Revert "vaapidisplay: mark X11 display as compatible with EGL"
9697           This reverts commit 200b1baabc066f8a4102f82f539655d588200ec9.
9698
9699 2017-02-01 14:32:45 +0900  Hyunjun Ko <zzoon@igalia.com>
9700
9701         * gst/vaapi/gstvaapipostproc.c:
9702           vaapipostproc: set GST_VAAPI_POSTPROC_FLAG_SIZE according to src caps
9703           A value of width/height property should be set to out caps,
9704           if negotiation had been going properly.
9705           So we can use srcpad_info when making decision of scaling.
9706           https://bugzilla.gnome.org/show_bug.cgi?id=778010
9707
9708 2017-01-27 12:10:54 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9709
9710         * gst/vaapi/gstvaapidecode.c:
9711         * gst/vaapi/gstvaapiencode.c:
9712         * gst/vaapi/gstvaapipluginutil.c:
9713         * gst/vaapi/gstvaapipluginutil.h:
9714         * gst/vaapi/gstvaapipostproc.c:
9715         * gst/vaapi/gstvaapisink.c:
9716           plugins: handle GL params through context query
9717           If the element instantiated the GL display and context, they should
9718           handle them too through the context query.
9719           https://bugzilla.gnome.org/show_bug.cgi?id=777409
9720
9721 2017-01-26 12:02:56 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9722
9723         * gst/vaapi/gstvaapipluginbase.c:
9724         * gst/vaapi/gstvaapipluginbase.h:
9725         * gst/vaapi/gstvaapipluginutil.c:
9726           plugins: create a GL context on certain conditions
9727           If a GstVaapiDisplay is not found in the GStreamer context sharing,
9728           then VAAPI elements look for a local GstGLContext in gst context
9729           sharing mechanism ('gst.gl.local.context').
9730           If this GstGLContext not found either then, only the VAAPI decoders
9731           and the VAAPI post-processor, will try to instantiate a new
9732           GstGLContext.
9733           If a valid GstGLContext is received, then a new GstVaapiDisplay will
9734           be instantiated with the platform, API and windowing specified by the
9735           instantiated GstGLContext.
9736           Original-Patch-By: Matt Fischer <matt.fischer@garmin.com>
9737           https://bugzilla.gnome.org/show_bug.cgi?id=777409
9738
9739 2016-08-02 15:48:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9740
9741         * gst/vaapi/gstvaapivideocontext.c:
9742           vaapivideocontext: context type can be rejected
9743           Instead of calling g_return_val_if_fail() to check the context type, we
9744           should use a normal conditional, since it is possible that other context types
9745           can arrive and try to be assigned. Otherwise a critical log message is
9746           printed.
9747           This happens when we use playbin3 with vaapipostproc as video-filter.
9748           https://bugzilla.gnome.org/show_bug.cgi?id=777409
9749
9750 2017-01-20 19:57:52 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9751
9752         * gst/vaapi/gstvaapipostprocutil.c:
9753           vaapipostproc: use sink caps par if not requested
9754           Use the sink caps pixel-aspect-ratio to fixate the src caps, if it
9755           is not already set.
9756           https://bugzilla.gnome.org/show_bug.cgi?id=777395
9757
9758 2017-01-20 19:00:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9759
9760         * gst/vaapi/gstvaapipostproc.c:
9761         * gst/vaapi/gstvaapipostprocutil.c:
9762           vaapipostproc: set interlace mode
9763           if the vaapipostproc is configured to not do deinterlacing, the
9764           interlace-mode in the src caps should be the same as the input caps.
9765           https://bugzilla.gnome.org/show_bug.cgi?id=777395
9766
9767 2017-01-20 16:10:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9768
9769         * gst/vaapi/gstvaapisink.c:
9770           vaapisink: fix gcc compiler warning
9771           warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
9772
9773 2017-01-12 19:54:41 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9774
9775         * gst/vaapi/gstvaapisink.c:
9776           vaapisink: don't use member variable outside lock
9777           Thus a race condition segfault is avoided.
9778           Original-patch-by: Matt Staples <staples255@gmail.com>
9779           https://bugzilla.gnome.org/show_bug.cgi?id=777146
9780
9781 2017-01-18 17:20:21 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9782
9783         * gst/vaapi/gstvaapipluginbase.c:
9784         * gst/vaapi/gstvaapipostproc.c:
9785           plugins: avoid log flood when activating pool
9786           Every time a new buffer is allocated, the pool is activated. This
9787           doesn't impact in performance since gst_buffer_pool_set_active()
9788           checks the current state of the pool. Nonetheless it logs out a
9789           message if the state is the same, and it floods the logging subsystem
9790           if it is enabled.
9791           To avoid this log flooding first the pool state is checked before
9792           changing it.
9793
9794 2017-01-13 21:26:15 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9795
9796         * gst-libs/gst/vaapi/gstvaapidecoder.c:
9797         * gst-libs/gst/vaapi/gstvaapidecoder.h:
9798         * gst/vaapi/gstvaapidecode.c:
9799         * gst/vaapi/gstvaapidecode.h:
9800           vaapidecode: update internal decoder sink caps
9801           When a new sink caps arrive the internal decoder state is updated
9802           and, if it is, request a downstream renegotiation.
9803           Previously, when new caps arrived the whole decoder where destroyed
9804           and recreated. Now, if the caps are compatible or has the same codec,
9805           the internal decoder is kept, but a downstream renegotiation is
9806           requested.
9807           https://bugzilla.gnome.org/show_bug.cgi?id=776979
9808
9809 2017-01-12 16:33:13 +0200  Sebastian Dröge <sebastian@centricular.com>
9810
9811         * configure.ac:
9812           Back to development
9813
9814 === release 1.11.1 ===
9815
9816 2017-01-12 16:27:12 +0200  Sebastian Dröge <sebastian@centricular.com>
9817
9818         * ChangeLog:
9819         * NEWS:
9820         * configure.ac:
9821         * gstreamer-vaapi.doap:
9822           Release 1.11.1
9823
9824 2017-01-12 12:49:55 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9825
9826         * gst-libs/gst/vaapi/gstvaapiutils.c:
9827           vaapi: bump ifdef to API 0.40.0 for log redirect
9828           vaSetInfoCallback() is not released yet. It is going to appear in
9829           VA-API 0.40.0
9830
9831 2017-01-12 13:45:29 +0200  Sebastian Dröge <sebastian@centricular.com>
9832
9833         * gst-libs/gst/vaapi/gstvaapiutils.c:
9834           vaapiutils: Fix compilation with latest and previous libva releases
9835           vaSetInfoCallback() was defined after 0.39.4 / 1.7.3, so check for
9836           0.39.5 instead.
9837
9838 2017-01-11 16:04:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9839
9840         * gst-libs/gst/vaapi/gstvaapidisplay.c:
9841         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
9842         * gst-libs/gst/vaapi/gstvaapiutils.c:
9843         * gst-libs/gst/vaapi/gstvaapiutils.h:
9844           libs: display: redirect logging at initialize
9845           Redirect libva's logs to GStreamer logging mechanism. This is
9846           particularly useful when VA is initialized, because it always logs
9847           out the drivers details.
9848           In order to achieve this a new helper function was added as a wrapper
9849           for the vaInitialize() function.
9850           https://bugzilla.gnome.org/show_bug.cgi?id=777115
9851
9852 2017-01-10 15:15:31 +0900  Hyunjun Ko <zzoon@igalia.com>
9853
9854         * gst/vaapi/gstvaapipluginbase.c:
9855           plugins: provide at least two buffers in sink pool
9856           Adds two buffers as the default value of minimum buffer.
9857           This would be used when creating and proposing vaapi bufferpool for
9858           sink pad, hence the upstream element will keep, at least, these two
9859           buffers.
9860           https://bugzilla.gnome.org/show_bug.cgi?id=775203
9861           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9862
9863 2017-01-10 13:49:27 +0900  Hyunjun Ko <zzoon@igalia.com>
9864
9865         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
9866           libs: decoder: h264: don't update cloned attributes
9867           If the frame is a cloned picture, its PTS comes from its parent
9868           picture.  In addition, the base decoder doesn't set a valid PTS to
9869           the frame corresponding to the cloned picture.
9870           https://bugzilla.gnome.org/show_bug.cgi?id=774254
9871
9872 2017-01-09 19:25:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9873
9874         * gst/vaapi/gstvaapivideomemory.c:
9875           vaapivideomemory: check for display
9876           This patch fixes the check of display, rather than check for the
9877           meta, which it is known it exists.
9878
9879 2017-01-09 16:23:56 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9880
9881         * gst/vaapi/gstvaapivideomemory.c:
9882         * gst/vaapi/gstvaapivideomemory.h:
9883           vaapivideomemory: rename dmabuf allocator parameters
9884           Rename the parameters 'vip' and 'flags' to 'alloc_info' and
9885           'surface_alloc_flags' respectively. The purpose of this change is
9886           to auto-document those parameters.
9887           Also, aligned to this patch, the local 'alloc_info' variable was
9888           renamed as 'surface_info', because it stores the possible surface's
9889           video info, not the allocate one.
9890
9891 2017-01-09 16:18:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9892
9893         * gst/vaapi/gstvaapivideomemory.c:
9894         * gst/vaapi/gstvaapivideomemory.h:
9895           vaapivideomemory: rename vip to alloc_info parameter
9896           In order to auto-document the code, this patch renames the 'vip'
9897           parameter in the functions related to gst_vaapi_video_allocator_new ()
9898           to 'alloc_info', since it declares the allocation video info from
9899           the vaapi buffer pool.
9900
9901 2017-01-09 16:08:17 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9902
9903         * gst/vaapi/gstvaapivideomemory.c:
9904           vaapivideomemory: use GST_VIDEO_INFO_FORMAT_STRING()
9905           Use the existing local macro GST_VIDEO_INFO_FORMAT_STRING() to get
9906           the video format string.
9907
9908 2017-01-09 12:51:11 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9909
9910         * gst/vaapi/gstvaapivideomemory.c:
9911           vaapivideomemory: unroll gst_vaapi_surface_new_with_format()
9912           gst_vaapi_surface_new_with_format() is a wrapper for
9913           gst_vaapi_surface_new_full (). In this case, the former is simpler
9914           than the first. This patch changes that.
9915
9916 2017-01-04 19:23:06 +0900  Hyunjun Ko <zzoon@igalia.com>
9917
9918         * gst/vaapi/gstvaapipostproc.c:
9919           vaapipostproc: notify if src pad caps changed
9920           If src pad caps have changed, it needs to notify it downstream. In
9921           addition, do not set passthrough if they have changed.
9922           Otherwise, transform sometimes starts processing before caps change.
9923           The passthrough value will be set in fixate later in this case.
9924           https://bugzilla.gnome.org/show_bug.cgi?id=775204
9925
9926 2016-12-14 15:51:01 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9927
9928         * gst/vaapi/gstvaapidecodebin.c:
9929           vaapidecodebin: capsfilter to optimize negotiation
9930           Add a capsfilter forcing the caps
9931           "video/x-raw(memory:VASurface), format=(string)NV12" between the
9932           queue and the vaapipostproc so no renegotiation is required.
9933           https://bugzilla.gnome.org/show_bug.cgi?id=776175
9934
9935 2016-12-21 17:38:07 +0900  Hyunjun Ko <zzoon@igalia.com>
9936
9937         * gst/vaapi/gstvaapivideomemory.c:
9938           vaapivideomemory: fail surface/image configuration
9939           To detect and handle errors during allocator_configure_surface_info()
9940           and allocator_conigure_image_info().
9941           https://bugzilla.gnome.org/show_bug.cgi?id=776084
9942           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9943
9944 2016-12-21 17:50:41 +0900  Hyunjun Ko <zzoon@igalia.com>
9945
9946         * gst/vaapi/gstvaapisink.c:
9947           vaapisink: ensures raw caps at start()
9948           Calls gst_vaapi_plugin_base_get_allowed_raw_caps() at start() to avoid
9949           race conditions at get_caps(), especially with multiple src elements.
9950           https://bugzilla.gnome.org/show_bug.cgi?id=776303
9951
9952 2016-12-09 14:51:52 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9953
9954         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
9955           libs: surface: fix error handling code style
9956
9957 2016-12-09 16:14:14 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9958
9959         * gst/vaapi/gstvaapivideomemory.c:
9960           vaapivideomemory: add gst_video_info_update_from_surface()
9961           With this function is possible to refactor and remove duplicated code
9962           between dmabuf configuration and direct rendering/uploading
9963           configuration.
9964
9965 2016-12-09 15:51:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9966
9967         * gst/vaapi/gstvaapivideomemory.c:
9968           vaapivideomemory: no log object at initialization
9969           When an instance of GstVaapiVideoAllocator fails at initializing, the
9970           log message should not include the allocator's object, because it is
9971           going to be unrefed.
9972
9973 2016-12-09 17:56:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9974
9975         * gst/vaapi/gstvaapidecode.c:
9976           vaapidecode: lock stream when setting caps
9977
9978 2016-12-09 17:42:42 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9979
9980         * gst/vaapi/gstvaapidecode.c:
9981           Revert "vaapidecode: implement negotiate() vmethod"
9982           This reverts commit 3285121181295c544480fc6ba756845b16285d30.
9983           videodecode's negotiate() vmethod is also called when events arrive,
9984           but this would mean that the proper configuration of sink pad might
9985           not be complete, thus we should not update the src pad.
9986           Let's keep the old non-vmethod negotitate().
9987
9988 2016-12-07 16:52:35 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
9989
9990         * gst/vaapi/gstvaapi.c:
9991           Revert "encoders: demote to RANK_NONE since not fit for autoplugging yet"
9992           This reverts commit f182b8be2ba05965e6d31a4d380d6563b9b53a77.
9993
9994 2016-12-01 18:57:10 +0900  Hyunjun Ko <zzoon@igalia.com>
9995
9996         * gst/vaapi/gstvaapiencode.c:
9997         * gst/vaapi/gstvaapiencode.h:
9998           vaapiencode: get surface formats in get_caps()
9999           Query for the supported surface formats in config at get_caps() vmethod.
10000           https://bugzilla.gnome.org/show_bug.cgi?id=769266
10001           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10002
10003 2016-12-07 11:26:37 +0100  Hyunjun Ko <zzoon@igalia.com>
10004
10005         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10006         * gst-libs/gst/vaapi/gstvaapiencoder.h:
10007           libs: encoder: add gst_vaapi_encoder_get_surface_formats()
10008           This method will return the valid surface formats in the current
10009           config. If the are no VAConfig it is created with the information
10010           available.
10011           https://bugzilla.gnome.org/show_bug.cgi?id=769266
10012           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10013
10014 2016-12-07 11:10:42 +0100  Hyunjun Ko <zzoon@igalia.com>
10015
10016         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10017           libs: encoder: split set_context_info()
10018           Split set_context_info() adding init_context_info() which only
10019           initialises the GstVaapiContextInfo structure inside GstVaapiEncoder
10020           required for VAConfig.
10021           https://bugzilla.gnome.org/show_bug.cgi?id=769266
10022           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10023
10024 2016-12-02 09:30:52 +0900  Hyunjun Ko <zzoon@igalia.com>
10025
10026         * gst-libs/gst/vaapi/gstvaapicontext.c:
10027           libs: context: skip VAContext if no frame size
10028           If GstVaapiContextInfo has just initial information, without frame's
10029           width and height, skip the creation of the VAContext, just keep the
10030           VAConfig.
10031           https://bugzilla.gnome.org/show_bug.cgi?id=769266
10032           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10033
10034 2016-12-02 09:28:07 +0900  Hyunjun Ko <zzoon@igalia.com>
10035
10036         * gst-libs/gst/vaapi/gstvaapicontext.c:
10037           libs: context: split context_create()
10038           Split the funcion context_create() into context_create() and
10039           config_create().
10040           Decoupling VAConfig and VAContext during context creation, we could
10041           query the VAConfig for the supported surface's formats without creating
10042           a VAContext.
10043           https://bugzilla.gnome.org/show_bug.cgi?id=769266
10044
10045 2016-12-06 17:33:42 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10046
10047         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
10048           libs: drm: find render node in hybrid system
10049           Originally the drm backend only tried to open the first render node
10050           found. But in hybrid system this first render node might not support
10051           VA-API (propietary Nvidia driver, for example).
10052           This patch tries all the available nodes until a finding one with a
10053           VA-API supported driver.
10054           https://bugzilla.gnome.org/show_bug.cgi?id=774811
10055           Original-patch-by: Stirling Westrup <swestrup@gmail.com> and
10056           Reza Razavi <reza@userful.com>
10057
10058 2016-11-14 17:45:55 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10059
10060         * gst/vaapi/gstvaapivideomemory.c:
10061           vaapivideomemory: refactor code for readability
10062           Added the inlined function allocator_configure_pools() moving out code
10063           from gst_vaapi_video_allocator_new() to make clear that it is a
10064           post-initalization of the object.
10065
10066 2016-11-14 17:40:37 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10067
10068         * gst/vaapi/gstvaapivideomemory.c:
10069           vaapivideomemory: log error if not VA image
10070           Log an error message if the test image for surface downloading
10071           cannot be allocated or mapped.
10072
10073 2016-11-14 17:33:41 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10074
10075         * gst/vaapi/gstvaapivideomemory.c:
10076           vaapivideomemory: remove unused macros
10077           These macros are not used. Let us remove them.
10078
10079 2016-11-11 19:45:45 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10080
10081         * gst/vaapi/gstvaapivideomemory.c:
10082         * gst/vaapi/gstvaapivideomemory.h:
10083           vaapivideomemory: rename video for allocation_info
10084           Since video_info stores the GstVideoInfo of the allocation caps,
10085           it is clear if we rename it as allocation_info, to distinguish it
10086           later from negotiation_info.
10087
10088 2016-10-19 15:27:03 +0100  Julien Isorce <j.isorce@samsung.com>
10089
10090         * gst/vaapi/gstvaapivideomemory.c:
10091         * gst/vaapi/gstvaapivideomemory.h:
10092           vaapivideomemory: add real GstVaapiDmaBufAllocator
10093           Instead of defining GstVaapiDmaBufAllocator as a hackish decorator of
10094           GstDmaBufAllocator, now, since the expose of the GstDmaBufAllocator's
10095           GType, GstVaapiDmaBufAllocator is a full feature GstAllocator inherited
10096           from GstDmaBufAllocator.
10097           https://bugzilla.gnome.org/show_bug.cgi?id=755072
10098           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10099
10100 2016-10-19 15:30:09 +0100  Julien Isorce <j.isorce@samsung.com>
10101
10102         * gst/vaapi/gstvaapivideomemory.c:
10103           vaapivideomemory: errors in gst_vaapi_dmabuf_allocator_new()
10104           Add a helper function to initialize the gst_debug_vaapivideomemory,
10105           to use it either by the GstVaapiVideoAllocatorClass or
10106           GstVaapiDmabufAllocator (which is a decorator of GstDmaBufAllocator).
10107           Later, log possible errors when calling gst_vaapi_dmabuf_allocator_new ()
10108           https://bugzilla.gnome.org/show_bug.cgi?id=755072
10109
10110 2016-11-29 15:14:32 +0900  Hyunjun Ko <zzoon@igalia.com>
10111
10112         * gst/vaapi/gstvaapiencode.c:
10113           vaapiencode: release internal encoder at stop()
10114           As the internal encoder is created at start(), let's release it at
10115           stop() vmethod, to be consistent.
10116           gst_vaapiencode_destroy() is called since it also resets the input and
10117           output states, which is something that the base class does internally
10118           after calling stop() vmethod.
10119           https://bugzilla.gnome.org/show_bug.cgi?id=769266
10120           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10121
10122 2016-12-03 08:20:56 +0100  Edward Hervey <bilboed@bilboed.com>
10123
10124         * common:
10125           Automatic update of common submodule
10126           From f49c55e to 39ac2f5
10127
10128 2016-11-29 14:59:02 +0900  Hyunjun Ko <zzoon@igalia.com>
10129
10130         * gst/vaapi/gstvaapiencode.c:
10131           vaapiencode: call ensure_encoder() at start()
10132           Currently, specific encoder is created during set_format(). This might
10133           lead to race condition when creating profiles with multiple encoders.
10134           This patch moves ensure_encoder() call to start() vmethod to ensure
10135           avoiding the race condition.
10136           https://bugzilla.gnome.org/show_bug.cgi?id=773546
10137
10138 2016-11-21 19:29:22 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10139
10140         * gst/vaapi/gstvaapidecodebin.c:
10141           vaapidecodebin: bring back dynamic configuration
10142           In commit ca0c3fd6 we remove the dynamic configuration if the bin
10143           because we assumed that the bin will be always static as it is
10144           registered.
10145           Nonetheless we were wrong, because it is possible to request, with a
10146           property, to avoid the use of the post-processor.
10147           Since we want to add a way to disable the post-processor through
10148           environment variables, this remove feature is required again.
10149           If the environment variable GST_VAAPI_DISABLE_VPP is defined the
10150           postprocessor inside of the vaapidecodebin is disabled, then
10151           vaapidecodebin is an alias of the old vaapidecode.
10152           https://bugzilla.gnome.org/show_bug.cgi?id=775041
10153
10154 2016-11-21 18:25:18 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10155
10156         * gst/vaapi/gstvaapidecode.c:
10157           vaapidecode: implement negotiate() vmethod
10158           Instead of decorating the negotiate() method, let us override it,
10159           so the stream is locked while called.
10160           https://bugzilla.gnome.org/show_bug.cgi?id=775040
10161
10162 2016-11-26 11:27:26 +0000  Tim-Philipp Müller <tim@centricular.com>
10163
10164         * .gitmodules:
10165           common: use https protocol for common submodule
10166           https://bugzilla.gnome.org/show_bug.cgi?id=775110
10167
10168 2016-11-24 21:17:54 +0100  Dominique Leuenberger <dimstar@opensuse.org>
10169
10170         * gst-libs/gst/vaapi/Makefile.am:
10171           build: add LIBVA_WAYLAND_CFLAGS to libgstvaapiegl
10172           In case libva-wayland has its headers not installed in default
10173           locations (like /usr/include), the build fails to include "wayland-client.h":
10174           CC       libgstvaapi_egl_la-gstvaapiutils_egl.lo
10175           In file included from gstvaapidisplay_wayland.h:27:0,
10176           from gstvaapidisplay_egl.c:35:
10177           /usr/include/va/va_wayland.h:31:28: fatal error: wayland-client.h: No such file or directory
10178           #include <wayland-client.h>
10179           As we already passed VA_CLAGS, /usr/include/va/va_wayland.h could be found, but it is
10180           our fault not to instruct the system that we ALSO care for va_wayland. We correctly query
10181           for libva-wayland.pc in configure and use this in other places as well. It is thus only
10182           correct and consequent, to do it also at this spot.
10183           https://bugzilla.gnome.org/show_bug.cgi?id=773946
10184
10185 2015-10-28 12:55:18 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10186
10187         * gst/vaapi/gstvaapivideocontext.c:
10188           vaapivideocontext: log a message if no bus
10189           Raise a warning if there is no bus when the element tries to post a
10190           message.
10191
10192 2015-10-28 12:57:14 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10193
10194         * gst/vaapi/gstvaapisink.c:
10195           vaapisink: create display at open()
10196           Instead of creating the VA display before setting the bus to the
10197           element, it is created when the element is opened.
10198           Basically, this commit is a revert of
10199           5e5d62cac79754ba60057fc2516135aad8d7de35
10200           That was done when the GStreamer's context sharing was not mature
10201           enough as now. There is no reason to keep this hack.
10202
10203 2016-11-04 18:04:36 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10204
10205         * gst/vaapi/gstvaapidecode.c:
10206           vaapidecode: don't add video crop meta
10207           Since the differentiation of negotiation caps and allocation caps,
10208           there is no need to add a video crop meta with the negotiation caps.
10209           Hence, removing it.
10210           https://bugzilla.gnome.org/show_bug.cgi?id=773948
10211
10212 2015-03-19 21:20:26 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
10213
10214         * gst/vaapi/gstvaapivideobuffer.c:
10215         * gst/vaapi/gstvaapivideometa.c:
10216         * gst/vaapi/gstvaapivideometa.h:
10217           remove the video converter from vaapi buffer meta
10218           Since all the video converter were deprecated in gstreamer-1.2, we don't need
10219           to handle them anymore in the vaapi's buffer meta.
10220           This patch removes its usage and the buffer meta's API for that.
10221           https://bugzilla.gnome.org/show_bug.cgi?id=745728
10222
10223 2016-11-21 18:28:18 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10224
10225         * gst/vaapi/gstvaapipluginbase.c:
10226           plugins: destroy source pad allocator and pool
10227           First, deactivate source pad pool when the out caps change, and if so,
10228           destroy texture map, the source pad allocator and pool only if the
10229           new caps are different from the ones already set.
10230
10231 2016-11-21 19:17:07 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10232
10233         * gst/vaapi/gstvaapipluginbase.c:
10234           plugins: don't destroy sink pad allocator
10235           Don't destroy sink pad allocator at _set_caps() because it will be done at
10236           ensure_sinkpad_buffer_pool() if it is required.
10237
10238 2016-11-21 18:27:00 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10239
10240         * gst/vaapi/gstvaapipluginbase.c:
10241           plugins: first validate the out caps
10242           When calling _set_caps() first validate the out caps before doing
10243           anything else.
10244
10245 2016-11-21 18:42:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10246
10247         * gst/vaapi/gstvaapidecode.c:
10248           vaapidecode: negotiate after destroying allocator
10249           This is related with bug 758907 when no vaapipostproc is used (no
10250           vaapidecodebin). In order to negotiate downstream we need to destroy
10251           the source pad allocator, otherwise the same allocated buffers are
10252           used, failing the mapping.
10253
10254 2016-11-21 16:35:34 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10255
10256         * gst/vaapi/gstvaapivideomemory.c:
10257           vaapivideomemory: remove GST_VAAPI_TYPE_VIDEO_INFO
10258           Remove redundant GST_VAAPI_TYPE_VIDEO_INFO, since it is a duplicate of
10259           GST_TYPE_VIDEO_INFO created before gstreamer 1.6, where the boxed type
10260           was created.
10261           https://bugzilla.gnome.org/show_bug.cgi?id=774782
10262
10263 2016-11-21 12:51:25 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10264
10265         * gst/vaapi/gstvaapipluginbase.c:
10266           plugins: update the src pad allocator video info
10267           Update the size, stride and offset of the source pad allocator video
10268           info, so the pool could set the correct GstVideoMeta
10269           https://bugzilla.gnome.org/show_bug.cgi?id=774782
10270
10271 2016-11-21 12:36:27 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10272
10273         * gst/vaapi/gstvaapivideomemory.c:
10274           vaapivideomemory: add missing documentation
10275           https://bugzilla.gnome.org/show_bug.cgi?id=774782
10276
10277 2016-11-21 12:29:26 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10278
10279         * gst/vaapi/gstvaapipluginbase.c:
10280           plugins: use early return without goto
10281           https://bugzilla.gnome.org/show_bug.cgi?id=774782
10282
10283 2016-11-21 11:25:21 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10284
10285         * gst/vaapi/gstvaapipluginbase.c:
10286         * gst/vaapi/gstvaapivideomemory.c:
10287         * gst/vaapi/gstvaapivideomemory.h:
10288           plugins: add allocator to allocation query
10289           This patch adds the created allocator to the allocation query either
10290           in decide_allocation() and propose_allocation() vmehtods.
10291           With it, there's no need to set the modified allocator's size in the
10292           pool configuration.
10293           https://bugzilla.gnome.org/show_bug.cgi?id=774782
10294
10295 2016-10-19 15:15:01 +0100  Julien Isorce <j.isorce@samsung.com>
10296
10297         * gst/vaapi/gstvaapivideobufferpool.c:
10298           vaapivideobufferpool: set correct buffer size
10299           We should set the correct buffer size when we are configuring the pool,
10300           otherwise the buffer will be discarded when it returns to the pool.
10301           Indeed when the ref-count of a buffer reaches zero, its pool will queue
10302           it back (and ref it) if, and only if, the buffer size matches the
10303           configured buffer size on the pool.
10304           This issue can be debugged with GST_DEBUG=*PERF*:6, see gstbufferpool.c
10305           https://bugzilla.gnome.org/show_bug.cgi?id=774782
10306
10307 2016-11-10 13:26:31 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10308
10309         * gst/vaapi/gstvaapivideomemory.c:
10310           vaapivideomemory: check for memory allocator
10311           When calling gst_vaapi_video_memory_copy() the allocator of the memory
10312           to copy should be allocated by the vaapi allocator.
10313           This patch does this verification.
10314
10315 2016-11-10 13:25:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10316
10317         * gst/vaapi/gstvaapivideomemory.c:
10318           vaapivideomemory: code style fixes
10319           A cosmetic commit for enhance readability of the casts and method
10320           preconditions.
10321
10322 2016-11-09 19:49:22 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10323
10324         * gst/vaapi/gstvaapivideomemory.c:
10325           vaapivideomemory: unroll gst_vaapi_video_allocator_free()
10326           Instead of having a gst_vaapi_video_memory_free() that is only going to
10327           be called by gst_vaapi_video_allocator_free(), let's just remove the first
10328           and merged into the second.
10329
10330 2016-11-09 19:29:12 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10331
10332         * gst/vaapi/gstvaapivideomemory.c:
10333           vaapivideomemory: avoid virtual methods casting
10334           Use the expected virtual method signatures for readability.
10335
10336 2016-11-09 18:58:20 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10337
10338         * gst/vaapi/gstvaapivideomemory.c:
10339           vaapivideomemory: remove unimplemented methods
10340           Remove unimplemented method for allocator mem_share() and mem_is_span().
10341
10342 2016-11-09 18:54:47 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10343
10344         * gst/vaapi/gstvaapivideomemory.c:
10345           vaapivideomemory: fail if frame map can't get plane
10346           If map() vmethod in GstVideMeta cannot get the plane data, return false,
10347           thus the caller will not try to read invalid memory.
10348           https://bugzilla.gnome.org/show_bug.cgi?id=774213
10349
10350 2016-11-09 18:39:06 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10351
10352         * gst/vaapi/gstvaapivideomemory.c:
10353         * gst/vaapi/gstvaapivideomemory.h:
10354           vaapivideomemory: lock map and unmap operations
10355           In order to avoid race condition when two threads call map/unmap the same
10356           VA surface, this patch mutex these operations.
10357           https://bugzilla.gnome.org/show_bug.cgi?id=774213
10358
10359 2016-11-09 17:37:06 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10360
10361         * gst/vaapi/gstvaapivideomemory.c:
10362           vaapivideomemory: refactor vaapi memory unmapping
10363           There were duplicated code in gst_video_meta_unmap_vaapi_memory() and
10364           gst_vaapi_video_memory_unmap() when unmapping.
10365           This patch refactors both methods adding the common function
10366           unmap_vaapi_memory(). This also ensures, if direct rendering is enabled, it
10367           is correctly reset.
10368           Additionally, only when mapping flag has the WRITE bit, it set the image as
10369           current, which was done in gst_video_meta_map_vaapi_memory() but no in
10370           gst_vaapi_video_memory_map().
10371           In order to make this, the mapping flags were required, so instead of
10372           overloading mem_unmap() virtual function, mem_unmap_full() is overloaded.
10373           https://bugzilla.gnome.org/show_bug.cgi?id=774213
10374
10375 2016-11-09 13:54:23 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10376
10377         * gst/vaapi/gstvaapivideomemory.c:
10378           vaapivideomemory: refactor vaapi memory mapping
10379           There were duplicated code in gst_video_meta_map_vaapi_memory() and
10380           gst_vaapi_video_memory_map() when doing the READ and WRITE mapping.
10381           This patch refactors both methods adding the common function
10382           map_vaapi_memory().
10383           Additionally, only when flag has the READ bit it calls
10384           ensure_images_is_current(), which was done in
10385           gst_video_meta_map_vaapi_memory() but no in
10386           gst_vaapi_video_memory_map().
10387           https://bugzilla.gnome.org/show_bug.cgi?id=772151
10388
10389 2016-10-27 18:22:18 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10390
10391         * gst/vaapi/gstvaapidecode.c:
10392           vaapidecode: unref allowed_sinkpad_caps at close()
10393           The variable member allowed_sinkpad_caps is constructed querying the
10394           current VA display. Bearing that in mind, the variable shall be freed
10395           when the VA display changes or is removed.
10396           This patch moves the freeing of allowed_sinkpad_caps to close(), when
10397           the VA display is freed.
10398
10399 2016-11-11 11:40:09 +0900  Hyunjun Ko <zzoon@igalia.com>
10400
10401         * gst/vaapi/gstvaapisink.c:
10402           vaapisink: finish event thread at stop()
10403           The thread that handles window's events should be finished during
10404           pipeline's shutdown, otherwise it will remain alive during pipeline
10405           re-activation, leading to unexpected problems.
10406           This patch fixes failures of intensive_state_change scenario of
10407           gst-validate
10408           https://bugzilla.gnome.org/show_bug.cgi?id=774241
10409
10410 2016-11-08 09:35:00 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10411
10412         * gst/vaapi/gstvaapipostproc.c:
10413           vaapipostproc: enhance debug message
10414           "gst_pad_push" is not a good description of the event.
10415
10416 2016-11-08 10:05:32 +0900  Hyunjun Ko <zzoon@igalia.com>
10417
10418         * gst/vaapi/gstvaapipostproc.c:
10419           postproc: honor gst_pad_push() return value
10420           Returning GST_FLOW_ERROR always when gst_pad_push fails might lead to
10421           deadlock during seek.
10422           This patch returns the same error of gst_pad_push() and log out the
10423           return value.
10424           https://bugzilla.gnome.org/show_bug.cgi?id=774030
10425
10426 2016-11-04 16:26:18 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10427
10428         * gst/vaapi/gstvaapidecode.c:
10429           vaapidecode: guard GST_VAAPI_MAKE_GLTEXUPLOAD_CAPS
10430           In commit 6d11a00 were introduced a regression when gstreamer-vaapi is
10431           compiled with out EGL/GLX support: it shall not support
10432           GST_VAAPI_MAKE_GLTEXUPLOAD_CAPS.
10433           This patch guards the inclusion of GST_VAAPI_MAKE_GLTEXUPLOAD_CAPS in the
10434           allowed src caps for vaapedecode if EGL/GLX.
10435
10436 2016-11-04 12:55:23 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10437
10438         * gst/vaapi/gstvaapivideomemory.c:
10439           vaapivideomemory: increment map counter only if succeeded
10440           Previously the frame map counter increased independently if the map succeeded
10441           or not. This leaded to critical messages and crashes if the frame was unable
10442           to be mapped, but the counter increased.
10443           This patch increases the map counter only if the map operation occurred.
10444           https://bugzilla.gnome.org/show_bug.cgi?id=773939
10445
10446 2016-11-03 17:30:46 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10447
10448         * gst/vaapi/gstvaapipluginbase.c:
10449           plugins: set negotiation caps in src allocator
10450           When the allocator is created, it stores the allocation caps. But sometimes
10451           the "allocation caps" may be different from the "negotiation caps".
10452           In this case, the allocator should store the negotiation caps since they
10453           are the ones used for frame mapping with GstVideoMeta.
10454           When vaapispostproc is used, this is not a problem since the element is assume
10455           to resize. But when using a vaapi decoder only, with a software renderer, it
10456           fails in this case.
10457           https://bugzilla.gnome.org/show_bug.cgi?id=773323
10458
10459 2016-07-19 16:40:10 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10460
10461         * gst/vaapi/gstvaapidecode.c:
10462         * gst/vaapi/gstvaapidecode.h:
10463           vaapidecode: generate source pad caps
10464           Just as vaapipostproc, VA decoder's context can be queried to get the possible
10465           raw formats, so, the src caps can negotiate the exact caps that the context
10466           supports.
10467
10468 2016-02-25 18:57:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10469
10470         * gst-libs/gst/vaapi/gstvaapidecoder.c:
10471         * gst-libs/gst/vaapi/gstvaapidecoder.h:
10472           libs: decoder: add _get_surface_formats()
10473           This function exposes the available formats of the surfaces in the the current
10474           context to the plugins.
10475
10476 2016-02-18 19:32:58 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10477
10478         * gst-libs/gst/vaapi/gstvaapicontext.c:
10479         * gst-libs/gst/vaapi/gstvaapicontext.h:
10480           libs: context: ensure context formats
10481           This patch ensures to get the formats, as filter does, available in the
10482           decoder / encoder context.
10483           The context fills up the array as soon it is created, otherwise the pipeline
10484           could get stalled (perhaps this is a bug in my HSW backend).
10485           https://bugzilla.gnome.org/show_bug.cgi?id=752958
10486
10487 2016-02-18 19:20:10 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10488
10489         * gst-libs/gst/vaapi/gstvaapifilter.c:
10490         * gst-libs/gst/vaapi/gstvaapiutils_core.c:
10491         * gst-libs/gst/vaapi/gstvaapiutils_core.h:
10492           libs: move get_surface_formats to utils_core
10493           The query of all the supported formats for a VA config were only used by the
10494           postprocessor (vaapifilter). But, in order to enable the vaapidecoder to
10495           negotiate a suitable raw format with downstream, we need to query these
10496           formats against the decoder's config.
10497           This patch is the first step: moves the code in filter's ensure_image() to a
10498           generic gst_vaapi_get_surface_formats() in vaapiutils_core, so it can be
10499           shared later by the decoder.
10500           https://bugzilla.gnome.org/show_bug.cgi?id=752958
10501
10502 2016-07-19 18:56:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10503
10504         * gst/vaapi/gstvaapipluginbase.c:
10505           plugins: remove set_sinkpad_dmabuf_allocator()
10506           Since when the sink pad allocator is created, it is decided if the required
10507           one is vaapi allocator or dmabuf allocator, there is no need to force its set
10508           again.
10509
10510 2016-10-27 11:25:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10511
10512         * gst/vaapi/gstvaapipluginbase.c:
10513           plugins: ensure display when getting raw caps
10514           When running gst-discoverer-1.0, in certain media, vaapipostroc is stopped
10515           meanwhile it is transforming caps. The problem is that stop() calls
10516           gst_vaapi_plugin_base_close(), which nullifies the element's va display, but
10517           the va display is used in tranform_caps() when it is extracting the possible
10518           format conversions. This display disappearing generates warning messages.
10519           This patch holds a local reference of va display at ensure_allowed_raw_caps()
10520           hence it doesn't go away meanwhile it is used, even if the
10521           gst_vaapi_plugin_base_close() is called in other thread.
10522           https://bugzilla.gnome.org/show_bug.cgi?id=773593
10523
10524 2016-11-03 12:54:23 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10525
10526         * gst/vaapi/gstvaapiencode_h264.c:
10527         * gst/vaapi/gstvaapiencode_h265.c:
10528           plugins: fix code style for errors
10529
10530 2016-10-19 19:04:20 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10531
10532         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
10533         * gst-libs/gst/vaapi/gstvaapicodedbuffer.c:
10534         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.c:
10535         * gst-libs/gst/vaapi/gstvaapicontext.c:
10536         * gst-libs/gst/vaapi/gstvaapicontext_overlay.c:
10537         * gst-libs/gst/vaapi/gstvaapidecoder.c:
10538         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
10539         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
10540         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
10541         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
10542         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
10543         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
10544         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
10545         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
10546         * gst-libs/gst/vaapi/gstvaapidisplay.c:
10547         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
10548         * gst-libs/gst/vaapi/gstvaapiencoder.c:
10549         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10550         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10551         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
10552         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
10553         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
10554         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
10555         * gst-libs/gst/vaapi/gstvaapifilter.c:
10556         * gst-libs/gst/vaapi/gstvaapiimage.c:
10557         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
10558         * gst-libs/gst/vaapi/gstvaapiparser_frame.c:
10559         * gst-libs/gst/vaapi/gstvaapipixmap.c:
10560         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
10561         * gst-libs/gst/vaapi/gstvaapisurface.c:
10562         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
10563         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
10564         * gst-libs/gst/vaapi/gstvaapitexture.c:
10565         * gst-libs/gst/vaapi/gstvaapiutils.c:
10566         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
10567         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
10568         * gst-libs/gst/vaapi/gstvaapiwindow.c:
10569         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
10570         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
10571           libs: fix code style for errors
10572
10573 2016-11-03 09:31:17 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10574
10575         * gst/vaapi/gstvaapipluginbase.c:
10576         * gst/vaapi/gstvaapivideocontext.c:
10577           plugins: update GstGL deprecated symbol
10578           GST_GL_TYPE_CONTEXT was deprecated. Now it is GST_TYPE_GL_CONTEXT.
10579
10580 2016-10-21 11:48:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10581
10582         * gst/vaapi/gstvaapipluginbase.c:
10583           plugins: direct render when raw video
10584           Enable the direct rendering with linear surfaces if the negotiated src caps
10585           are video/x-raw without features.
10586           Pass also the caps, since they are needed to know the requested caps features.
10587
10588 2016-10-24 20:09:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10589
10590         * gst/vaapi/gstvaapipluginbase.c:
10591           plugins: move src allocator error to instantiator
10592           Just as we did in ensure_sinkpad_allocator(), let's move the error message
10593           into the ensure_srcpad_allocator() from the caller,
10594           gst_vaapi_plugin_base_decide_allocation()
10595
10596 2016-10-20 19:37:01 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10597
10598         * gst/vaapi/gstvaapipluginbase.c:
10599           plugins: enable direct upload if raw video
10600           Enable the direct upload with linear surfaces if the negotiated sink caps are
10601           video/x-raw without features.
10602
10603 2016-10-21 11:21:04 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10604
10605         * gst/vaapi/gstvaapipluginutil.c:
10606         * gst/vaapi/gstvaapipluginutil.h:
10607           pluginutil: add gst_caps_is_video_raw()
10608
10609 2016-10-24 19:25:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10610
10611         * gst/vaapi/gstvaapipluginbase.c:
10612           plugins: receive caps in ensure_sinkpad_allocator()
10613           Instead of receiving the GstVideoInfo structure as parameter, get the original
10614           GstCaps from ensure_sinkpad_buffer_pool(), in this way we could decide better
10615           which allocator instantiate.
10616
10617 2016-10-20 19:31:58 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10618
10619         * gst/vaapi/gstvaapivideomemory.c:
10620           vaapivideomemory: destroy derived image at unmap
10621           If the allocator was configured to use direct upload or rendering, the
10622           generated derived image created at mapping needs to be destroyed after
10623           unmapping, because, in order to process the surface, it should not be marked
10624           as "busy" by the driver.
10625
10626 2016-10-21 11:57:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10627
10628         * gst/vaapi/gstvaapivideomemory.c:
10629           vaapivideomemory: enhance logs for direct modes
10630           Print, conditionally, only the enabled direct mode.
10631
10632 2016-10-20 17:02:49 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10633
10634         * gst/vaapi/gstvaapivideomemory.c:
10635         * gst/vaapi/gstvaapivideomemory.h:
10636           vaapivideomemory: add direct upload flag
10637           Adds the direct-upload flag in the GstVaapiVideoAllocator and
10638           GstVaapiVideoMemory.
10639           It still doesn't apply any functional change.
10640
10641 2016-10-20 16:49:22 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10642
10643         * gst/vaapi/gstvaapipluginbase.c:
10644         * gst/vaapi/gstvaapivideomemory.c:
10645         * gst/vaapi/gstvaapivideomemory.h:
10646           vaapivideomemory: set direct rendering at run-time
10647           The way to experiment with the direct rendering is through and internal
10648           compiler pre-processor flag.
10649           The current change set enables a way to specified at run-time, as a flag
10650           passed to the allocator at instanciation time.
10651
10652 2016-10-20 18:09:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10653
10654         * gst/vaapi/gstvaapivideomemory.c:
10655           vaapivideomemory: log in perf category when copy
10656           Log in performance category when the derive image handling fails, falling back
10657           to memory copy.
10658
10659 2016-10-20 16:31:21 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10660
10661         * gst/vaapi/gstvaapivideomemory.c:
10662           vaapivideomemory: error log is derive image fails
10663           Instead of a silently failure of the derive image, this patch log an error
10664           message according to the failure.
10665
10666 2016-10-20 12:52:18 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10667
10668         * gst/vaapi/gstvaapivideomemory.c:
10669           vaapivideomemory: store surface alloc flags in qdata
10670           For sake of consistency, we should add the requested surface allocation flags
10671           to the object's qdata structure.
10672
10673 2016-10-20 12:22:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10674
10675         * gst/vaapi/gstvaapivideomemory.c:
10676           vaapivideomemory: category init when object define
10677           Move the Gstreamer debug category initialize to the GObject definition.
10678
10679 2016-11-03 08:31:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10680
10681         * gst-libs/gst/vaapi/gstvaapitexturemap.c:
10682           libs: vaapitexturemap: trivial code-style fix
10683
10684 2016-11-02 20:01:09 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10685
10686         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
10687           libs: display: egl: avoid recreate native display
10688           Instead of passing the native descriptor of the display, just pass the received
10689           GstVaapiDisplay and reuse it.
10690
10691 2016-11-02 15:38:52 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10692
10693         * gst/vaapi/gstvaapipluginbase.c:
10694           plugins: log the GstVaapiDisplay name
10695           Now that GstVaapiDisplay is descendant of GstObject, it has a human-friendly
10696           name. Log it instead of the memory address.
10697
10698 2016-11-02 18:37:00 +0900  Hyunjun Ko <zzoon@igalia.com>
10699
10700         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
10701           libs: window: egl: pass native va display
10702           When creating a GstVaapiWindowEGL, it also creates native window by its own
10703           native display. It should pass the native display, either X11 or Wayland.
10704           https://bugzilla.gnome.org/show_bug.cgi?id=768266
10705
10706 2016-10-13 12:53:17 +0900  Hyunjun Ko <zzoon@igalia.com>
10707
10708         * gst-libs/gst/vaapi/gstvaapidebug.h:
10709         * gst-libs/gst/vaapi/gstvaapidisplay.c:
10710         * gst-libs/gst/vaapi/gstvaapidisplay.h:
10711         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
10712         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
10713         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
10714         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
10715         * gst-libs/gst/vaapi/gstvaapidisplay_egl.h:
10716         * gst-libs/gst/vaapi/gstvaapidisplay_egl_priv.h:
10717         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
10718         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
10719         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
10720         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
10721         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
10722         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
10723         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
10724         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
10725         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
10726         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
10727         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
10728         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
10729         * gst-libs/gst/vaapi/gstvaapiutils_egl.h:
10730         * gst/vaapi/gstvaapivideocontext.c:
10731           libs: display: GstVaapiDisplay as GstObject descendant
10732           This patch is to change the inheritance of GstVaapiDisplay to GstObject,
10733           instead of GstVaapiMiniObject. In this way we can use all the available
10734           infrastructure for GObject/GstObject such as GstTracer, GIR, etc.
10735           In addition, a new debug category for GstVaapiDisplay is created to make it
10736           easier to trace debug messages. It is named "vaapidisplay" and it transverse
10737           all the VA display backends (DRM, GLX, EGL, Wayland, ...)
10738           This patch is a step forward to expose GstVaapiDisplay for users in a future
10739           library.
10740           https://bugzilla.gnome.org/show_bug.cgi?id=768266
10741           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10742
10743 === release 1.11.0 ===
10744
10745 2016-11-01 18:54:54 +0200  Sebastian Dröge <sebastian@centricular.com>
10746
10747         * configure.ac:
10748           Back to development
10749
10750 === release 1.10.0 ===
10751
10752 2016-11-01 18:19:32 +0200  Sebastian Dröge <sebastian@centricular.com>
10753
10754         * ChangeLog:
10755         * NEWS:
10756         * configure.ac:
10757         * gstreamer-vaapi.doap:
10758           Release 1.10.0
10759
10760 2016-10-27 17:13:48 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10761
10762         * gst/vaapi/gstvaapidecodebin.c:
10763           vaapidecodebin: resurrect disable-vpp property
10764           https://bugzilla.gnome.org/show_bug.cgi?id=773589
10765
10766 2016-10-27 16:32:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10767
10768         * gst/vaapi/gstvaapidecodebin.c:
10769           vaapidecodebin: name the internal queue
10770           https://bugzilla.gnome.org/show_bug.cgi?id=773589
10771
10772 2016-10-27 16:27:45 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10773
10774         * gst/vaapi/gstvaapidecodebin.c:
10775         * gst/vaapi/gstvaapidecodebin.h:
10776           vaapidecodebin: remove unused variables
10777           Since vaapipostproc is only registered if the driver supports it, all the
10778           support for dynamic loading were removed. Though some leftovers remained.
10779           https://bugzilla.gnome.org/show_bug.cgi?id=773589
10780
10781 2016-10-27 12:53:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10782
10783         * docs/plugins/Makefile.am:
10784         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
10785         * docs/plugins/running.xml:
10786           docs: document environment variables
10787           https://bugzilla.gnome.org/show_bug.cgi?id=773544
10788
10789 2016-10-27 12:31:49 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10790
10791         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
10792         * docs/plugins/gstreamer-vaapi-plugins-sections.txt:
10793         * gst/vaapi/Makefile.am:
10794         * gst/vaapi/gstvaapidecode.c:
10795         * gst/vaapi/gstvaapidecodebin.c:
10796         * gst/vaapi/gstvaapidecodedoc.c:
10797           docs: replace vaapidecode with each codec
10798           In the spirit of the codec split, this patch removes the documentation of
10799           vaapidecode and adds a page per each possible decoder.
10800           Nonetheless, only those available in the compilation system are going to be
10801           instrospected, because the rest are not registered.
10802
10803 2016-10-27 11:06:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10804
10805         * gst/vaapi/gstvaapipluginutil.c:
10806         * gst/vaapi/gstvaapivideobuffer.c:
10807         * gst/vaapi/gstvaapivideometa.c:
10808           docs: add missing long descriptions
10809
10810 2016-10-25 14:32:44 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10811
10812         * gst/vaapi/gstvaapipostproc.c:
10813           vaapipostproc: use GST_*_OBJECT when possible
10814           Since we can have several vaapipostproc operating in a pipeline, it is useful
10815           to know which one is generating the logging message.
10816           https://bugzilla.gnome.org/show_bug.cgi?id=773497
10817
10818 2016-07-19 17:00:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10819
10820         * gst/vaapi/gstvaapidecode.c:
10821         * gst/vaapi/gstvaapidecode.h:
10822           vaapidecode: rename member to allowed_sinkpad_caps
10823           vaapidecode has a member named allowed_caps, but this name is not enough
10824           explicit. This patch renames allowed_caps to allowed_sinkpad_caps.
10825           No functional changes were included.
10826           https://bugzilla.gnome.org/show_bug.cgi?id=773497
10827
10828 2016-10-20 18:12:04 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10829
10830         * gst/vaapi/gstvaapiencode_h264.c:
10831         * gst/vaapi/gstvaapiencode_h265.c:
10832         * gst/vaapi/gstvaapisink.c:
10833         * gst/vaapi/gstvaapivideomemory.c:
10834         * gst/vaapi/gstvaapivideometa.c:
10835         * gst/vaapi/gstvaapivideometa_texture.c:
10836           plugins: fix code style for errors
10837           https://bugzilla.gnome.org/show_bug.cgi?id=773497
10838
10839 2016-10-20 17:01:57 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10840
10841         * gst/vaapi/gstvaapivideomemory.c:
10842           vaapivideomemory: comment style
10843           https://bugzilla.gnome.org/show_bug.cgi?id=773497
10844
10845 2016-10-20 11:19:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10846
10847         * gst/vaapi/gstvaapivideomemory.c:
10848         * gst/vaapi/gstvaapivideomemory.h:
10849           vaapivideomemory: rename input parameter
10850           In order to clarify the use of flag as input parameter, it is renamed to
10851           surface_alloc_flag, since it is used when creating a VA surface with certain
10852           properties.
10853           https://bugzilla.gnome.org/show_bug.cgi?id=773497
10854
10855 2016-10-25 19:22:03 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10856
10857         * gst/vaapi/gstvaapidecode.c:
10858           vaapidecode: rename element description
10859           So encoders and decoders have similar descriptions.
10860           https://bugzilla.gnome.org/show_bug.cgi?id=773497
10861
10862 2016-08-02 11:32:19 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10863
10864         * gst/vaapi/gstvaapiencode_h264.c:
10865         * gst/vaapi/gstvaapiencode_h265.c:
10866           vaapiencode: h264, h265: rename codec name
10867           So encoder and decoders have the same codec name.
10868           https://bugzilla.gnome.org/show_bug.cgi?id=773497
10869
10870 2016-07-29 15:17:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10871
10872         * gst/vaapi/gstvaapipluginbase.c:
10873           plugins: simplify code
10874           Merge two lines of variable declarations.
10875           https://bugzilla.gnome.org/show_bug.cgi?id=773497
10876
10877 2016-10-07 18:46:22 +0900  Hyunjun Ko <zzoon@igalia.com>
10878
10879         * gst-libs/gst/vaapi/gstvaapidecoder.c:
10880         * gst-libs/gst/vaapi/gstvaapipixmap_priv.h:
10881         * gst-libs/gst/vaapi/gstvaapitexture_priv.h:
10882         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
10883           libs: minor correction for logical consistency
10884           GstVaapiDecode is a descendant of GstVaapiMiniObject, so, thought we should
10885           use its methods, even though it doesn't change functionality.
10886           GstVaapiPixmap, GstVaapiTexture and GstVaapiWindow are descendant of
10887           GstVaapiObject, hence its methods shall be used.
10888           https://bugzilla.gnome.org/show_bug.cgi?id=772554
10889
10890 2016-10-19 15:39:54 +0100  Julien Isorce <j.isorce@samsung.com>
10891
10892         * gst/vaapi/gstvaapivideomemory.c:
10893           vaapivideomemory: add explanation about the call 'dup (dmabuf_fd)'
10894           In short GstFdMemory is configured to call close when using
10895           GstDmabufMemory.
10896           https://bugzilla.gnome.org/show_bug.cgi?id=755072
10897
10898 2016-09-02 16:42:45 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10899
10900         * configure.ac:
10901         * gst-libs/gst/vaapi/Makefile.am:
10902           build: clean up the dlopen usage
10903
10904 2016-10-08 14:33:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10905
10906         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
10907         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
10908           encoder: h264,h265: fix regression in offset count
10909           In commit dc35dafa a bug was introduced because I assumed that
10910           GST_CLOCK_TIME_NONE is zero when is -1. This patch fixes that mistake.
10911           https://bugzilla.gnome.org/show_bug.cgi?id=772259
10912
10913 2016-10-18 17:02:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10914
10915         * README:
10916           docs: update README
10917
10918 2016-09-27 17:29:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10919
10920         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
10921           libs: display: egl: remove unused header include
10922           The header gmodule.h is not used since the library dynamic loading for EGL
10923           display was removed.
10924           https://bugzilla.gnome.org/show_bug.cgi?id=772599
10925
10926 === release 1.9.90 ===
10927
10928 2016-09-30 13:05:20 +0300  Sebastian Dröge <sebastian@centricular.com>
10929
10930         * ChangeLog:
10931         * NEWS:
10932         * common:
10933         * configure.ac:
10934         * gstreamer-vaapi.doap:
10935           Release 1.9.90
10936
10937 2016-03-04 16:35:11 +0900  Vineeth TM <vineeth.tm@samsung.com>
10938
10939         * gst/vaapi/gstvaapidecode.c:
10940         * gst/vaapi/gstvaapidecodebin.c:
10941         * gst/vaapi/gstvaapiencode_h264.c:
10942         * gst/vaapi/gstvaapiencode_h265.c:
10943         * gst/vaapi/gstvaapiencode_jpeg.c:
10944         * gst/vaapi/gstvaapiencode_mpeg2.c:
10945         * gst/vaapi/gstvaapiencode_vp8.c:
10946         * gst/vaapi/gstvaapipostproc.c:
10947         * gst/vaapi/gstvaapisink.c:
10948           vaapi: use new gst_element_class_add_static_pad_template()
10949           https://bugzilla.gnome.org/show_bug.cgi?id=763083
10950           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10951
10952 2016-09-22 16:34:48 +0900  Hyunjun Ko <zzoon@igalia.com>
10953
10954         * gst/vaapi/gstvaapipluginbase.c:
10955           plugins: reset textures at negotiation/shutdown
10956           When caps reconfiguration is called, the new downstream frame size might be
10957           different. Thus, if the downstream caps change,the display's texture map is
10958           reset.
10959           In addition, during pipeline shutdown, textures in texture map have to be
10960           released, since each one have a reference to the GstVaapiDisplay object, which
10961           is a dangerous circular reference.
10962           https://bugzilla.gnome.org/show_bug.cgi?id=769293
10963           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10964
10965 2016-09-22 16:34:38 +0900  Hyunjun Ko <zzoon@igalia.com>
10966
10967         * gst-libs/gst/vaapi/gstvaapidisplay.c:
10968         * gst-libs/gst/vaapi/gstvaapidisplay.h:
10969         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
10970         * gst-libs/gst/vaapi/gstvaapidisplay_egl_priv.h:
10971         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
10972         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
10973         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
10974         * gst/vaapi/gstvaapivideometa_texture.c:
10975           libs: display{egl,glx}: cache GstVaapiTextures
10976           instances when created and reuse
10977           This patch improves performance when glimagesink uploads a GL texture.
10978           It caches the GStVaapiTexture instances in GstVaapiDisplay{GLX,EGL}, using an
10979           instance of GstVaapiTextureMap, so our internal texture structure can be found
10980           by matching the GL texture id for each frame upload process, avoiding the
10981           internal texture structure creation and its following destruction.
10982           https://bugzilla.gnome.org/show_bug.cgi?id=769293
10983           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10984
10985 2016-09-22 16:33:06 +0900  Hyunjun Ko <zzoon@igalia.com>
10986
10987         * gst-libs/gst/vaapi/Makefile.am:
10988         * gst-libs/gst/vaapi/gstvaapitexturemap.c:
10989         * gst-libs/gst/vaapi/gstvaapitexturemap.h:
10990           libs: vaapitexturemap: implement GstVaapiTextureMap
10991           Implement GstVaapiTextureMap object, which caches VAAPI textures, so them can be
10992           reused. Internally it is a hash table.
10993           Note that it is GstObject based rather than GstVaapiObject, as part of the future
10994           converstion to GstObject of most of the code.
10995           https://bugzilla.gnome.org/show_bug.cgi?id=769293
10996           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
10997
10998 2016-09-21 09:55:53 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
10999
11000         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
11001           encoder: vp8: Increase the allocation size for coded buffer
11002           We are not getting enough compression for some streams and
11003           encoded frame end up with more size than allocated.
11004           Assuming a compression ratio of 4, which should be good enough
11005           for holding the frames.
11006           https://bugzilla.gnome.org/show_bug.cgi?id=771528
11007
11008 2016-09-21 09:52:21 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11009
11010         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
11011           encoder: vp9: Fix refresh frame flag setting
11012           While doing the mode-1 referece picture selection,
11013           the circular buffer logic was not correctly setting the
11014           refresh frame flags as per VP9 spec.
11015           Make sure refresh_flag[0] get updated correclty after
11016           each cycle of GST_VP9_REF_FRAMES.
11017           https://bugzilla.gnome.org/show_bug.cgi?id=771507
11018
11019 2016-09-14 18:42:09 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11020
11021         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
11022           vaapidecode: codec_data minimal size is 7
11023           When the format of a H.264 stream is AVC3, the SPS and PPS are inside the
11024           stream, not in the codec_data, so the size of codec_data might be 7.
11025           This patch reduces the minimal size of the codec_data buffer from 8 to 7.
11026           https://bugzilla.gnome.org/show_bug.cgi?id=771441
11027
11028 2016-09-14 16:29:01 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11029
11030         * gst/vaapi/gstvaapidecode.c:
11031           vaapidecode: reset decoder hard when set_format()
11032           set_format() is called by upstream when the stream capabilites has changed.
11033           Before, if the new stream is compatible with the old one the VA decoder was
11034           not destroyed. Nonetheless, with this behavoir, the VA decoder ignores
11035           when the upstreamer parsers gets more details of the stream, such as the
11036           framerate. Hence, when the src caps are negotiates, the further sink caps
11037           updates are ignored.
11038           This patch forces the VA decoder destroying and recreation when set_format()
11039           is called.
11040           https://bugzilla.gnome.org/show_bug.cgi?id=770921
11041
11042 2016-09-14 11:31:39 +0200  Sebastian Dröge <sebastian@centricular.com>
11043
11044         * configure.ac:
11045           configure: Depend on gstreamer 1.9.2.1
11046
11047 2016-09-09 12:03:37 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11048
11049         * gst/vaapi/gstvaapivideomemory.c:
11050           Revert "vaapivideomemory: load VA Image when mapping to write"
11051           This reverts commit c67edea4aba35f16d9e97c78a0b49ad1b590b112.
11052
11053 2016-09-10 20:52:21 +1000  Jan Schmidt <jan@centricular.com>
11054
11055         * common:
11056           Automatic update of common submodule
11057           From b18d820 to f980fd9
11058
11059 2016-09-10 09:58:25 +1000  Jan Schmidt <jan@centricular.com>
11060
11061         * common:
11062           Automatic update of common submodule
11063           From f49c55e to b18d820
11064
11065 2016-09-08 16:16:09 +0900  Hyunjun Ko <zzoon@igalia.com>
11066
11067         * gst/vaapi/gstvaapipluginbase.c:
11068           plugins: set allocator's image size to sinkpad bufferpool
11069           Otherwise the buffer is always ditched by the bufferpool, losing performance.
11070           https://bugzilla.gnome.org/show_bug.cgi?id=771035
11071
11072 2016-09-07 17:34:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11073
11074         * gst-libs/gst/vaapi/gstvaapisurface.c:
11075           libs: surface: ensure composite overlay is not bigger
11076           Ensure the composition overlay rectangle (subtitles) is not bigger than
11077           the surface where it is going to be composited and rendered.
11078           https://bugzilla.gnome.org/show_bug.cgi?id=766978
11079
11080 2016-09-07 17:51:23 +0900  Hyunjun Ko <zzoon@igalia.com>
11081
11082         * gst/vaapi/gstvaapivideomemory.c:
11083           vaapivideomemory: load VA Image when mapping to write
11084           When calling gst_video_frame_map() with GST_MAP_WRITE flag, it doesn't call
11085           ensure_image_is_current(), which means it doesn't guarentee VAImage is valid
11086           in this case.
11087           https://bugzilla.gnome.org/show_bug.cgi?id=766978
11088
11089 2016-09-06 12:27:45 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11090
11091         * gst/vaapi/gstvaapidecode.c:
11092           vaapidecode: merge vc1 and wmv3 elements
11093           This patch merges vaapivc1dec and vaapiwmv3dec into a single
11094           vaapivc1dec. Also, removed the WMVA format, since it is not
11095           supported by libva.
11096           https://bugzilla.gnome.org/show_bug.cgi?id=734093
11097
11098 2016-09-06 11:19:05 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11099
11100         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
11101           decoder: vc1: fails only on advanced profile
11102           In commit 2eb4394 the frame coding mode was verified for progressive
11103           regardless the profile. But the FCM is only valid in the advanced
11104           profile. This patch checks for the advanced profile before verifying FCM for
11105           progressive.
11106           https://bugzilla.gnome.org/show_bug.cgi?id=769250
11107
11108 2016-09-01 12:39:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11109
11110         * gst/vaapi/gstvaapi.c:
11111           vaapi: DISPLAY envvar as dependency
11112           In a multiple video cards system, a X11 environment may have different VA
11113           capabilities. This patch tracks the DISPLAY environment variable to
11114           invalidates the GStreamer features cache. Also tracks WAYLAND_DISPLAY.
11115           https://bugzilla.gnome.org/show_bug.cgi?id=770357
11116
11117 2016-08-26 14:55:17 -0700  Scott D Phillips <scott.d.phillips@intel.com>
11118
11119         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
11120           decoder: vc1: Fail only on actual interlaced frames
11121           In the earlier patch:
11122           f31d9f3 decoder: vc1: Print error on interlaced content
11123           Decoding would error out if the interlace flag was set in the
11124           sequence bdu. This isn't quite right because a video can have this
11125           flag set and yet not have any interlaced pictures.
11126           Here instead we error out when either parsing a field bdu or
11127           decoding a frame bdu which has fcm set to anything other than
11128           progressive.
11129           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
11130           https://bugzilla.gnome.org/show_bug.cgi?id=769250
11131
11132 2016-09-01 12:34:48 +0300  Sebastian Dröge <sebastian@centricular.com>
11133
11134         * configure.ac:
11135           Back to development
11136
11137 === release 1.9.2 ===
11138
11139 2016-09-01 12:34:38 +0300  Sebastian Dröge <sebastian@centricular.com>
11140
11141         * ChangeLog:
11142         * NEWS:
11143         * configure.ac:
11144         * gstreamer-vaapi.doap:
11145           Release 1.9.2
11146
11147 2016-08-16 11:58:38 +0300  Scott D Phillips <scott.d.phillips@intel.com>
11148
11149         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
11150           decoder: vc1: Print error on interlaced content
11151           Interlaced video is as yet unsupported in the vc1 element. Print
11152           an error to make that more obvious.
11153           https://bugzilla.gnome.org/show_bug.cgi?id=769250
11154
11155 2016-08-10 13:29:45 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11156
11157         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
11158           encoder: h264: fix C90 mixed declarations and code
11159           Commit 4259d1a introduced this compilation error. This patch fixes it.
11160
11161 2016-07-21 17:38:40 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11162
11163         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
11164         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
11165         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
11166         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
11167           encoder: h264,h265,mpeg2,vp8: use gst_util_uint64_scale() for bitrate
11168           Use gst_util_uint64_scale() to calculate bitrate instead of normal arithmetic
11169           to avoid overflows, underflows and loss of precision.
11170           https://bugzilla.gnome.org/show_bug.cgi?id=768458
11171
11172 2016-07-05 20:07:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11173
11174         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
11175         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
11176           vaapiencode: h264,h265: validate fps numerator
11177           Validate that fps numerator is non-zero so it can be used to calculate
11178           the duration of the B frame.
11179           Also it gst_util_uint64_scale() is used instead of normal arithmetic in
11180           order to aviod overflows, underflows and loss of precision.
11181           https://bugzilla.gnome.org/show_bug.cgi?id=768458
11182
11183 2016-08-06 12:54:17 +0100  Tim-Philipp Müller <tim@centricular.com>
11184
11185         * gst/vaapi/gstvaapi.c:
11186           encoders: demote to RANK_NONE since not fit for autoplugging yet
11187           Encoders claim to support a whole bunch of input formats but then
11188           just error out if the format is not actually supported, even if
11189           there's a converter in front. This means they're not fit for
11190           autoplugging in encodebin or camerabin yet and therefore should
11191           not have a rank. People can still use them in custom pipelines.
11192           https://bugzilla.gnome.org/show_bug.cgi?id=769266
11193
11194 2016-07-19 19:24:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11195
11196         * gst/vaapi/gstvaapipluginbase.c:
11197           plugins: check dmabuf-import for sink pad allocator
11198           Check earlier if upstream video source has activated the dmabuf-import
11199           io-mode (hack to disappear soon), thus we can avoid the re-assignation of a
11200           new allocator.
11201
11202 2016-07-19 20:02:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11203
11204         * gst/vaapi/gstvaapipluginbase.c:
11205           plugins: reset allocators if video info changed
11206           If the frame size or format, change, the allocators are reset, so a new ones
11207           can be created with the new video info.
11208
11209 2016-07-19 19:27:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11210
11211         * gst/vaapi/gstvaapipluginbase.c:
11212           plugins: remove sink pad allocator if caps change
11213           If the negotiated sinkpad caps change, destroy the assignated allocator,
11214           because it is not valid anymore.
11215
11216 2016-07-19 20:01:05 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11217
11218         * gst/vaapi/gstvaapipluginutil.c:
11219         * gst/vaapi/gstvaapipluginutil.h:
11220           pluginutil: const params to gst_video_info_changed()
11221           Since they are not modified, we should mark them as const.
11222
11223 2016-07-29 15:13:29 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11224
11225         * gst/vaapi/gstvaapipluginbase.c:
11226         * gst/vaapi/gstvaapivideomemory.c:
11227         * gst/vaapi/gstvaapivideomemory.h:
11228           gstvaapivideomemory: allocator's image size getter
11229           Add the method gst_allocator_get_vaapi_image_size() for the
11230           GstVaapiVideoAllocator, which gets the size of the allocated images with the
11231           current video info.
11232           This method replaces the direct call to the allocator's image info when the
11233           pool is configured.
11234
11235 2016-07-29 18:06:30 +0900  Hyunjun Ko <zzoon@igalia.com>
11236
11237         * gst/vaapi/gstvaapipluginbase.c:
11238           plugins: update buffer pool size with new allocator's image size
11239           Depends on media, video size is sometimes updated with new allocator.
11240           It leads to dismatch between bufferpool's set size and real allocated buffer size.
11241           In this case, it causes every buffer is freed during release in bufferpool,
11242           which should be reused. This affects performance.
11243           https://bugzilla.gnome.org/show_bug.cgi?id=769248
11244
11245 2016-07-27 19:49:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11246
11247         * configure.ac:
11248           configure: remove gmodule-2.0 EGL dependency
11249           Since commit 27429ce, EGL support doesn't depend on dynamic loading libraries,
11250           thus the dependency to gmodule-2.0 is not mandatory anymore.
11251
11252 2016-07-27 10:09:38 -0700  Scott D Phillips <scott.d.phillips@intel.com>
11253
11254         * configure.ac:
11255           configure: Fix non-fatal PKG_CHECK_MODULES invocations
11256           Some invocations of PKG_CHECK_MODULES were intended to be non-fatal if
11257           the package is missing, but action-if-not-found was given as an empty
11258           string which still causes the default action to run, which halts
11259           execution.
11260           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
11261           https://bugzilla.gnome.org/show_bug.cgi?id=769237
11262
11263 2016-07-13 18:34:57 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11264
11265         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
11266           libs: egl: remove dynamic library loading code
11267           Since the upstream of gstreamer-vaapi, the library is not a public shared
11268           object anymore. But the EGL support depended on this dynamic library, so the
11269           EGL support was broken.
11270           This patch removes the dynamic library loading code and instantiates the
11271           EGL display using either X11 or Wayland if available.
11272           https://bugzilla.gnome.org/show_bug.cgi?id=767203
11273
11274 2016-07-12 23:47:41 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11275
11276         * gst/vaapi/gstvaapi.c:
11277         * gst/vaapi/gstvaapidecode.c:
11278         * gst/vaapi/gstvaapidecode.h:
11279           vaapidecode: register only the available decoders
11280           In order to register only the available decoders, this patch queries the
11281           created test VA display, which uses the currently used back-end (X11, Wayland,
11282           DRM, …) on the used display device.
11283           https://bugzilla.gnome.org/show_bug.cgi?id=724352
11284
11285 2016-06-28 11:43:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11286
11287         * gst/vaapi/gstvaapi.c:
11288         * gst/vaapi/gstvaapipluginutil.c:
11289         * gst/vaapi/gstvaapipluginutil.h:
11290           vaapi: register only the available encoders
11291           In order to register only the available encoders, this patch queries the
11292           created test VA display, which uses the currently used back-end (X11,
11293           Wayland, DRM, …) on the used display device.
11294           https://bugzilla.gnome.org/show_bug.cgi?id=724352
11295
11296 2016-06-07 16:28:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11297
11298         * gst/vaapi/gstvaapidecode.c:
11299         * gst/vaapi/gstvaapidecodebin.c:
11300           vaapidecode: split all the codecs
11301           Split the vaapidecode to all the supported codecs with the format
11302           vaapi{codec}dec.
11303           vaapidecode is stil registered as a GObject type, but not as a
11304           GStreamer feature, so it can be used internally by vaapidecodebin without
11305           changing its code too much.
11306           https://bugzilla.gnome.org/show_bug.cgi?id=734093
11307
11308 2016-07-12 22:19:37 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11309
11310         * gst/vaapi/gstvaapidecodebin.c:
11311           vaapidecodebin: simplify the code
11312           Since the elements dependant of the VA video processor are now only registered
11313           if it is available, vaapidecodebin code can be simplified a lot, removing all
11314           the code required to check if the VA video processor was available.
11315           https://bugzilla.gnome.org/show_bug.cgi?id=768899
11316
11317 2016-07-12 17:54:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11318
11319         * gst/vaapi/gstvaapidecode.c:
11320           vaapidecode: delay the GstVaapiDisplay instantiating
11321           Delay the GstVaapiDisplay instantiating until when changing the state from
11322           READY to PAUSE. In this way the element has more chances to find an already
11323           created GstVaapiDisplay, or a GL context, in the pipeline.
11324           https://bugzilla.gnome.org/show_bug.cgi?id=766206
11325
11326 2016-07-12 17:49:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11327
11328         * gst/vaapi/gstvaapipluginutil.c:
11329           pluginutil: set GLX display type
11330           The function gst_vaapi_create_display_from_gl_context() cretes a
11331           GstVaapiDisplay given a GstGLContext. But it didn't created a GLX VA display
11332           when the GL platform was GLX, but a plain X11 VA display.
11333           This patch fixes that, by querying the GL platform earlier.
11334           https://bugzilla.gnome.org/show_bug.cgi?id=766206
11335
11336 2016-06-02 19:57:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11337
11338         * gst/vaapi/gstvaapipluginbase.c:
11339         * gst/vaapi/gstvaapivideocontext.c:
11340         * gst/vaapi/gstvaapivideocontext.h:
11341           plugins: add gst_vaapi_plugin_base_find_gl_context()
11342           Using the GstContext mechanism, it is possible to find if the pipeline
11343           shares a GstGLContext, even if we are not to negotiating GLTextureUpload
11344           meta. This is interesting because we could negotiate system memory caps
11345           feature, but enable DMABuf if the GstGLContext is EGL with some extensions.
11346           https://bugzilla.gnome.org/show_bug.cgi?id=766206
11347
11348 2016-06-28 17:14:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11349
11350         * gst/vaapi/gstvaapipluginbase.c:
11351         * gst/vaapi/gstvaapipluginbase.h:
11352           plugins: remove gst_vaapi_plugin_base_driver_is_whitelisted()
11353           Since nobody is calling gst_vaapi_plugin_base_driver_is_whitelisted(),
11354           it is deleted.
11355
11356 2016-07-12 18:24:10 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11357
11358         * gst/vaapi/gstvaapipluginbase.h:
11359           plugins: remove common change_state() vmethod
11360           Remove the common change_state() vmethod for all the plugins, since no one is
11361           using it.
11362
11363 2016-07-12 20:38:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11364
11365         * gst/vaapi/gstvaapidecode.c:
11366           vaapidecode: remove change_state() vmethod
11367           Since the driver checkup is done at registering, there is no need to do it
11368           when changing the element state from NULL to READY. This patch remove this
11369           vmethod from vaapidecode.
11370
11371 2016-07-12 20:29:12 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11372
11373         * gst/vaapi/gstvaapi.c:
11374           vaapi: register vaapipostproc only if supported
11375           Query the GstVaapiDisplay to know if the driver supports video
11376           postprocessing. If does, then register vaapipostproc and vaapidecodebin
11377           elements.
11378           This patch will simplify the design of vaapidecodebin.
11379           https://bugzilla.gnome.org/show_bug.cgi?id=724352
11380
11381 2016-06-29 12:36:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11382
11383         * gst/vaapi/gstvaapi.c:
11384           vaapi: don't register if VA driver is unsupported
11385           Using the test VA display, the driver name is queried, and if it is not
11386           white-listed, the plugin rejects to register any element.
11387           https://bugzilla.gnome.org/show_bug.cgi?id=724352
11388
11389 2016-06-28 17:14:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11390
11391         * gst/vaapi/gstvaapipluginbase.c:
11392         * gst/vaapi/gstvaapipluginutil.c:
11393         * gst/vaapi/gstvaapipluginutil.h:
11394           plugins: add gst_vaapi_driver_is_whitelisted()
11395           Move some of the logic in gst_vaapi_plugin_base_driver_is_whitelisted() to a
11396           new function gst_vaapi_driver_is_whitelisted(), in this way, it can be used
11397           when registering the plugin's feature set with the test VA display.
11398           https://bugzilla.gnome.org/show_bug.cgi?id=724352
11399
11400 2016-07-12 19:56:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11401
11402         * gst/vaapi/gstvaapi.c:
11403           vaapi: instantiate a VA display when registering
11404           This patch tries to instantiate a GstVaapiDisplay when registering the plugin
11405           features, if it fails, no gstreamer-vaapi element is registering.
11406           The purpose of this patch is to avoid a situation where the user has
11407           gstreamer-vaapi installed but their VA-API setup is not functional, which may
11408           lead to unexpected behavior.
11409           https://bugzilla.gnome.org/show_bug.cgi?id=724352
11410
11411 2016-06-28 11:33:18 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11412
11413         * configure.ac:
11414         * gst/vaapi/gstvaapi.c:
11415           vaapi: declare external dependencies
11416           There are two main external dependencies that define the feature set of this
11417           plugin: a) the kernel and b) the VA driver
11418           This patch tracks both dependencies, if any of them change, GStreamer will
11419           re-inspect the plugin.
11420           The kernel is tracked through the device files /dev/dri/card*
11421           The VA driver is tracked through the files VA_DRIVERS_PATH/*_drv_video.so,
11422           where VA_DRIVERS_PATH is the one defined in libva package configuration. Also,
11423           the environment variables LIBVA_DRIVERS_PATH and LIBVA_DRIVER_NAME are tracked
11424           since they modify the driver lookup.
11425           Additionally, the environment variable GST_VAAPI_ALL_DRIVERS is tracked too.
11426           https://bugzilla.gnome.org/show_bug.cgi?id=724352
11427
11428 2016-07-19 16:02:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11429
11430         * gst/vaapi/gstvaapidecode.c:
11431           vaapidecode: remove unneeded initializations
11432           GObject's memory is set to zero, so there is no need to initialize to zero or
11433           NULL it's class variables.
11434
11435 2016-07-19 18:28:28 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11436
11437         * gst/vaapi/gstvaapipluginbase.h:
11438           plugins: remove undefined macros
11439
11440 2016-07-19 17:43:28 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11441
11442         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
11443           Revert "gstvaapisurface_drm: release image when done"
11444           This reverts commit 1dbcc8a0e199f2da6a0ab8e949f13341916128a3  and commit
11445           372a03a9e38acbf435eb80bf31d9a9844069e504.
11446           While the dmabuf handle is exported, the derive image must exist, otherwise
11447           the image's VA buffer is invalid, thus the dmabuf handle is never released,
11448           leading into a file descriptors leak.
11449
11450 2016-07-21 17:38:17 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11451
11452         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
11453           encoder: h265: fix code-style
11454
11455 2016-07-22 16:55:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11456
11457         * gst/vaapi/gstvaapipostproc.c:
11458           vaapipostproc: update filters at color balance
11459           This is a fix for a regression of previous commit, which updates the filters
11460           only when the property is set, because it is also required to update the
11461           filter when the color balance interface change its values.
11462
11463 2016-07-22 12:10:23 +0900  Hyunjun Ko <zzoon@igalia.com>
11464
11465         * gst/vaapi/gstvaapipostproc.c:
11466         * gst/vaapi/gstvaapipostproc.h:
11467           vaapipostproc: make it enable/disable pass-through mode
11468           In case that sink caps and src caps are same, and no filtering parameter set,
11469           pass-through mode is enabled.
11470           If new filtering parameter is set during playback, it makes it reconfiguring,
11471           so that pass-through mode is changed
11472           In addition, updating filter is performed during reconfiguration, if needed.
11473           https://bugzilla.gnome.org/show_bug.cgi?id=751876
11474
11475 2016-07-22 11:51:26 +0900  Hyunjun Ko <zzoon@igalia.com>
11476
11477         * gst-libs/gst/vaapi/gstvaapifilter.c:
11478         * gst-libs/gst/vaapi/gstvaapifilter.h:
11479         * gst/vaapi/gstvaapipostproc.c:
11480           vaapipostproc: checking and updating filter parameter only when it's set
11481           This patch is to avoid checking filter value at every frame.
11482           https://bugzilla.gnome.org/show_bug.cgi?id=751876
11483
11484 2016-07-21 11:24:31 +0300  Allen Zhang <Zhang, Zhangfei>
11485
11486         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
11487           decoder: h265: handle the SEI NAL units included in codec_data
11488           The prefix/suffix SEI nal units can appear in codec_data too
11489           which weren't handled before. Parse these SEI headers to
11490           fix the segfault.
11491           https://bugzilla.gnome.org/show_bug.cgi?id=768544
11492
11493 2016-07-15 16:32:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11494
11495         * docs/plugins/Makefile.am:
11496           build: doc: do not redefine MAINTAINERCLEANFILES
11497           MAINTAINERCLEANFILES is defined in gtk-doc-plugins.mak, thus instead of
11498           overload it, the files should be added.
11499
11500 2016-07-15 14:41:27 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11501
11502         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
11503           encoder: h264: Fix MVC encode while enabling dct8x8
11504           Pack the transform_8x8_mode_flag and other necessary rbsp data
11505           in packed_pps header for MVC encode.
11506           https://bugzilla.gnome.org/show_bug.cgi?id=768647
11507
11508 2016-07-12 23:58:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11509
11510         * gst/vaapi/gstvaapisink.c:
11511           vaapisink: demote a debug message to trace
11512           Reduces noise when debugging.
11513
11514 2016-07-13 17:21:01 +0900  Jagyum Koo <koojagyum@gmail.com>
11515
11516         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
11517           wayland: Error check before using cached wl_display
11518           A planar(or some other) buffer allocation may fail on the driver, then
11519           the wayland connection becomes invalid, not able to send request or
11520           receive any event. So we need to set up a new wayland connection if
11521           there's an error detected on the cached wl_display.
11522           https://bugzilla.gnome.org/show_bug.cgi?id=768761
11523           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11524
11525 2016-07-11 21:15:57 +0200  Stefan Sauer <ensonic@users.sf.net>
11526
11527         * common:
11528           Automatic update of common submodule
11529           From ac2f647 to f49c55e
11530
11531 2016-07-05 18:23:22 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11532
11533         * gst/vaapi/gstvaapiencode.c:
11534           vaapiencode: demote a log to trace level
11535           Removes noise when debugging.
11536
11537 2016-07-06 11:17:23 +0900  Hyunjun Ko <zzoon@igalia.com>
11538
11539         * gst/vaapi/gstvaapiencode.c:
11540           vaapiencode: implement flush() vmethod
11541           In order to handle correctly seek and other operations, vaapiencode should
11542           flush all the remaining data from the encoder without pushing it downstream.
11543           This patch implements the flush() vmethod, only after of pausing the
11544           source pad task, and restarting it again after the flush stop.
11545           https://bugzilla.gnome.org/show_bug.cgi?id=767176
11546           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11547
11548 2016-07-11 08:43:04 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11549
11550         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
11551           decoder: vc1: flush dpb only if opened
11552           Flush the decode picture buffer, if and only if, the decoder is
11553           started. Otherwise the dpb structure might be NULL.
11554           https://bugzilla.gnome.org/show_bug.cgi?id=742922
11555
11556 2016-07-01 14:42:20 +0900  Hyunjun Ko <zzoon@igalia.com>
11557
11558         * gst/vaapi/gstvaapidecode.c:
11559         * gst/vaapi/gstvaapidecode.h:
11560           vaapidecode: drop non-keyframe in reverse playback
11561           To avoid surface-exhausted situation during reverse playback,
11562           drop frames except for key frame.
11563           Also, to avoid the corruption of the parser state, flush() vmethod
11564           doesn't destroy the VA decoder when playing in reverse.
11565           https://bugzilla.gnome.org/show_bug.cgi?id=742922
11566           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11567
11568 2016-07-10 19:33:14 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11569
11570         * gst/vaapi/gstvaapidecode.c:
11571           vaapidecode: unref output frame earlier
11572           The queue in GstVaapiDecode adds an extra reference to the frames. This patch
11573           unref that extra reference earlier making the code simpler to follow.
11574           https://bugzilla.gnome.org/show_bug.cgi?id=768652
11575
11576 2016-07-10 19:01:17 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11577
11578         * gst/vaapi/gstvaapidecode.c:
11579           vaapidecode: remove gst_vaapidecode_internal_flush()
11580           As gst_vaapidecode_finish() is the only callee of
11581           gst_vaapidecode_internal_flush(), it is better to inline it.
11582           https://bugzilla.gnome.org/show_bug.cgi?id=768652
11583
11584 2016-07-10 18:18:57 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11585
11586         * gst/vaapi/gstvaapidecode.c:
11587           vaapidecode: flush output adapter at drain()
11588           Calling drain() vmethod means "decode any data it can at this point, but that
11589           more data may arrive after". Hence, vaapidecode should check if there is data
11590           in the output adapter and process them, without destroying the decoded picture
11591           buffer (dpb).
11592           Since this operation is done by gst_vaapidecode_internal_flush(), the operation
11593           was refactored into a new function gst_vaapidecode_flush_output_adapter().
11594           https://bugzilla.gnome.org/show_bug.cgi?id=768652
11595
11596 2016-07-10 13:46:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11597
11598         * gst/vaapi/gstvaapidecode.c:
11599           vaapidecode: call purge at flush()
11600           Calling flush() vmethod means "to flush all remaining data from the decoder
11601           without pushing it downstream".
11602           Nonetheless flush() is calling gst_vaapidecode_internal_flush(), which calls
11603           gst_video_decoder_have_frame() if there is still something in the input
11604           adapter, which may push buffers to downstream by calling handle_frame().
11605           This patch changes this behavior by calling gst_vaapidecode_purge() rather
11606           than gst_vaapidecode_internal_flush(), which does what we want: flushes the VA
11607           decoder and releases all the rest of decoded frames.
11608           https://bugzilla.gnome.org/show_bug.cgi?id=768652
11609
11610 2016-07-06 18:38:37 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11611
11612         * tests/elements/Makefile.am:
11613         * tests/elements/test-vaapisink.c:
11614           test: elements: remove spurious linkage
11615           Element tests only need to link against gstreamer libraries.
11616
11617 2016-07-06 14:41:21 +0300  Sebastian Dröge <sebastian@centricular.com>
11618
11619         * configure.ac:
11620           configure: Require GLib >= 2.40 like everywhere else
11621
11622 2016-07-06 13:51:21 +0300  Sebastian Dröge <sebastian@centricular.com>
11623
11624         * configure.ac:
11625           Back to development
11626
11627 === release 1.9.1 ===
11628
11629 2016-07-06 13:48:07 +0300  Sebastian Dröge <sebastian@centricular.com>
11630
11631         * ChangeLog:
11632         * NEWS:
11633         * common:
11634         * configure.ac:
11635         * gstreamer-vaapi.doap:
11636           Release 1.9.1
11637
11638 2016-07-05 20:59:49 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11639
11640         * tests/elements/test-vaapisink.c:
11641           tests: elements: rotate orientation event
11642
11643 2016-07-01 16:01:54 +0900  Hyunjun Ko <zzoon@igalia.com>
11644
11645         * configure.ac:
11646         * tests/Makefile.am:
11647         * tests/elements/Makefile.am:
11648         * tests/elements/test-vaapisink.c:
11649           tests: elements: Add testsuite for vaapisink
11650           https://bugzilla.gnome.org/show_bug.cgi?id=765798
11651
11652 2016-07-01 16:00:46 +0900  Hyunjun Ko <zzoon@igalia.com>
11653
11654         * gst-libs/gst/vaapi/gstvaapitypes.h:
11655         * gst-libs/gst/vaapi/gstvaapivalue.c:
11656         * gst/vaapi/gstvaapisink.c:
11657         * gst/vaapi/gstvaapisink.h:
11658           vaapisink: add support for GST_TAG_IMAGE_ORIENTATION
11659           https://bugzilla.gnome.org/show_bug.cgi?id=765798
11660
11661 2016-06-29 13:57:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11662
11663         * gst/vaapi/gstvaapipostproc.c:
11664           vaapipostproc: return caps template if no display
11665           This patch is a fix for my bad review of commit 6d73ca8d. The element should
11666           be able to return the available raw caps handled by the VA display, but that
11667           only should happen when there a VA display. If there's none, the element
11668           should use the caps template.
11669           https://bugzilla.gnome.org/show_bug.cgi?id=768161
11670
11671 2016-06-29 16:42:18 +1000  Matthew Waters <matthew@centricular.com>
11672
11673         * gst/vaapi/gstvaapipostproc.c:
11674           vaapipostproc: don't require a vaapi display for all caps queries
11675           This delays the requirement of having a GstVaapiDisplay until later
11676           https://bugzilla.gnome.org/show_bug.cgi?id=768161
11677
11678 2016-06-28 15:48:39 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11679
11680         * gst-libs/gst/vaapi/gstvaapiutils.c:
11681           utils: report VP9 profiles
11682           Add VP9Profile0-3 name mapping.
11683
11684 2016-06-28 14:05:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11685
11686         * gst/vaapi/gstvaapi.c:
11687           vaapi: nest includes under USE_ENCODER macro
11688           This is a missed changeset from commit 1c05c53, since also header includes
11689           should be nested.
11690
11691 2016-06-28 11:54:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11692
11693         * gst/vaapi/gstvaapi.c:
11694           vaapi: nest encoders under USE_ENCODER macro
11695           Though USE_{JPEG,VP8,VP9,H265}_ENCODER macros definition depend on USE_ENCODER
11696           macro, it is clearer to nest them, showing explicitly the dependency relation.
11697
11698 2016-06-24 12:05:24 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11699
11700         * gst/vaapi/gstvaapivideocontext.c:
11701           vaapivideocontext: check if query context is NULL
11702           Under certain conditions the element might receive a positive context query
11703           but without a context instance. This situation will lead to a segmentation
11704           fault when traversing the context list in the pipeline.
11705           https://bugzilla.gnome.org/show_bug.cgi?id=767946
11706
11707 2016-06-20 13:22:36 -0700  Scott D Phillips <scott.d.phillips@intel.com>
11708
11709         * gst-libs/gst/vaapi/Makefile.am:
11710         * gst-libs/gst/vaapi/glibcompat.h:
11711         * gst-libs/gst/vaapi/sysdeps.h:
11712           remove unused glibcompat.h
11713           glibcompat.h is no longer doing anything. Remove it.
11714           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
11715           https://bugzilla.gnome.org/show_bug.cgi?id=767886
11716
11717 2016-06-22 14:28:44 -0700  Scott D Phillips <scott.d.phillips@intel.com>
11718
11719         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
11720           encoder: h264: Use high profile by default
11721           Change defaults for max-bframes, cabac, and dct8x8 to be enabled
11722           by default. This will cause the default profile to be high instead
11723           of baseline. In most situations this is the right decision, and
11724           the profile can still be lowered in the case of caps restrictions.
11725           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
11726           https://bugzilla.gnome.org/show_bug.cgi?id=757941
11727
11728 2016-06-22 12:15:29 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11729
11730         * gst/vaapi/gstvaapidecodebin.c:
11731           vaapidecodebin: element warning if missing element
11732           Raise an element warning if a required element is not available, thus the
11733           pipeline will post a warning message and the application will be informed.
11734
11735 2016-06-22 15:11:56 +0300  Hyunjun Ko <zzoon@igalia.com>
11736
11737         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
11738           decoder: h265: fix to release all dpb pictures
11739           Without this, all dpb pictures are not released during flush,
11740           because we used the global dpb_count variable for checking the
11741           dpb fullness which get decremented in dpb_remove_index()
11742           routine during each loop iteration.
11743           https://bugzilla.gnome.org/show_bug.cgi?id=767934
11744
11745 2016-06-21 11:48:54 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
11746
11747         * common:
11748           Automatic update of common submodule
11749           From ac2f647 to f363b32
11750
11751 2016-06-20 19:53:26 +0900  Hyunjun Ko <zzoon@igalia.com>
11752
11753         * gst/vaapi/gstvaapidecode.c:
11754         * gst/vaapi/gstvaapipostproc.c:
11755           vaapi: fix minor leaks
11756           https://bugzilla.gnome.org/show_bug.cgi?id=767868
11757
11758 2016-06-17 17:00:03 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11759
11760         * gst/vaapi/gstvaapi.c:
11761           vaapi: remove an already included header
11762           gst/gst.h is already included in gstcompat.h
11763
11764 2016-06-17 16:53:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11765
11766         * gst/vaapi/gstvaapidecodebin.c:
11767           vaapidecodebin: add vp9 in sink pad template
11768
11769 2016-06-15 20:19:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11770
11771         * gst/vaapi/gstvaapisink.c:
11772           vaapisink: return caps template if no display
11773           If vaapisink received a caps query before getting a VA display, it returned
11774           only the surfaces related caps. This behavior broke the autovideosink
11775           negotiation.
11776           This patch returns the pad's template caps if no VA display, otherwise the
11777           caps are crafted as before.
11778           https://bugzilla.gnome.org/show_bug.cgi?id=767699
11779
11780 2016-06-15 11:25:23 -0700  Scott D Phillips <scott.d.phillips@intel.com>
11781
11782         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
11783           decoder: vp9: Update comment about context resets
11784           Clarify that vaapi context resets are never needed for vp9, but
11785           that ensure_context() needs called when the size increases so that
11786           new surfaces can be allocated.
11787           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
11788           https://bugzilla.gnome.org/show_bug.cgi?id=767474
11789
11790 2016-05-17 15:34:23 -0700  Scott D Phillips <scott.d.phillips@intel.com>
11791
11792         * gst-libs/gst/vaapi/gstvaapicontext.c:
11793         * gst-libs/gst/vaapi/gstvaapicontext.h:
11794         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
11795           gstvaapicontext: control reset_on_resize with option
11796           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
11797           https://bugzilla.gnome.org/show_bug.cgi?id=767474
11798
11799 2016-06-14 09:45:22 -0700  Scott D Phillips <scott.d.phillips@intel.com>
11800
11801         * gst/vaapi/gstvaapivideobufferpool.c:
11802           vaapivideobufferpool: add video meta to config when needed
11803           In cases where we know the video meta must be present, add it to
11804           the pool configuration.
11805           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
11806           https://bugzilla.gnome.org/show_bug.cgi?id=766184
11807
11808 2016-06-13 10:48:41 -0700  Scott D Phillips <scott.d.phillips@intel.com>
11809
11810         * gst/vaapi/gstvaapipluginbase.c:
11811           plugins: retry pool config
11812           if gst_buffer_pool_set_config returns FALSE, check the modified
11813           config and retry set_config if the config is still acceptable.
11814           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
11815           https://bugzilla.gnome.org/show_bug.cgi?id=766184
11816
11817 2016-06-08 18:42:43 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11818
11819         * gst/vaapi/gstvaapivideomemory.h:
11820           vaapivideomemory: internal attributes to methods
11821           Mark as internal the functions used by VA-API dmabuf allocator.
11822
11823 2016-06-02 15:41:22 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11824
11825         * gst/vaapi/gstvaapipluginbase.c:
11826           plugins: remove precondition for decide_allocation()
11827           There's no need to check for the display in the plugin object when
11828           decide_allocation() vmethod is called, because the display will created or
11829           re-created along the method execution.
11830
11831 2016-06-08 18:44:34 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11832
11833         * gst/vaapi/gstvaapipluginbase.c:
11834           plugins: avoid possible memory leaks
11835           Get the pool config just before use it, to avoid a memory leak if the
11836           allocator cannot be instantiated. Similarly, return FALSE if the configuration
11837           cannot be set, avoid keep a not used allocator in the pool.
11838
11839 2016-05-31 11:52:57 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11840
11841         * gst/vaapi/gstvaapipluginbase.c:
11842           plugins: use GstParentBufferMeta
11843           Instead of using the VASurface proxy's notify, which is internal gstvaapi API,
11844           use the GStreamer's GstParentBufferMeta.
11845           https://bugzilla.gnome.org/show_bug.cgi?id=765435
11846
11847 2016-05-31 08:26:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11848
11849         * gst/vaapi/gstvaapipluginbase.c:
11850           plugins: cache VASurfaces from dmabufs
11851           This patch avoids the creation of a VASurface each time a new input buffer is
11852           processed, caching them in the input buffer itself.
11853           https://bugzilla.gnome.org/show_bug.cgi?id=765435
11854
11855 2016-05-30 23:55:43 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11856
11857         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
11858         * gst-libs/gst/vaapi/gstvaapisurface_drm.h:
11859         * gst/vaapi/gstvaapipluginbase.c:
11860           libs: change gst_vaapi_surface_new_with_dma_buf_handle()
11861           Instead of passing the data already in GstVideoInfo, let's just pass the
11862           GstVideoInfo structure.
11863           https://bugzilla.gnome.org/show_bug.cgi?id=765435
11864
11865 2016-05-25 12:31:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11866
11867         * gst/vaapi/gstvaapipluginbase.c:
11868         * gst/vaapi/gstvaapipluginbase.h:
11869           plugins: use an unique allocator per pad
11870           Instead of instantiating an allocator per vaapivideobufferpool, only one
11871           allocator is instantiated per element's pad and shared among future pools.
11872           If the pad's caps changes, the allocator is reset.
11873           https://bugzilla.gnome.org/show_bug.cgi?id=765435
11874
11875 2016-05-25 10:58:01 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11876
11877         * gst/vaapi/gstvaapipluginbase.c:
11878         * gst/vaapi/gstvaapivideobufferpool.c:
11879         * gst/vaapi/gstvaapivideobufferpool.h:
11880           vaapivideobufferpool: share options flag with pluginbase
11881           Originally, vaapivideobufferpool has a set of boolean variables for the
11882           buffer configuration options.
11883           This pach changes these boolean variables for a single bitwise, just as
11884           it is used in pluginbase. Hence, the internal enum was moved to
11885           vaapivideobufferpool header.
11886           https://bugzilla.gnome.org/show_bug.cgi?id=765435
11887
11888 2016-05-10 15:57:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11889
11890         * gst/vaapi/gstvaapipluginbase.c:
11891           plugins: add gst_vaapi_plugin_base_create_pool()
11892           This patch refactors the code in pluginbase in order to centralize the buffer
11893           pool instantiation. As the buffer pool config may have different options, these
11894           are gathered using a bitwise flag.
11895           https://bugzilla.gnome.org/show_bug.cgi?id=765435
11896
11897 2016-05-20 18:46:14 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11898
11899           pluginbase negotiates allocator with bufferpool
11900           Originally vaapivideobufferpool instantiates its own allocator regardless the
11901           received configuration, and it relies in custom configuration options to
11902           choose which kind of allocator instantiate.
11903           This patch transfers the responsibility of the allocator instantiate to
11904           vaapipluginbase and pass it to the vaapivideobufferpool through its
11905           configuration.
11906           * gst/vaapi/gstvaapipluginbase.c
11907           + set_dmabuf_allocator(): inserts a dmabuf allocator in the bufferpool
11908           + ensure_sinkpad_buffer_pool(): set a normal vaapi video allocator in
11909           bufferpool configuration
11910           + gst_vaapi_plugin_base_propose_allocation(): call set_dmabuf_allocator() if
11911           needed.
11912           + gst_vaapi_plugin_base_decide_allocation(): set a normal vaapi video
11913           allocator in bufferpool configuration
11914           * gst/vaapi/gstvaapivideobufferpool.c
11915           + gst_vaapi_video_buffer_pool_set_config(): instead of instantiate the
11916           allocator, process the received one through its configuration.
11917           * gst/vaapi/gstvaapivideobufferpool.h: removed
11918           GST_BUFFER_POOL_OPTION_DMABUF_MEMORY since it is not used anymore.
11919           * gst/vaapi/gstvaapivideomemory.c
11920           + gst_vaapi_is_dmabuf_allocator(): new helper function to identify a dmabuf
11921           allocator with the vaapi qdata.
11922           https://bugzilla.gnome.org/show_bug.cgi?id=765435
11923
11924 2016-05-20 14:39:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11925
11926         * gst/vaapi/gstvaapivideobufferpool.c:
11927           vaapivideobufferpool: keep only current video info
11928           Instead of keeping old and new GstVideoInfo video structure, we only keep one,
11929           the current one, the negotiated. The old one is not needed at all.
11930           https://bugzilla.gnome.org/show_bug.cgi?id=765435
11931
11932 2016-05-23 15:38:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11933
11934         * gst/vaapi/gstvaapipluginbase.c:
11935         * gst/vaapi/gstvaapipluginutil.c:
11936         * gst/vaapi/gstvaapipluginutil.h:
11937         * gst/vaapi/gstvaapivideomemory.c:
11938           pluginutil: add gst_video_info_force_nv12_if_encoded()
11939           This lines repeat a couple times in the code, so it would be better to put it
11940           a helper function.
11941           https://bugzilla.gnome.org/show_bug.cgi?id=765435
11942
11943 2016-05-20 14:15:53 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
11944
11945         * gst/vaapi/gstvaapipluginutil.c:
11946         * gst/vaapi/gstvaapipluginutil.h:
11947         * gst/vaapi/gstvaapipostproc.c:
11948         * gst/vaapi/gstvaapivideobufferpool.c:
11949           pluginutil: add gst_video_info_changed() helper
11950           This function is shared among different elements, so let factorized it.
11951           https://bugzilla.gnome.org/show_bug.cgi?id=765435
11952
11953 2016-06-08 10:14:16 +0900  Hyunjun Ko <zzoon@igalia.com>
11954
11955         * gst/vaapi/gstvaapipostprocutil.c:
11956           vaapipostproc: Add colorimetry attributes to src caps
11957           https://bugzilla.gnome.org/show_bug.cgi?id=766596
11958
11959 2016-06-08 10:17:46 +0900  Hyunjun Ko <zzoon@igalia.com>
11960
11961         * gst/vaapi/gstvaapidecode.c:
11962           vaapidecode: remove chroma-site and colorimetry from src caps
11963           https://bugzilla.gnome.org/show_bug.cgi?id=766596
11964
11965 2016-06-07 14:19:50 -0700  Scott D Phillips <scott.d.phillips@intel.com>
11966
11967         * gst/vaapi/gstvaapipostproc.c:
11968         * gst/vaapi/gstvaapipostproc.h:
11969           vaapipostproc: add postproc_lock to protect data members
11970           Add a mutex to postproc to protect concurrent access to data members.
11971           Previously set_caps() could release the allowed_srcpad_caps while
11972           transform_caps was in the middle of using it.
11973           Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>
11974           https://bugzilla.gnome.org/show_bug.cgi?id=766940
11975
11976 2016-05-30 11:30:40 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11977
11978         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
11979         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
11980           encoder: vp9: Add simple algorithms for reference picture selection
11981           Added two modes(as properties) for reference picture selection:
11982           ref-mode-0: AltRef and GoldRef pointing to the recent keyframe
11983           and LastRef is pointing to the previous frame.
11984           ref-mode-1: Previous frame (n) as LastRef , n-1 th frame as GoldRef
11985           and n-2 th frame as AltRef
11986           https://bugzilla.gnome.org/show_bug.cgi?id=766048
11987
11988 2016-05-30 11:25:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11989
11990         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
11991           encoder: vp9: Define Max frame width and height
11992           https://bugzilla.gnome.org/show_bug.cgi?id=766048
11993
11994 2016-05-30 11:25:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
11995
11996         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
11997         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
11998           encoder: vp9: Add more propertis for tuning encode quality
11999           Added three tuning properties:
12000           1: filter_level
12001           2: sharpness_level
12002           3: luma ac quant-table index
12003           https://bugzilla.gnome.org/show_bug.cgi?id=766048
12004
12005 2016-05-30 11:24:14 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12006
12007         * gst/vaapi/Makefile.am:
12008         * gst/vaapi/gstvaapi.c:
12009         * gst/vaapi/gstvaapiencode_vp9.c:
12010         * gst/vaapi/gstvaapiencode_vp9.h:
12011           Add vp9 encode element to "vaapi" plugin
12012           https://bugzilla.gnome.org/show_bug.cgi?id=766048
12013
12014 2016-05-30 11:23:12 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12015
12016         * gst-libs/gst/vaapi/Makefile.am:
12017         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.c:
12018         * gst-libs/gst/vaapi/gstvaapiencoder_vp9.h:
12019           Add vp9 encoder support in libgstvaapi
12020           https://bugzilla.gnome.org/show_bug.cgi?id=766048
12021
12022 2016-05-30 11:22:35 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12023
12024         * configure.ac:
12025           build: Add check for VP9 encode API support in libva
12026           https://bugzilla.gnome.org/show_bug.cgi?id=766048
12027
12028 2016-05-26 11:42:32 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12029
12030         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
12031           gstvaapisurface_drm: fix internal documentation
12032
12033 2016-05-26 11:41:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12034
12035         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
12036           gstvaapisurface_drm: fix code-style
12037
12038 2016-05-25 12:28:48 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12039
12040         * gst/vaapi/gstvaapipluginbase.c:
12041           plugins: remove unused header
12042           Remove the include of gst/allocators/allocators.h since it is not used.
12043
12044 2016-05-25 10:36:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12045
12046         * gst/vaapi/gstvaapivideobufferpool.h:
12047           vaapivideobufferpool: remove GL_TEXTURE_UPLOAD_META
12048           Since gstreamer-vaapi is coupled with gstreamer releases, there is no need to
12049           keep compatibility definition.
12050           This patch removes the definition of
12051           GST_BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META since it is in
12052           gst-plugins-base version 1.2.2
12053
12054 2016-05-23 22:49:11 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12055
12056         * gst/vaapi/gstvaapipluginbase.c:
12057           plugins: add gst_vaapi_buffer_pool_caps_is_equal()
12058           This is a helper function to improve the readability of
12059           ensure_sinkpad_buffer_pool(). It makes clearer when the buffer pool needs to be
12060           re-instantiated.
12061
12062 2016-05-24 16:29:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12063
12064         * gst/vaapi/gstvaapipluginbase.c:
12065           plugins: deactivate buffer pool before unref
12066           This buffer pool may still be processing buffers when a caps renegotiation is
12067           done. This one-liner patch deactivates the pool to drain it before it
12068           de-allocation.
12069
12070 2016-05-24 16:22:24 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12071
12072         * gst/vaapi/gstvaapipluginbase.c:
12073           plugins: no sinkpad bufferpool when decoder
12074           Right now, the decoders create a buffer pool for their sink pad which is not
12075           used at all, because the decoders have never proposed it to upstream.
12076           This patch avoids the buffer pool instantiating when the element inherits from
12077           the GstVideoDecoder class.
12078
12079 2016-05-24 13:39:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12080
12081         * gst/vaapi/gstvaapipluginbase.c:
12082           plugins: avoid to get/set pool config twice
12083           This patch is a bit of optimization, since the bufferpool configuration is get
12084           when the pool is created. Hence, we only need to request it when the pool from
12085           the allocation query is reused.
12086
12087 2016-05-13 13:14:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12088
12089         * gst/vaapi/gstvaapipluginbase.c:
12090           plugins: destroy pool earlier if non-vaapi
12091           If the offered pool in decide_allocation() vmethod doesn't have the
12092           VAAPI_VIDEO_META option, it is destroyed immediatly and the pointer cleared,
12093           so it could be created later.
12094
12095 2016-05-23 22:30:04 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12096
12097         * gst/vaapi/gstvaapivideobufferpool.c:
12098           vaapivideobufferpool: split caps validation
12099           When validating the caps from bufferpool config, this patch distinguishes the
12100           error from no caps received (NULL) from the invalid caps (cannot be converted
12101           into GstVideoInfo structure).
12102
12103 2016-05-23 22:21:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12104
12105         * gst/vaapi/gstvaapidecode.c:
12106         * gst/vaapi/gstvaapipluginbase.c:
12107           plugins: check for caps in query earlier
12108           Check for caps as soon gst_query_parse_allocation() returns.
12109
12110 2016-05-23 23:13:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12111
12112         * gst/vaapi/gstvaapipluginbase.c:
12113         * gst/vaapi/gstvaapipluginbase.h:
12114           plugins: remove unused variables
12115           This variables stopped to be used since commit 001a5c63, which removed the
12116           gstvaapiuploader.
12117
12118 2016-05-23 18:47:46 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12119
12120         * gst/vaapi/gstvaapipluginbase.c:
12121           plugins: fix potential memleak from commit 9159328
12122           If gst_video_info_from_caps() fails it is required to unref the instantiated
12123           pool.
12124
12125 2016-05-23 18:04:47 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12126
12127         * gst/vaapi/gstvaapipostproc.c:
12128           vaapipostproc: handle if gst_video_info_from_caps() fails
12129           Return FALSE is the received caps cannot be transformed into a GstVideoInfo
12130           structure.
12131
12132 2016-05-23 17:55:35 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12133
12134         * gst/vaapi/gstvaapipluginbase.c:
12135           plugins: handle if gst_video_info_from_caps() fails
12136           Let's play safe and return error if, somehow, the received caps are wrong.
12137
12138 2016-05-23 17:47:36 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12139
12140         * gst/vaapi/gstvaapipluginbase.c:
12141           plugins: relate errors to instance
12142           Use GST_{ERROR,WARNING}_OBJECT instead of GST_{ERROR,WARNING}, thus the logs
12143           will show the name of the vaapipluginbase instance that failed.
12144           Also, the code-style is fixed, where some error labels need to be surrounded
12145           by braces.
12146
12147 2016-05-20 21:01:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12148
12149         * gst/vaapi/gstvaapipluginbase.c:
12150         * gst/vaapi/gstvaapipluginutil.c:
12151         * gst/vaapi/gstvaapisink.c:
12152           plugins: use GstVideoInfo accessors
12153           Instead of access to GstVideInfo members directly, use their accessors
12154           macros. This patch makes more resistance to future changes in GStreamer core.
12155
12156 2016-05-20 19:33:39 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12157
12158         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
12159         * gst/vaapi/gstvaapipluginbase.c:
12160         * gst/vaapi/gstvaapipostproc.c:
12161         * tests/simple-encoder.c:
12162           remove spurious gst_video_info_init()
12163           gst_video_info_set_format() and gst_video_info_from_caps() call, internally,
12164           gst_video_info_init(), hence it is not required to call it before them. This
12165           patch removes these spurious calls.
12166
12167 2016-05-20 19:15:11 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12168
12169         * gst/vaapi/gstvaapipluginbase.c:
12170           vaapipluginbase: code-style: rename goto label
12171           The error labels have error_ prefix, but this one.
12172
12173 2016-05-19 16:34:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12174
12175         * gst/vaapi/gstvaapivideomemory.c:
12176           vaapivideomemory: use allocator custom alloc flag
12177           Instead of a dummy alloc() vmethod, the allocator instance set the flag
12178           GST_ALLOCATOR_FLAG_CUSTOM_ALLOC, which is used by the framework to avoid call
12179           gst_allocator_alloc() on the allocator.
12180
12181 2016-05-06 13:17:47 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12182
12183         * gst/vaapi/gstvaapivideobufferpool.c:
12184           vaapivideobufferpool: relate errors to instance
12185           Use GST_ERROR_OBJECT instead of GST_ERROR, thus the logs will show the name of
12186           the vaapivideobufferpool instance that failed.
12187
12188 2016-05-10 16:14:48 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12189
12190         * gst/vaapi/gstvaapipluginbase.c:
12191           plugins: remove gst_vaapi_plugin_base_set_pool_config()
12192           This function helper make sense for GStreamer 1.2, but it is not helpful for
12193           greater version since the validation is already done in the API implementation.
12194           Thus, it is removed.
12195
12196 2016-05-18 17:05:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12197
12198         * gst/vaapi/gstvaapipluginbase.c:
12199           gstvaapipluginbase: Fix typo in doc
12200
12201 2016-05-13 11:45:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12202
12203         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
12204           encoder : h264: Disable b-frame encode in low-power mode
12205           This is a workaround since vaapi-intel-driver doesn't have
12206           support for B-frame encode when utilizing low-power-enc
12207           hardware block.
12208           Fixme :We should query the VAConfigAttribEncMaxRefFrames
12209           instead of blindly disabling b-frame support and set b/p frame count,
12210           buffer pool size etc based on the query result.
12211           https://bugzilla.gnome.org/show_bug.cgi?id=766050
12212
12213 2016-05-13 11:44:57 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12214
12215         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
12216         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
12217           encoder: h264 : Use "tune=low-power" for enabling lowpower encode
12218           Remove the duplicate property "low-power-enc" and use the
12219           tune property for enabling low power encoding mode.
12220           https://bugzilla.gnome.org/show_bug.cgi?id=766050
12221
12222 2016-05-11 12:06:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12223
12224         * gst-libs/gst/vaapi/gstvaapiencoder.c:
12225           gstvaapiencoder:Use internal api to dervie configured VAEntrypoint
12226           https://bugzilla.gnome.org/show_bug.cgi?id=766050
12227
12228 2016-05-11 12:05:36 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12229
12230         * gst-libs/gst/vaapi/gstvaapiencoder.c:
12231         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
12232         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
12233           encoder: h264: Add support of low power/high performance encoding mode
12234           Added a new property "low-power-enc" for enabling low power
12235           encoding mode. Certain encoding tools may not be available
12236           with the VAEntrypointEncSliceLP.
12237           https://bugzilla.gnome.org/show_bug.cgi?id=766050
12238
12239 2016-05-11 12:04:46 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12240
12241         * gst-libs/gst/vaapi/gstvaapitypes.h:
12242         * gst-libs/gst/vaapi/gstvaapiutils.c:
12243         * gst-libs/gst/vaapi/gstvaapivalue.c:
12244           Add mapping for Macroblock level rate control (VA_RC_MB)
12245
12246 2016-05-11 12:03:08 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12247
12248         * gst-libs/gst/vaapi/gstvaapidisplay.c:
12249           gstvaapidisplay: Add VAEntrypointEncSliceLP support
12250           https://bugzilla.gnome.org/show_bug.cgi?id=766050
12251
12252 2016-05-11 11:59:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12253
12254         * gst-libs/gst/vaapi/gstvaapiprofile.c:
12255         * gst-libs/gst/vaapi/gstvaapiprofile.h:
12256           gstvaapiprofile : Add VAEntrypointEncSliceLP definitions
12257           This is for implementations that supports low_power/high_performance
12258           variant for slice level encode.
12259           https://bugzilla.gnome.org/show_bug.cgi?id=766050
12260
12261 2016-05-05 18:23:10 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12262
12263         * gst/vaapi/gstvaapipostprocutil.c:
12264           vaapipostproc: negotiate frame size fixation
12265           Refactor _fixate_frame_size(). Now, instead of fixating the frame size only
12266           using the sink caps, also it use the next capsfilter.
12267           This code is a shameless copy of gst_video_scale_fixate_caps() from
12268           https://cgit.freedesktop.org/gstreamer/gst-plugins-base/tree/gst/videoscale/gstvideoscale.c?id=1.8.1#n634
12269           https://bugzilla.gnome.org/show_bug.cgi?id=758548
12270
12271 2016-05-06 10:50:10 +0200  Scott D Phillips <scott.d.phillips@intel.com>
12272
12273         * gst/vaapi/gstvaapipostprocutil.c:
12274           vaapipostproc: don't use GstVideoInfo for src caps
12275           Instead of using gst_video_info_to_caps () to generated the fixed src caps,
12276           this patch enables the first step for caps negotiation with a possible
12277           following caps filter.
12278           _get_preferred_caps() will traverse the possible src caps looking for the one
12279           wit the preferred feature and the preferred color format. Then the color
12280           format, the frame size and the frame rate are fixated.
12281           https://bugzilla.gnome.org/show_bug.cgi?id=758548
12282
12283 2016-05-05 15:32:36 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12284
12285         * gst/vaapi/gstvaapipostproc.c:
12286         * gst/vaapi/gstvaapipostprocutil.c:
12287         * gst/vaapi/gstvaapipostprocutil.h:
12288           vaapipostproc: move gst_vaapipostproc_fixate_srccaps()
12289           Move gst_vaapipostproc_fixate_srccaps() to gstvaapiposptprocutil.
12290           No functional changes.
12291           https://bugzilla.gnome.org/show_bug.cgi?id=758548
12292
12293 2016-05-05 15:19:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12294
12295         * gst/vaapi/gstvaapipostproc.c:
12296           vaapipostproc: simplify code
12297           Change a convoluted snippet to find the preferred color format in the peer
12298           caps.
12299           https://bugzilla.gnome.org/show_bug.cgi?id=758548
12300
12301 2016-05-05 15:16:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12302
12303         * gst/vaapi/gstvaapipostproc.c:
12304           vaapipostproc: use othercaps for preferred caps
12305           Instead of the allowed_srcpad_caps variable, this patch uses the othercaps
12306           from fixate_caps() vmethod to find the preferred caps feature and color
12307           format.
12308           https://bugzilla.gnome.org/show_bug.cgi?id=758548
12309
12310 2016-05-05 13:46:11 +0200  Scott D Phillips <scott.d.phillips@intel.com>
12311
12312         * gst/vaapi/gstvaapipostproc.c:
12313           vaapipostproc: add fixate_caps() vmethod
12314           Instead of fixating the srcpad caps in transform_caps() vmethod, this patch
12315           implements the fixate_caps() vmethod and moves code around.
12316           https://bugzilla.gnome.org/show_bug.cgi?id=758548
12317
12318 2016-05-05 12:07:59 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12319
12320         * gst/vaapi/Makefile.am:
12321         * gst/vaapi/gstvaapipostproc.c:
12322         * gst/vaapi/gstvaapipostprocutil.c:
12323         * gst/vaapi/gstvaapipostprocutil.h:
12324           vaapipostproc: set early properties restrictions
12325           When running transform_caps() vmethod, returning the srcpad caps, the caps are
12326           early restricted to the element properties set: width, height, format and
12327           force keep aspect.
12328           A new file was added gstvaapipostprocutil.{c,h} where the utilities functions
12329           are stored.
12330           https://bugzilla.gnome.org/show_bug.cgi?id=758548
12331
12332 2016-04-25 13:45:04 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12333
12334         * gst/vaapi/gstvaapipostproc.c:
12335           vaapipostproc: log the caps transformation
12336           https://bugzilla.gnome.org/show_bug.cgi?id=758548
12337
12338 2016-04-27 21:20:32 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12339
12340         * gst/vaapi/gstvaapipostproc.c:
12341           vaapipostproc: no GLTextureUpload in sinkpad
12342           As the vaapipostproc does not process frames with the VideoGLTextureUpload
12343           meta, the feature is removed from the sink pad template.
12344           https://bugzilla.gnome.org/show_bug.cgi?id=765931
12345
12346 2015-09-28 08:49:39 +0100  Julien Isorce <j.isorce@samsung.com>
12347
12348         * gst/vaapi/gstvaapivideobufferpool.c:
12349           vaapibufferpool: do not create texture upload meta if dmabuf
12350           https://bugzilla.gnome.org/show_bug.cgi?id=755072
12351
12352 2016-05-06 12:16:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12353
12354         * git.mk:
12355           build: update git.mk
12356
12357 2016-04-29 13:11:48 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12358
12359         * gst/vaapi/gstvaapipluginbase.h:
12360           plugin: fix macro processor check
12361           Instead of #ifdef it should be used #if becasuse USE_GST_GL_HELPERS is always
12362           defined in config.h, but it would be 0 or 1 depending on the configure output.
12363           https://bugzilla.gnome.org/show_bug.cgi?id=765702
12364
12365 2016-04-29 12:53:06 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12366
12367         * tests/test-display.c:
12368           tests: display: guard possible unused variables
12369           https://bugzilla.gnome.org/show_bug.cgi?id=765702
12370
12371 2016-04-29 12:48:44 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12372
12373         * tests/codec.c:
12374         * tests/decoder.c:
12375         * tests/image.c:
12376         * tests/output.c:
12377         * tests/simple-decoder.c:
12378         * tests/test-decode.c:
12379         * tests/test-display.c:
12380         * tests/test-filter.c:
12381         * tests/test-h264.c:
12382         * tests/test-jpeg.c:
12383         * tests/test-mpeg2.c:
12384         * tests/test-mpeg4.c:
12385         * tests/test-subpicture-data.c:
12386         * tests/test-subpicture.c:
12387         * tests/test-surfaces.c:
12388         * tests/test-textures.c:
12389         * tests/test-vc1.c:
12390         * tests/test-windows.c:
12391           tests: inforce gstreamer code-style
12392
12393 2016-04-27 17:10:26 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12394
12395         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
12396           encoder: h265: Enable cu_qp_delta_enabled_flag for CBR
12397           It seems driver requires enablement of cu_qp_delta_enabled_flag
12398           for modifying QP values to controll the CBR mode bitrate.
12399           https://bugzilla.gnome.org/show_bug.cgi?id=749852
12400
12401 2016-04-27 17:06:09 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12402
12403         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
12404           encoder: h265: Add CBR Encoding support
12405           https://bugzilla.gnome.org/show_bug.cgi?id=749852
12406
12407 2015-11-27 05:09:10 +0000  Julien Isorce <j.isorce@samsung.com>
12408
12409         * gst-libs/gst/vaapi/gstvaapisurface.c:
12410           gstvaapisurface: explicitely clear TILING flag if dmabuf
12411           https://bugzilla.gnome.org/show_bug.cgi?id=755072
12412
12413 2015-10-04 23:44:16 +0100  Julien Isorce <j.isorce@samsung.com>
12414
12415         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
12416           gstvaapisurface_drm: release image when done
12417           Otherwise intel-vaapi-driver will fail to process the exported surface because
12418           it will find it is currently derived, so considered as busy.
12419           https://bugzilla.gnome.org/show_bug.cgi?id=755072
12420
12421 2015-09-26 06:25:12 +0100  Julien Isorce <j.isorce@samsung.com>
12422
12423         * gst/vaapi/gstvaapipostproc.c:
12424           vaapipostproc: already have a surface proxy if dmabuf
12425           https://bugzilla.gnome.org/show_bug.cgi?id=755072
12426
12427 2016-03-11 08:58:51 +0000  Julien Isorce <j.isorce@samsung.com>
12428
12429         * gst/vaapi/gstvaapipostproc.c:
12430           various gst-indent
12431
12432 2016-04-21 15:14:47 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12433
12434         * gst/vaapi/gstvaapidecode.c:
12435         * gst/vaapi/gstvaapipluginbase.c:
12436         * gst/vaapi/gstvaapipluginbase.h:
12437           vaapidecode: search driver in whitelist
12438           If the backend driver vendor string is not in a white-list, and the
12439           environment variable GST_VAAPI_ALL_DRIVERS is not set either, the decoder will
12440           change it state from NULL to READY, hence the auto-plug mechanism will look
12441           for another decoder.
12442           This patch assumes the GstContext has already being shared along the pipeline
12443           and the element has a valid GstVaapiDisplay instance.
12444           https://bugzilla.gnome.org/show_bug.cgi?id=764673
12445
12446 2016-04-21 12:57:30 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12447
12448         * gst/vaapi/gstvaapidecode.c:
12449         * gst/vaapi/gstvaapiencode.c:
12450         * gst/vaapi/gstvaapipluginbase.c:
12451         * gst/vaapi/gstvaapipluginbase.h:
12452         * gst/vaapi/gstvaapipostproc.c:
12453         * gst/vaapi/gstvaapisink.c:
12454           plugins: rework set_context() vmethod definition
12455           In bug 757598 was added the set_context() vmethod chain up in
12456           GstVaapiPluginBase. But it is buggy, since the parent_class address is
12457           assigned to the last element which called gst_vaapi_plugin_base_class_init().
12458           No error has shown up since none of the element's base classes redefined
12459           set_context() vmethod from GstElement, so always the correct function was
12460           called. Still this code is wrong and this patch make it right.
12461           Since set_context() is the same code, a macro is used to implement that code
12462           in all the gst-vaapi elements.
12463           https://bugzilla.gnome.org/show_bug.cgi?id=765368
12464
12465 2016-04-15 17:57:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12466
12467         * gst/vaapi/gstvaapipostproc.c:
12468           vaapipostproc: resize if negotiated and allocation caps are different
12469           Since commit 859a2b2, in vaapidecode, allocation query can be different from
12470           the negotiated caps.
12471           When connecting the vaapidecoder to the vaapipostprocessor, the last one will
12472           resize the frame to the negotiated, if and only if, some other parameter is
12473           activated to avoid the passthrough. If it is not, the surface won't be mapped
12474           into a image. If not, the image won't be resized and the output buffer would be
12475           mapped.
12476           This patch will break the passthrough if the allocation query is different
12477           from the negotiation caps, forcing the resizing.
12478           https://bugzilla.gnome.org/show_bug.cgi?id=765095
12479
12480 2016-04-05 13:09:37 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12481
12482         * gst/vaapi/gstvaapidecode.c:
12483           vaapidecode: improve code readability
12484           No functional changes.
12485
12486 2016-04-05 13:37:40 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12487
12488         * gst/vaapi/gstvaapidecode.c:
12489           vaapidecode: move GstCapsFeatures near to its use
12490           Move the handling of the GstCapsFeatures just after it is used, in order to
12491           avoid handling its memory.
12492
12493 2016-04-05 13:07:14 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12494
12495         * gst/vaapi/gstvaapidecode.c:
12496           vaapidecode: caps negotiation checks
12497           Check that GLUploadTexture is not negotatiated if gstreamer-vaapi is not
12498           compiled with GL support.
12499
12500 2016-03-10 16:43:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12501
12502         * gst/vaapi/gstvaapidecode.c:
12503         * gst/vaapi/gstvaapipluginbase.c:
12504         * gst/vaapi/gstvaapipluginbase.h:
12505         * gst/vaapi/gstvaapipostproc.c:
12506           plugins: remove param in gst_vaapi_plugin_base_decide_allocation()
12507
12508 2016-03-10 16:42:04 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12509
12510         * gst/vaapi/gstvaapidecode.c:
12511           vaapidecode: bail early if not caps in decide_allocation()
12512
12513 2016-03-29 14:17:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12514
12515         * gst/vaapi/gstvaapidecode.c:
12516         * gst/vaapi/gstvaapipluginbase.c:
12517         * gst/vaapi/gstvaapipluginutil.c:
12518         * gst/vaapi/gstvaapipluginutil.h:
12519         * gst/vaapi/gstvaapipostproc.c:
12520           plugin: use allowed caps filter from element
12521           Instead of using the srcpad template caps for filtering the peer caps, the
12522           function gst_vaapi_find_preferred_caps_feature(), now receives a new parameter
12523           for the element's allowed caps.
12524           With this modification, the vaapipostproc element simplifies a bit its code.
12525           https://bugzilla.gnome.org/show_bug.cgi?id=765223
12526
12527 2016-04-18 17:28:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12528
12529         * gst/vaapi/gstvaapidecode.c:
12530         * gst/vaapi/gstvaapipluginbase.c:
12531         * gst/vaapi/gstvaapipluginutil.c:
12532         * gst/vaapi/gstvaapipluginutil.h:
12533         * gst/vaapi/gstvaapipostproc.c:
12534           plugin: remove function parameter
12535           The native format parameter in gst_vaapi_find_preferred_caps_feature() can be
12536           saved if the out format is used for both: in and out. Thus the code is more
12537           readable.
12538           https://bugzilla.gnome.org/show_bug.cgi?id=765223
12539
12540 2016-04-18 17:17:58 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12541
12542         * gst/vaapi/gstvaapidecode.c:
12543           vaapidecode: warns if driver will do color conversions
12544           If the downstream feature is system memory, the surface has to be mapped,
12545           hence a warning message is logged saying that the driver has to do color
12546           conversions. This might be troublesome because not all the color conversion
12547           combinations are supported by the VA-API drivers, and there is not a reliable
12548           way to know them before hand.
12549           https://bugzilla.gnome.org/show_bug.cgi?id=765223
12550
12551 2016-03-29 13:28:27 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12552
12553         * gst/vaapi/gstvaapipluginutil.c:
12554           plugin: honour negotiated format
12555           Instead of setting the requested format by the caller, the function
12556           gst_vaapi_find_preferred_caps_feature() now returns, in the output parameter,
12557           the negotiated format.
12558           A new helper function was added: gst_vaapi_find_preferred_format(), which,
12559           given the format list from the negotiated caps, will choose the best one, if
12560           possible, given the native format.
12561           https://bugzilla.gnome.org/show_bug.cgi?id=765223
12562
12563 2016-03-28 19:26:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12564
12565         * gst/vaapi/gstvaapipluginutil.c:
12566           plugin: simplify caps feature selection
12567           This patch simplifies the function gst_vaapi_find_preferred_caps_feature().
12568           Instead of intersecting custom caps to find the preferred feature, the peer
12569           caps are traversed in order to find the preferred feature, according to an
12570           ordered feature priority list.
12571           In the case of GLTextureUploadMeta, the colour format is computed using
12572           GstVideoInfo of the selected fixed caps.
12573           https://bugzilla.gnome.org/show_bug.cgi?id=765223
12574
12575 2016-03-31 16:39:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12576
12577         * gst/vaapi/gstvaapidecode.c:
12578           vaapidecode: use macros for GstVideoInfo
12579           Instead of accessing directly to the members of the structure, use the macros.
12580
12581 2016-04-14 17:02:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12582
12583         * gst/vaapi/gstvaapidecode.c:
12584           vaapidecode: refactor is_display_resolution_changed()
12585           Make the comparisons more readable and simple.
12586           https://bugzilla.gnome.org/show_bug.cgi?id=764316
12587
12588 2016-04-14 16:43:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12589
12590         * gst/vaapi/gstvaapidecode.c:
12591         * gst/vaapi/gstvaapidecode.h:
12592           vaapidecode: keep only display_{width,height}
12593           Instead of keeping the structure GstVideoInfo when we are using its width and
12594           height, we only keep these two guints.
12595           https://bugzilla.gnome.org/show_bug.cgi?id=764316
12596
12597 2016-04-14 16:31:34 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12598
12599         * gst/vaapi/gstvaapidecode.c:
12600           vaapidecode: decoded_info is valid at src caps update
12601           As decoded_info is assured to be valid when gst_vaapidecode_update_src_caps()
12602           is called, then we don't need to verify or replace it with the sinkpad info
12603           (reference state).
12604           https://bugzilla.gnome.org/show_bug.cgi?id=764316
12605
12606 2016-04-14 16:22:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12607
12608         * gst/vaapi/gstvaapidecode.c:
12609           vaapidecode: always a valid format in decoded_info
12610           Always set a valid format in decoded_info class variable.
12611           https://bugzilla.gnome.org/show_bug.cgi?id=764316
12612
12613 2016-03-25 15:31:28 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12614
12615         * gst/vaapi/gstvaapidecode.c:
12616           vaapidecode: code style fixes
12617           No functional changes.
12618           https://bugzilla.gnome.org/show_bug.cgi?id=764316
12619
12620 2016-04-14 16:10:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12621
12622         * gst/vaapi/gstvaapidecode.c:
12623           vaapidecode: init {decoded,display}_info at open()
12624           It is required to initialize {decoded,display}_info variables when the decoder
12625           is open, not only at instance initialization.
12626           https://bugzilla.gnome.org/show_bug.cgi?id=764316
12627
12628 2016-03-28 15:30:28 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12629
12630         * gst/vaapi/gstvaapidecode.c:
12631         * gst/vaapi/gstvaapidecode.h:
12632           vaapidecode: remove spurious class variables
12633           active, do_pool_renego and do_outstate_renego class variables were used to
12634           indicate when negotiate downstream once, but now that each time a new surface
12635           resolution is pop out a renegotation verified, these variable are not required
12636           anymore.
12637           https://bugzilla.gnome.org/show_bug.cgi?id=764316
12638
12639 2016-04-14 15:46:32 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12640
12641         * gst/vaapi/gstvaapidecode.c:
12642         * gst/vaapi/gstvaapipluginbase.c:
12643         * gst/vaapi/gstvaapipluginbase.h:
12644         * gst/vaapi/gstvaapipostproc.c:
12645           remove custom allocation query
12646           When resolving bug 753914, a custom allocation query was added, overlapping
12647           the responsibilities of GstVideoDecoder.
12648           But with the merge of the patches from bug 764421 this overlapping was not
12649           required anymore. This patch restores this situation setting the
12650           allocation_caps in the GstVideoCodecState when needed.
12651           https://bugzilla.gnome.org/show_bug.cgi?id=764316
12652
12653 2016-04-14 10:04:47 +0100  Julien Isorce <j.isorce@samsung.com>
12654
12655         * common:
12656           Automatic update of common submodule
12657           From 6f2d209 to ac2f647
12658
12659 2016-04-13 15:44:20 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12660
12661         * gst/vaapi/gstvaapidecode.c:
12662         * gst/vaapi/gstvaapidecodebin.c:
12663         * gst/vaapi/gstvaapipostproc.c:
12664           plugins: disable GL_TEXTURE_UPLOAD if no EGL/GLX
12665           The plugins should not expose the feature meta:GstVideoGLTextureUploadMeta in
12666           their caps templates if they were not compiled either with GLX or EGL support.
12667
12668 2016-04-13 20:33:32 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12669
12670         * gst/vaapi/gstvaapipluginutil.c:
12671           plugins: fix compilation when EGL/GLX is disabled
12672           The compiler might complain of gst_vaapi_create_display_from_handle() being
12673           unused if both EGL and GLX are disabled. This patch avoid that compilation
12674           error.
12675
12676 2016-04-13 14:09:00 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
12677
12678         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
12679           libs: fix deleting a GstVaapiCodedBufferPool object
12680           Call gst_vaapi_video_pool_finalize() in coded_buffer_pool_finalize().
12681           Otherwise it is not called when the pool is destroyed and all objects
12682           referenced by the GstVaapiVideoPool are never released.
12683           https://bugzilla.gnome.org/show_bug.cgi?id=764993
12684
12685 2016-04-07 18:03:42 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12686
12687         * gst-libs/gst/vaapi/gstvaapisurface.c:
12688           surface: destroy derived image
12689           If gst_vaapi_image_new_with_image() fails, the created derived image should be
12690           destroyed, otherwise the surface cannot be processed because is being used.
12691           https://bugzilla.gnome.org/show_bug.cgi?id=764607
12692
12693 2016-03-18 20:00:52 -0300  Thiago Santos <thiagoss@osg.samsung.com>
12694
12695         * gst/vaapi/gstvaapidecode.c:
12696           vaapidecode: add stop function
12697           Clear any status on the current stream:
12698           stored frames, caps and decoder configuration
12699           https://bugzilla.gnome.org/show_bug.cgi?id=763460
12700
12701 2016-04-01 14:00:28 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12702
12703         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
12704           decoder: vp9: Align with the ABI changes in vp9 codecparser
12705           The subsampling_x, subsampling_y, bit_depth, color_space and color_range
12706           fileds are moved from GstVp9FrameHdr to the global GstVp9Parser structure.
12707           These fields are only present in keyframe or intra-only frame, no need to
12708           duplicate them for inter-frames.
12709           https://bugzilla.gnome.org/show_bug.cgi?id=764082
12710
12711 2016-04-01 13:59:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12712
12713         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
12714           decoder: vp9 : Add 10bit decoding support (Profile2)
12715           https://bugzilla.gnome.org/show_bug.cgi?id=764082
12716
12717 2016-04-01 13:57:45 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12718
12719         * gst-libs/gst/vaapi/gstvaapiprofile.c:
12720         * gst-libs/gst/vaapi/gstvaapiprofile.h:
12721           gstvaapiporfile: Add more VP9 profile definitions
12722           https://bugzilla.gnome.org/show_bug.cgi?id=764082
12723
12724 2016-02-03 20:34:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12725
12726         * Makefile.am:
12727         * configure.ac:
12728           build: possibility to disable tests
12729           The configuration option --disable-examples will disable the compilation of
12730           the sample apps in tests/ directory.
12731
12732 2016-03-29 14:25:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12733
12734         * gst/vaapi/gstvaapiencode_h264.c:
12735         * gst/vaapi/gstvaapiencode_h265.c:
12736         * gst/vaapi/gstvaapiencode_jpeg.c:
12737         * gst/vaapi/gstvaapiencode_mpeg2.c:
12738         * gst/vaapi/gstvaapiencode_vp8.c:
12739         * gst/vaapi/gstvaapipluginutil.h:
12740         * gst/vaapi/gstvaapisink.c:
12741           unify caps template for VAAPI encoders and decoders
12742           There is no difference in VAAPI surface caps between encoders and decoders.
12743           Thus, the patch makes a simplification by removing encoders specific caps and
12744           shares the same definition of VAAPI surfaces caps for all the elements.
12745
12746 2016-03-10 17:42:55 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12747
12748         * gst/vaapi/gstvaapidecode.c:
12749           vaapidecode: move gst_vaapidecode_negotiate() code
12750           With it we can remove a function declaration, making the code a bit
12751           more readable.
12752           https://bugzilla.gnome.org/show_bug.cgi?id=764316
12753
12754 2016-03-29 13:50:00 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12755
12756         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
12757         * docs/plugins/gstreamer-vaapi-plugins-sections.txt:
12758         * gst/vaapi/gstvaapidecode.c:
12759           docs: generate vaapijpegdec documentation
12760           https://bugzilla.gnome.org/show_bug.cgi?id=764314
12761
12762 2016-03-30 14:37:21 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12763
12764         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
12765           decoder: h265: Fix offset calculation when there is more than one vps/sps/pps present in codec_data
12766           The array_completeness, reserved bit and num_nal_units fields
12767           in HEVCDecoderConfigurationRecord will be present for each VPS/SPS/PPS array list,
12768           but not for each occurance of similar headers.
12769           https://bugzilla.gnome.org/show_bug.cgi?id=764274
12770
12771 2016-03-29 15:34:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12772
12773         * gst-libs/gst/vaapi/video-format.c:
12774           video-format: Keep the HW order preference while mapping to GstVideoFormats
12775
12776 2016-03-29 15:02:46 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12777
12778         * gst/vaapi/gstvaapidecode.c:
12779         * gst/vaapi/gstvaapipluginbase.c:
12780         * gst/vaapi/gstvaapipluginutil.c:
12781         * gst/vaapi/gstvaapipluginutil.h:
12782         * gst/vaapi/gstvaapivideomemory.c:
12783           gst/vaapi: keep precedence for NV12 over I420
12784           Use NV12 as default "assumption" format all over.
12785           NV12 is the default high priority format used my most of the
12786           vaapi-drivers.
12787
12788 2016-03-29 14:34:37 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12789
12790         * gst/vaapi/gstvaapidecode.c:
12791           vaapidecode: Use video format derived from decoded surface as default src pad format
12792           Use the surface format derived from first decoded surface
12793           to negotiate the downstream video format capabilities.
12794           https://bugzilla.gnome.org/show_bug.cgi?id=759181
12795
12796 2016-03-29 14:34:00 +0300  Scott D Phillips <scott.d.phillips@intel.com>
12797
12798         * gst-libs/gst/vaapi/gstvaapiimage.c:
12799         * gst-libs/gst/vaapi/video-format.c:
12800         * gst/vaapi/gstvaapidecode.c:
12801         * gst/vaapi/gstvaapipluginutil.h:
12802         * gst/vaapi/gstvaapisink.c:
12803           Add P010 video format support
12804           The P010 video format is the native format used by the vaapi intel driver
12805           for HEVCMain10 decode . Add support for planes and images of this video format.
12806           https://bugzilla.gnome.org/show_bug.cgi?id=759181
12807
12808 2016-03-27 09:11:00 +0000  Stephen <elfarto@elfarto.com>
12809
12810         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
12811           libs: x11: allows 30-bit colour depth
12812           The colour depth is clamped to 24 when it is not equal {15,16,24,32}. But this
12813           fails with the NVIDIA binary driver as it doesn't advertise a TrueColor visual
12814           with a depth of 24 (only 30 and 32). Allowing the depth to be 30, lets everything
12815           work as expected.
12816           https://bugzilla.gnome.org/show_bug.cgi?id=764256
12817
12818 2016-03-28 13:13:56 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12819
12820         * gst/vaapi/gstvaapivideometa_texture.c:
12821           gltextureupload: use an array for texture type
12822           Instead of using a single value for the texture type, use an array with 4
12823           elements, just as the GstVideoGLTextureUploadMeta, avoiding a buffer
12824           overflow.
12825           https://bugzilla.gnome.org/show_bug.cgi?id=764231
12826
12827 2016-03-24 15:09:43 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12828
12829         * gst/vaapi/gstvaapidecode.c:
12830         * gst/vaapi/gstvaapipluginbase.c:
12831           vaapidecode: Fix decide_allocation handling
12832           Set the already configured pool in decide_allocation query
12833           in cases where pool renegotiation is not required.
12834           https://bugzilla.gnome.org/show_bug.cgi?id=753914
12835
12836 2016-03-24 15:09:15 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12837
12838         * gst/vaapi/gstvaapidecode.c:
12839           vaapidecode: Derive and save the decoded surface format
12840           After the decoding of first frame, try to extract the exact
12841           decoded surface format using vaDeriveImage and keep this
12842           as the format in decoded_info.
12843           https://bugzilla.gnome.org/show_bug.cgi?id=753914
12844
12845 2016-03-24 15:08:50 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12846
12847         * gst/vaapi/gstvaapidecode.c:
12848         * gst/vaapi/gstvaapidecode.h:
12849         * gst/vaapi/gstvaapipluginbase.c:
12850         * gst/vaapi/gstvaapipluginbase.h:
12851         * gst/vaapi/gstvaapipostproc.c:
12852           Make vaapidecode to advertise the cropped values in srcpad, but negotiate pool only if needed
12853           -- Maintaing decoded surface resoluton and actual display resoultion separately
12854           -- Before pushing every frames downstream, check for the requirement of pool negoation and
12855           output_state negotiation: This is needed to avoid multiple issuses with cropping,
12856           multi-resoluton video handling, more complex multi resolution decode scenarios for vp9decode,
12857           possible wrong behaviour from upstream element to report uncropped values etc. Due to these reasons,
12858           We can't just reliably use the resolution change notification from libgstvaapi for pool renegotiation too.
12859           This is slight overhead, but safe enough. Optimization could be possible though.
12860           https://bugzilla.gnome.org/show_bug.cgi?id=753914
12861
12862 2016-03-24 15:08:27 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12863
12864         * gst/vaapi/gstvaapidecode.c:
12865           vaapidecode: Delay the output format setting until we have a decoded surface
12866           This will help to consoidate the out caps negotiation to a single place,
12867           which will make the code simpler, allows to get the exact decoded format
12868           if needed and the selected chroma type too.
12869           https://bugzilla.gnome.org/show_bug.cgi?id=753914
12870
12871 2016-03-24 13:36:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12872
12873         * gst/vaapi/gstvaapidecode.h:
12874           vaapidecode: GST_VAAPIDECODE macro is a cast
12875           This patch is the continuation of commit 1e1d3b1d because the function
12876           gst_vaapidecode_get_type() got undefined since then.
12877           Now, the macro GST_VAAPIDECODE is a simple cast to the GstVaapiDecode
12878           structure. The rest of the GObject handling macros were deleted too.
12879
12880 2016-03-24 13:34:18 +0200  Sebastian Dröge <sebastian@centricular.com>
12881
12882         * configure.ac:
12883           Back to development
12884
12885 === release 1.8.0 ===
12886
12887 2016-03-24 13:11:05 +0200  Sebastian Dröge <sebastian@centricular.com>
12888
12889         * ChangeLog:
12890         * NEWS:
12891         * configure.ac:
12892         * gstreamer-vaapi.doap:
12893           Release 1.8.0
12894
12895 === release 1.7.91 ===
12896
12897 2016-03-15 12:39:20 +0200  Sebastian Dröge <sebastian@centricular.com>
12898
12899         * ChangeLog:
12900         * NEWS:
12901         * configure.ac:
12902         * gstreamer-vaapi.doap:
12903           Release 1.7.91
12904
12905 2016-03-11 17:44:07 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12906
12907         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
12908           decoder: h265: Fix offset calculation in codec_data parsing
12909           https://bugzilla.gnome.org/show_bug.cgi?id=762922
12910
12911 2016-03-09 20:26:31 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12912
12913         * gst/vaapi/gstvaapidecodebin.c:
12914           vaapidecodebin: don't handle jpeg decoding
12915           As JPEG decoder has been split and demoted, it cannot be handled by
12916           vaapidecodebin
12917           Added a fixme comment regarding the future removal of vaapidecode.
12918           https://bugzilla.gnome.org/show_bug.cgi?id=734093
12919
12920 2016-03-09 20:25:08 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12921
12922         * gst/vaapi/gstvaapidecode.c:
12923           vaapidecode: split out jpeg decoder
12924           Split, as a different element, the JPEG decoder.
12925           https://bugzilla.gnome.org/show_bug.cgi?id=734093
12926
12927 2016-03-09 18:41:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12928
12929         * gst/vaapi/gstvaapi.c:
12930         * gst/vaapi/gstvaapidecode.c:
12931         * gst/vaapi/gstvaapidecode.h:
12932           vaapidecode: register decoder with internal GType
12933           Don't expose the the vaapidecode GType, instead expose a function
12934           which will register element.
12935           This is the first step to split the decoder by codecs.
12936           https://bugzilla.gnome.org/show_bug.cgi?id=734093
12937
12938 2016-03-10 12:47:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12939
12940         * gst/vaapi/gstvaapidecode.c:
12941           vaapidecode: remove unused function declaration
12942           There is no need to pre-declare gst_vaapidecode_update_sink_caps(). And fixed
12943           code-style of the other pre-declared functions.
12944
12945 2016-03-09 18:58:13 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12946
12947         * docs/plugins/Makefile.am:
12948           build: git ignore gtkdoc generated files
12949
12950 2016-03-09 18:55:39 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12951
12952         * m4/Makefile.am:
12953           build: handle git ignore in m4 directory
12954
12955 2016-03-04 20:17:54 -0300  Thiago Santos <thiagoss@osg.samsung.com>
12956
12957         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
12958           vaapidecoder_h265: plug leak of h265 parsing info
12959           If something goes wrong while parsing, the info object is
12960           being leaked
12961           https://bugzilla.gnome.org/show_bug.cgi?id=763121
12962
12963 2016-03-04 20:17:20 -0300  Thiago Santos <thiagoss@osg.samsung.com>
12964
12965         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
12966           vaapidecoder_h264: plug leak of h264 parsing info
12967           If something goes wrong while parsing, the info object is
12968           being leaked
12969           https://bugzilla.gnome.org/show_bug.cgi?id=763121
12970
12971 2016-03-09 11:03:28 +0900  Vineeth TM <vineeth.tm@samsung.com>
12972
12973         * gst/vaapi/gstvaapipluginutil.c:
12974           plugins: fix gstgl and vaapi memory leaks
12975           1\ Unref gl_display and gl_window as soon they are not needed.
12976           2\ Remove an unneeded display type check, since is handled by
12977           gst_vaapi_created_display_from_handle()
12978           3\ Unref vaapi's display if the display cannot be bind to a GL API.
12979           Modified-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12980           https://bugzilla.gnome.org/show_bug.cgi?id=763354
12981
12982 2016-03-09 14:13:24 +0900  Vineeth TM <vineeth.tm@samsung.com>
12983
12984         * gst-libs/gst/vaapi/gstvaapidisplay.c:
12985           vaapidisplay: Fix uninitialized value error for VA attribute
12986           https://bugzilla.gnome.org/show_bug.cgi?id=763362
12987
12988 2016-03-08 10:47:56 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
12989
12990         * gst/vaapi/gstvaapidecode.c:
12991         * gst/vaapi/gstvaapiencode.c:
12992           plugins: proxy information from downstream caps
12993           Propagate to upstream the downstream information, such as fps, par, etc.
12994           This will fix several "getcaps" critical warnings in gst-validate.
12995           https://bugzilla.gnome.org/show_bug.cgi?id=763300
12996
12997 2016-03-04 10:51:42 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
12998
12999         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
13000           decoder: vp9: Assign values for profile and bit_depth from frame header
13001           bit_depth field has added only in VA-API 0.39.0, added version check.
13002
13003 2016-03-04 09:12:13 +0200  Sebastian Dröge <sebastian@centricular.com>
13004
13005         * Makefile.am:
13006           build: Dist gstreamer-vaapi.doap and configure.ac/autogen.sh
13007           https://bugzilla.gnome.org/show_bug.cgi?id=763067
13008
13009 === release 1.7.90 ===
13010
13011 2016-03-01 19:23:51 +0200  Sebastian Dröge <sebastian@centricular.com>
13012
13013         * ChangeLog:
13014         * NEWS:
13015         * configure.ac:
13016         * gstreamer-vaapi.doap:
13017           Release 1.7.90
13018
13019 2016-03-01 16:14:47 +0200  Sebastian Dröge <sebastian@centricular.com>
13020
13021         * configure.ac:
13022           configure: Use AG_GST_SET_PACKAGE_RELEASE_DATETIME_WITH_NANO to set release date
13023
13024 2016-03-01 11:35:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13025
13026         * gst/vaapi/gstvaapidecode.c:
13027           vaapidecode: intersect with filter in getcaps()
13028           In commit 6034734d I forgot to add the caps filter intersection in the
13029           getcaps() vmethod generating a regression when a capsfilter is set in the
13030           pipeline.
13031           This commit adds the caps filter intersection.
13032
13033 2016-02-29 11:55:27 +0200  Lim Siew Hoon <siew.hoon.lim@intel.com>
13034
13035         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
13036           Add memset to initialize value for VAEncSliceParameterBufferJPEG
13037           https://bugzilla.gnome.org/show_bug.cgi?id=762850
13038
13039 2016-02-26 12:42:46 +0200  Sebastian Dröge <sebastian@centricular.com>
13040
13041         * common:
13042           Automatic update of common submodule
13043           From b64f03f to 6f2d209
13044
13045 2016-02-24 12:36:33 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13046
13047         * Makefile.am:
13048         * configure.ac:
13049         * m4/Makefile.am:
13050           build: add m4 directory
13051           Instead of rely on the automatic creation of m4 directory by aclocal, we
13052           already control it. Later we could create our own m4 scripts in order to
13053           unclutter configure.ac
13054           https://bugzilla.gnome.org/show_bug.cgi?id=762528
13055
13056 2016-02-23 10:55:02 +0200  Scott D Phillips <scott.d.phillips@intel.com>
13057
13058         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
13059           decoder: hevc: Fill dependent slice segment headers while parsing
13060           Copy the data into the dependent slice segment header from the
13061           corresponding independent slice segment header during parsing.
13062           Previously the reference to the "previous" independent header was
13063           held through the parsing phase and then dereferenced during the
13064           decoding phase. This caused all dependent headers to be populated
13065           with the data of the AU's last independent header instead of the
13066           proper corresponding header.
13067           https://bugzilla.gnome.org/show_bug.cgi?id=762352
13068           Changes since v1:
13069           - Reworded commit message
13070
13071 2016-02-17 13:43:48 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13072
13073         * gst/vaapi/gstvaapidecode.c:
13074           vaapidecode: use video decoder getcaps()
13075           The usage of getcaps() vmethod is preferred than to handle manually the sink's
13076           caps query.
13077           In order to avoid function declarations, this patch moves the class_init()
13078           method to the end of the file.
13079
13080 2016-02-17 12:51:45 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13081
13082         * gst/vaapi/gstvaapipluginbase.c:
13083           plugins: remove deprecated code
13084           Since we are only supporting current GStreamer version, since 1.3
13085           gst_buffer_pool_config_add_option() checks if the option to add is
13086           already set. There is no need to do it ourselves.
13087
13088 2016-02-19 19:03:44 -0300  Thiago Santos <thiagoss@osg.samsung.com>
13089
13090         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
13091           vaapidecoder_h265: fix parsing of NALU aligned data
13092           Don't assume the whole buffer is a single NAL, instead look for the
13093           next start code in case there are multiple NALs per buffer.
13094           https://bugzilla.gnome.org/show_bug.cgi?id=762328
13095
13096 2016-02-19 11:10:25 -0300  Thiago Santos <thiagoss@osg.samsung.com>
13097
13098         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
13099           vaapidecoder_h264: fix parsing of NALU aligned data
13100           Don't assume the whole buffer is a single NAL, instead look for the
13101           next start code in case there are multiple NALs per buffer.
13102           https://bugzilla.gnome.org/show_bug.cgi?id=762328
13103
13104 2016-02-18 10:13:53 +0900  Vineeth TM <vineeth.tm@samsung.com>
13105
13106         * gst/vaapi/gstvaapisink.c:
13107           vaapisink: Fix event,pad,structure memory leaks
13108           https://bugzilla.gnome.org/show_bug.cgi?id=762229
13109
13110 2016-02-17 15:40:54 +0200  Lim Siew Hoon <siew.hoon.lim@intel.com>
13111
13112         * gst/vaapi/gstvaapipluginbase.c:
13113           Add icamerasrc as dmabuf capable peer element
13114           icamerasrc is another gstreamer plugin using to capture RAW
13115           frames from camera device. It is based on libcamhal library.
13116           There are some properties available to control icamera behavior.
13117           Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
13118           Tested & Reviewed: Zhu Haiyang <haiyang.zhu@intel.com>
13119           https://bugzilla.gnome.org/show_bug.cgi?id=759481
13120           Fixme: This is the similar workaround we done for v4l2src.
13121           The workaround will be removed once we fix #755072
13122
13123 2016-02-17 17:15:28 +0900  Vineeth TM <vineeth.tm@samsung.com>
13124
13125         * gst/vaapi/gstvaapipluginbase.c:
13126           vaapipluginbase: Fix structure memory leak
13127           config structure is not being freed in all cases
13128           https://bugzilla.gnome.org/show_bug.cgi?id=762172
13129
13130 2016-02-17 17:20:08 +0900  Vineeth TM <vineeth.tm@samsung.com>
13131
13132         * gst/vaapi/gstvaapidecode.c:
13133           vaapidecode: Fix videocodec state memory leak
13134           When state is not NULL and either width/height of video info is 0, then state leaks
13135           https://bugzilla.gnome.org/show_bug.cgi?id=762173
13136
13137 2016-02-16 15:44:48 +0000  Tim-Philipp Müller <tim@centricular.com>
13138
13139         * gst/vaapi/gstvaapisink.c:
13140           vaapisink: post message for application for unhandled keyboard/mouse events
13141           Makes (most) keyboard shortcuts work in gst-play-1.0 when
13142           the video window has focus.
13143
13144 2016-02-16 08:48:43 +0900  Vineeth TM <vineeth.tm@samsung.com>
13145
13146         * gst/vaapi/gstvaapidecode.c:
13147           vaapidecode: Fix capsfeature memory leak
13148           https://bugzilla.gnome.org/show_bug.cgi?id=762116
13149
13150 2016-02-16 08:15:40 +0900  Vineeth TM <vineeth.tm@samsung.com>
13151
13152         * gst/vaapi/gstvaapisink.c:
13153           vaapisink: Fix capsfeature memory leak
13154           caps feature allocated is not being freeing in some cases
13155           https://bugzilla.gnome.org/show_bug.cgi?id=762111
13156
13157 2016-02-16 15:09:01 +0200  Sebastian Dröge <sebastian@centricular.com>
13158
13159         * configure.ac:
13160         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
13161         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
13162         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
13163         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
13164         * gst-libs/gst/vaapi/gstvaapifilter.c:
13165         * gst/vaapi/gstvaapidecodebin.c:
13166         * gst/vaapi/gstvaapipluginutil.c:
13167           vaapi: Fix various compiler warnings and disable -Wredundant-decls for now
13168
13169 2016-02-16 14:36:39 +0200  Sebastian Dröge <sebastian@centricular.com>
13170
13171         * configure.ac:
13172           configure: Fix setting of extra compiler warning flags
13173
13174 2016-02-15 18:00:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13175
13176         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
13177           libs: fix build error
13178           gst_vaapi_buffer_proxy_{acquire_handle,release_handle,finalize,class}
13179           functions are used only when libva's API version is greater than 0.36.0
13180           This patch guards those functions completely rather than just their
13181           content. The patch is a continuation of commit 38f8fea4
13182           Original-patch-by: Vineeth TM <vineeth.tm@samsung.com>
13183           https://bugzilla.gnome.org/show_bug.cgi?id=762055
13184
13185 2016-02-15 10:01:54 +0900  Vineeth TM <vineeth.tm@samsung.com>
13186
13187         * tests/simple-encoder.c:
13188           tests: simple-encoder: fix build error
13189           argument mismatch of gsize with 'long unsigned int'
13190           https://bugzilla.gnome.org/show_bug.cgi?id=762055
13191
13192 2016-02-04 10:16:00 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13193
13194         * gst/vaapi/gstvaapisink.c:
13195           vaapisink: Fix wrong caps advertising
13196           The get_caps() should only report the supported formats.
13197           https://bugzilla.gnome.org/show_bug.cgi?id=761147
13198
13199 2016-02-05 18:11:29 -0300  Thiago Santos <thiagoss@osg.samsung.com>
13200
13201         * common:
13202           Automatic update of common submodule
13203           From e97c9bb to b64f03f
13204
13205 2016-02-03 19:07:40 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13206
13207         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
13208         * docs/plugins/gstreamer-vaapi-plugins-sections.txt:
13209         * gst/vaapi/gstvaapi.c:
13210         * gst/vaapi/gstvaapiencode_h264.c:
13211         * gst/vaapi/gstvaapiencode_h265.c:
13212         * gst/vaapi/gstvaapiencode_jpeg.c:
13213         * gst/vaapi/gstvaapiencode_mpeg2.c:
13214         * gst/vaapi/gstvaapiencode_vp8.c:
13215           rename encoders to vaapi{codec}enc
13216           Trying to comply with GStreamer's element names, this patch renames the
13217           encoders using the name format vaapi{codec}enc.
13218           In this way, the plugin documentation is linked correctly.
13219           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13220
13221 2016-02-03 18:42:36 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13222
13223         * configure.ac:
13224           Use new AG_GST_ARG_ENABLE_EXTRA_CHECKS #define
13225           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13226
13227 2016-02-03 18:02:21 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13228
13229         * configure.ac:
13230           build: remove vp9 parser check
13231           Since the VP9 parser was added in gst-plugins-bad 1.7.1 we can remove safely
13232           the check of the parser, as we did for the others.
13233           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13234
13235 2016-02-03 17:06:48 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13236
13237         * common:
13238         * configure.ac:
13239           Back to development
13240           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13241
13242 === release 1.6.0 ===
13243
13244 2016-02-03 16:53:41 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13245
13246         * configure.ac:
13247           Release 1.6.0
13248
13249 2016-02-03 16:45:18 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13250
13251         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
13252         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
13253         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
13254           libs: fix compiler warnings
13255           After setting the release flags, the compiler warns about a couple
13256           initialized variables.
13257           Also marked a couple of set variables as unused, because they are only
13258           used for assertion.
13259           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13260
13261 2016-01-29 20:41:27 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13262
13263         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
13264         * docs/plugins/gstreamer-vaapi-plugins-sections.txt:
13265         * gst/vaapi/gstvaapidecode.c:
13266         * gst/vaapi/gstvaapidecodebin.c:
13267         * gst/vaapi/gstvaapiencode_h264.c:
13268         * gst/vaapi/gstvaapiencode_h265.c:
13269         * gst/vaapi/gstvaapiencode_jpeg.c:
13270         * gst/vaapi/gstvaapiencode_mpeg2.c:
13271         * gst/vaapi/gstvaapiencode_vp8.c:
13272         * gst/vaapi/gstvaapipostproc.c:
13273         * gst/vaapi/gstvaapisink.c:
13274           docs: update plugin documentation
13275           Update all the documentation of elements of the vaapi plugin.
13276           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13277
13278 2016-01-29 15:39:09 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13279
13280         * Makefile.am:
13281         * configure.ac:
13282         * docs/Makefile.am:
13283         * docs/plugins/Makefile.am:
13284         * docs/plugins/gstreamer-vaapi-plugins-docs.xml.in:
13285         * docs/plugins/gstreamer-vaapi-plugins.types:
13286         * docs/reference/Makefile.am:
13287         * docs/reference/plugins/Makefile.am:
13288         * docs/reference/plugins/plugins-sections.txt:
13289         * docs/reference/plugins/plugins.types:
13290         * docs/version.entities.in:
13291           resurrect gtk-doc machinery
13292           Our auto-generated documentation has been a bit neglected. This patch replaces
13293           the 'normal' gtk-doc with the one used in GStreamer, which is adapted for
13294           plugins, elements and libraries.
13295           This patch also re-enables documentation generation.
13296           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13297
13298 2016-01-28 19:35:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13299
13300         * ChangeLog:
13301         * Makefile.am:
13302         * autogen.sh:
13303         * configure.ac:
13304           use gst-common submodule
13305           This is 'the' big change in gstreamer-vaapi autoconf. Now it uses the official
13306           GStreamer common submodule.
13307           The documentation generation has been disable temporarily since it needs a
13308           major rework, which will be done in the following commit.
13309           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13310
13311 2016-01-25 16:06:03 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13312
13313         * .gitmodules:
13314         * common:
13315           add gst-common submodule
13316           Pointing to branch 1.6
13317           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13318
13319 2016-01-28 13:28:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13320
13321         * gstreamer-vaapi.doap:
13322           add doap descriptor
13323           DOAP (Description of a Project) is an RDF Schema and XML vocabulary to
13324           describe software projects, in particular free and open source software.
13325           The description is used in GStreamer as in many other open source projects.
13326           This patch adds the doap description of this project.
13327           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13328
13329 2016-02-03 11:50:13 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13330
13331         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
13332         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
13333         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
13334         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
13335         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
13336         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
13337         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
13338         * gst-libs/gst/vaapi/gstvaapiimage.c:
13339         * gst-libs/gst/vaapi/gstvaapiparser_frame.c:
13340         * gst-libs/gst/vaapi/gstvaapipixmap.c:
13341         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
13342         * gst-libs/gst/vaapi/gstvaapiprofile.c:
13343         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
13344           libs: humongous code style fix
13345           As part of the upstreaming process of gstreamer-vaapi into the GStreamer
13346           umbrella, we need to comply with the project's code style. This meant to
13347           change a lot of code.
13348           It was decided to use a single massive patch to update the code style.
13349           I would like to apologize with the original developers of this code because of
13350           the history breakage.
13351           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13352
13353 2016-02-03 11:04:15 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13354
13355         * gst-libs/gst/vaapi/gstvaapicontext.c:
13356         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
13357         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
13358         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
13359         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
13360         * gst/vaapi/gstvaapivideomemory.c:
13361           libs: small refactors to enhance the code style
13362           As gst-indent generated ugly code in these cases, this patch changes the used
13363           idiomatic into other one.
13364           No functional changes were introduced.
13365           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13366
13367 2016-02-02 17:59:57 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13368
13369         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
13370         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
13371         * gst-libs/gst/vaapi/gstvaapicodedbufferproxy.c:
13372         * gst-libs/gst/vaapi/gstvaapidecoder.c:
13373         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
13374         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
13375         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
13376         * gst-libs/gst/vaapi/gstvaapidisplay.c:
13377         * gst-libs/gst/vaapi/gstvaapiencoder.c:
13378         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
13379         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
13380         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
13381         * gst-libs/gst/vaapi/gstvaapifilter.c:
13382         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
13383         * gst-libs/gst/vaapi/gstvaapisurface.c:
13384         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
13385         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
13386         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
13387         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
13388         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
13389         * gst-libs/gst/vaapi/gstvaapiwindow.c:
13390         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
13391           libs: small code style fixes
13392           This a set of small code style fixes detected as-is by gst-indent.
13393           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13394
13395 2016-02-02 17:50:19 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13396
13397         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
13398         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
13399         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
13400         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
13401         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
13402         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
13403         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
13404         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
13405         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
13406           libs: trivial comment style fixes
13407           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13408
13409 2016-02-02 17:31:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13410
13411         * gst-libs/gst/vaapi/gstvaapicodedbuffer.c:
13412         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
13413           libs: avoid gst-indent mess up
13414           Guard pieces of code to avoid gst-ident to mess up the following code.
13415           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13416
13417 2016-02-03 12:17:59 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13418
13419         * gst/vaapi/gstvaapidecode.c:
13420         * gst/vaapi/gstvaapidecodebin.c:
13421         * gst/vaapi/gstvaapipluginutil.c:
13422         * gst/vaapi/gstvaapisink.c:
13423         * gst/vaapi/gstvaapivideomemory.c:
13424           plugins: fix code style
13425           Minor code style changes by executing gst-indent in gst/vaapi directory.
13426           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13427
13428 2016-02-01 13:22:10 +0000  Tim-Philipp Müller <tim@centricular.com>
13429
13430         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
13431         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
13432           Fix some more compiler warning
13433           Two (false) compiler warnings about variables potentially
13434           being used uninitialized, and one about a variable being
13435           set but not used.
13436           https://bugzilla.gnome.org/show_bug.cgi?id=759192
13437
13438 2016-02-01 13:02:13 +0000  Tim-Philipp Müller <tim@centricular.com>
13439
13440         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
13441         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
13442         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
13443         * gst-libs/gst/vaapi/gstvaapifilter.c:
13444         * gst/vaapi/gstvaapidecode.c:
13445         * gst/vaapi/gstvaapipluginbase.c:
13446         * gst/vaapi/gstvaapipluginutil.c:
13447         * gst/vaapi/gstvaapipostproc.c:
13448         * tests/simple-encoder.c:
13449         * tests/test-filter.c:
13450           vaapi: fix 'ISO C90 forbids mixed declarations and code' compiler warnings
13451           Declare variables at the beginning of a code block, which
13452           is how it's done in GStreamer.
13453           https://bugzilla.gnome.org/show_bug.cgi?id=759192
13454
13455 2016-01-28 14:21:04 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13456
13457         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
13458           decoder: vp9: Fix crop rectangle setting
13459           Align with software vp9dec behaviour: Add crop rectangle
13460           only if display_width/display_height is less than the
13461           frame_hdr->width/frame_hdr->height
13462
13463 2016-01-27 08:56:45 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13464
13465         * gst/vaapi/gstvaapidecode.c:
13466           vaapidecode: Fix renegotiation for resolution change
13467           Always renegotiate the pool if the immediate frame which going
13468           to be pushed has a different un-cropped resolution than the already
13469           configured one.
13470
13471 2016-01-29 15:51:49 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13472
13473         * gst/vaapi/gstvaapipluginbase.h:
13474           plugins: use the same pre-processor macro
13475           In gstvaapipluginbase.c we are using the macro USE_GST_GL_HELPERS to guard the
13476           code related with GstGL. Nonetheless, in gstvaapipluginbase.h we are using
13477           HAVE_GST_GL_GL_H macro in order to include the GstGLContext's header.
13478           We should use only one to be homogeneous. This patch sets USE_GST_GL_HELPERS
13479           in the header file.
13480           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13481
13482 2016-01-29 18:06:29 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13483
13484         * gst-libs/gst/vaapi/gstvaapidecoder.c:
13485           decoder: update a deprecated function
13486           Somehow this didn't show up earlier, but gst_adapter_prev_timestamp() got
13487           deprecated since GStreamer 1.0.
13488           This patch replace it with gst_adapter_prev_pts()
13489           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13490
13491 2016-01-29 13:13:56 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13492
13493         * configure.ac:
13494           build: honor configure's cache
13495           The user might enable --config-cache when calling configure script. If so, our
13496           configuration variables will not be correctly calculated.
13497           This patch extracts the value of our variables either from the cache or from
13498           the operation result.
13499           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13500
13501 2016-01-28 19:12:13 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13502
13503         * configure.ac:
13504           build: use common version variables
13505           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13506
13507 2016-01-28 19:01:43 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13508
13509         * configure.ac:
13510           build: hard-code an unneeded macro
13511           That macro is required for EGL's dynamic module loading, but since
13512           gstreamer-vaapi doesn't creates dynamic modules, it is not required anymore.
13513           That code in gst-libs/gst/vaapi/gstvaapidisplay_egl.c should be removed.
13514           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13515
13516 2016-01-28 17:14:51 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13517
13518         * configure.ac:
13519           build: refactorization of dependency tracking
13520           This patch tries to avoid branching in configure.ac using a more functional
13521           approach in macros usage.
13522           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13523
13524 2016-01-29 12:34:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13525
13526         * configure.ac:
13527           build: check for OpenGL either GLX or EGL are requested
13528           Refactor some code in configure.ac to centralize $enable_opengl definition.
13529           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13530
13531 2016-01-28 16:55:44 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13532
13533         * configure.ac:
13534           build: indent and add square braces
13535           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13536
13537 2016-01-28 16:50:39 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13538
13539         * configure.ac:
13540           build: upgrade autotools version dependency
13541           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13542
13543 2016-01-29 11:14:34 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13544
13545         * configure.ac:
13546           build: enhance string comparisons
13547           Add a 'x' as a prefix in string comparisons to watch out for edge cases where
13548           the string is empty or undefined.
13549           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13550
13551 2016-01-28 14:29:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13552
13553         * configure.ac:
13554           build: remove unused variables
13555           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13556
13557 2016-01-27 19:00:51 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13558
13559         * configure.ac:
13560           build: remove check for old version of gstreamer
13561           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13562
13563 2016-01-27 17:55:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13564
13565         * configure.ac:
13566           build: remove GStreamer's parsers checks
13567           This patch removes almost all the parsers check since they are already in place,
13568           with the exception of the VP9 parser, since it was merged in Gstreamer 1.7.
13569           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13570
13571 2016-01-29 12:11:17 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13572
13573         * configure.ac:
13574         * gst/vaapi/Makefile.am:
13575           build: add gstreamer-pbutils dependency
13576           This dependency was added in gstvaapidecodebin with the call
13577           gst_missing_element_message_new().
13578           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13579
13580 2016-01-27 17:53:59 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13581
13582         * configure.ac:
13583           build: fix variable declaration
13584           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13585
13586 2016-01-27 17:47:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13587
13588         * gst-libs/gst/vaapi/Makefile.am:
13589           build: fix when HEVC decoder is disabled
13590           This a very pathological situation: when we have a HEVC encoder but not a HEVC
13591           decoder.
13592           The encoder needs functions that are only available when the decoder is
13593           enabled.
13594           This patch moves the utils functions into the generic sources, such as the
13595           rest of the utils.
13596           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13597
13598 2016-01-27 17:20:31 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13599
13600         * gst/vaapi/Makefile.am:
13601           build: remove unused EGL specific sources
13602           These Makefile variables are not used at all.
13603           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13604
13605 2016-01-27 17:19:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13606
13607         * gst/vaapi/Makefile.am:
13608           build: remove check for GStreamer 1.2
13609           Since we are working for current stable GStreamer 1.6
13610           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13611
13612 2016-01-26 11:49:40 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13613
13614         * gst/vaapi/gstvaapiparse.h:
13615           Remove more video parser crufts
13616           This header is not used anymore since it declares parsers that are
13617           already in GStreamer 1.6
13618           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13619
13620 2016-01-25 12:43:15 +0000  Tim-Philipp Müller <tim@centricular.com>
13621
13622         * configure.ac:
13623         * docs/reference/Makefile.am:
13624         * docs/reference/libs/Makefile.am:
13625         * docs/reference/libs/libs-docs.xml.in:
13626         * docs/reference/libs/libs-overrides.txt:
13627         * docs/reference/libs/libs-sections.txt:
13628           docs: remove library documentation which is non-public now
13629           https://bugzilla.gnome.org/show_bug.cgi?id=759192
13630
13631 2016-01-25 12:40:49 +0000  Tim-Philipp Müller <tim@centricular.com>
13632
13633         * Makefile.am:
13634         * configure.ac:
13635         * debian.upstream/Makefile.am:
13636         * debian.upstream/changelog.in:
13637         * debian.upstream/compat:
13638         * debian.upstream/control.in:
13639         * debian.upstream/copyright:
13640         * debian.upstream/gstreamer-vaapi-doc.install.in:
13641         * debian.upstream/gstreamer-vaapi.install.in:
13642         * debian.upstream/rules:
13643           Remove debian.upstream packaging
13644           https://bugzilla.gnome.org/show_bug.cgi?id=759192
13645
13646 2016-01-22 19:27:13 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13647
13648         * gst-libs/gst/vaapi/gstvaapidecoder.c:
13649         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
13650         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
13651         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
13652         * gst-libs/gst/vaapi/gstvaapiprofile.c:
13653         * gst/vaapi/gstcompat.h:
13654         * gst/vaapi/gstvaapi.c:
13655         * gst/vaapi/gstvaapidecode.c:
13656         * gst/vaapi/gstvaapiencode.c:
13657         * gst/vaapi/gstvaapipluginbase.c:
13658         * gst/vaapi/gstvaapipluginbase.h:
13659         * gst/vaapi/gstvaapipluginutil.c:
13660         * gst/vaapi/gstvaapisink.c:
13661           Remove old gst version guards
13662           As gstreamer-vaapi now only supports from GStreamer 1.6, this patch removes
13663           all the old GStreamer version guards.
13664           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13665
13666 2016-01-22 19:23:43 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13667
13668         * gst/vaapi/gstvaapiparse.c:
13669           Remove video parser crufts
13670           We forgot to remove gstvaapiparse.c when we removed all the videoparser
13671           machinery.
13672           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13673
13674 2015-12-09 19:52:33 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13675
13676         * docs/reference/libs/Makefile.am:
13677         * docs/reference/plugins/Makefile.am:
13678         * gst-libs/gst/vaapi/Makefile.am:
13679         * gst/vaapi/Makefile.am:
13680         * tests/Makefile.am:
13681           libs: remove versioning
13682           Since we don't install libraries anymore, it makes no sense to keep
13683           versioning them according to the gstreamer's version.
13684           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13685
13686 2015-12-09 16:59:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13687
13688         * configure.ac:
13689         * debian.upstream/Makefile.am:
13690         * debian.upstream/control.in:
13691         * debian.upstream/libgstvaapi-dev.install.in:
13692         * debian.upstream/libgstvaapi-drm.install.in:
13693         * debian.upstream/libgstvaapi-glx.install.in:
13694         * debian.upstream/libgstvaapi-wayland.install.in:
13695         * debian.upstream/libgstvaapi-x11.install.in:
13696         * debian.upstream/libgstvaapi.install.in:
13697         * gst-libs/gst/vaapi/Makefile.am:
13698         * tests/Makefile.am:
13699           libs: make libraries no installables
13700           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13701
13702 2015-12-09 15:37:39 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13703
13704         * debian.upstream/libgstvaapi-dev.install.in:
13705         * gst-libs/gst/vaapi/Makefile.am:
13706           Do not install libgstvaapi headers
13707           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13708
13709 2016-01-19 10:40:54 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13710
13711         * Makefile.am:
13712         * configure.ac:
13713         * patches/Makefile.am:
13714         * patches/videoparsers/0001-plugins-compile-the-built-in-video-parsers-as-vaapip.patch:
13715         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
13716         * patches/videoparsers/0003-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
13717         * patches/videoparsers/0004-h264parse-Disable-3D-video-support-for-GStreamer-1.5.patch:
13718         * patches/videoparsers/0005-videoparsers-h264-Disable-passthorugh-mode-enabling.patch:
13719         * patches/videoparsers/0006-h265parse-include-gstvaapiparse.h.patch:
13720         * patches/videoparsers/0007-h265parse-fix-build-with-GStreamer-1.5.patch:
13721         * patches/videoparsers/Makefile.am:
13722         * patches/videoparsers/series.frag:
13723           Remove videoparser patches
13724
13725 2015-12-09 15:18:11 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13726
13727         * Makefile.am:
13728         * configure.ac:
13729         * debian.upstream/libgstvaapi-dev.install.in:
13730         * pkgconfig/Makefile.am:
13731         * pkgconfig/gstreamer-vaapi-drm.pc.in:
13732         * pkgconfig/gstreamer-vaapi-glx.pc.in:
13733         * pkgconfig/gstreamer-vaapi-wayland.pc.in:
13734         * pkgconfig/gstreamer-vaapi-x11.pc.in:
13735         * pkgconfig/gstreamer-vaapi.pc.in:
13736           Remove pkg-config files
13737           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13738
13739 2015-12-09 13:24:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13740
13741         * .gitmodules:
13742         * Makefile.am:
13743         * configure.ac:
13744         * ext/Makefile.am:
13745         * ext/codecparsers:
13746         * gst-libs/gst/Makefile.am:
13747         * gst-libs/gst/codecparsers/Makefile.am:
13748         * gst-libs/gst/vaapi/Makefile.am:
13749         * gst/vaapi/Makefile.am:
13750           Remove codecparsers submodule
13751           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13752
13753 2015-12-08 00:36:36 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13754
13755         * .gitmodules:
13756         * autogen.sh:
13757         * configure.ac:
13758         * debian.upstream/libgstvaapi.install.in:
13759         * ext/Makefile.am:
13760         * ext/libvpx/Makefile.am:
13761         * ext/libvpx/gstlibvpx.c:
13762         * ext/libvpx/gstlibvpx.h:
13763         * ext/libvpx/libgstcodecparsers_vpx.vers:
13764         * ext/libvpx/sources.frag:
13765         * ext/libvpx/upstream:
13766         * gst-libs/gst/codecparsers/Makefile.am:
13767         * gst-libs/gst/codecparsers/gstvaapilibvpx.c:
13768           Remove libvpx submodule
13769           We will be using upstream codecparsers always.
13770           No more internal libvpx !
13771
13772 2015-12-09 14:12:22 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13773
13774         * configure.ac:
13775           build: fix check for GstJpegParser
13776           Right now the local JPEG parser is always compiled because the check for the
13777           upstreamed version is broken: it looks for an non existent symbol:
13778           GstJpegImage.
13779           This patch changes that check for< GstJpegFrameHdr.
13780           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13781
13782 2015-10-28 09:56:46 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
13783
13784         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
13785           wayland: free the frame in frame_release_callback()
13786           This basically reverts 62c3888b76afc69f714a020957e8c5dd9d98f561 (wayland:
13787           decouple wl_buffer from frame).
13788           Otherwise the frame may be overwritten while it is still used by the
13789           compositer:
13790           The frame done callback (frame_done_callback()) is called, when the
13791           compositor is done processing the frame and hands it to the hardware.
13792           The buffer release callback (frame_release_callback()) is called when the
13793           buffer memory is no longer used.
13794           This can be quite some time later: E.g. if weston (with the DRM backend)
13795           puts the buffer on a hardware plane, then then buffer release callback is
13796           called when the kernel is done with the buffer. This is usually when the
13797           next frame is shown, so most likely after the frame done callback for the
13798           next frame!
13799           Since 70eff01d36a2870cbf06ffb91c2a941e8cb6b804 "wayland: sync() when
13800           destroy()" the mentioned possible leak should no longer be a problem, so
13801           reverting this change should cause no leaking buffers.
13802           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13803           https://bugzilla.gnome.org/show_bug.cgi?id=758848
13804           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13805
13806 2016-01-14 17:36:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13807
13808         * gst/vaapi/gstvaapipostproc.c:
13809           vaapipostproc: check ANY caps at transform_caps()
13810           When transforming downstream caps we should check for ANY caps from peer pad,
13811           otherwise we get a segmentation fault.
13812           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13813           https://bugzilla.gnome.org/show_bug.cgi?id=759893
13814
13815 2016-01-13 19:17:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13816
13817         * gst/vaapi/gstvaapisink.c:
13818           vaapisink: ignore frame if its upload failed
13819           When gst_vaapi_plugin_base_get_input_buffer() fail to copy the input buffer
13820           into a VAAPI buffer, the return value is GST_FLOW_NOT_SUPPORTED, and it was
13821           ignored by the vaapisink, leading to a segmentation fault.
13822           This patch ignores the frame that generated the GST_FLOW_NOT_SUPPORTED
13823           returned by gst_vaapi_plugin_base_get_input_buffer(), avoiding the
13824           segmentation fault, but doing and effort to continue rendering. This is
13825           the same behavior of ximagesink.
13826           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13827           https://bugzilla.gnome.org/show_bug.cgi?id=759332
13828
13829 2015-12-09 18:24:50 +0200  Joel Holdsworth <joel.holdsworth@vcatechnology.com>
13830
13831         * configure.ac:
13832           build: Don't ignore GST_PLUGIN_PATH_1_0 even if the directory doesn't exist yet
13833           https://bugzilla.gnome.org/show_bug.cgi?id=759184
13834
13835 2015-12-08 16:14:11 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13836
13837         * gst-libs/gst/vaapi/gstvaapicontext.c:
13838         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
13839         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
13840         * gst-libs/gst/vaapi/gstvaapiutils_h265_priv.h:
13841           Add 10 HEVC 10 bit decoding support
13842           Only supporting vaapidecode ! vaapisink combination for now.
13843           Missing dependencies:
13844           1: No support for P010 video format in GStreamer
13845           2: No support for P010 vaGetImage()/vaPutimage() in vaapi-intel-driver
13846           3: As a result of 1&2 , we have no support for Vaapi Video memory mapping
13847           through GstVideoMeta.
13848           Right now we only set chroma format (YUV420 with more than 8 bits per channel)
13849           for surface pool and keeping GST_VIDEO_FORMAT as ENCODED. The underlying format
13850           of the surfaces is implementation (driver) defined, which is P010.
13851
13852 2001-01-01 04:59:28 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13853
13854         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
13855         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
13856           gstvaapisurfacepool: Add new API to create surface pool based on chroma type
13857           This new API gst_vaapi_surface_pool_new_with_chroma_type() is for
13858           creating a new GstVaapiVideoPool of GstVaapiSurfaces with the specified
13859           chroam type and dimensions. The underlying format of the surfaces is
13860           implementation (driver) defined.
13861
13862 2015-12-07 19:06:28 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13863
13864         * gst-libs/gst/vaapi/gstvaapisurface.h:
13865         * gst-libs/gst/vaapi/gstvaapiutils.c:
13866           Add definitions for YUV420 with more than 8 bits per channel
13867
13868 2015-12-07 17:26:24 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13869
13870         * gst-libs/gst/vaapi/gstvaapiprofile.c:
13871           gstvaapiporfile: Fix string representation of HEVCMain10 profile
13872
13873 2015-12-07 16:17:11 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13874
13875         * configure.ac:
13876           Bump version for development
13877
13878 === release 0.7.0 ===
13879
13880 2015-12-07 12:52:10 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13881
13882         * configure.ac:
13883           0.7.0
13884
13885 2015-12-07 12:49:05 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13886
13887         * NEWS:
13888           NEWS: Updates
13889
13890 2015-12-07 12:47:04 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13891
13892         * AUTHORS:
13893           AUTHORS: Update
13894
13895 2015-12-07 12:39:23 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13896
13897         * README:
13898           README: Update
13899
13900 2015-11-26 10:34:12 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13901
13902         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
13903           texture: detect GL version and use the proper API
13904           When receiving the texture from the application or the video sink, we must
13905           know it size and border. To query the texture the API has changed according to
13906           the OpenGL version used in the GL context of the application/vsink.
13907           This patch checks the current context API type and queries the texture
13908           according to this detected API.
13909           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13910           https://bugzilla.gnome.org/show_bug.cgi?id=753099
13911
13912 2015-11-26 10:19:32 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13913
13914         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
13915           texture: check for expected target and format
13916           gst_vaapi_texture_glx_new_wrapped() only handles a GL_TEXTURE_2D target and
13917           formats GL_RGBA or GL_BGRA.
13918           This patch adds a debugging verification of those values.
13919           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13920           https://bugzilla.gnome.org/show_bug.cgi?id=753099
13921
13922 2015-11-26 10:26:10 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13923
13924         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
13925         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
13926           libs: add gl3_bind_texture_2d()
13927           Since OpenGL3.1 removed the fixed pipelines[1] enabling 2D textures is not
13928           needed. In particular, the Intel's Mesa implementation complains if it is
13929           called.
13930           This patch add a new binding function for 2D textures, without enabling
13931           gl3_bind_texture_2d()[2].
13932           1. https://www.opengl.org/wiki/Fixed_Function_Pipeline
13933           2. https://www.opengl.org/wiki/Common_Mistakes#OOP_and_hidden_binding
13934           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13935           https://bugzilla.gnome.org/show_bug.cgi?id=753099
13936
13937 2015-11-26 10:14:45 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13938
13939         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
13940         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
13941           libs: add gl_get_current_api()
13942           In order to know which OpenGL API use, we must detect the API type of current
13943           context. This patch adds the function gl_get_current_api() which returns the
13944           OpenGL API type.
13945           This function is an adaptation of gst_gl_context_get_current_gl_api() from
13946           GstGL.
13947           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13948           https://bugzilla.gnome.org/show_bug.cgi?id=753099
13949
13950 2015-11-27 12:29:11 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13951
13952         * configure.ac:
13953         * gst-libs/gst/vaapi/Makefile.am:
13954           build: Add gmodule dependency for libgstvaapi_egl
13955           https://bugzilla.gnome.org/show_bug.cgi?id=756259
13956
13957 2015-11-27 14:24:55 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13958
13959         * patches/videoparsers/0005-videoparsers-h264-Disable-passthorugh-mode-enabling.patch:
13960         * patches/videoparsers/0006-h265parse-include-gstvaapiparse.h.patch:
13961         * patches/videoparsers/0007-h265parse-fix-build-with-GStreamer-1.5.patch:
13962         * patches/videoparsers/series.frag:
13963           patches/videoparsers: h264: Disable passthorugh mode enabling
13964           This is a quick fix for regression introduced by the upstream
13965           commit e8908f5aeef952566f6bccde743c7735d3f8c6ef in h264 videoparser.
13966           The patch is disabling the passthrough mode, otherwise it will
13967           break multi-layer mvc stream parsing.
13968           https://bugzilla.gnome.org/show_bug.cgi?id=758656
13969
13970 2015-11-25 15:12:53 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13971
13972         * gst/vaapi/Makefile.am:
13973         * patches/videoparsers/Makefile.am:
13974         * patches/videoparsers/series.frag:
13975           build: add gsth265parse patches conditionally
13976           As gsth265parse was added in GStreamer 1.4, and gstreamer-vaapi still support
13977           GStreamer 1.2, the patching of gsth265parse must be conditional to the target
13978           GStreamer version.
13979           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13980           https://bugzilla.gnome.org/show_bug.cgi?id=755525
13981
13982 2015-11-25 15:11:28 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13983
13984         * gst/vaapi/Makefile.am:
13985           build: declare correctly parse lib built files
13986           This is a continuation of commit fc8a0d12
13987           When declaring BUILT_SOURCES, those files should not be distributed. This
13988           patch avoids the distribution of the generated source code.
13989           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
13990           https://bugzilla.gnome.org/show_bug.cgi?id=755525
13991
13992 2015-11-24 17:14:20 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13993
13994         * ext/libvpx/sources.frag:
13995           build: libvpx: Add missing source file
13996
13997 2015-11-23 17:21:23 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
13998
13999         * gst/vaapi/gstvaapipostproc.c:
14000           vaapipostproc: Correctly detect the caps change
14001           This is a quick fix for regression introuduced by the
14002           commit 757833230bc73b8e3b4e31649e4618ba802bea51
14003           With out this, the gst_vaapipostproc_create() will
14004           never get invoked.
14005           https://bugzilla.gnome.org/show_bug.cgi?id=758543
14006
14007 2015-11-18 20:48:30 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14008
14009         * ext/libvpx/Makefile.am:
14010         * ext/libvpx/sources.frag:
14011           build: libvpx: update the sources lists
14012           `make dist` broke since commit f06798 (libvpx: Update the submodule to
14013           libvpx-1.4.0) because the sources.frag does not contain all the module
14014           sources.
14015           This patch updates thoroughly the sources.
14016           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14017           https://bugzilla.gnome.org/show_bug.cgi?id=755525
14018
14019 2015-11-16 17:49:01 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14020
14021         * gst/vaapi/gstvaapipostproc.c:
14022           vaapipostproc: don't set caps change at first set
14023           When the source caps change, the filter is destroyed and recreated.
14024           Nonetheless, this happens every time the vaapipostproc starts, since the caps
14025           change detection algorithm does not take in consideration when the caps are
14026           set by first time.
14027           This patch intents to be an optimization, to avoid a useless filter
14028           destroy-creation cycle when the sources caps are set for first time.
14029           The new helper function video_info_update() is a refactorization to avoid
14030           duplicated code.
14031           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14032           https://bugzilla.gnome.org/show_bug.cgi?id=758007
14033
14034 2015-11-12 16:13:25 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14035
14036         * gst/vaapi/gstvaapipostproc.c:
14037           vaapipostproc: params video_info_changed() callers
14038           The signature is video_info_changed(old_vip, new_vip). Nonetheless the callers
14039           swapped the the order. This didn't raise problems since the comparison of both
14040           structures were not affected by its semantics.
14041           But still it would be better to fix this to keep the coherence of the code.
14042           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14043           https://bugzilla.gnome.org/show_bug.cgi?id=758007
14044
14045 2015-09-24 10:35:44 +0000  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14046
14047         * gst/vaapi/Makefile.am:
14048           build: declare real built files
14049           When runnig the `make dist` target from a clean tree, it fails because
14050           if could not find the copied files from codecparsers submodule.
14051           They weren't copied because they weren't declared as built sources.
14052           This patch removes the stamp mechanism and use the actual file list to copy
14053           as the built sources. Also it fixes the duplication of the parser files.
14054           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14055           https://bugzilla.gnome.org/show_bug.cgi?id=755525
14056
14057 2015-11-17 19:37:07 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14058
14059         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
14060           decoder: vp9: Fix last/golden/altref frame index setting
14061           Always fill VADecPictureParameterBufferVP9 last/golden/altref indices
14062           based on what ever reference frame indices encoded in frame header.
14063
14064 2015-08-25 16:01:51 +0000  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14065
14066         * debian.upstream/rules:
14067           debian: remove custom parallel compilation
14068           In order to build a debian package with upstream source, the user should
14069           do
14070           ./autogen.sh
14071           cp -a debian.upstream debian
14072           debuild -eDEB_BUILD_OPTIONS="parallel=8" -us -uc -b
14073           The environment variable DEB_BUILD_OPTIONS="parallel=8" is the canonical
14074           way to make a parallel build (-j8 in this case).
14075           This commit removes the script in debian/rules that detects the number of
14076           cpus, requested by the environment variable DEBIAN_BUILD_NCPUS, which is not
14077           official in debian.
14078           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14079           https://bugzilla.gnome.org/show_bug.cgi?id=754087
14080
14081 2015-11-16 18:22:55 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14082
14083         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
14084           decoder: vp9: Fix PTS calculation of cloned frames
14085
14086 2015-11-16 18:22:33 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14087
14088         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
14089           decoder: vp9: Avoid unnecessary show_frame flag checking while doing picture output
14090           We always set GST_VAAPI_PICTURE_FLAG_SKIPPED for DECODE_ONLY frames and the
14091           gstvaapidecoder base calss is reponsible for handling those frames later on.
14092           No need for explicit verification of frame header's show_frame in order to
14093           do picture outputing.
14094
14095 2015-11-16 18:22:14 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14096
14097         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
14098           decoder: vp9: Fix ref picture update while doing repeat frame
14099           Don't try to do frame decoding and reference picture update
14100           while receiving a vp9 frame having show_existing_frame flag
14101           set as TRUE.
14102
14103 2015-11-16 18:21:56 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14104
14105         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
14106           decoder: vp9: Add repeat-frame display handling
14107           If vp9 frame header come up with show_existing_frame flag set,
14108           we should duplicate the existing decoded frame as current frame to
14109           be displayed.
14110
14111 2015-11-12 11:07:38 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14112
14113         * gst/vaapi/gstvaapidecodebin.c:
14114           vaapidecodebin: add me as element co-author
14115           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14116           https://bugzilla.gnome.org/show_bug.cgi?id=757957
14117
14118 2015-11-12 12:47:01 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14119
14120         * gst/vaapi/gstvaapidecodebin.c:
14121           vaapidecodebin: try to get display from decoder
14122           Rather than create a dummy display, if none has propagated as a context, we
14123           should try to get the one from vaapidecode.
14124           As the bin is already in READY state, the vaapidecode should be also in that
14125           state. That means that the contexts have been negotiated, and it should have
14126           already a display.
14127           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14128           https://bugzilla.gnome.org/show_bug.cgi?id=757957
14129
14130 2015-11-11 19:04:25 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14131
14132         * gst/vaapi/gstvaapidecodebin.c:
14133         * gst/vaapi/gstvaapidecodebin.h:
14134           vaapidecodebin: add postprocessor dynamically
14135           The former approach to left the bin unfinished has some problems: the context
14136           cannot be shared because the vaapidecode is unlinked in many cases, leading to
14137           creating a VADisplay twice.
14138           Initially the bin is fully functional, constructed as
14139           (-----------------------------------)
14140           |            vaapidecodebin         |
14141           |   (-------------)    (-------)    |
14142           |<--| vaapidecode |--->| queue |--->|
14143           |   (-------------)    (-------)    |
14144           (-----------------------------------)
14145           When the context is shared and the VADisplay has VPP capabilities, before
14146           changing to READY state, the bin is reconfigured dynamically, adding the
14147           vaapipostproc element afeter the queue:
14148           (--------------------------------------------------------)
14149           |                       vaapidecodebin                   |
14150           |   (-------------)    (-------)    (---------------)    |
14151           |<--| vaapidecode |--->| queue |--->| vaapipostproc |--->|
14152           |   (-------------)    (-------)    (---------------)    |
14153           (--------------------------------------------------------)
14154           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14155           https://bugzilla.gnome.org/show_bug.cgi?id=757957
14156
14157 2015-11-11 16:33:24 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14158
14159         * gst/vaapi/gstvaapidecodebin.c:
14160           vaapidecodebin: delay the bin configuration
14161           Delay the bin configuration until changing to READY state. This is because we
14162           should add the vaapipostproc element until the vaapidecode has emitted the
14163           HAVE_CONTEXT message, so de gst_bin_add() could set the context set to
14164           vaapipostproc.
14165           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14166           https://bugzilla.gnome.org/show_bug.cgi?id=757957
14167
14168 2015-11-13 19:39:56 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14169
14170         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
14171           decoder: vp9: Add crop rectangle support.
14172           Set crop rectange if:
14173           There is display_width and display_height which is different from actual width/height
14174           or
14175           The changed resolution is less than the actual configured dimension of surfaces
14176
14177 2015-11-13 19:23:05 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14178
14179         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
14180           decoder: vp9: Fix the context and surface pool reset for multi resolution video
14181           Unlike other decoders, vp9 decoder doesn't need to reset the
14182           whole context and surfaces for each resolution change. Context
14183           reset only needed if resolution of any frame is greater than
14184           what actullay configured. There are streams where a bigger
14185           resolution set in ivf header or webm header but actual resolution
14186           of all frames are less. Also it is possible to have inter-prediction
14187           between these multi resolution frames.
14188
14189 2015-11-13 18:58:33 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14190
14191         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
14192           decoder: vp9: Fill the VADecPictureParameterBufferVP9 width/height from frame header
14193           Always fill width/height of VADecPictureParameterBufferVP9 from frame header.
14194           Preliminary fix for supproting multi resolution video decode.
14195
14196 2015-11-13 18:51:27 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14197
14198         * gst/vaapi/gstvaapidecode.c:
14199           vaapidecode: Add comments for corner case fixes and fix couple of indentations.
14200
14201 2015-11-13 18:41:53 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14202
14203         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
14204           decoder: vp9: Set lossless flag from frame header
14205
14206 2015-11-13 18:40:52 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14207
14208         * ext/codecparsers:
14209           codecparsers: Update to gst-vaapi-branch d9f25
14210           d9f2527: codecparsers: vp9: Set lossless flag in frame header
14211
14212 2015-11-11 19:16:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14213
14214         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
14215           libs: vp9: remove unused symbols
14216           clang complains about a couple variables and one label which were not
14217           used. This patch removes them.
14218           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14219           https://bugzilla.gnome.org/show_bug.cgi?id=757958
14220
14221 2015-11-10 19:00:22 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14222
14223         * ext/codecparsers:
14224           codecparsers: Update to gst-vaapi-branch da251bb
14225           da251bb: codecparsers: vp9: Optimize the memory allocation
14226           f5759f4: codecparsers: vp9: Fix the wrong memcpy of probability arrays
14227
14228 2015-11-05 12:58:52 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14229
14230         * gst/vaapi/gstvaapipluginbase.c:
14231         * gst/vaapi/gstvaapipluginbase.h:
14232           plugin: guard pointers to pad query functions
14233           Since gstreamer 1.4 is not required to have pad query functions if the query
14234           vmethods are used.
14235           This patch guards out the pad query functions for gstreamer < 1.4
14236           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14237           https://bugzilla.gnome.org/show_bug.cgi?id=757629
14238
14239 2015-11-05 12:39:55 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14240
14241         * gst/vaapi/gstvaapiencode.c:
14242           vaapiencode: use pad query vmethods
14243           GstVideoEncoder, the base class of vaapiencode, added support for pad queries
14244           as virtual methods since gstreamer 1.4. This patch enables those vmethods,
14245           while keeps support for previous versions of gstreamer.
14246           This patch is relevant since GstVideoEncoder takes care of other queries that
14247           we are currently ignoring.
14248           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14249           https://bugzilla.gnome.org/show_bug.cgi?id=757629
14250
14251 2015-10-28 13:01:04 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14252
14253         * gst/vaapi/gstvaapidecode.c:
14254           vaapidecode: return pad's template caps if no display
14255           A caps query can occur before the element has a display. In that case, the
14256           element can return its pad's template. But when the element already has a
14257           display, and the caps probe fails, the element shall return an empty caps, so
14258           the auto-plug could try with another decoder.
14259           If the element has a display and the caps probe works, then the computed caps
14260           should be returned.
14261           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14262           https://bugzilla.gnome.org/show_bug.cgi?id=757598
14263
14264 2015-10-28 12:59:02 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14265
14266         * gst/vaapi/gstvaapidecode.c:
14267         * gst/vaapi/gstvaapisink.c:
14268           plugins: don't create display at caps query
14269           Caps query can happen before the element has a bus. The display creation should
14270           be should occur on the context negotiation, when the bus is already configured.
14271           Then at caps query no display should be created.
14272           Instead of force the display creation, we graciously fail the allowed_caps()
14273           creation.
14274           This change only applies for vaapidecode and vaapisink. The vaapipostroc, as a
14275           basetransform descendant, seems to be not affected by this, nor the encoders.
14276           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14277           https://bugzilla.gnome.org/show_bug.cgi?id=757598
14278
14279 2015-11-04 21:38:42 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14280
14281         * gst/vaapi/gstvaapidecode.c:
14282         * gst/vaapi/gstvaapiencode.c:
14283         * gst/vaapi/gstvaapipluginutil.c:
14284         * gst/vaapi/gstvaapipluginutil.h:
14285         * gst/vaapi/gstvaapipostproc.c:
14286         * gst/vaapi/gstvaapisink.c:
14287           plugins: fix context query handling
14288           The current context query handling design is flawed: the function
14289           gst_vaapi_reply_to_query() returns FALSE either if the query is not a
14290           GST_CONTEXT_QUERY of if the query could not be handled correctly. But the
14291           pad query function should handle differently each case.
14292           This patch changes the gst_vaapi_reply_to_query() for
14293           gst_vaapi_handle_context_query() and changes it usage in all the vaapi plugins
14294           to match the correct context query handling.
14295           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14296           https://bugzilla.gnome.org/show_bug.cgi?id=757598
14297
14298 2015-11-04 20:37:05 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14299
14300         * gst/vaapi/gstvaapipluginutil.c:
14301           plugin: don't lose previous context at query
14302           When processing the GST_CONTEXT_QUERY we should not lose the previous
14303           context in the query, we should only add our display structure.
14304           This patch copies the old context, if it is there, and stamp our display on
14305           it. Otherwise, a new context is created.
14306           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14307           https://bugzilla.gnome.org/show_bug.cgi?id=757598
14308
14309 2015-11-04 20:29:03 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14310
14311         * gst/vaapi/gstvaapivideocontext.c:
14312         * gst/vaapi/gstvaapivideocontext.h:
14313           vaapivideocontext: add gst_vaapi_video_context_set_display()
14314           This function set the display to an already created context. This function is
14315           going to be used later.
14316           Also, gst_vaapi_video_context_new_with_display() now uses this function.
14317           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14318           https://bugzilla.gnome.org/show_bug.cgi?id=757598
14319
14320 2015-10-30 12:27:16 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14321
14322         * gst/vaapi/gstvaapipluginutil.c:
14323         * gst/vaapi/gstvaapivideocontext.c:
14324         * gst/vaapi/gstvaapivideocontext.h:
14325           plugins: check if display is set in sync
14326           Since the context messages are sync'ed, the display assignation happens in the
14327           same thread, hence we can know if the display was found or not as soon we call
14328           for it.
14329           In order to take advantage of it, gst_vaapi_video_context_prepare() receives,
14330           as a new parameter, the address of the plugin's display, and reports back if
14331           the display was found and set.
14332           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14333           https://bugzilla.gnome.org/show_bug.cgi?id=757598
14334
14335 2015-10-30 12:33:48 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14336
14337         * gst/vaapi/gstvaapipluginutil.c:
14338         * gst/vaapi/gstvaapivideocontext.c:
14339           plugins: set display through context
14340           Instead of setting the display to the plugin directly after its creation, do
14341           it through the gstreamer's context mechanism, avoiding double assignations.
14342           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14343           https://bugzilla.gnome.org/show_bug.cgi?id=757598
14344
14345 2015-11-02 18:20:07 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14346
14347         * gst/vaapi/gstvaapivideocontext.c:
14348           vaapivideocontext: rename context structure
14349           The context structure is named "display" which is too generic. The contrary
14350           happens, for example, with GstGL, what uses the same name as the context, and
14351           its logs make more sense.
14352           This patch renames the context structure with the same name as the
14353           context, thus GST_PTR_FORMAT can pretty print it.
14354           https://bugzilla.gnome.org/show_bug.cgi?id=757598
14355
14356 2015-11-04 19:02:34 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14357
14358         * gst/vaapi/gstvaapivideocontext.c:
14359           vaapivideocontext: refactor gst_vaapi_video_context_prepare()
14360           First, refactorized run_context_query() into _gst_context_run_query(), adding
14361           a new parameter: the pad direction, in order to simplify the code.
14362           Second, added a new helper function: _gst_context_query(), which is a generic
14363           context query function.  It isolates the operation of running the query and
14364           sets the context if found, also it enhances the logs.
14365           _gst_context_query() is similar to the one used in GstGL. Perhaps, in the
14366           future this helper function will be merged into the core libraries of
14367           GStreamer.
14368           Finally, gst_vaapi_video_context_prepare() was rewritten to use
14369           _gst_context_query().
14370           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14371           https://bugzilla.gnome.org/show_bug.cgi?id=757598
14372
14373 2015-10-30 11:18:47 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14374
14375         * gst/vaapi/gstvaapivideocontext.c:
14376           vaapivideocontext: refactor context category debug
14377           Refactor the extraction GST_CAT_CONTEXT logging using a only once
14378           initializator, so we could get the debug category from different code
14379           paths, safely.
14380           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14381           https://bugzilla.gnome.org/show_bug.cgi?id=757598
14382
14383 2015-10-23 11:17:01 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14384
14385         * gst/vaapi/gstvaapivideocontext.c:
14386           gstvaapivideocontext: fix indentation
14387           gst-indent does not handle correctly some expression like function
14388           declaration with attributes, breaking the following expressions.
14389           This patch makes gst-indent to ignore the attributed function
14390           declartion so the followed function definition is not mangled, such
14391           as happened in commit b4154a
14392           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14393           https://bugzilla.gnome.org/show_bug.cgi?id=757598
14394
14395 2015-11-02 16:48:27 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14396
14397         * gst/vaapi/gstvaapipluginbase.c:
14398           plugin: chain up set_context() vmethod
14399           Since Gstreamer 1.7, set_context() vmethod needs to be chained up with
14400           the parent class in order to broadcast all its contexts when the element
14401           is added into a bin:
14402           http://cgit.freedesktop.org/gstreamer/gstreamer/commit/?id=d5ded1588920c4471eefe055d09095d9e5e989b5
14403           There is no need to guard the call, because before GStreamer 1.7, the
14404           set_context() vmethod was NULL in the element class, hence the conditional
14405           call make it safe.
14406           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14407           https://bugzilla.gnome.org/show_bug.cgi?id=757598
14408
14409 2015-11-06 10:20:34 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14410
14411         * tests/simple-encoder.c:
14412           tests: simple-encoder: remove dead code
14413           The caps creation for codec state configuration is not used. Let's remove it.
14414           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14415
14416 2015-11-02 19:05:07 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14417
14418         * gst/vaapi/gstvaapidecodebin.c:
14419           vaapidecodebin: fix a leaked display instance
14420           The display returned by gst_vaapi_video_context_get_display() increments the
14421           references. Thus, we have to unref the returned display.
14422           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14423           https://bugzilla.gnome.org/show_bug.cgi?id=757595
14424
14425 2015-11-04 16:50:44 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14426
14427         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
14428         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
14429           libs: remove unneeded headers
14430           Since gstvaapidisplay_glx.h do not expose gl.h/glx.h structures, it is not
14431           required to include them in the header. It is not also required to include
14432           them in gstvaapidisplay_glx.c, since gstvaapiutils_glx.h includes them and
14433           exposes their structures (e.g. GLXPixmap).
14434           Nonetheless, glext.h neither glxext.h are required to include, they are
14435           already included conditionally by gl.h and glx.h, respectively.
14436           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14437           https://bugzilla.gnome.org/show_bug.cgi?id=757577
14438
14439 2015-11-06 19:18:54 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14440
14441         * ext/codecparsers:
14442           codecparsers: Update to gst-vaapi-branch 0ea6792
14443           0ea6792: codecparsers: vp9: Add header comments
14444           347ffc7: codecparsers: vp9: Use g_slice_free() for releasing memory allocated from the slice allocator
14445
14446 2015-11-06 15:19:38 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14447
14448         * gst/vaapi/gstvaapidecode.c:
14449           VP9: plugins: Add VP9 decoder
14450
14451 2015-11-06 15:12:51 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14452
14453         * gst-libs/gst/vaapi/Makefile.am:
14454         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.c:
14455         * gst-libs/gst/vaapi/gstvaapidecoder_vp9.h:
14456           VP9: libgstvaapi: Add VP9 decoder
14457
14458 2015-11-06 14:57:00 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14459
14460         * gst-libs/gst/vaapi/gstvaapiprofile.c:
14461         * gst-libs/gst/vaapi/gstvaapiprofile.h:
14462           VP9: gstvaapiprofile: Add profile definitions
14463
14464 2015-11-06 14:39:22 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14465
14466         * configure.ac:
14467           VP9: build: Check availability of vp9 decoder APIs
14468
14469 2015-11-06 14:24:08 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14470
14471         * configure.ac:
14472         * ext/Makefile.am:
14473         * gst-libs/gst/codecparsers/Makefile.am:
14474           VP9: Allow building vp9 codecparser internally
14475
14476 2015-11-06 12:38:46 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14477
14478         * ext/codecparsers:
14479           codecparsers: Update to gst-vaapi-branch commit ac5dc1a
14480           ac5dc1a: codecparsers: vp9: Add vp9 codec parser
14481           e7d9217: codecparser: h264: initialize parsing structures
14482           403d400: codecparser: h265: initialize parsing structures
14483
14484 2015-11-04 15:37:34 +0100  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14485
14486         * configure.ac:
14487           configure.ac: don't use an undefined variable
14488           If the environment lacks of gstreamer development packages, this error will
14489           be reported to the user: "gstreamer- was not found"
14490           This is because we are using an undefined variable in the printed message. The
14491           fix simple changes the variable for the hard-coded string "1.0".
14492           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14493           https://bugzilla.gnome.org/show_bug.cgi?id=757283
14494
14495 2015-10-16 15:55:40 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14496
14497         * gst/vaapi/gstvaapidecode.c:
14498           vaapidecode: relax guards for memory:VASurface capsfeature
14499           Though caps features are supported since GStreamer 1.2, there are some
14500           issues with the features caps negotiation in that version. Nonetheless,
14501           those issues are fixed in GStreamer 1.4. So, the memoy:VASurface caps
14502           feature negotiation is relaxed for GStreamer 1.4.
14503           The guard is the same as in vaapisink's caps template.
14504           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14505           https://bugzilla.gnome.org/show_bug.cgi?id=756686
14506
14507 2015-10-15 18:18:36 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14508
14509         * gst/vaapi/gstvaapidecode.c:
14510           vaapidecode: decide allocation doesn't update srccaps
14511           The received caps query will bring the already negotiated caps, so they are
14512           not expected to change.
14513           This patch removes this verification which is dead code path.
14514           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14515           https://bugzilla.gnome.org/show_bug.cgi?id=756686
14516
14517 2015-10-14 20:30:30 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14518
14519         * gst/vaapi/gstvaapidecode.c:
14520         * gst/vaapi/gstvaapipluginutil.c:
14521         * gst/vaapi/gstvaapipluginutil.h:
14522           vaapidecode: use caps to check the features
14523           Instead of calling gst_vaapi_find_preferred_caps_feature(), which is
14524           expensive, we check the caps from the allocation query, to check the
14525           negotiated feature.
14526           In order to do this verification a new utility function has been implemented:
14527           gst_vaapi_caps_feature_contains().
14528           As this new function shared its logic with gst_caps_has_vaapi_surface(), both
14529           have been refactorized.
14530           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14531           https://bugzilla.gnome.org/show_bug.cgi?id=756686
14532
14533 2015-10-14 20:22:43 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14534
14535         * gst/vaapi/gstvaapidecode.c:
14536           vaapidecode: set format before decide allocation
14537           There is a regression from commit 3d8e5e. It was expected the buffer pool
14538           allocation occur before the caps negotiation, but it is not.
14539           This patch fixes this regression: the caps negotiation is done regardless the
14540           allocation query from downstream.
14541           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14542           https://bugzilla.gnome.org/show_bug.cgi?id=756686
14543
14544 2015-10-16 20:21:50 +0800  Lim Siew Hoon <siew.hoon.lim@intel.com>
14545
14546         * configure.ac:
14547           build: check for patch and fix yasm check
14548           Add configure checking for GNU patch tools and fixed configure
14549           checking YASM to correct sequence.
14550           Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
14551           https://bugzilla.gnome.org/show_bug.cgi?id=756690
14552
14553 2015-10-15 19:20:21 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14554
14555         * ext/libvpx/Makefile.am:
14556           build: Remove disable-md5 option for libvpx build
14557           The configure option --disable-md5 was provided in libvpx-1.3.0 which
14558           has been removed in 1.4.0.
14559
14560 2015-10-15 19:00:26 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14561
14562         * ext/libvpx/upstream:
14563           libvpx: Update the submodule to libvpx-1.4.0
14564           libvpx git commit: c74bf6d889992c3cabe017ec353ca85c323107cd
14565
14566 2015-10-15 10:59:08 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14567
14568         * configure.ac:
14569           configure: mark support for GStreamer 1.2 as obsolete.
14570           Support for GStreamer 1.2 is obsolete. i.e. it is no longer supported.
14571           Our goal is to support the last two stable versions of GStreamer which
14572           are 1.4 and 1.6 at the moment.
14573           We still keep the 1.2 specific codes until the next gstreamer-vaapi-0.7
14574           release and will get rid of those in 0.8.
14575
14576 2015-10-12 14:13:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14577
14578         * gst/vaapi/gstvaapidecode.c:
14579           vaapidecode: Fix buffer copy assertion
14580           Don't try to copy the NULL buffer-codec_data.
14581
14582 2015-09-28 14:57:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14583
14584         * configure.ac:
14585           build: allow builds against GStreamer 1.7.x
14586           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14587
14588 2015-09-23 16:02:46 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14589
14590         * gst/vaapi/gstcompat.h:
14591           gstcompat: add gst_buffer_copy_deep() if gst < 1.5
14592           gst_buffer_copy_deep() was added in GStreamer 1.5. If want to use it we should
14593           add an implementation if gstreamer-vaapi is linked to previous versions.
14594           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14595
14596 2015-09-23 12:13:41 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14597
14598         * gst/vaapi/gstvaapidecode.c:
14599           vaapidecode: simplify copy of GstVideoCodecState
14600           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14601
14602 2015-09-14 19:21:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14603
14604         * patches/videoparsers/0006-h265parse-fix-build-with-GStreamer-1.5.patch:
14605         * patches/videoparsers/series.frag:
14606           patches/videoparsers: h265parser: more API fences
14607           Add more API fences according with its version and refresh the patch.
14608           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14609           https://bugzilla.gnome.org/show_bug.cgi?id=754845
14610
14611 2015-09-14 19:19:56 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14612
14613         * patches/videoparsers/0005-h265parse-include-gstvaapiparse.h.patch:
14614         * patches/videoparsers/series.frag:
14615           patches/videoparsers: h265parser: rename patch keeping number
14616           Refresh the patch and rename it in order to keep the patch number.
14617           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14618           https://bugzilla.gnome.org/show_bug.cgi?id=754845
14619
14620 2015-09-14 19:18:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14621
14622         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
14623           patches/videoparsers: h264parser: more API fences and refresh
14624           Add more API fences according with its version and refresh the patch.
14625           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14626           https://bugzilla.gnome.org/show_bug.cgi?id=754845
14627
14628 2015-09-14 19:16:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14629
14630         * patches/videoparsers/0004-h264parse-Disable-3D-video-support-for-GStreamer-1.5.patch:
14631         * patches/videoparsers/series.frag:
14632           patches/videoparsers: h264parser: fix description and refresh
14633           Fix a typo in the patch description and refresh it in order to avoid the
14634           creation of .orig files and break the distcheck target.
14635           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14636           https://bugzilla.gnome.org/show_bug.cgi?id=754845
14637
14638 2015-09-14 19:15:18 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14639
14640         * patches/videoparsers/0001-plugins-compile-the-built-in-video-parsers-as-vaapip.patch:
14641         * patches/videoparsers/0003-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
14642           patches/videoparsers: h264parser: refresh patches
14643           In order to avoid the creation of .orig files and break the distcheck target.
14644           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14645           https://bugzilla.gnome.org/show_bug.cgi?id=754845
14646
14647 2015-09-15 16:53:31 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14648
14649         * gst/vaapi/Makefile.am:
14650           build: link libgstvaapi_parse against codec parser
14651           GST_CODEC_PARSER_* variables are defined if builtin codec parsers are disabled
14652           when running configure.
14653           Right now, libgstcodecparsers links only to libgstvaapi, but libgstvaapi_parse
14654           need it if builtin codec parsers are disabled.
14655           This patch adds GST_CODEC_PARSER_* variables to libgstvaapi_parse
14656           compilation. If builtin codec parsers are enable, this variable is null, so it
14657           should work using libgstvaapi, as normal.
14658           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14659           https://bugzilla.gnome.org/show_bug.cgi?id=754845
14660
14661 2015-09-11 16:35:30 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14662
14663         * configure.ac:
14664           build: verify for H264 MVC and H265 SPS
14665           Currently the H264 and H265 parsers look for MVC and SPS respectively, and
14666           the required symbols for those were added in GStreamer 1.5
14667           If we try to compile in GStreamer < 1.4, without enabling the builtin codec
14668           parsers, the compilation fails, because the lack of those symbols.
14669           This patch verifies if the installed H264 and H265 parsers have those symbols. If
14670           they do not, the specific built in codec parsers are enabled and used.
14671           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14672           https://bugzilla.gnome.org/show_bug.cgi?id=754845
14673
14674 2015-09-11 16:49:16 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14675
14676         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14677           decoder: h264: initialize PPS's slice_group_id
14678           When the GstVaapiParserInfoH264 is allocated, the memory is not initialized,
14679           so it contains random data.
14680           When gst_h264_parser_parse_pps() fails, the PPS structure keeps slice_group_id
14681           pointer uninitialized, leading to a segmentation fault when the memory is
14682           freed.
14683           This patch prevents this by initializing the slice_group_id before the PPS
14684           parsing.
14685           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14686           https://bugzilla.gnome.org/show_bug.cgi?id=754845
14687
14688 2015-09-15 11:01:29 +0300  Mark Nauwelaerts <mnauw@users.sourceforge.net>
14689
14690         * gst/vaapi/gstvaapidecode.c:
14691           vaapidecode: proper numerator and denominator for forced latency framerate
14692           https://bugzilla.gnome.org/show_bug.cgi?id=755040
14693
14694 2015-09-11 20:51:42 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14695
14696         * ext/codecparsers:
14697           codecparsers: Update to gst-vaapi-branch commit f9e284b
14698           dae1a84: h264parse/h265parse: Fix negotiation crash
14699           45a9f8a: codecparsers: h265 : Fix default scaling list values
14700           28eaaf5: codecparsers: h265: Fix the selection of Active Ref Pic Set
14701           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14702
14703 2015-09-04 22:19:55 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14704
14705         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
14706           decoder: hevc: Don't flush dpb for EOS/EOB nal
14707           Explicit flushing of dpb for EOS and EOB nal decoding is wrong,
14708           the dpb_add() itself will handle the flusing(if needed) of dpb
14709           for end of sequence and end of bitstream.
14710           https://bugzilla.gnome.org/show_bug.cgi?id=754010
14711
14712 2015-09-04 22:11:10 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14713
14714         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
14715           decoder: hevc: Fix the dpb_add() based on C.5.2.3
14716           Follow the spec as it is in C.5.2.3, add the decoded frame to dpb
14717           just after the PicLatencyCnt setting of existing dpb frames.
14718           https://bugzilla.gnome.org/show_bug.cgi?id=754010
14719
14720 2015-09-04 22:02:55 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14721
14722         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
14723           decoder: hevc: Fix the picture addition in dpb() based on spec H265 v3 (04/2015)
14724           This fix is based on the V3 vesion of spec which was missing in older versions.
14725           When the current picture has PicOutputFlag equal to 1, for each picture in the
14726           DPB that is marked as "needed for output" and follows the current picture in output order,
14727           the associated variable PicLatencyCount is set equal to PicLatencyCount + 1 (C.5.2.3).
14728           https://bugzilla.gnome.org/show_bug.cgi?id=754010
14729
14730 2015-09-04 22:00:36 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14731
14732         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
14733           decoder: h265: Fix indentation
14734
14735 2015-06-13 01:39:31 +1000  Jan Schmidt <jan@centricular.com>
14736
14737         * gst-libs/gst/vaapi/gstvaapidecoder.c:
14738         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
14739         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
14740         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
14741         * gst/vaapi/gstvaapidecode.c:
14742         * gst/vaapi/gstvaapipluginutil.c:
14743           multiview: initial attempt at stereo/multiview support
14744           Add support for marking caps and buffers for multiview or
14745           stereoscopic output.
14746           https://bugzilla.gnome.org/show_bug.cgi?id=750835
14747
14748 2015-08-28 17:12:12 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14749
14750         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
14751           decoder: hevc: remove unused functions
14752           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14753           https://bugzilla.gnome.org/show_bug.cgi?id=754250
14754
14755 2015-08-31 13:11:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14756
14757         * gst/vaapi/gstvaapidecode.c:
14758           vaapidecode: remove (another) unused variable
14759           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14760
14761 2015-08-28 17:10:40 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14762
14763         * gst/vaapi/gstvaapidecode.c:
14764           vaapidecode: remove unused variable
14765           Thus silence the compilation warnings.
14766
14767 2015-08-28 16:06:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14768
14769         * gst/vaapi/gstvaapidecode.c:
14770           vaapidecode: compilation fix
14771           gst_vaapi_decoder_state_changed() returns void. This patch fixes the
14772           compilation where the toolchain uses restrictive flags as clang.
14773           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14774
14775 2015-08-29 00:27:05 +0300  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14776
14777         * gst/vaapi/gstvaapidecode.c:
14778           vaapidecode: renegotiate if caps are not equal
14779           The use of gst_caps_is_always_compatible() for this optimization may lead to
14780           false positives. It is better to stick to gst_caps_is_strictly_equal() to know
14781           if it is required a re-negotiation.
14782           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14783           https://bugzilla.gnome.org/show_bug.cgi?id=750835
14784
14785 2015-08-29 00:18:57 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14786
14787         * gst/vaapi/gstvaapidecode.c:
14788         * gst/vaapi/gstvaapidecode.h:
14789           vaapidecode: Rework the re-negotiation code to handle multi resoultion videos
14790           Delaying the pool re-negotiation untill we push all decoded (and queued)
14791           frames downstream. Otherwise for the multi-resolution videos, the
14792           GstVideoVideoMemory will be having wrong resolution and which leads
14793           to nasty behaviours, especially when using software renderers.
14794           sample media file: RAP_B_Bossen_1.bin
14795           case explained:
14796           The first SPS Nal will report resoultion of 448x256 and having crop rectangles to
14797           get the final resoultion 416x240.
14798           Starting from 25 th frame, the resolution will change to 416x240. But parser
14799           elements won't report this since the effective croped resolution is same in
14800           both cases. Here the core libgstvaapi will detect this through it's internal
14801           parsing and do all context/pool destory/reset stuffs. Also it will notify this
14802           change to plugins in advance. But if the plugin try to do re-negotiaion of pool
14803           immediately, this will not sync with the resolution of already decoded and queued
14804           frames and which will lead to failure in gst_video_frame_map() in downstream(if we use the
14805           software renderer). So we have to delay the pool renegotiation in vaapidecode,
14806           untill we push all decoded frames downstream.
14807           https://bugzilla.gnome.org/show_bug.cgi?id=753914
14808
14809 2015-08-28 23:43:47 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14810
14811         * gst/vaapi/gstvaapidecode.c:
14812           vaapidecode: Always keep a copy of input codec state
14813           Currently we are sharing the input GstVideoCodecState with
14814           GstVaapiDecoder(gst-libs/gst/vaapi) by just doing ref and unref for
14815           each caps change. This is troublesome in many cases, for eg: if
14816           resoultion changes with in a singe stream. Because, when ever there
14817           is a resolution change, GstVideoDecoder will first change the Codec_state->caps
14818           fields with new resolution, but since we are using the same codecstate (ref)
14819           in gstvaapidecode.c, the caps check for input caps change will always fail.
14820           https://bugzilla.gnome.org/show_bug.cgi?id=753914
14821
14822 2015-08-26 07:25:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14823
14824         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
14825           decoder: hevc: Fix the scaling list scan order
14826           The default scan order of scaling lists are up-right-diagonal
14827           as per hevc specification. Use the newly implemented
14828           uprightdiagonal_to_raster conversion codecparser APIs to
14829           get the the scaling_list values in raster order, which is
14830           what the VA intel driver requires.
14831
14832 2015-08-26 07:20:09 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14833
14834         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
14835           decoder: hevc: sync with the codecparser changes
14836           The Tile Scanning Conversion process (spec 6-3 and 6-4) is implemented
14837           in codecparsers now. Remove the duplication from gstvaapidecoder_h265
14838
14839 2015-08-26 07:04:22 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14840
14841         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
14842           patches/Videoparsers: update patch to fix build with older GStreamer 1.2 stacks
14843
14844 2015-08-26 06:57:36 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14845
14846         * ext/codecparsers:
14847           codecparsers: Update to gst-vaapi-branch commit 69550f1
14848           c207c6d: codecparsers: h265: Fix tile row and column parsing
14849           47074c5: codecparsers: h265: Add APIs for up-right-diagonal/raster scan conversion
14850           cd28b18: codecparsers: h265: Fix the range of delta_chroma_log2_weight_denom
14851           1746bbe: videoparsers: Use gst_base_parse_merge_tags()
14852           2f0932b: h264parse: Clear SPS info after processing
14853           f57d6b0: videoparsers: enable accept-template flag
14854
14855 2015-08-25 15:38:42 +0000  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14856
14857         * debian.upstream/control.in:
14858           debian: add yasm as build dependency
14859           As the compilation of libvpx (for vp8 parser) is enabled by default,
14860           yasm is required by default too.
14861           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14862
14863 2015-08-14 19:21:04 +0800  Lim Siew Hoon <siew.hoon.lim@intel.com>
14864
14865         * debian.upstream/rules:
14866           debian: remove --with-gstreamer-api option
14867           It is no longer valid in gstreamer-vaapi.
14868           Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
14869           [removed unused GST_API_VERSION variable]
14870           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14871           https://bugzilla.gnome.org/show_bug.cgi?id=753618
14872
14873 2015-08-24 19:22:14 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14874
14875         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
14876           wayland: rename is_cancelled to sync_failed
14877           Since commit 065a18a3, the semantics of the variable is_cancelled did not make
14878           sense. This commit renames this variable to sync_failed.
14879
14880 2015-08-13 15:12:44 -0400  Olivier Crete <olivier.crete@collabora.com>
14881
14882         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
14883           wayland: Don't return GST_FLOW_ERROR on flushing
14884           Setting the sink to flushing causes gst_vaapi_window_wayland_sync() to
14885           return FALSE which makes gst_vaapi_window_wayland_render() return
14886           FALSE which ends up posting an ERROR message in
14887           gst_vaapisink_show_frame_unlocked(). Solution is to just return TRUE
14888           in the EBUSY case.
14889           https://bugzilla.gnome.org/show_bug.cgi?id=753598
14890
14891 2015-08-06 12:28:51 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14892
14893         * gst/vaapi/gstvaapi.c:
14894           Revert "Marking rank of vaapidecodebin as GST_RANK_MARGINAL for now."
14895           This reverts commit 3ccb198b513dc6ad287fe44117d03bec4d6a966a.
14896
14897 2015-07-06 20:22:57 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14898
14899         * gst/vaapi/gstvaapidecodebin.c:
14900           vaapidecodebin: check for postproc instance
14901           If the VPP's deinterlace-method is set, first we should check if the postproc
14902           is already instanced to set it. Otherwise we just store it until the VPP is
14903           added into the bin.
14904           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14905           https://bugzilla.gnome.org/show_bug.cgi?id=749554
14906
14907 2015-08-06 18:48:13 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14908
14909         * gst/vaapi/gstvaapidecodebin.c:
14910         * gst/vaapi/gstvaapipluginutil.c:
14911         * gst/vaapi/gstvaapipluginutil.h:
14912           vaapidecodebin: ensure VPP before going to READY
14913           There are sometimes that the VA-API display context is not shared among the
14914           pipeline, but it is important to know it before going to READY state (when the
14915           pipeline is already linked).
14916           One instance of this case is this:
14917           gst-launch-1.0 filesrc location=media ! decodebin ! vaapipostproc ! vaapisink
14918           This patch adds a new function in gstvaapipluginutil called
14919           gst_vaapi_create_test_display(). Its purpose is to create a disposable VA-API
14920           display, which only will be used for verify if the VAEntrypointVideoProc is
14921           available by the hardware. Afterwards, it should be unrefed.
14922           If the vaapidecodebin is going to READY state, and the element still doesn't
14923           know if VPP is available, the last resort is to create a new instance of the
14924           VA-API display and test for it.
14925           https://bugzilla.gnome.org/show_bug.cgi?id=749554
14926
14927 2015-08-06 12:39:52 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14928
14929         * gst/vaapi/gstvaapidecodebin.c:
14930           vaapidecodebin: post an error message if fails
14931           If the construction of the bin fails, post an error message in the bus.
14932           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14933           https://bugzilla.gnome.org/show_bug.cgi?id=749554
14934
14935 2015-08-06 12:36:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14936
14937         * gst/vaapi/gstvaapidecodebin.c:
14938         * gst/vaapi/gstvaapidecodebin.h:
14939           vaapidecodebin: has_vpp as a tri-state variable
14940           has_vpp can be UNKNOWN while the context message hasn't being received.
14941           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14942           https://bugzilla.gnome.org/show_bug.cgi?id=749554
14943
14944 2015-08-03 16:33:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14945
14946         * gst/vaapi/gstvaapivideomemory.c:
14947           gstvaapivideomemory: native format with no derived image
14948           If USE_NATIVE_FORMATS is defined we bail out before configuring the surface
14949           info based on the derived image configuration.
14950           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14951           https://bugzilla.gnome.org/show_bug.cgi?id=744042
14952
14953 2015-07-23 20:07:59 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
14954
14955         * gst-libs/gst/vaapi/video-format.c:
14956         * gst-libs/gst/vaapi/video-format.h:
14957         * gst/vaapi/gstvaapivideomemory.c:
14958           surface pool config based on video info
14959           First added the function gst_vaapi_video_format_get_best_native(), which
14960           returns the best native format that matches a particular chroma type:
14961           YUV 4:2:0 -> NV12, YUV 4:2:2 -> YUY2, YUV 4:0:0 -> Y800
14962           RGB32 chroma and encoded format map to NV12 too.
14963           That format is used to configure, initially, the surface's pool for the
14964           allocator.
14965           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14966           https://bugzilla.gnome.org/show_bug.cgi?id=744042
14967
14968 2015-07-23 16:03:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
14969
14970         * gst/vaapi/gstvaapivideomemory.c:
14971           gstvaapivideomemory: refactor gst_vaapi_video_allocator_new()
14972           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14973           https://bugzilla.gnome.org/show_bug.cgi?id=744042
14974
14975 2015-06-19 15:51:07 +0200  Victor Jaquez <vjaquez@igalia.com>
14976
14977         * gst-libs/gst/vaapi/gstvaapiencoder.c:
14978           gstvaapiencoder: validate chroma according to the VA's RT format
14979           Before, only YUV420 color space where supported. With this patch, the
14980           encoder is queried to know the supported formats and admits YUV422
14981           color space if its available.
14982           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
14983           https://bugzilla.gnome.org/show_bug.cgi?id=744042
14984
14985 2015-08-13 05:07:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14986
14987         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
14988           decoder: hevc: Add calculation of WpOffsetHalfRangeC
14989           This is necessary for finding ChromaOffsetL0/ChromaOffsetL1
14990           prediction weight table values with out using any hard coding.
14991           Fixme: We don't have parser API for sps_range_extension, so
14992           assumed zero value for high_precision_offsets_enabled_flag.
14993           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14994
14995 2015-08-13 04:09:44 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
14996
14997         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
14998           decoder: hevc: Fix ChromaOffsetL0/ChromaOffsetL1 calculation
14999           Based on ITU-T rec H265(4/2015): 7-56
15000           This was a wrong equation in rec H265 (4/2013): 7-44...
15001           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15002
15003 2015-08-13 04:08:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15004
15005         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
15006           decoder: hevc: Fix default value assignment of pred_weight_table
15007
15008 2015-08-13 03:48:43 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15009
15010         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
15011           decoder: hevc: Fix the value assigning for delta_chroma_log2_weight_denom
15012           Assign only if ChromaArrayType != 0..
15013           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15014
15015 2015-08-13 03:06:32 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15016
15017         * ext/codecparsers:
15018           codecparsers: Update to gst-vaapi-branch commit 1c70432
15019           8e98b41: codecparsers: h265: Fix the range of delta_chroma_log2_weight_denom
15020           839c5bc: codecparsers: h265: Fix the parsing of ref_pic_lists_modification
15021           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15022
15023 2015-08-11 08:09:10 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15024
15025         * ext/codecparsers:
15026           codecparsers: Update to gst-vaapi-branch commit c18b8ad
15027           8a03e67: videoparsers: h265: Avoid skipping of EOS and EOB nals
15028           a033083: videoparsers: h265: Fix the frame start detection code
15029           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15030
15031 2015-08-10 05:50:50 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15032
15033         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
15034           decoder: hevc: Add SEI parsing
15035           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15036
15037 2015-08-07 08:43:44 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15038
15039         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
15040           decoder: hevc: Workaround to recognize wrongly encoded main profile streams
15041           HACK: This is a work-around to identify some main profile streams having wrong profile_idc.
15042           There are some wrongly encoded main profile streams(eg: ENTP_C_LG_3.bin) which doesn't
15043           have any of the profile_idc values mentioned in Annex-A, instead general_profile_idc
15044           has been set as zero and having general_profile_compatibility_flag[general_profile_idc]
15045           is TRUE. Assuming them as MAIN profile for now.
15046           https://bugzilla.gnome.org/show_bug.cgi?id=753226
15047           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15048
15049 2015-08-07 08:41:57 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15050
15051         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
15052           patches/videoparsers: Fix the wrong source file path
15053           This is something wrongly typed in commit 6d7b631
15054
15055 2015-08-07 08:34:55 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15056
15057         * ext/codecparsers:
15058           codecparsers: Update to gst-vaapi-branch commit b8d8be4
15059           ee7e81b: h264parse: Don't discard first AU delimiter
15060           3690fb9: h264parse: Add more NAL types for debugging output
15061           108d368: h265parse: Avoid checking for Non Mandatory VPS NAL
15062           ace61048: h265parse: expose compatible profiles to downstream
15063           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15064
15065 2015-08-06 13:07:53 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15066
15067         * gst/vaapi/gstvaapipluginutil.c:
15068         * gst/vaapi/gstvaapivideocontext.c:
15069         * gst/vaapi/gstvaapivideocontext.h:
15070           gstvaapivideocontext: remove unused parameter
15071           gst_vaapi_video_context_prepare() received an unused parameter. This patch
15072           removes it and the structure passed by the caller.
15073           This a left over of "Removal of gstreamer-1.0 support" (commit 8b36e25f).
15074           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15075
15076 2015-08-06 04:01:24 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15077
15078         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
15079           decoder: hevc: Fix decoding of stream when it has temporal sublayers
15080           We are calculating the dpb size based on max_dec_pic_buffering.
15081           But if there are more than one temporal sublayers, we are supposed
15082           to use the max_dec_pic_buffering[max_sub_layers_minus] for dpb
15083           size calculation (Assuming HighestTid as max_sub_layers_minus).
15084           Sample streams: TSCL_A_VIDYO_5.bin, TSCL_B_VIDYO_4.bin
15085           https://bugzilla.gnome.org/show_bug.cgi?id=753226
15086           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15087
15088 2015-08-05 14:11:12 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15089
15090         * gst/vaapi/gstvaapidecode.c:
15091         * gst/vaapi/gstvaapidecodebin.c:
15092         * gst/vaapi/gstvaapiencode_h264.c:
15093         * gst/vaapi/gstvaapiencode_h265.c:
15094         * gst/vaapi/gstvaapiencode_jpeg.c:
15095         * gst/vaapi/gstvaapiencode_mpeg2.c:
15096         * gst/vaapi/gstvaapiencode_vp8.c:
15097         * gst/vaapi/gstvaapipluginutil.h:
15098         * gst/vaapi/gstvaapipostproc.c:
15099         * gst/vaapi/gstvaapisink.c:
15100           refactor vaapi caps strings for pad templates
15101           Refactor the main vaapi caps strings into three macros:
15102           GST_VAAPI_MAKE_SURFACE_CAPS, GST_VAAPI_MAKE_ENC_SURFACE_CAPS and
15103           GST_VAAPI_MAKE_GLTEXUPLOAD_CAPS.
15104           Those are in gstvaapipluginutil.h so all the elements could use them, instead
15105           of re-declaring them every time.
15106           No functional changes.
15107           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15108
15109 2015-08-05 14:15:07 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15110
15111         * gst/vaapi/gstvaapipostproc.c:
15112           gstvaapipostproc: fix code style
15113           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15114
15115 2015-08-05 05:23:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15116
15117         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
15118           decoder: hevc: Fix the decoding of dependent slice segment
15119           Decoding process for reference picture list construction needs to be
15120           invoked only for P and B slice and the value for slice_type of dependent slice
15121           segment should be taken from the previous independent slice segment header
15122           of the same pic.
15123           https://bugzilla.gnome.org/show_bug.cgi?id=753226
15124           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15125
15126 2015-06-22 17:38:41 +0200  Victor Jaquez <vjaquez@igalia.com>
15127
15128         * gst/vaapi/gstvaapipluginbase.c:
15129           plugins: reduce the noise of warnings
15130           Those messagse should be attached to the object, also the lack of
15131           caps is not an error, in particular in the case of JPEG encoding.
15132           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15133           https://bugzilla.gnome.org/show_bug.cgi?id=744042
15134
15135 2015-06-23 17:49:51 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
15136
15137         * gst-libs/gst/vaapi/gstvaapicontext.c:
15138           gstvaapicontext: fix the JPEG encoder attribs value
15139           When we query for the VAConfigAttribEncJPEG, we get a value which packs the
15140           VAConfigAttribValEncJPEG structure, but we did not assign it. This patch
15141           assigns the returned value to the attribute.
15142           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15143           https://bugzilla.gnome.org/show_bug.cgi?id=744042
15144
15145 2015-06-18 17:37:46 +0200  Victor Jaquez <vjaquez@igalia.com>
15146
15147         * gst-libs/gst/vaapi/gstvaapiencoder.c:
15148           gstvaapiencoder: framerate 0/1 is valid too
15149           Framerate 0/1 is valid, and it is particularly useful for picture
15150           encoding, such as jpeg. This patch makes the encoder to admit that
15151           framerate.
15152           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15153           https://bugzilla.gnome.org/show_bug.cgi?id=744042
15154
15155 2015-07-03 09:35:16 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15156
15157         * gst/vaapi/gstvaapipostproc.c:
15158           vaapipostroc: GLTextureUploadMeta in sink template
15159           Advertise GLTextureUploadMeta in sink caps template.
15160           https://bugzilla.gnome.org/show_bug.cgi?id=752130
15161
15162 2015-07-23 13:11:40 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
15163
15164         * gst/vaapi/Makefile.am:
15165         * gst/vaapi/gstvaapiencode.c:
15166         * gst/vaapi/gstvaapipluginbase.c:
15167         * gst/vaapi/gstvaapipluginbase.h:
15168         * gst/vaapi/gstvaapipostproc.c:
15169         * gst/vaapi/gstvaapisink.c:
15170         * gst/vaapi/gstvaapiuploader.c:
15171         * gst/vaapi/gstvaapiuploader.h:
15172           remove gstvaapiuploader
15173           Working on bug #744042 I realized that the gstvaapiuploader is practically not
15174           used.
15175           This patch removes the gstvaapiuploader and add the method
15176           gst_vaapi_plugin_base_get_allowed_raw_caps () that returns the raw caps that
15177           the system can handle, which is used by vaapisink and vaapipostproc.
15178           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15179           https://bugzilla.gnome.org/show_bug.cgi?id=752777
15180
15181 2015-07-27 18:49:13 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15182
15183         * gst/vaapi/gstvaapidecode.c:
15184           vaapidecode: don't lost GLTextureUpload on seek
15185           When seeking, the decoder is reset, but the buffer pool is not
15186           re-negotiated, but in reset_full() the code forgets if the negotiated buffer
15187           pool has the GLTextureUpload meta.
15188           The decoder knows that GLTextureUpload meta was negotiated in
15189           decide_allocation(), but this method is not called when seeking.
15190           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15191           https://bugzilla.gnome.org/show_bug.cgi?id=752929
15192
15193 2015-07-21 18:45:56 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15194
15195         * gst/vaapi/gstvaapipluginutil.c:
15196           plugins: don't use gst_pad_get_allowed_caps()
15197           gst_pad_get_allowed_caps() query the pad and the peer pad. In the case
15198           decoders, that is OK, but in the case of the postproc might lead loops,
15199           since the gst_base_transform_query_caps() forwards the query upstream
15200           and forth.
15201           Instead of gst_pad_get_allowed_caps() we only query the peer with
15202           gst_pad_peer_query_caps() using the pad's template as filter.
15203           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15204           https://bugzilla.gnome.org/show_bug.cgi?id=752558
15205
15206 2015-07-22 12:40:19 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15207
15208         * README:
15209           README: updates
15210
15211 2015-07-22 09:45:26 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15212
15213         * patches/videoparsers/0004-h264parse-Disable-3D-video-support-for-GStremaer-1.5.patch:
15214         * patches/videoparsers/series.frag:
15215           patches/videoparsers: h264parse: Disable 3D video support for GStremaer < 1.5
15216           All API/ABI changes for S3D/MVC are added in 1.5, backporting
15217           them to older verison is not recommended.
15218           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15219
15220 2015-07-22 09:41:34 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15221
15222         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
15223           patches/Videoparsers: update patch to fix build with older GStreamer 1.2 stacks
15224
15225 2015-07-22 09:38:42 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15226
15227         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
15228           decoder: jpeg: Align with new API/ABI changes in codecparser
15229           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15230
15231 2015-07-22 09:31:02 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15232
15233         * ext/codecparsers:
15234           codecparsers: Update to gst-vaapi-branch commit 800bdb2
15235           ed13220: mpegvideometa: add meta transform function
15236           18d5efd: codecparsers: jpeg: add some padding to ScanHdr struct
15237           7a51722: codecparsers: jpeg: fix docs for table parsing functions
15238           06b8ded: codecparsers: jpeg: fix validity checking of data parsed
15239           387a39d: codecparsers: jpeg: fix up API
15240           db9d6a9: codecparsers: jpeg: tweak API a little
15241           bb6951e: codecparsers: jpeg: hide gst_jpeg_scan_for_marker_code()
15242           f33c30c: codecparsers: jpeg: fix and optimize scan for next marker code
15243           4658c30: codecparsers: jpeg: fix calculation of segment size
15244           759bcb9: codecparsers: jpeg: fix default Huffman tables generation
15245           b4811ee: codecparsers: jpeg: add JPEG bitstream parser
15246           9422464: h264parse: fix typo in log message
15247           9e793a0: h264parse: Move PAR calcs, and use them for stereoscopic half-aspect
15248           77704ce: nalutils: trivial patch to check if
15249           8bb9249: codecparsers: mpeg4: actually return full number of bits of resync marker
15250           7862f95: Revert "codecparsers: remove ignored increment of return"
15251           54017b1: h264parse: Add support for passing stereoscopic/multiview info
15252           8667ee4: h264parse: Don't switch to passthrough on set_caps()
15253           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15254
15255 2015-06-29 14:27:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15256
15257         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15258           decoder: h264: track previous reference frames.
15259           Improve closure of gaps in frame_num by strictly following and trying
15260           to fill them with previous reference frames. So, they are now tracked
15261           thus avoiding insertion of dummy ("greenish") frames.
15262
15263 2015-06-29 13:16:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15264
15265         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15266           decoder: h264: fix integration of second field into the DPB.
15267           If the new picture to be added to the DPB is not a first field, then
15268           it shall be the second field of the previous picture that was added
15269           before.
15270           This removes the need for dpb_find_picture() now that we track the
15271           immediately preceding decoded picture, in decode order.
15272
15273 2015-07-06 14:38:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15274
15275         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15276           decoder: h264: fix closure of "other-field" gap.
15277           When a dummy "other-field" is inserted, it is assumed to inherit the
15278           reference flags from the first field, and the sliding window decoded
15279           reference picture marking process is also executed so that corrupted
15280           frames are moved out as early as possible.
15281           While doing so, we also try to output frames that now contain a single
15282           valid field picture, prior to inserting any other picture into the DPB.
15283           Note: this may be superfluous currently based on the fact that dpb_add()
15284           combines the two most recent pairable fields, but this process would be
15285           further simplified later on.
15286
15287 2015-06-24 13:58:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15288
15289         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15290           decoder: h264: track corrupted frames.
15291           Mark the picture as "corrupted" if it is reconstructed from corrupted
15292           references or if those references are fake, e.g. resulting from lost
15293           frames.
15294           This is useful for notifying the upper layer, or downstream elements,
15295           that the decoded frame may contain artefacts.
15296           https://bugzilla.gnome.org/show_bug.cgi?id=703921
15297
15298 2015-06-24 13:48:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15299
15300         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
15301         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
15302         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
15303         * gst/vaapi/gstvaapidecode.c:
15304           decoder: add initial infrastructure for marking corrupted output.
15305           Add initial infrastructure in core codec library and vaapidecode to mark
15306           corrupted frames as such. A corrupted frame is such a frame that was
15307           reconstructed from invalid references for instance.
15308           https://bugzilla.gnome.org/show_bug.cgi?id=751434
15309           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15310
15311 2015-07-15 18:18:49 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15312
15313         * configure.ac:
15314           Bump version for development
15315
15316 === release 0.6.0 ===
15317
15318 2015-07-15 15:49:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15319
15320         * configure.ac:
15321           0.6.0
15322
15323 2015-07-15 15:49:19 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15324
15325         * NEWS:
15326           NEWS: updates
15327
15328 2015-07-14 19:39:20 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15329
15330         * gst-libs/gst/vaapi/gstvaapiprofile.c:
15331           vaapidecoder: no wmv profiles gstreamer 1.4/1.2
15332           This patch fix the auto-plugging problem in gstreamer 1.2 and gstreamer 1.4
15333           Right now there is not a primary ranked parser for vc1 and the demuxers
15334           delivers caps without specifying the profile. This situation is not an issue
15335           for avdec_vc1 but for vaapidecode it is, which refuses to negotiate without a
15336           explicit profile defined in the negotiated caps.
15337           Nonetheless, in gstreamer 1.5 it seems not to be a problem since the
15338           negotiation admits caps subsets try outs.
15339           This patch solves the issue ignoring the profile negotiation in the caps. For
15340           gstreamer < 1.5 the profile string is not handled, so the auto-plugging get
15341           done without the vc1 parser, such as happens in gstreamer 1.5.
15342           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15343
15344 2015-07-07 20:57:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15345
15346         * gst/vaapi/gstvaapi.c:
15347           Marking rank of vaapidecodebin as GST_RANK_MARGINAL for now.
15348           Unfortunately vaapidecodebin element is not seems to be stable
15349           enough for autoplugging ahead of vaapidecode.
15350           Lowering the rank for now (cosidering the immediate 0.6 release).
15351           See this: https://bugzilla.gnome.org/show_bug.cgi?id=749554
15352           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15353
15354 2015-07-07 13:32:18 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15355
15356         * gst-libs/gst/vaapi/Makefile.am:
15357           build: Add missing CFLAGS to Makefile.am
15358
15359 2015-07-03 15:07:02 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15360
15361         * gst-libs/gst/vaapi/gstvaapifilter.c:
15362           gstvaapifilter: Only register STE property if it supported by corresponding VA library
15363           Fix the regression introduced in commit eb465fb.
15364           VAProcFilterSkinToneEnhancement is avaialbe from VA >= 0.36.
15365           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15366
15367 2015-07-02 17:49:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15368
15369         * gst/vaapi/gstvaapipostproc.c:
15370           vaapipostproc: no format convert on GL tex upload meta
15371           When GL texture upload meta is negotiated, vaapipostproc shall not modify the
15372           color format of the buffer.
15373           https://bugzilla.gnome.org/show_bug.cgi?id=748184
15374
15375 2015-07-03 12:42:09 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15376
15377         * gst-libs/gst/vaapi/gstvaapifilter.c:
15378           gstvaapifilter: Add guard for VAProcFilterSkinToneEnhancement
15379           VAProcFilterSkinToneEnhancement is avaialbe from VA >= 0.36.
15380           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15381
15382 2015-07-02 21:57:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15383
15384         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
15385           encoder:h265: Fix the check for packed-header support
15386           Use VA_ENC_PACKED_HEADER_* definition for checking.
15387           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15388
15389 2015-07-02 21:37:56 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15390
15391         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15392           encoder:h264: Fix the check for packed-header support
15393           Use VA_ENC_PACKED_HEADER_* definition for checking.
15394           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15395
15396 2015-07-02 21:00:14 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15397
15398         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
15399           encoder: h264: submit SEI buffering_period() and picture_timing() messages for CBR mode
15400           One buffering_period() SEI message shall be present in every IDR access unit
15401           when NalHrdBpPresentFlag is inferred to be equal to 1. This is the case when we
15402           use a non-CQP mode, e.g. CBR. In other words, when
15403           nal_hrd_parameters_present_flag is set to 1.
15404           One picture_timing() SEI messages shall be present in every access unit
15405           if CpbDpbDelaysPresentFlag is equal to 1 or pic_struct_present_flag is equal to 1
15406           https://bugzilla.gnome.org/show_bug.cgi?id=722734
15407           https://bugzilla.gnome.org/show_bug.cgi?id=751831
15408           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15409
15410 2015-07-01 14:16:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15411
15412         * gst/vaapi/gstvaapidecodebin.c:
15413           vaapidecodebin: notify if vpp is disabled
15414           When the system is aware that VPP is not available by the VA driver,
15415           it would be useful to notify to the user that the disable-vpp property
15416           has changed.
15417           https://bugzilla.gnome.org/show_bug.cgi?id=749554
15418
15419 2015-07-01 14:17:17 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15420
15421         * gst/vaapi/gstvaapidecodebin.c:
15422         * gst/vaapi/gstvaapidecodebin.h:
15423           vaapidecodebin: enable vpp if it is available
15424           Instead of creating and adding VPP into the bin at setup, we wait until
15425           we are sure the VA driver supports it. We know that when the VA video
15426           context is received by the bin. Afterwards, it is decided to instanciate
15427           and link the VPP or not.
15428           This is more efficient and safer than waiting the VPP to fail and then
15429           disable it.
15430           https://bugzilla.gnome.org/show_bug.cgi?id=749554
15431
15432 2015-07-02 12:29:32 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15433
15434         * tests/test-display.c:
15435         * tests/test-windows.c:
15436           tests: Fix compilation while enabling egl as the only renderer in build
15437           Include missing header files gstvaapidisplay_egl.h and gstvaapiwindow_egl.h.
15438
15439 2015-07-02 10:45:50 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15440
15441         * configure.ac:
15442           configure: fix the build while enabling egl as the only renderer
15443
15444 2015-07-02 10:25:25 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15445
15446         * configure.ac:
15447           libs: Bump library major version
15448
15449 2015-06-30 09:44:18 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15450
15451         * gst/vaapi/gstvaapi.c:
15452         * gst/vaapi/gstvaapidecodebin.c:
15453         * gst/vaapi/gstvaapiencode.c:
15454         * gst/vaapi/gstvaapiencode_jpeg.c:
15455         * gst/vaapi/gstvaapipluginbase.c:
15456         * gst/vaapi/gstvaapipluginutil.c:
15457         * gst/vaapi/gstvaapipostproc.c:
15458         * gst/vaapi/gstvaapivideobufferpool.c:
15459         * gst/vaapi/gstvaapivideocontext.c:
15460         * gst/vaapi/gstvaapivideomemory.c:
15461         * gst/vaapi/gstvaapivideometa.c:
15462           gst/vaapi: Switch to upstreram like indentation.
15463           gst-indent for all gst/vaapi/*.c source files
15464
15465 2015-06-30 09:35:37 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15466
15467         * gst/vaapi/gstvaapidecodebin.c:
15468         * gst/vaapi/gstvaapidecodebin.h:
15469           vaapidecodebin: Add property to disable VPP
15470           Adding a new propery "disable-vpp", enabling it will prevent
15471           the insertion of vaapipostproc child element.
15472           This is helpful in debugging, specifically to narrow-down the
15473           vaapidecodebin/vaapipostproc related negotiation issues.
15474           No support for run-time disabling for now.
15475           https://bugzilla.gnome.org/show_bug.cgi?id=745901
15476
15477 2015-06-29 13:35:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15478
15479         * gst/vaapi/gstvaapipostproc.c:
15480           vaapipostproc: Fix wrong selection of passthrough mode.
15481           The Current code path is falling back to passthorugh mode if there is no
15482           vpp property set by the user explictily. But we should not use the
15483           passthrough mode if the negotiated src pad caps have a differnt color space
15484           format than sink pad caps (Even though the user didn't set the format property
15485           explicitly).
15486           https://bugzilla.gnome.org/show_bug.cgi?id=748184
15487           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15488
15489 2015-06-29 13:20:28 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15490
15491         * gst/vaapi/gstvaapipostproc.c:
15492           vaapipostproc: prevent advanced-deinterlacing of non-native video formats.
15493           This is a workaround to deal with the va-intel-driver for non-native
15494           formats while doing advanced deinterlacing. The format of reference surfaces must
15495           be same as the format used by the driver internally for motion adaptive
15496           deinterlacing and motion compensated deinterlacing.
15497           A permanent solution could be to do the color space conversion internally
15498           for reference surfaces.
15499           https://bugzilla.gnome.org/show_bug.cgi?id=730925
15500           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15501
15502 2015-06-29 13:06:30 +0300  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
15503
15504         * gst/vaapi/gstvaapisink.c:
15505           Work around ABBA deadlock between vaapisink and vaapipostproc
15506           vaapisink takes the display lock, then does a gst_buffer_replace which can
15507           take the lock on the gst_vaapi_video_pool.
15508           vaapipostproc asks the gst_vaapi_video_pool for a new surface. This takes
15509           the lock on the gst_vaapi_video_pool; if you're unlucky, there are no free
15510           surfaces, which means that gst_vaapi_surface_create is
15511           called. gst_vaapi_surface_create takes the display lock.
15512           If vaapisink and vaapipostproc are in different threads, and this happens,
15513           you get a deadlock. vaapisink holds the display lock, and wants the
15514           gst_vaapi_video_pool lock. vaapipostproc holds the gst_vaapi_video_pool lock
15515           and wants the display lock.
15516           Work around this by releasing the display lock in vaapisink around the
15517           gst_buffer_replace.
15518           https://bugzilla.gnome.org/show_bug.cgi?id=738249
15519           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
15520           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15521
15522 2015-04-29 16:34:07 +0200  Jacobo Aragunde Pérez <jaragunde@igalia.com>
15523
15524         * gst/vaapi/gstvaapidecodebin.c:
15525         * gst/vaapi/gstvaapidecodebin.h:
15526           vaapidecodebin: expose deinterlace-method property from inner vaapipostproc
15527           https://bugzilla.gnome.org/show_bug.cgi?id=745901
15528
15529 2015-05-19 11:24:10 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15530
15531         * gst/vaapi/gstvaapipostproc.c:
15532           vaapipostproc: log negotiated caps
15533
15534 2015-05-18 14:30:22 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15535
15536         * gst/vaapi/gstvaapipostproc.c:
15537           vaapipostproc: remove useless debug message
15538
15539 2015-02-12 12:31:57 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
15540
15541         * gst/vaapi/gstvaapidecode.c:
15542           vaapidecode: log negotiated src/sink caps
15543
15544 2015-05-07 15:57:26 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15545
15546         * gst/vaapi/gstvaapisink.c:
15547           vaapisink: error handling if rendering fails
15548           This patch enhance the code path when an error is found when rendering a
15549           buffer.
15550           If the video meta doesn't contain a surface proxy or a surface, a warning
15551           message is printed.
15552           If the rendering backend fails, a error message is posted in the bus.
15553           https://bugzilla.gnome.org/show_bug.cgi?id=749382
15554
15555 2015-06-18 14:55:12 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15556
15557         * gst/vaapi/gstvaapisink.c:
15558           vaapisink: Fix the conditional pad template creation.
15559
15560 2015-06-18 13:19:26 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15561
15562         * tests/Makefile.am:
15563           build: Don't build simple-encoder test program if there is no VA Encoding support
15564           This will fix the build error against older VA-APIs <= 0.32
15565
15566 2015-06-18 12:20:37 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15567
15568         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
15569         * gst-libs/gst/vaapi/gstvaapicompat.h:
15570           Fix build error for older VA-API versions
15571           Provide guards for VA_SURFACE_ATTRIB_MEM_TYPE_KERNEL_DRM and
15572           VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME which are only availble from
15573           VA >= 0.36.
15574
15575 2015-06-17 14:20:37 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15576
15577         * gst/vaapi/gstvaapisink.c:
15578           vaapisink: Fix the capsfeature advertisement in padtemplate
15579           This fixes the regression introduced in 64acc74.
15580           If a pad supports multiple set of capsfeatures, it needs to add
15581           multiple equal structures with different feature sets to the caps.
15582           Because caps structures with the same name but with a non-equal
15583           set of caps features are not compatible.
15584           Without this patch, playbin will autoplug xvimagesink instead of vaapisink.
15585           https://bugzilla.gnome.org/show_bug.cgi?id=750095
15586
15587 2015-06-17 12:41:28 +0300  Adrian Cox <adrian@humboldt.co.uk>
15588
15589         * gst/vaapi/gstvaapisink.c:
15590           vaapisink: Expose the overlay capability for compatibility with dvbsuboverlay.
15591           https://bugzilla.gnome.org/show_bug.cgi?id=750095
15592           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15593           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15594
15595 2015-06-17 09:53:29 +0300  Olivier Crete <olivier.crete@collabora.com>
15596
15597         * gst/vaapi/gstvaapipluginbase.c:
15598           vaapipluginbase: Override downstream allocation reply if no pool
15599           If the downstream replied without a pool, then override it.
15600           https://bugzilla.gnome.org/show_bug.cgi?id=748559
15601
15602 2015-06-09 15:15:31 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15603
15604         * gst/vaapi/gstvaapipostproc.c:
15605         * gst/vaapi/gstvaapipostproc.h:
15606           vaapipostproc: add color balance interface
15607           https://bugzilla.gnome.org/show_bug.cgi?id=720376
15608
15609 2015-05-22 18:13:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15610
15611         * gst-libs/gst/vaapi/gstvaapifilter.c:
15612         * gst-libs/gst/vaapi/gstvaapifilter.h:
15613         * gst/vaapi/gstvaapipostproc.c:
15614         * gst/vaapi/gstvaapipostproc.h:
15615           vaapipostproc: add skin tone enhancement
15616           Added the 'skin-tone-enhancement' property to vaapostproc.
15617           https://bugzilla.gnome.org/show_bug.cgi?id=744088
15618
15619 2015-05-20 18:02:37 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15620
15621         * docs/reference/libs/libs-docs.xml.in:
15622           doc: add VA-API reference in freedesktop
15623
15624 2015-06-04 19:03:44 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15625
15626         * patches/videoparsers/0001-plugins-compile-the-built-in-video-parsers-as-vaapip.patch:
15627         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
15628         * patches/videoparsers/0003-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
15629           patches/videoparsers: rebase all the h264parse patches
15630           In order to avoid the creation of .orig files and break the distcheck target
15631
15632 2015-06-04 18:29:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15633
15634         * ext/libvpx/Makefile.am:
15635           build: don't build in parallel libvpx
15636           This fixes the distcheck -j XX target.
15637
15638 2015-06-02 08:52:53 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15639
15640         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
15641           encoder: jpeg: Fix the packed header generation
15642           This is a work-around to satisfy the va-intel-driver.
15643           Normalize the quality factor and scale QM values (only for packed header
15644           generation) similar to what VA-Intel driver is doing . Otherwise the
15645           generated packed headers will be wrong, since the driver itself is
15646           scaling the QM values using the normalized quality factor.
15647           https://bugzilla.gnome.org/show_bug.cgi?id=748335
15648           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15649
15650 2015-06-02 11:46:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15651
15652         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15653           decoder: h264: fix uninitialized variables in avcC mode.
15654           Fix uninitialized variables when decoding SPS and PPS NAL units from
15655           "codec-data" buffers. This is particularly important when seeking ops
15656           are involved, and the new persistent states are used more often.
15657           https://bugzilla.gnome.org/show_bug.cgi?id=750094
15658
15659 2015-06-01 18:39:18 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15660
15661         * gst/vaapi/gstvaapidecode.c:
15662           vaapidecode: remove unneeded casting
15663           And a code-style fix
15664
15665 2015-05-21 19:38:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15666
15667         * gst/vaapi/gstvaapidecode.c:
15668           vaapidecode: calculate decoding latency
15669           This is a naïve approach to the calculation of the VA-API decoding latency. It
15670           takes into consideration when the frame-rate has some insane value.
15671           https://bugzilla.gnome.org/show_bug.cgi?id=740419
15672
15673 2015-05-21 23:16:14 +1000  Jan Schmidt <jan@centricular.com>
15674
15675         * configure.ac:
15676           configure: Compiling against libgstgl requires libgstvideo
15677           Fix detection of the GstGL helper headers in uninstalled
15678           builds.
15679
15680 2015-05-28 10:52:48 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15681
15682         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
15683           encoder: hevc: Fix the size over-flow for encoded buffer.
15684           The approximation of 6 times compression ratio migh not
15685           work in all cases. Especially when enabling I frames.
15686           Provide large enough size for coded-buffer creation.
15687
15688 2015-05-28 10:43:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15689
15690         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
15691           encoder: vp8: Fix the size over-flow for encoded buffer.
15692           The approximation of 4 times compression ratio will not
15693           work in all cases. Especially when enabling I frames.
15694           Provide large enough size for coded-buffer creation.
15695
15696 2015-05-28 05:43:49 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15697
15698         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
15699           encoder: hevc:  fix bug in multi slice encoding.
15700           This is a work-around for satisfying the VA-Intel driver.
15701           The driver only support slices begin from CTU row start address.
15702           Multi-Slice encoding also requires a fix in va-intel-driver:
15703           http://lists.freedesktop.org/archives/libva/2015-May/003351.html
15704           https://bugzilla.gnome.org/show_bug.cgi?id=749854
15705           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15706
15707 2015-03-12 22:57:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15708
15709         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15710           decoder: h264: add initial support for loss of pictures.
15711           Implement decoding process for gaps in frame_num (8.5.2). This
15712           also somewhat supports unintentional loss of pictures.
15713           https://bugzilla.gnome.org/show_bug.cgi?id=745048
15714           https://bugzilla.gnome.org/show_bug.cgi?id=703921
15715           Original-patch-by: Wind Yuan <feng.yuan@intel.com>
15716           [fixed derivation of POC, ensured clone is valid for reference,
15717           actually fixed detection of gaps in FrameNum by PrevRefFrameNum]
15718           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15719
15720 2015-05-22 11:42:52 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15721
15722         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15723           decoder: h264: add support for missing first field.
15724           Try to identify missing first fields too, thus disregarding any
15725           intermediate gaps in frames. We also assume that we keep the same
15726           field sequence, i.e. if previous frames were in top-field-first
15727           (TFF) order, then so are subsequent frames.
15728           Note that insertion of dummy first fields need to operate in two
15729           steps: (i) create the original first field that the current field
15730           will inherit from, and (ii) submit that field into the DPB prior
15731           to initializing the current (other) field POC values but after any
15732           reference flag was set. i.e. copy reference flags from the child
15733           (other field) to the parent (first field).
15734           https://bugzilla.gnome.org/show_bug.cgi?id=745048
15735
15736 2015-05-07 14:00:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15737
15738         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15739           decoder: h264: add support for missing second field.
15740           Interlaced H.264 video frames always have two fields to decode and
15741           display. However, in some cases, e.g. packet loss, one of the field
15742           can be missing. This perturbs the reference picture marking process,
15743           whereby the number of references available in DPB no longer matches
15744           the expected value.
15745           This patch adds initial support for missing field within a decoded
15746           frame. The current strategy taken is to find out the nearest field,
15747           by POC value, and with the same parity.
15748           https://bugzilla.gnome.org/show_bug.cgi?id=745048
15749
15750 2015-05-22 17:06:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15751
15752         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15753           decoder: h264: improve tracking of "top-field-first" flag.
15754           Try to maintain a "top-field-first" (TFF) flag, even if the H.264 standard
15755           does not mandate it. This will be useful for tracking missing fields, and
15756           also for more correct _split_fields() implementation for frames in the DPB.
15757
15758 2015-05-05 11:56:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15759
15760         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15761           decoder: h264: skip all pictures prior the first I-frame.
15762           Don't try to decode pictures until the first I-frame is received within
15763           the currently active sequence. There is no point is decoding and then
15764           displaying frames with artifacts.
15765
15766 2015-05-12 15:36:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15767
15768         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15769           decoder: h264: fix processing of EOSEQ NAL.
15770           Fix decoding of end_of_seq() NAL unit so that to not submit the current
15771           picture for decoding again. This is pretty vintage code that dates back
15772           before the existing of the whole decoder units machinery.
15773           One issue that could be arising if that code was kept is that we could
15774           have submitted a picture, and subsequently a GstVideoCodec frame, twice.
15775           Once without the decode_only flag set, and once with that flag set. The
15776           end result is that the GstVideoDecoder would release the codec frame
15777           twice, thus releasing stale data.
15778           In short, the piece of code that is removed by this patch is for once
15779           completely obsolete for a while, and secondly error-prone in corner
15780           cases.
15781
15782 2013-02-28 15:26:36 +0800  Wind Yuan <feng.yuan@intel.com>
15783
15784         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
15785         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
15786         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
15787         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
15788           decoder: add utility function to clone picture objects.
15789           https://bugzilla.gnome.org/show_bug.cgi?id=703921
15790           Signed-off-by: Wind Yuan <feng.yuan@intel.com>
15791           [added cosmetic changes, fixed propagation of "one-field" flag to
15792           children, fixed per-codec clone modes (h264)]
15793           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15794
15795 2015-05-27 23:49:18 +0300  Alban Browaeys <prahal@yahoo.com>
15796
15797         * gst/vaapi/Makefile.am:
15798           build: don't compile HEVC encoder if not supported
15799           Fix:
15800           (gst-plugin-scanner:16681): GStreamer-WARNING **: Failed to load plugin '/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so': /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so: undefined symbol: gst_vaapi_encoder_h265_get_default_properties
15801           https://bugzilla.gnome.org/show_bug.cgi?id=749954
15802           Signed-off-by: Alban Browaeys <prahal@yahoo.com>
15803           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15804
15805 2015-05-27 23:43:16 +0300  Alban Browaeys <prahal@yahoo.com>
15806
15807         * gst-libs/gst/vaapi/gstvaapicompat.h:
15808         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
15809           HEVC: decode: add missing va_dec_hevc header
15810           Signed-off-by: Alban Browaeys <prahal@yahoo.com>
15811           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15812           https://bugzilla.gnome.org/show_bug.cgi?id=749953
15813
15814 2015-05-26 13:28:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
15815
15816         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
15817           mpeg2: fix PTS cache for GOP start.
15818           If the GOP temporal sequence number (TSN) is interpolated from a valid
15819           PTS, then we need to compensate that PTS corresponding to the start of
15820           GOP with the next picture to be decoded, which shall be an I-frame,
15821           based on its sequence number.
15822           https://bugzilla.gnome.org/show_bug.cgi?id=748676
15823
15824 2015-05-27 10:49:56 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15825
15826         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
15827           mpeg2: avoid crash when seeking with debug logs
15828           Move down the debug message when the state of the decoder is verified
15829           so the slice header is not NULL.
15830
15831 2014-12-17 00:41:10 +1100  Jan Schmidt <jan@centricular.com>
15832
15833         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
15834           mpeg2: Avoid crashes and warnings on re-opened decoder after a seek
15835           Reset state and add some checks for safe state to avoid a crash and
15836           a warning after the decoder is destroyed/recreated during a seek.
15837
15838 2015-05-26 10:21:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15839
15840         * patches/videoparsers/0003-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
15841         * patches/videoparsers/series.frag:
15842           patches/videoparsers: Rebase the patch on top of gst-vaapi-branch commit 20ee952
15843           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15844
15845 2015-05-26 10:03:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15846
15847         * ext/codecparsers:
15848           codecparsers: Update to gst-vaapi-branch commit 20ee952
15849           b7dded3: h264parse: don't consider unknown stream-format as avc
15850           5110ad9: h264parse: fix up handling of input caps corner cases
15851           e51db3e: h264parse: Remove dead code
15852           3d739d0: codecparser: h265: Fix the number of tile rows/columns parsing
15853           8482957: h265parse: Fix profile, tier and level setting in caps
15854           4649acb: h265parse: Fix the memory freeing of stored VPS nals
15855           f2beeb7: h265parse: Fix source caps to report cropped dimensions
15856           6886a31: h264parse: Fix profile and level setting in caps
15857           5286c1a: h264parse: Consider SEI NALU as "HEADER" packets
15858           eb97854: videoparsers: h264: bit-exact sync with upstream, minor changes here and there
15859           53074fc: build: Upgrade GStreamer dependency to 1.0
15860           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15861
15862 2015-05-26 06:01:10 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15863
15864         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
15865           HEVC: decode: Replace clip3 implementation with glib CLAMP macro
15866           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15867
15868 2015-05-26 05:33:33 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15869
15870         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
15871           HEVC: decode: Update Cropping Rectangle
15872           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15873
15874 2015-05-25 11:58:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15875
15876         * gst/vaapi/Makefile.am:
15877         * gst/vaapi/gstvaapi.c:
15878         * gst/vaapi/gstvaapiencode_h265.c:
15879         * gst/vaapi/gstvaapiencode_h265.h:
15880           HEVC_Encode: Add HEVC(h265) Encoder plugin
15881           https://bugzilla.gnome.org/show_bug.cgi?id=748874
15882           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15883
15884 2015-05-25 11:38:34 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15885
15886         * gst-libs/gst/vaapi/Makefile.am:
15887         * gst-libs/gst/vaapi/gstvaapiencoder_h265.c:
15888         * gst-libs/gst/vaapi/gstvaapiencoder_h265.h:
15889           HEVC_Encode: Add HEVC(h265) encoder to core libgstvaapi
15890           https://bugzilla.gnome.org/show_bug.cgi?id=748874
15891           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15892
15893 2015-05-25 11:26:14 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15894
15895         * configure.ac:
15896           HEVC_Encode: build: Check availability of VA APIs for H265 encoding.
15897           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15898           https://bugzilla.gnome.org/show_bug.cgi?id=748874
15899
15900 2015-05-25 10:58:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15901
15902         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
15903         * gst-libs/gst/vaapi/gstvaapiutils_h265.h:
15904           gstvaapiutils_h265: Add H265 Tier specific utility functions
15905           -- New API: gst_vaapi_utils_h265_get_tier_from_string()
15906           -- New API: gst_vaapi_utils_h265_get_tier_string()
15907           https://bugzilla.gnome.org/show_bug.cgi?id=748874
15908           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
15909
15910 2015-05-19 10:57:42 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15911
15912         * docs/reference/plugins/Makefile.am:
15913           doc: conditional linking for scanner
15914           Add x11 library only if it is enabled.
15915           https://bugzilla.gnome.org/show_bug.cgi?id=749018
15916
15917 2015-05-19 10:37:13 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15918
15919         * docs/reference/plugins/plugins.types:
15920           doc: fix scanner compilation warning
15921           https://bugzilla.gnome.org/show_bug.cgi?id=749018
15922
15923 2015-05-06 16:19:23 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15924
15925         * docs/reference/libs/libs-docs.xml.in:
15926         * docs/reference/libs/libs-sections.txt:
15927           doc: update sections and symbols
15928           https://bugzilla.gnome.org/show_bug.cgi?id=749018
15929
15930 2015-05-13 10:38:24 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15931
15932         * .gitignore:
15933         * Makefile.am:
15934         * debian.upstream/Makefile.am:
15935         * docs/Makefile.am:
15936         * docs/reference/Makefile.am:
15937         * docs/reference/libs/Makefile.am:
15938         * docs/reference/plugins/Makefile.am:
15939         * ext/Makefile.am:
15940         * ext/libvpx/Makefile.am:
15941         * git.mk:
15942         * gst-libs/Makefile.am:
15943         * gst-libs/gst/Makefile.am:
15944         * gst-libs/gst/base/Makefile.am:
15945         * gst-libs/gst/codecparsers/Makefile.am:
15946         * gst-libs/gst/vaapi/Makefile.am:
15947         * gst/Makefile.am:
15948         * gst/vaapi/Makefile.am:
15949         * patches/Makefile.am:
15950         * patches/videoparsers/Makefile.am:
15951         * pkgconfig/Makefile.am:
15952         * tests/Makefile.am:
15953           build: use git.mk
15954           This patch handles dinamically the gitignore files with git.mk[1].
15955           Removed the automake variable MAINTAINERCLANFILES in most of the
15956           Makefile.am files since now it is handled by the top one.
15957           1. https://github.com/behdad/git.mk/blob/master/git.mk
15958           https://bugzilla.gnome.org/show_bug.cgi?id=749321
15959
15960 2015-05-07 11:28:15 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15961
15962         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
15963           wayland: sync() when destroy()
15964           Before pushing a the new frame, the render() method calls sync() to flush the
15965           pending frames. Nonetheless, the last pushed frame never gets rendered, leading
15966           to a memory leak too.
15967           This patch calls sync() in the destroy() to flush the pending frames before
15968           destroying the window.
15969           Also a is_cancelled flag is added. This flag tells to not flush the event
15970           queue again since the method failed previously or were cancelled by the user.
15971           https://bugzilla.gnome.org/show_bug.cgi?id=749078
15972
15973 2015-05-07 15:55:40 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
15974
15975         * gst-libs/gst/vaapi/gstvaapiwindow.c:
15976         * gst-libs/gst/vaapi/gstvaapiwindow.h:
15977         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
15978         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
15979         * gst/vaapi/gstvaapisink.c:
15980           vaapisink: implement unlock/unlock_stop for wayland
15981           Otherwise wl_display_dispatch_queue() might prevent the pipeline from
15982           shutting down. This can happen e.g. if the wayland compositor exits while
15983           the pipeline is running.
15984           Changes:
15985           * renamed unlock()/unlock_stop() to unblock()/unblock_cancel() in gstvaapiwindow
15986           * splitted the patch removing wl_display_dispatch_queue()
15987           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15988           https://bugzilla.gnome.org/show_bug.cgi?id=747492
15989           https://bugzilla.gnome.org/show_bug.cgi?id=749078
15990
15991 2015-05-07 12:33:34 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
15992
15993         * configure.ac:
15994         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
15995           wayland: wl_display_dispatch_queue() can block forever.
15996           wl_display_dispatch_queue() might prevent the pipeline from shutting
15997           down. This can happen e.g. if the wayland compositor exits while the
15998           pipeline is running.
15999           This patch replaces it with these steps:
16000           - With wl_display_prepare_read() all threads announce their intention
16001           to read.
16002           - wl_display_read_events() is thread save. On threads reads, the other
16003           wait for it to finish.
16004           - With wl_display_dispatch_queue_pending() each thread dispatches its
16005           own events.
16006           wl_display_dispatch_queue_pending() was defined since wayland 1.0.2
16007           Original-patch-by: Michael Olbrich <m.olbrich@pengutronix.de>
16008           * stripped out the unlock() unlock_stop() logic
16009           * stripped out the poll handling
16010           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16011           https://bugzilla.gnome.org/show_bug.cgi?id=749078
16012           https://bugzilla.gnome.org/show_bug.cgi?id=747492
16013
16014 2015-05-07 18:30:33 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16015
16016         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
16017           wayland: rename frame for last_frame
16018           Since frame in the private data means the last frame sent, it would
16019           semantically better use last_frame.
16020           Also, this patch makes use of g_atomic_pointer_{compare_and_exchange, set}()
16021           functions.
16022           https://bugzilla.gnome.org/show_bug.cgi?id=749078
16023
16024 2015-05-07 11:18:12 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16025
16026         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
16027           wayland: use a counter as sync flag
16028           Wayland window has a pointer to the last pushed frame and use it to set the
16029           flag for stopping the queue dispatch loop. This may lead to memory leaks,
16030           since we are not keeping track of all the queued frames structures.
16031           This patch removes the last pushed frame pointer and change the binary flag
16032           for an atomic counter, keeping track of number of queued frames and use it for
16033           the queue dispatch loop.
16034           https://bugzilla.gnome.org/show_bug.cgi?id=749078
16035
16036 2015-05-07 10:36:17 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16037
16038         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
16039           wayland: decouple wl_buffer from frame
16040           This patch takes out the wayland's buffer from the the frame structure. The
16041           buffer is queued to wayland and destroyed in the "release" callback. The
16042           frame is freed in the surface's "done" callback.
16043           In this way a buffer may be leaked but not the whole frame structure.
16044           - surface 'done' callback is used to throttle the rendering operation and to
16045           unallocate the frame, but not the buffer.
16046           - buffer 'release' callback is used to destroy wl_buffer.
16047           Original-patch-by: Zhao Halley <halley.zhao@intel.com>
16048           * code rebase
16049           * kept the the event_queue for buffer's proxy
16050           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16051           https://bugzilla.gnome.org/show_bug.cgi?id=749078
16052
16053 2015-05-14 16:22:36 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16054
16055         * gst/vaapi/gstvaapisink.c:
16056           vaapisink: fix indentation
16057
16058 2015-05-13 11:54:01 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16059
16060         * debian.upstream/Makefile.am:
16061         * ext/libvpx/Makefile.am:
16062         * gst-libs/gst/vaapi/Makefile.am:
16063         * gst/vaapi/Makefile.am:
16064         * tests/Makefile.am:
16065           build: fix make distcheck
16066           This patch fixes several issues found when running the `make distcheck`
16067           target:
16068           - In commit c561b8da, the update of gstcompat.h in Makefile.am was
16069           forgotten.
16070           - In commit c5756a91 add the simple_encoder_source_h in EXTRA_DIST was
16071           forgotten.
16072           - vpx.build.stamp is not generated at all, only vpx.configure.stamp.
16073           - The make target distcleancheck failed because some autogenerated files
16074           were not handled with the DISTCLEANFILES variable.
16075           Note: `make distcheck -jXX` is not currently supported.
16076
16077 2015-05-13 13:28:17 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16078
16079         * patches/videoparsers/0001-plugins-compile-the-built-in-video-parsers-as-vaapip.patch:
16080         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
16081         * patches/videoparsers/0004-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
16082           h264parse: update patches with upstream
16083           These patches didn't applied cleanly, breaking the `make distcleancheck`
16084           target. Re-sync'ed the patches against the current git's submodule.
16085
16086 2015-05-12 16:04:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16087
16088         * tests/simple-encoder.c:
16089           tests: simple-encoder: fix build warnings on 64-bit platforms.
16090           Add a cosmetic change to replace VAAPI buffer with VA buffer and most
16091           importantly fix warnings spitted out during build on 64-bit platforms.
16092           ../../tests/simple-encoder.c:211:5: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘gssize’ [-Wformat=]
16093           g_warning ("Invalid VAAPI buffer size (%d)", size);
16094           ^
16095           ../../tests/simple-encoder.c:217:5: warning: format ‘%d’ expects argument of type ‘int’, but argument 4 has type ‘gssize’ [-Wformat=]
16096           g_warning ("Failed to create output buffer of size %d", size);
16097           ^
16098
16099 2015-05-08 15:54:09 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16100
16101         * gst/vaapi/gstvaapipluginbase.c:
16102         * gst/vaapi/gstvaapipluginutil.c:
16103         * gst/vaapi/gstvaapipluginutil.h:
16104         * gst/vaapi/gstvaapivideocontext.h:
16105           plugins: remove gstreamer-0.10 crumbs
16106           GstVideoContext was used in gstreamer-0.10, which is not supported anymore.
16107           Still, its definition was still in the code. This patch removes it.
16108           https://bugzilla.gnome.org/show_bug.cgi?id=749113
16109
16110 2015-05-05 13:08:25 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16111
16112         * tests/Makefile.am:
16113         * tests/simple-encoder.c:
16114         * tests/y4mreader.c:
16115         * tests/y4mreader.h:
16116           tests: add simple-encoder program
16117           This patch adds a simple-encoder test program that uses libgstvaapi for video
16118           encoding to elementary (raw) streams. Input stream is raw YUV in the Y4M
16119           format. That can be from a regular file or standard input when the input
16120           filename is "-".
16121           Usage: simple-encoder [options]* <source>
16122           Options:
16123           --output|-o     output file name
16124           --codec|-c      codec to use for video encoding
16125           --bitrate|-b    desired bitrate (kbps)
16126           By default, and as an initial patch, the encoded stream shall conform to the
16127           minimally supported profile. That is "Constrained Baseline Profile" for H.264
16128           and "Simple Profile" for MPEG-2. Though, those are the defaults to be
16129           generated by libgstvaapi.
16130           You can find Y4M sample files here http://samples.mplayerhq.hu/yuv4mpeg2/
16131           Original-patch-by: Changzhi Wei <changzhix.wei@intel.com>
16132           * general code clean-up
16133           * removed the yuv reader thread
16134           * re-wrote the y4m file parser
16135           * updated used API fixed some wrong usage
16136           * fixed a lot of memory leaks
16137           * added the bitrate setting
16138           * keep fps' numerator and denominator
16139           * simplified the thread control
16140           * removed custom logging and use glib
16141           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16142           https://bugzilla.gnome.org/show_bug.cgi?id=719528
16143
16144 2015-05-05 13:02:19 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16145
16146         * gst-libs/gst/vaapi/gstvaapiencoder.h:
16147           libs: trivial documentation fix
16148           GST_VAAPI_ENCODER_STATUS_NO_SURFACE and GST_VAAPI_ENCODER_STATUS_NO_BUFFER
16149           are not errors, so they do not have the ERROR namespace.
16150           This patch fixes this typo in documentation.
16151
16152 2015-02-15 15:01:03 +0000  Simon Farnsworth <simon@farnz.org.uk>
16153
16154         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
16155           window: Correct prototype to match implementation
16156           On s390x, guintptr and GstVaapiID are not compatible types. The
16157           implementation of gst_vaapi_window_new_internal() and all its callers
16158           seem to assume that its third argument is a GstVaapiID, while the
16159           header gives it guintptr type.
16160           https://bugzilla.gnome.org/show_bug.cgi?id=744559
16161
16162 2015-05-04 14:24:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16163
16164         * gst/vaapi/gstvaapidecode.c:
16165         * gst/vaapi/gstvaapidecodebin.c:
16166           vaapidecode: add guards for disabled codecs.
16167           Fix link when building plugin elements without HEVC support. e.g. don't
16168           try to call into gst_vaapi_decoder_h265_set_alignment() if there is no
16169           support HEVC enabled in libgstvaapi.
16170           Also, drop disabled codecs from static template caps. Add the missing
16171           HEVC static template caps into vaapidecodebin too.
16172
16173 2015-04-30 13:29:48 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16174
16175         * configure.ac:
16176         * gst-libs/gst/vaapi/glibcompat.h:
16177           build: upgrade glib dependency to 2.32
16178           Since bug #745728 was fixed the oldest supported version of GStreamer is
16179           1.2. That GStreamer release requires glib 2.32, so we can upgrade our
16180           requirement too.
16181           This patch changes the required version of glib in configure.ac and removes
16182           the hacks in glibcompat.h
16183           https://bugzilla.gnome.org/show_bug.cgi?id=748698
16184
16185 2015-04-30 13:21:08 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16186
16187         * gst/vaapi/gstvaapipluginbase.c:
16188           plugins: check if the pool config is already set
16189           In commit 97b768, a regression for GStreamer 1.2 was introduced:
16190           GStreamer 1.2 doesn't check, in gst_buffer_pool_set_config() if the
16191           config option is already set. This patch adds an inline function to
16192           first verify if the option is not in the pool config berfore add it.
16193
16194 2015-04-29 12:39:50 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16195
16196         * gst/vaapi/gstvaapipostproc.c:
16197           vaapipostproc: tune up a couple of log messages
16198           In order to reduce the noise, the query type log was downgrade from INFO to
16199           DEBUG, and the shared display address log message is assigned to the object.
16200
16201 2015-04-29 12:27:43 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16202
16203         * gst/vaapi/gstvaapipluginbase.c:
16204           plugins: check gst_buffer_pool_set_config()
16205           Check the return value of gst_buffer_pool_set_config(). If it fails an error
16206           message is posted in the bus.
16207
16208 2015-04-29 12:24:52 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16209
16210         * gst/vaapi/gstvaapipluginbase.c:
16211           plugins: more specific log message
16212           Be more specific in the log message about the reason of creating a new pool.
16213
16214 2015-04-29 12:22:29 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16215
16216         * gst/vaapi/gstvaapipluginbase.c:
16217           plugins: delete unused variable
16218           need_pool is a boolean variable extracted from the allocation query, but it is
16219           not used afterwards.
16220
16221 2015-04-27 19:21:12 -0400  Olivier Crete <olivier.crete@collabora.com>
16222
16223         * gst/vaapi/gstvaapipluginbase.c:
16224           vaapipluginbase: Update the pool if there was no pool in the downstream reply
16225           Fix regression introduced by bd866479, the query after decide_allocation()
16226           always needs a pool in the first slot.
16227           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16228           https://bugzilla.gnome.org/show_bug.cgi?id=748559
16229
16230 2015-04-27 20:50:19 -0400  Olivier Crete <olivier.crete@collabora.com>
16231
16232         * gst/vaapi/gstvaapivideobufferpool.c:
16233           videopool: Free members before chaining up finalize
16234           The finalize function in GObject frees the object memory, so
16235           everything else needs to have been freed before.
16236           https://bugzilla.gnome.org/show_bug.cgi?id=748563
16237
16238 2015-04-27 20:31:50 -0400  Olivier Crete <olivier.crete@collabora.com>
16239
16240         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
16241           wayland: don't leak the registry proxy
16242           Release the registry proxy when closing the display.
16243           https://bugzilla.gnome.org/show_bug.cgi?id=748564
16244
16245 2015-04-21 17:17:06 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16246
16247         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
16248           wayland: refactor _sync() method and rename callback
16249           This patch only intends to improve readability: in the method
16250           gst_vaapi_window_wayland_sync() the if/do instructions are squashed into a
16251           single while loop.
16252           Also renames the frame_redraw_callback() callback into frame_done_callback(),
16253           which is a bit more aligned to Wayland API.
16254
16255 2015-02-03 16:52:06 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
16256
16257         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
16258           wayland: free frame in buffer release callback
16259           The Wayland compositor may still use the buffer when the frame done
16260           callback is called.
16261           This patch destroys the frame (which contains the buffer) until the
16262           release callback is called. The draw termination callback only controls
16263           the display queue dispatching.
16264           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16265           https://bugzilla.gnome.org/show_bug.cgi?id=747492
16266
16267 2015-04-21 10:00:36 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16268
16269         * gst/vaapi/gstvaapidecode.c:
16270           vaapidecode: refactor gst_vaapidecode_internal_flush()
16271           This a cosmetic refactor: gst_vaapidecode_internal_flush() removes its only
16272           label; gst_vaapidecode_finish() is more readable and gst_vaapidecode_purge()
16273           shares the same error message of gst_vaapidecode_internal_flush() when flush
16274           fails.
16275
16276 2015-04-20 13:27:27 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16277
16278         * gst/vaapi/gstvaapidecode.c:
16279           vaapidecode: refactor gst_vaapidecode_destroy()
16280           Add the method gst_vaapidecode_purge(). This method releases the
16281           flushed frames from the decoder.
16282           This new method add more readablity to gst_vaapidecode_destroy()
16283
16284 2015-04-16 12:53:18 -0400  Olivier Crete <olivier.crete@collabora.com>
16285
16286         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
16287         * gst/vaapi/gstvaapidecode.c:
16288           vaapidecode: Tell the base class about released frames on close
16289           The base class needs to be informed about frames that were still queued
16290           in the decoder on release, otherwise they are leaked.
16291           https://bugzilla.gnome.org/show_bug.cgi?id=747999
16292
16293 2015-04-19 11:19:03 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16294
16295         * gst/vaapi/gstvaapidecode.c:
16296           vaapidecode: reduce logging noise
16297           When a frame is rejected by downstream, the message is logged twice. This
16298           patch removes one of those logging messages.
16299           Also, the reject of a frame doesn't mean an alarming error. This patch demotes
16300           the log message from error to info.
16301
16302 2015-04-16 20:18:13 -0400  Olivier Crete <olivier.crete@collabora.com>
16303
16304         * gst/vaapi/gstvaapidecode.c:
16305           vaapidecode: Use the GstVideoDecoder error reporting function
16306           This way, the decoder won't stop on the first decoding error,
16307           in most cases it can recover after some glitchiness.
16308           https://bugzilla.gnome.org/show_bug.cgi?id=744620
16309
16310 2015-04-17 19:10:35 +0000  Olivier Crete <olivier.crete@collabora.com>
16311
16312         * gst/vaapi/gstvaapipluginbase.c:
16313           vaapipluginbase: The allocation query can return without a pool
16314           It is possible to return the min/max/size without actually providing
16315           a pool. This way the source knows how many buffers downstream needs.
16316           https://bugzilla.gnome.org/show_bug.cgi?id=748076
16317
16318 2015-04-17 16:45:22 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16319
16320         * ext/Makefile.am:
16321         * gst/vaapi/Makefile.am:
16322         * gst/vaapi/gstvaapiparse.c:
16323         * gst/vaapi/gstvaapiparse.h:
16324         * patches/videoparsers/0001-h265parse-include-gstvaapiparse.h.patch:
16325         * patches/videoparsers/series.frag:
16326           plugins: Add h265 videoparser element "vaapiparse_h265"
16327           This is a mirror of h265parse element in upstream gst-plugins-bad.
16328           There could be additional patches but all should go to upstream.
16329           This is for making development faster.
16330           Note: vaapiparse_h265 will get build only for GStreamer version >= 1.4
16331
16332 2015-04-17 15:44:04 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16333
16334         * ext/codecparsers:
16335           codecparsers: Update to gst-vaapi-branch commit 43a0368
16336           45f1c28: codecparser: h265: Fix nal unit size checking
16337           f25987b: codecparser: h265: Calculate crop rectangle dimensions
16338           639573a: codecparser: h265: Fix parsing multiple SEI messages in a single SEI Nal
16339           4c8ec41: Add h265 videoparser plugin source files
16340
16341 2015-04-17 10:10:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16342
16343         * autogen.sh:
16344           autogen: drop videoutils submodule.
16345
16346 2015-04-17 10:36:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16347
16348         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
16349           decoder: hevc: cosmetics.
16350           Mostly coding style updates. Avoid integer signess inconsistencies.
16351           Optimize dpb_find_lowest_poc() to align with original h264's decoder.
16352
16353 2015-04-16 14:13:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16354
16355         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
16356           decoder: hevc: Add Support for tiled video decoding
16357           Based up on the value of uniform_spacing_flag in Picture Parameter Set,
16358           the tile column width and tile row height should be calculated.
16359           Equations: 6-1, 6-2
16360           Tiled video Descriptions: 7.3.2.3, 7.4.3.3
16361
16362 2015-04-16 14:13:21 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16363
16364         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
16365           decoder: hevc: Fix decoding when there are RASL pictures present.
16366           -- Set NoRaslOutputFlag based on EOS and EOB Nal units
16367           -- Fix PicOutputFlag setting for RASL picture
16368           -- Fix prev_poc_lsb/prev_poc_msb calculation
16369           -- Drop the RASL frames if NoRaslOutputFlag is TRUE for the associated IRAP picture
16370           -- Fixed couple of crashes and added cosmetics
16371
16372 2015-04-14 10:54:54 +0100  Martin Sherburn <martin.sherburn@datapath.co.uk>
16373
16374         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
16375           display: drm: fix race condition setting device type
16376           There is a race condition where g_drm_device_type can be left set to
16377           DRM_DEVICE_RENDERNODES when it shouldn't.
16378           If thread 1 comes in and falls into the last else statement setting up both
16379           RENDERNODES and LEGACY types. And begins to process the first type (RENDERNODES),
16380           it sets g_drm_device_type = RENDERNODES.
16381           Now when thread 2 comes in and sees g_drm_device_type is RENDERNODES, it queues
16382           up that type to be tried but then encounters the lock and has to wait until the
16383           first thread finishes. Once the lock is acquired it will then proceed to ONLY try
16384           RENDERNODES and fail it. But it doesn't try LEGACY. And from then on, all future
16385           attempts will only try RENDERNODES.
16386           So to avoid this situation I have simply moved the acquisition of the lock higher
16387           up in the attached patch.
16388           https://bugzilla.gnome.org/show_bug.cgi?id=747914
16389
16390 2015-04-15 15:26:12 -0400  Olivier Crete <olivier.crete@collabora.com>
16391
16392         * gst/vaapi/gstvaapipostproc.c:
16393           vaapipostproc: Don't create filter on caps query
16394           The problem with this is that creating the filter causes the display to
16395           be selected, and the caps query happens while linking the element. So,
16396           if the downstream or upstream element is using a specific display
16397           object, it won't be propagated correctly to the postproc as it already
16398           has a display at this point.
16399           https://bugzilla.gnome.org/show_bug.cgi?id=747945
16400
16401 2015-04-15 15:20:17 -0400  Olivier Crete <olivier.crete@collabora.com>
16402
16403         * gst-libs/gst/vaapi/gstvaapivideopool.c:
16404           videopool: Release lock while allocating new object
16405           The video pool can be accessed with the display lock held, for example,
16406           when releasing a buffer from inside vaapisink_render, but allocating
16407           a new object can may also take the display lock. Which means a possible
16408           deadlock.
16409           https://bugzilla.gnome.org/show_bug.cgi?id=747944
16410
16411 2015-04-15 17:26:43 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16412
16413         * gst/vaapi/gstvaapisink.c:
16414           vaapisink: use GstVideoSink vmethod show_frame()
16415           vaapisink inherits from GstVideoSink, in order to use its functionality (such
16416           as ::show-preroll-frame property), we should use its vmethod show_frame(),
16417           rather than call ourselves render() and preroll().
16418
16419 2015-04-15 18:16:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16420
16421         * gst/vaapi/gstvaapisink.c:
16422         * gst/vaapi/gstvaapisink.h:
16423           vaapisink: add 'handoff' signal
16424           This patch adds the signal ::handoff and the property signal-handoffs. If the
16425           property is set TRUE, the signal ::handoff is emitted just after the buffer is
16426           rendered.
16427           Based on Zhao Halley <halley.zhao@intel.com>
16428           https://bugzilla.gnome.org/show_bug.cgi?id=747905
16429
16430 2015-04-14 10:17:16 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16431
16432         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
16433           HEVC: silence the compiler
16434           Fixed a couple of clang complains.
16435
16436 2015-02-02 16:42:43 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
16437
16438         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
16439           wayland: destroy vpp buffer pool on resize
16440           Otherwise the old buffers with the old size are used.
16441           https://bugzilla.gnome.org/show_bug.cgi?id=747491
16442
16443 2015-04-14 10:08:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16444
16445         * configure.ac:
16446         * gst-libs/gst/vaapi/Makefile.am:
16447           build: don't compile HEVC if not supported
16448           HEVC decoding was added recently libva-1.5.
16449           This patch avoids HEVC decoding support in libgstvaapi if it is not available
16450           in the installed libva.
16451           https://bugzilla.gnome.org/show_bug.cgi?id=747831
16452
16453 2015-04-13 16:04:59 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16454
16455         * gst/vaapi/gstvaapidecode.c:
16456           vaapidecode: Update Author name in plugin metadata
16457
16458 2015-04-13 15:43:30 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16459
16460         * gst/vaapi/gstvaapidecode.c:
16461           plugins: Add HEVC decoder
16462           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16463
16464 2015-04-13 15:41:45 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16465
16466         * gst-libs/gst/vaapi/Makefile.am:
16467         * gst-libs/gst/vaapi/gstvaapidecoder_h265.c:
16468         * gst-libs/gst/vaapi/gstvaapidecoder_h265.h:
16469           HEVC: Add HEVC(h265) decoder to core libgstvaapi
16470           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16471
16472 2015-04-13 14:53:46 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16473
16474         * gst-libs/gst/vaapi/Makefile.am:
16475         * gst-libs/gst/vaapi/gstvaapiutils_h265.c:
16476         * gst-libs/gst/vaapi/gstvaapiutils_h265.h:
16477         * gst-libs/gst/vaapi/gstvaapiutils_h265_priv.h:
16478           HEVC: Add codec utility methods to core libgstvaapi
16479           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16480
16481 2015-04-13 14:52:53 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16482
16483         * gst-libs/gst/vaapi/gstvaapiprofile.c:
16484         * gst-libs/gst/vaapi/gstvaapiprofile.h:
16485           HEVC: gstvaapiprofile: Add profile definitions
16486           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16487
16488 2015-04-13 14:52:14 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16489
16490         * configure.ac:
16491           HEVC: build: Check availability of h265 decoder APIs
16492           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16493
16494 2015-04-13 14:51:51 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16495
16496         * configure.ac:
16497         * ext/Makefile.am:
16498         * gst-libs/gst/codecparsers/Makefile.am:
16499           HEVC: Allow to build h265 codecparser internally
16500           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16501
16502 2015-04-08 18:05:20 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16503
16504         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
16505         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
16506         * gst-libs/gst/vaapi/gstvaapisurface.c:
16507           guard buffer export API if not available
16508           The support for buffer exports in VA-API was added in version 0.36. These
16509           interfaces are for interop with EGL, OpenCL, etc.
16510           GStreamer-VAAPI uses it for a dmabuf memory allocator. Though, gstreamer-vaapi
16511           has to support VA-API versions ranging from 0.30.4, which doesn't support it.
16512           This patch guards all the buffer exports handling (and dmabuf allocator) if
16513           the detected VA-API version is below 0.36.
16514           https://bugzilla.gnome.org/show_bug.cgi?id=746405
16515
16516 2015-04-13 11:29:35 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16517
16518         * ext/codecparsers:
16519           codecparsers: Update to gst-vaapi-branch commit 9bc72b0
16520           767bf22: codecparsers: h265: add helpers to convert quantization matrices
16521           71c8e93: codecparser: h265: skip byte alignment bits while parsing slice header
16522           3bf0355: codecparsre: h265: Fix the NumDeltaPocs calculation
16523           10e2087: codecparser: h265: Fix the NumPocTotalCurr calculatio
16524           2d753b8: codecparser: h265: Fix nal size calculation for EOS and EOB
16525
16526 2014-12-11 12:02:38 +0100  Michael Olbrich <m.olbrich@pengutronix.de>
16527
16528         * gst/vaapi/gstvaapidecode.c:
16529           vaapidecode: unref video codec frame twice
16530           We get one reference when the frame is passed to decode_handle_frame()
16531           and create another one in gst_vaapi_decoder_push_frame().
16532           Usually the frame is handled in gst_vaapidecode_push_decoded_frame().
16533           Here the frame is always released twice:
16534           gst_video_decoder_finish_frame() + gst_video_codec_frame_unref() or
16535           gst_video_decoder_drop_frame() + gst_video_codec_frame_unref().
16536           In gst_vaapidecode_reset_full() both references to the frame must be
16537           released as well.
16538           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16539           https://bugzilla.gnome.org/show_bug.cgi?id=743226
16540
16541 2015-04-08 18:20:34 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16542
16543         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
16544           libs: remove unused variables
16545           clang reports these unused variables. Let's get rid of them.
16546           This patch is a missing part of commit c82e5173
16547           https://bugzilla.gnome.org/show_bug.cgi?id=747312
16548
16549 2015-04-03 20:38:07 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16550
16551         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
16552           decoder: mpeg4: remove an spurious comparison
16553           The member size in GstMpeg4Packet is gsize which is unsigned, which cannot be
16554           less than zero. Hence this pre-condition test is a no-op. This patch removes
16555           that code.
16556           https://bugzilla.gnome.org/show_bug.cgi?id=747312
16557
16558 2015-04-03 20:33:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16559
16560         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
16561           encoder: h264: casts slice_param->slice_type
16562           slice_type in slice_param is defined as (char *), but it is compared against a
16563           signed integer. clang complains about this comparison.
16564           This patch casts the variable.
16565           https://bugzilla.gnome.org/show_bug.cgi?id=747312
16566
16567 2015-04-03 20:31:47 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16568
16569         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
16570           encoder: avoid GstVaapiCodedBuffer redefinition
16571           The symbol GstVaapiCodedBuffer is already defined in
16572           gst-libs/gst/vaapi/gstvaapicodedbuffer.h which is loaded, at the end, by
16573           gstvaapiencoder_objects.h. Clang complains about the symbol re-definition.
16574           This patch removes that redefinition.
16575           https://bugzilla.gnome.org/show_bug.cgi?id=747312
16576
16577 2015-04-03 20:28:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16578
16579         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
16580         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
16581           libs: remove unused variables
16582           clang reports these unused variables. Let's get rid of them.
16583           https://bugzilla.gnome.org/show_bug.cgi?id=747312
16584
16585 2015-04-03 20:27:24 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16586
16587         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
16588           encoder: mpeg2: use fabsf() instead of abs()
16589           The member value in frame_rate_tab is float, the result of the abs() function
16590           should be float too. But abs() only manages integers.
16591           This patch replaces abs() with fabsf() to handle correctly the possible floats
16592           values.
16593           https://bugzilla.gnome.org/show_bug.cgi?id=747312
16594
16595 2015-04-03 20:02:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16596
16597         * gst-libs/gst/vaapi/gstvaapidecoder.c:
16598         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
16599         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
16600         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
16601         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
16602           decoder: cast GST_VAAPI_DECODER_STATUS_DROP_FRAME
16603           Since GST_VAAPI_DECODER_STATUS_DROP_FRAME is not part of the enum
16604           GstVaapiDecoderStatus, we need to cast it to avoid compiler complains.
16605           https://bugzilla.gnome.org/show_bug.cgi?id=747312
16606
16607 2015-04-04 00:40:29 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16608
16609         * README:
16610           Update README
16611
16612 2015-04-04 00:06:56 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16613
16614         * .gitmodules:
16615         * README:
16616           Changing source code download links from https://gitorious  to https://github
16617           -- gitmodules: Change gstreamer-codecparsers submodule source download link
16618           -- README: Change the gstreamer-vaapi webpage link
16619
16620 2015-04-03 23:30:24 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16621
16622         * ext/codecparsers:
16623           codecparsers: update to gst-vaapi-branch commit 1f792e4
16624           87f4a7e: bytereader: add gst_byte_reader_peek_sub_reader() and _get_sub_reader()
16625           7d8ba7a: bytereader: use unchecked inline variant for get_remaining in more places
16626           2528ea6: bytereader: add gst_byte_reader_masked_scan_uint32_peek
16627           2b92a67: h264parse: reset the parser information when caps changes
16628           05eee86: codecparsers: Indent file
16629           e27a38b: codecparsers: Add READ_UE_MAX macro
16630           2036471: Constify some static arrays everywhere
16631
16632 2015-04-03 17:45:08 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16633
16634         * gst/vaapi/gstvaapivideoconverter_glx.c:
16635         * gst/vaapi/gstvaapivideoconverter_x11.c:
16636           Remove the gstvaapivideoconverter_*.c source files missed in commit 51b1e4a
16637
16638 2015-04-03 17:09:08 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16639
16640         * gst/vaapi/gstvaapidecode.c:
16641         * gst/vaapi/gstvaapidecodebin.c:
16642         * gst/vaapi/gstvaapiencode_h264.c:
16643         * gst/vaapi/gstvaapiencode_jpeg.c:
16644         * gst/vaapi/gstvaapiencode_mpeg2.c:
16645         * gst/vaapi/gstvaapiencode_vp8.c:
16646         * gst/vaapi/gstvaapipluginbase.c:
16647         * gst/vaapi/gstvaapipluginutil.c:
16648         * gst/vaapi/gstvaapipluginutil.h:
16649         * gst/vaapi/gstvaapipostproc.c:
16650         * gst/vaapi/gstvaapisink.c:
16651         * gst/vaapi/gstvaapivideobuffer.c:
16652         * gst/vaapi/gstvaapivideobufferpool.c:
16653         * gst/vaapi/gstvaapivideocontext.c:
16654         * gst/vaapi/gstvaapivideocontext.h:
16655         * gst/vaapi/gstvaapivideoconverter_glx.h:
16656         * gst/vaapi/gstvaapivideoconverter_x11.h:
16657         * gst/vaapi/gstvaapivideomemory.h:
16658         * gst/vaapi/gstvaapivideometa_texture.c:
16659           Removal of gstreamer-1.0 support
16660           The support for GStreamer 1.0 has been obsoleted in 0.5.10 release.
16661           GStreamer 1.2 is the a minimal requirement for building the gstreamer-vaapi.
16662           This patch removes all the pre-processor conditional code compilation guarded
16663           for gstreamer-1.0.
16664           Thus, all the video converters were removed too.
16665           https://bugzilla.gnome.org/show_bug.cgi?id=745728
16666           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16667           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16668
16669 2015-04-03 17:08:30 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16670
16671         * gst-libs/gst/vaapi/gstcompat.h:
16672         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
16673         * gst-libs/gst/vaapi/gstvaapiprofile.c:
16674         * gst-libs/gst/vaapi/sysdeps.h:
16675         * gst/vaapi/gstcompat.h:
16676         * gst/vaapi/gstvaapi.c:
16677         * gst/vaapi/gstvaapidecode.c:
16678         * gst/vaapi/gstvaapidecodebin.c:
16679         * gst/vaapi/gstvaapiencode.c:
16680         * gst/vaapi/gstvaapiencode_h264.c:
16681         * gst/vaapi/gstvaapiencode_jpeg.c:
16682         * gst/vaapi/gstvaapiencode_mpeg2.c:
16683         * gst/vaapi/gstvaapiencode_vp8.c:
16684         * gst/vaapi/gstvaapiparse.c:
16685         * gst/vaapi/gstvaapipluginbase.c:
16686         * gst/vaapi/gstvaapipluginutil.c:
16687         * gst/vaapi/gstvaapipostproc.c:
16688         * gst/vaapi/gstvaapisink.c:
16689         * gst/vaapi/gstvaapiuploader.c:
16690         * gst/vaapi/gstvaapivideobuffer.c:
16691         * gst/vaapi/gstvaapivideobufferpool.c:
16692         * gst/vaapi/gstvaapivideocontext.c:
16693         * gst/vaapi/gstvaapivideoconverter_glx.c:
16694         * gst/vaapi/gstvaapivideoconverter_x11.c:
16695         * gst/vaapi/gstvaapivideomemory.c:
16696         * gst/vaapi/gstvaapivideometa.c:
16697         * gst/vaapi/gstvaapivideometa_texture.c:
16698         * tests/codec.c:
16699           update and move gstcompat.h
16700           The purpose of gstcompat.h is to couple the API differences among
16701           gstreamer-1.0 and gstreamer-0.10. Since gstreamer-0.10 is obsolete, the code
16702           in this compatibility layer shall be removed.
16703           Nevertheless, the gstcompat.h header should be kept, if new incompatibilites
16704           appear in the future, but it shall live in gst/vaapi, not in gst-libs.
16705           This patch removes the crumbs defined gstcompat.h and moves it to gst/vaapi.
16706           In order to avoid layer violations, gstcompat.h includes sysdeps.h and all
16707           the includes in gst/vaapi of sysdeps.h are replaced with gstcompat.h
16708           https://bugzilla.gnome.org/show_bug.cgi?id=745728
16709           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16710           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16711
16712 2015-04-03 17:05:45 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16713
16714         * configure.ac:
16715         * gst/vaapi/Makefile.am:
16716           autotools: remove gstreamer-1.0 support
16717           This patch only removes the support of gstreamer-1.0 in the autotools
16718           scripts. No other files are touched.
16719           In the automake file all the converters were deprecated.
16720           https://bugzilla.gnome.org/show_bug.cgi?id=745728
16721           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16722           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16723
16724 2015-04-03 17:03:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16725
16726         * .gitmodules:
16727         * ext/Makefile.am:
16728         * ext/videoutils:
16729           Remove the gstreamer-videoutils submodule
16730
16731 2015-04-03 17:01:45 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16732
16733         * configure.ac:
16734         * gst-libs/gst/Makefile.am:
16735         * gst-libs/gst/vaapi/Makefile.am:
16736         * gst-libs/gst/video/Makefile.am:
16737         * gst/vaapi/Makefile.am:
16738         * tests/Makefile.am:
16739           Remove libgstvaapi-videoutils.so
16740           This library was intended to add the base classes for video decoders which
16741           where not included in gstreamer-0.10.
16742           Since the support of gstreamer-0.10 is deprecated those classes are not
16743           required, thus the whole library is removed.
16744           https://bugzilla.gnome.org/show_bug.cgi?id=745728
16745           https://bugzilla.gnome.org/show_bug.cgi?id=732666
16746           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16747
16748 2015-04-03 16:55:43 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16749
16750         * configure.ac:
16751         * gst-libs/gst/vaapi/gstvaapicontext_overlay.c:
16752         * gst-libs/gst/vaapi/gstvaapiutils.c:
16753         * tests/test-subpicture.c:
16754           Remove HAVE_GST_VIDEO_OVERLAY_HWCAPS macro
16755           This macro guarded the use of HAVE_GST_VIDEO_OVERLAY_HWCAPS, which was not
16756           defined before gstreamer 0.10.35. Since the support of gstreamer-0.10 is
16757           deprecated these guards are not required.
16758           https://bugzilla.gnome.org/show_bug.cgi?id=745728
16759           https://bugzilla.gnome.org/show_bug.cgi?id=732666
16760           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16761
16762 2015-04-03 16:55:27 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16763
16764         * gst-libs/gst/vaapi/gstcompat.h:
16765         * gst-libs/gst/vaapi/gstvaapicontext_overlay.c:
16766         * gst-libs/gst/vaapi/gstvaapidecoder.c:
16767         * gst-libs/gst/vaapi/gstvaapiimage.c:
16768         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
16769         * gst-libs/gst/vaapi/video-format.c:
16770         * gst-libs/gst/vaapi/video-format.h:
16771         * gst/vaapi/gstvaapi.c:
16772         * gst/vaapi/gstvaapidecode.c:
16773         * gst/vaapi/gstvaapidecodebin.c:
16774         * gst/vaapi/gstvaapidownload.c:
16775         * gst/vaapi/gstvaapidownload.h:
16776         * gst/vaapi/gstvaapiencode.c:
16777         * gst/vaapi/gstvaapiencode_h264.c:
16778         * gst/vaapi/gstvaapiencode_jpeg.c:
16779         * gst/vaapi/gstvaapiencode_mpeg2.c:
16780         * gst/vaapi/gstvaapiencode_vp8.c:
16781         * gst/vaapi/gstvaapiparse.c:
16782         * gst/vaapi/gstvaapipluginbase.c:
16783         * gst/vaapi/gstvaapipluginbase.h:
16784         * gst/vaapi/gstvaapipluginutil.c:
16785         * gst/vaapi/gstvaapipluginutil.h:
16786         * gst/vaapi/gstvaapipostproc.c:
16787         * gst/vaapi/gstvaapisink.c:
16788         * gst/vaapi/gstvaapiupload.c:
16789         * gst/vaapi/gstvaapiupload.h:
16790         * gst/vaapi/gstvaapiuploader.c:
16791         * gst/vaapi/gstvaapivideobuffer.c:
16792         * gst/vaapi/gstvaapivideoconverter_glx.c:
16793         * gst/vaapi/gstvaapivideoconverter_x11.c:
16794         * gst/vaapi/gstvaapivideometa.c:
16795         * gst/vaapi/gstvaapivideometa.h:
16796         * tests/test-filter.c:
16797         * tests/test-subpicture.c:
16798           Removal of gstreamer-0.10 support
16799           This patch removes all the pre-processor conditional code compilation guarded
16800           for gstreamer-0.10.
16801           https://bugzilla.gnome.org/show_bug.cgi?id=745728
16802           https://bugzilla.gnome.org/show_bug.cgi?id=732666
16803           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16804
16805 2015-04-03 16:54:54 +0300  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16806
16807         * configure.ac:
16808         * debian.upstream/control.in:
16809         * gst-libs/gst/video/Makefile.am:
16810         * gst/vaapi/Makefile.am:
16811           autotools: remove gstreamer-0.10 support
16812           This patch only removes the support of gstreamer-0.10 in the autotools
16813           scripts. No other files are touched.
16814           The configuration parameter --gstreamer-api was deleted since now it is always
16815           auto-detected.
16816           The verification of vmethod query in GstBaseSinkClass was removed since it was
16817           added in gstreamer 0.10.35. The same case for GstVideoOverlayComposition and
16818           its format flags.
16819           The precious variable GST_PLUGIN_PATH was removed, while GST_PLUGIN_PATH_1_0
16820           remained.
16821           The automake files were changed accordingly.
16822           Removed, in debian/control, the vaapiupload and vaapidownload descriptions.
16823           https://bugzilla.gnome.org/show_bug.cgi?id=732666
16824           https://bugzilla.gnome.org/show_bug.cgi?id=745728
16825           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16826
16827 2015-03-16 23:38:18 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16828
16829         * gst/vaapi/gstvaapidecode.c:
16830           vaapidecode: add drain() vmethod
16831           In GStremer v1.6 a new vmethod drain() was added in GstVideoDecoder
16832           class. This patch implements this new method.
16833           https://bugzilla.gnome.org/show_bug.cgi?id=742922
16834           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16835           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16836
16837 2015-03-16 23:37:29 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16838
16839         * gst/vaapi/gstvaapidecode.c:
16840           vaapidecode: remove vmethod reset()
16841           Since in bug #745728 the support for GStreamer 1.0 is going to be dropped,
16842           this patch removes the method reset() which was deprecated in GStreamer 1.2.
16843           https://bugzilla.gnome.org/show_bug.cgi?id=742922
16844           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16845           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16846
16847 2015-03-16 23:36:33 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16848
16849         * gst/vaapi/gstvaapidecode.c:
16850           vaapidecode: handle flush() vmethod
16851           Since GStreamer 1.2 the vmethod reset() in GstVideoDecoderClass was deprecated
16852           and flush() was added.
16853           This patch set the vmethod flush() if the installed GStreamer version is 1.2 or
16854           superior. Otherwise, reset() is set.
16855           v2: 1) In order to avoid symbol collision, the old method gst_vaapidecode_flush()
16856           was renamed to gst_vaapidecode_internal_flush().
16857           2) The new vmethod flush() always do a hard full reset.
16858           v3: 1) Call gst_vaapidecode_internal_flush() first in flush() vmethod, in order to
16859           gather all collected data with  gst_video_decoder_have_frame()
16860           https://bugzilla.gnome.org/show_bug.cgi?id=742922
16861           Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16862           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16863
16864 2015-03-16 23:10:53 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16865
16866         * gst/vaapi/gstvaapidecode.c:
16867           vaapidecode: call the correct query function
16868           In commit 2f8c115 (vaapidecode: use the query virtual methods in 1.4)
16869           a bug was introduced: when calling the parent's query function of the
16870           src pad, the one of the sink pad is called instead. This patch fixes
16871           this issue.
16872           https://bugzilla.gnome.org/show_bug.cgi?id=746248
16873
16874 2015-03-15 00:36:45 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16875
16876         * .gitmodules:
16877           gitmodules: Use https:// url instead of git:// for submodules.
16878           Gitorious is failing to clone repositories over git:// url.
16879
16880 2015-03-14 22:12:19 +0200  Julien Isorce <j.isorce@samsung.com>
16881
16882         * gst-libs/gst/vaapi/gstvaapidisplay.c:
16883           vaapidisplay: mark X11 display as compatible with EGL
16884           GST_GL_WINDOW=x11 GST_GL_API=gles2 GST_GL_PLATFORM=egl
16885           gst-launch-1.0 ... ! vaapidecode ! glimagesink
16886           https://bugzilla.gnome.org/show_bug.cgi?id=745902
16887           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
16888
16889 2015-03-06 15:20:01 +0200  Olivier Crete <olivier.crete@collabora.com>
16890
16891         * gst/vaapi/gstvaapidecode.c:
16892           vaapidecode: Don't crash if a buffer outlives the decoder
16893           Sometimes, for example, when switching video streams but keeping
16894           the same sink, the surface will be released after the decoder is
16895           stopped and replaced. This caused a crash because the release
16896           callback was called on an invalid pointer.
16897           The patch adding an additional reference to the decoder object in the buffer.
16898           https://bugzilla.gnome.org/show_bug.cgi?id=745189
16899           Signed-off-by: Olivier Crete <olivier.crete@collabora.com>
16900           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16901
16902 2015-03-06 14:31:21 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16903
16904         * gst/vaapi/gstvaapidecode.c:
16905           vaapidecode: clean-ups (indentation, drop unused variables)
16906
16907 2015-03-06 14:09:22 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16908
16909         * gst/vaapi/gstvaapidecode.c:
16910           vaapidecode: use the query virtual methods in 1.4
16911           GstVideoDecoder, the base class of vaapidecode, added support for
16912           pad queries as virtual methods. This patch enables the use of that
16913           support, while keeping support for lower versions of gstreamer.
16914           This patch is important because GstVideoDecoder takes care of other
16915           queries that might be important in the pipeline managing.
16916           v2: 1) rebase to current master
16917           2) fix indentation with gst-indent
16918           3) simplify the patch layout
16919           4) fix the context query
16920           5) initialise the filter to NULL
16921           6) improve the query log message for gst-1.2
16922           https://bugzilla.gnome.org/show_bug.cgi?id=744406
16923
16924 2015-03-06 12:16:17 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
16925
16926         * gst/vaapi/gstvaapipostproc.c:
16927         * gst/vaapi/gstvaapipostproc.h:
16928           vaapipostproc: always activate buffer pool
16929           The vaapipostproc has a proxy flag to know if the the buffer pool is
16930           already active. But this fails in some situations where it is needed
16931           to renegotiate the buffer pool.
16932           This patch removes that flag so the renegotiation is done whenever is
16933           required.
16934           https://bugzilla.gnome.org/show_bug.cgi?id=745535
16935
16936 2015-03-02 17:04:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
16937
16938         * gst/vaapi/gstvaapisink.c:
16939           vaapisink: fix minor memory leak in debug mode.
16940           The gst_video_colorimetry_to_string() function returns a newly created
16941           string that represents the GstVideoColorimetry value. So, that needs
16942           to be released after usage, in e.g. GST_DEBUG().
16943
16944 2015-03-03 12:37:41 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16945
16946         * gst/vaapi/gstvaapidecodebin.h:
16947           vaapidecodebin: Avoid usage of "__" prefix in macro names
16948           Avoiding "__" prefix usage in Header File Guards as per
16949           C standard recommendation.
16950
16951 2015-03-03 12:31:11 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16952
16953         * gst/vaapi/gstvaapi.c:
16954           plugins: Disable vaapidecodebin for GStreamer < 1.4
16955           There are autoplugging issues in GStreamer-1.2.
16956           Lets disable vaapidecodebin untill we get some workarounds for this.
16957
16958 2015-03-02 15:19:40 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16959
16960         * gst/vaapi/Makefile.am:
16961         * gst/vaapi/gstvaapi.c:
16962         * gst/vaapi/gstvaapidecodebin.c:
16963         * gst/vaapi/gstvaapidecodebin.h:
16964           plugins: Add a vaapidecodebin element
16965           Add a "vaapidecodebin" element to vaapi plugins.
16966           Child Elements: "vaapidecode ! queue ! vaapipostproc"
16967           The Reasons for implementing a new bin element:
16968           -- Help to Autoplug Hardware Accelerated Video Postprocessing element in playbin
16969           with out any dependency to upstream gstreamer.
16970           This is to overcome the *unacceptable* delay in upstream gstreamer to get new
16971           features in. Eg: https://bugzilla.gnome.org/show_bug.cgi?id=687182.
16972           Also customers using older gstreamer versions (1.2 and 1.4) will get the
16973           benefit of autoplugging, hardware accelerated deinterlacing support etc.
16974           -- Help to maintain a single thread implementation in vaapidecode.
16975           This will result a dead-lock free vaapidecode in most of the cases.
16976           More details here: https://bugzilla.gnome.org/show_bug.cgi?id=742605
16977           https://bugzilla.gnome.org/show_bug.cgi?id=745216
16978
16979 2015-03-02 14:59:16 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
16980
16981         * gst/vaapi/gstvaapidecode.c:
16982           vaapidecode: re-indent (gst-indent) gstvaapidecode.c
16983
16984 2015-03-02 14:46:38 +0200  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
16985
16986         * gst/vaapi/gstvaapidecode.c:
16987         * gst/vaapi/gstvaapidecode.h:
16988           vaapidecode: Switch back to Single thread implementation
16989           Because the decoder uses the thread from handle_frame() to decode a frame,
16990           the src pad task creates an unsolveable AB-BA deadlock between
16991           handle_frame() waiting for a free surface and decode_loop() pushing
16992           decoded frames out.
16993           Instead, have handle_frame() take responsibility for pushing surfaces,
16994           and remove the deadlock completely. If you need a separate thread
16995           downstream, you can insert a queue between vaapidecode and its downstream
16996           to get one.
16997           Another justification for the single thread implementation is,
16998           there are two many point of locking in gstreamer-vaapi's current
16999           implementation which can lead to deadlocks.
17000           https://bugzilla.gnome.org/show_bug.cgi?id=742605
17001           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
17002           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17003           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17004
17005 2015-03-02 13:28:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17006
17007         * gst/vaapi/gstvaapipluginbase.c:
17008           plugins: fix detection of upstream v4l2src element.
17009           Improve check for upstream element that requires DMABUF buffer pool,
17010           e.g. v4l2src element. In particular, make sure to traverse through
17011           any additional capsfilter for instance.
17012           Note: the traversal to the top-most upstream element could be made
17013           more generic, but we are insofar only interested in supporting pipes
17014           similar to v4l2src or v4l2src ! capsfilter, e.g. with an explicit
17015           specification for a desired video camera format, or resolution.
17016
17017 2015-03-02 11:12:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17018
17019         * gst/vaapi/gstvaapivideomemory.c:
17020           plugins: fix allocation of DMABUF memory.
17021           The dmabuf allocator would close the DMABUF handle passed in the init
17022           function gst_dmabuf_allocator_alloc(). So, we need to dup() it so that
17023           to avoid a double close, ultimately in the underlying driver that owns
17024           the DMABUF handle.
17025
17026 2015-02-26 12:28:02 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17027
17028         * gst/vaapi/gstvaapidecode.c:
17029           vaapidecode: keep src caps and output state in sync
17030           vaapidecode keeps an output state that use the format
17031           GST_VIDEO_FORMAT_ENCODED, while it crafts a different src caps
17032           for a correct negotiation.
17033           I don't see the rational behind this decoupling, it looks like
17034           unnecessary complexity. This patch simplify this logic keeping
17035           in sync the output state and the src caps.
17036           This patch improves the readability of the function
17037           gst_vaapidecode_update_src_caps() and simplify its logic. Also,
17038           the patch validates if the buffer pool has the configuration for
17039           the GL texture upload meta, in order to set the caps feature
17040           meta:GLTextureUpload. Otherwise, the I420 format is set back.
17041           https://bugzilla.gnome.org/show_bug.cgi?id=744618
17042           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17043           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17044
17045 2015-02-26 12:26:54 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17046
17047         * gst/vaapi/gstvaapidecode.c:
17048           vaapidecode: upload meta only if feature and allocation
17049           When vaapidecode finishes the decoding of a frame and pushes it,
17050           if, in the decide_allocation() method, it is determined if the
17051           next element supports the GL texture upload meta feature, the
17052           decoder adds the buffer's meta.
17053           Nonetheless, in the same spirit of the commit 71d3ce4d, the
17054           determination if the next element supports the GL texture upload
17055           meta needs to check both the preferred caps feature *and* if the
17056           allocation query request the API type.
17057           This patch, first removes the unused variable need_pool, and
17058           determines the attribute has_texture_upload_meta using the
17059           preferred caps feature *and* the allocation query.
17060           Also, the feature passed to GstVaapPluginBase is not longer
17061           determined by has_texture_upload_meta, but by the computed
17062           preferred one.
17063           https://bugzilla.gnome.org/show_bug.cgi?id=744618
17064           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17065           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17066
17067 2015-02-26 12:24:55 +0200  Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17068
17069         * gst/vaapi/gstvaapidecode.c:
17070         * gst/vaapi/gstvaapidecode.h:
17071         * gst/vaapi/gstvaapipluginutil.c:
17072         * gst/vaapi/gstvaapipluginutil.h:
17073           vaapidecode: delayed src caps negotiation
17074           Currently the src caps are set immediately after the sink caps are set, but in
17075           that moment the pipeline might not fully constructed and the video sink has
17076           not negotiated its supported caps and features. As a consequence, in many cases
17077           of playback, the least optimized caps feature is forced. This is partially the
17078           responsible of bug #744039.
17079           Also, vaapidecode doesn't attend the reconfigure events from downstream,
17080           which is a problem too, since the video sink can be changed with different
17081           caps features.
17082           This patch delays the src caps, setting them until the first frame arrives to
17083           the decoder, assuming until that very moment the whole pipeline is already
17084           negotiated. Particularly, it checks if the src pad needs to be reconfigured,
17085           as a consequence of a reconfiguration event from downstream.
17086           A key part of this patch is the new GstVaapiCapsFeature
17087           GST_VAAPI_CAPS_FEATURE_NOT_NEGOTIATED, which is returned when the src pad
17088           doesn't have a peer yet. Also, for a better report of the caps allowed
17089           through the src pad and its peer, this patch uses gst_pad_get_allowed_caps()
17090           instead of gst_pad_peer_query_caps() when looking for the preferred feature.
17091           v3: move the input_state unref to close(), since videodecoder resets at
17092           some events such as navigation.
17093           v4: a) the state_changed() callback replaces the input_state if the media
17094           changed, so this case is also handled.
17095           b) since the parameter ref_state in gst_vaapidecode_update_src_caps() is
17096           always the input_state, the parameter were removed.
17097           c) there were a lot of repeated code handling the input_state, so I
17098           refactored it with the function gst_vaapi_decode_input_state_replace().
17099           https://bugzilla.gnome.org/show_bug.cgi?id=744618
17100           Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
17101           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17102
17103 2015-02-24 17:14:33 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17104
17105         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
17106         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
17107           encoder: h264: add support for more than 2 views
17108           Add support for H.264 MVC Multiview High profile encoding with
17109           more than 2 views. All views within the same accesss unit are
17110           provided in increasing order of view order index (VOIdx).
17111           Upto 10 view are supported for now.
17112           A new property "view-ids" has been provided for the plugins to
17113           set the view ids (which is an array of guint values) to be used
17114           for mvc encoding.
17115           https://bugzilla.gnome.org/show_bug.cgi?id=732453
17116
17117 2015-02-23 16:55:36 +0100  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
17118
17119         * gst/vaapi/gstvaapipluginbase.c:
17120           plugins: upload meta only if feature and allocation
17121           Working on bug #743687, I realized that vaapidecode always adds to its buffer
17122           pool the config option GST_BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META if
17123           the decide_allocation()'s query has GST_VIDEO_GL_TEXTURE_UPLOAD_META_API_TYPE.
17124           Nevertheless, there are occasions where the query has the API type, but the
17125           last negotiated caps don't have the feature meta:GstVideoGLTextureUploadMeta.
17126           Under this contradiction, vaapidecode adds the GLTextureUploadMeta API to its
17127           buffer pool configuration, and adds its buffer's meta to each output buffer,
17128           even if the negotiated caps feature is memory:SystemMemory with I420 color
17129           format.
17130           This kind of output buffers chokes ClutterAutoVideosSink, since it uses a map
17131           that relates caps <-> GL upload method. If it receives a buffer with color
17132           format I420, it assumes that it doesn't have a texture upload meta, because
17133           only those with RGB color format has it. Our buffers, with I420 format, say
17134           that they have the upload meta too. In that case the mapped method is a dummy
17135           one which does nothing. I reported this issue in bug #744039 (the patch,
17136           obviously, was rejected).
17137           This patch workarounds the problem: the buffer pool's configuration option
17138           GST_BUFFER_POOL_OPTION_VIDEO_GL_TEXTURE_UPLOAD_META is set if and only if the
17139           query has the GST_VIDEO_GL_TEXTURE_UPLOAD_META_API_TYPE *and* the negotiated
17140           caps feature is meta:GstVideoGLTextureUploadMeta.
17141           I have tested these patches with gst-master (1.5), gst-1.4 and gst-1.2 and
17142           in all they seem to work correctly.
17143           https://bugzilla.gnome.org/show_bug.cgi?id=744618
17144           [adapted to fit current EGL changes]
17145           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17146
17147 2015-02-20 15:13:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17148
17149         * gst-libs/gst/vaapi/gstvaapitexture.c:
17150         * gst-libs/gst/vaapi/gstvaapitexture.h:
17151         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
17152         * gst-libs/gst/vaapi/gstvaapitexture_priv.h:
17153         * gst/vaapi/gstvaapivideometa_texture.c:
17154           plugins: add support for GstVideoGLTextureOrientation.
17155           Add support for GstVideoGLTextureOrientation modes. In particular,
17156           add orientation flags to the GstVaapiTexture wrapper and the GLX
17157           implementations. Default mode is that texture memory is laid out
17158           with top lines first, left row first. Flags indicate whether the
17159           X or Y axis need to be inverted.
17160
17161 2015-02-09 21:09:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17162
17163         * gst/vaapi/gstvaapidecode.c:
17164         * gst/vaapi/gstvaapipluginbase.c:
17165         * gst/vaapi/gstvaapipluginutil.c:
17166         * gst/vaapi/gstvaapipluginutil.h:
17167         * gst/vaapi/gstvaapipostproc.c:
17168         * gst/vaapi/gstvaapivideometa_texture.c:
17169           plugins: add support for BGRA textures.
17170           Some frameworks (EFL) expect BGRA textures for storage. However,
17171           adding support for that broadly into GStreamer framework  implies
17172           two kinds of hacks: (i) libgstgl helpers currently do not support
17173           BGRA textures correctly, (ii) we need to better parse downstream
17174           suggested caps and intersect them with what the VA plugin elements
17175           can offer to them for GL texturing.
17176
17177 2015-01-23 09:31:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17178
17179         * gst/vaapi/gstvaapipluginutil.c:
17180           plugins: fix support for Wayland/EGL running alongside X11.
17181           When multiple display servers are available, the glimagesink element
17182           (from GStreamer 1.4) may not be able to derive a global display in
17183           Wayland. Rather, a "window"-specific display is created. In this case,
17184           the GstGLDisplay handle available through GstGLContext is invalid.
17185           So, try to improve heuristics for display server characterisation in
17186           those particular situations.
17187
17188 2015-02-20 15:29:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17189
17190         * configure.ac:
17191         * gst/vaapi/Makefile.am:
17192         * gst/vaapi/gstvaapidecode.c:
17193         * gst/vaapi/gstvaapipluginbase.c:
17194         * gst/vaapi/gstvaapipluginutil.c:
17195         * gst/vaapi/gstvaapivideobufferpool.c:
17196         * gst/vaapi/gstvaapivideometa_texture.c:
17197           plugins: add initial support for EGL.
17198           Add initial support for EGL through GstVideoGLTextureUploadMeta.
17199           Fix gst_vaapi_ensure_display() to allocate a GstVaapiDisplay off the
17200           downstream supplied GstGLContext configuration, i.e. use its native
17201           display handle to create a GstVaapiDisplay of type X11 or Wayland ;
17202           and use the desired OpenGL API to allocate the GstVaapiDisplayEGL
17203           wrapper.
17204           https://bugzilla.gnome.org/show_bug.cgi?id=741079
17205
17206 2014-12-09 11:46:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17207
17208         * gst/vaapi/gstvaapivideometa_texture.c:
17209           plugins: track video texture size changes.
17210           Sync video texture sizes to GstVideoGLTextureUploadMeta private date,
17211           i.e. GstVaapiVideoMetaTexture, on a regular basis. In particular, we
17212           now update the texture size from the GstVideoMeta, if any, or reset
17213           to some defaults otherwise.
17214
17215 2014-12-03 15:45:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17216
17217         * gst/vaapi/gstvaapipluginbase.c:
17218         * gst/vaapi/gstvaapipluginbase.h:
17219         * gst/vaapi/gstvaapipluginutil.c:
17220           plugins: ensure VA display matches GL context expectations.
17221           If a GstGLContext is supplied by the downstream element, then make
17222           sure that the VA plugin element gets a compatible display to what
17223           is requested by the GL context. e.g. re-allocate a VA/GLX display
17224           when a GLX context is provided by the downstream element.
17225
17226 2014-12-03 14:14:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17227
17228         * configure.ac:
17229         * gst/vaapi/Makefile.am:
17230         * gst/vaapi/gstvaapipluginbase.c:
17231         * gst/vaapi/gstvaapipluginbase.h:
17232           plugins: record downstream GstGLContext.
17233           Record GL context supplied by downstream elements. This can be useful,
17234           and further needed, to enforce run-time check that the GL context is
17235           compatible for use by libgstvaapi. e.g. check that we don't create a
17236           VA/GLX display for EGL/X11 contexts.
17237           https://bugzilla.gnome.org/show_bug.cgi?id=725643
17238           Original-path-by: Matthew Waters <ystreet00@gmail.com>
17239
17240 2014-12-01 14:52:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17241
17242         * tests/Makefile.am:
17243         * tests/output.c:
17244           egl: update tests.
17245           Add initial support for EGL to tests. The new EGL backend can be selected
17246           through the --egl command line option. The OpenGL|ES version can further
17247           be selected with the --gles-version command line option, where the default
17248           of 0 means "desktop" OpenGL.
17249
17250 2015-01-27 16:21:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17251
17252         * gst-libs/gst/vaapi/Makefile.am:
17253         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
17254         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
17255         * gst-libs/gst/vaapi/gstvaapiutils_egl.h:
17256         * gst-libs/gst/vaapi/gstvaapiwindow_egl.c:
17257         * gst-libs/gst/vaapi/gstvaapiwindow_egl.h:
17258           egl: add windowing support.
17259           This provides for some basic EGL window abstraction.
17260
17261 2015-01-24 08:29:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17262
17263         * gst-libs/gst/vaapi/Makefile.am:
17264         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
17265         * gst-libs/gst/vaapi/gstvaapitexture_egl.c:
17266         * gst-libs/gst/vaapi/gstvaapitexture_egl.h:
17267           egl: add texture abstraction.
17268           Add GstVaapiTextureEGL abstraction that can create its own GL texture,
17269           or import a foreign allocated one, while still allowing updates from a
17270           VA surface.
17271
17272 2014-12-09 18:14:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17273
17274         * gst-libs/gst/vaapi/Makefile.am:
17275         * gst-libs/gst/vaapi/gstvaapisurface_egl.c:
17276         * gst-libs/gst/vaapi/gstvaapisurface_egl.h:
17277           egl: allow for EGLImage imports into VA Surfaces.
17278           Add helpers to import EGLImage objects into VA surfaces. There are
17279           two operational modes: (i) gst_vaapi_surface_new_from_egl_image(),
17280           which allows for implicit conversion from EGLImage to a VA surface
17281           in native video format, and (ii) gst_vaapi_surface_new_with_egl_image(),
17282           which exactly wraps the source EGLImage, typically in RGBA format
17283           with linear storage.
17284           Note: in case of (i), the EGLImage can be disposed right after the
17285           VA surface creation call, unlike in (ii) where the user shall ensure
17286           that the EGLImage is live until the associated VA surface is no longer
17287           needed.
17288           https://bugzilla.gnome.org/show_bug.cgi?id=743847
17289
17290 2015-02-20 15:27:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17291
17292         * configure.ac:
17293         * gst-libs/gst/vaapi/Makefile.am:
17294         * gst-libs/gst/vaapi/egl_compat.h:
17295         * gst-libs/gst/vaapi/egl_vtable.h:
17296         * gst-libs/gst/vaapi/gstvaapidisplay.c:
17297         * gst-libs/gst/vaapi/gstvaapidisplay.h:
17298         * gst-libs/gst/vaapi/gstvaapidisplay_egl.c:
17299         * gst-libs/gst/vaapi/gstvaapidisplay_egl.h:
17300         * gst-libs/gst/vaapi/gstvaapidisplay_egl_priv.h:
17301         * gst-libs/gst/vaapi/gstvaapiutils_egl.c:
17302         * gst-libs/gst/vaapi/gstvaapiutils_egl.h:
17303         * gst-libs/gst/vaapi/ogl_compat.h:
17304           Add initial support for EGL.
17305           Add initial support for EGL to libgstvaapi core library. The target
17306           display server and the desired OpenGL API can be programmatically
17307           selected at run-time.
17308           A comprehensive set of EGL utilities are provided to support those
17309           dynamic selection needs, but also most importantly to ensure that
17310           the GL command stream is executed from within a single thread.
17311           https://bugzilla.gnome.org/show_bug.cgi?id=743846
17312
17313 2015-01-30 21:38:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17314
17315         * gst-libs/gst/vaapi/gstvaapivalue.c:
17316           libs: initialize GValues in a thread-safe manner.
17317
17318 2015-01-30 21:35:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17319
17320         * gst-libs/gst/vaapi/gstvaapivalue.c:
17321           libs: re-indent all GValue related source code.
17322
17323 2015-01-22 22:45:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17324
17325         * gst/vaapi/gstvaapidecode.c:
17326           vaapidecode: partially revert 0777f35.
17327           Reset the VA decoder after updating the base plugin caps, and most
17328           importantly, after GstVideoDecoder negotiation. The reason behind
17329           this is that the negotiation could trigger a last decide_allocation()
17330           where we could actually derive a new GstVaapiDisplay to use from the
17331           downstream element. e.g. GLX backend.
17332
17333 2015-02-19 13:37:09 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17334
17335         * gst/vaapi/gstvaapidecode.c:
17336           vaapidecode: Caps query should return the list of all supported caps.
17337           Query caps filtering should be always done on top of allowed caps instead
17338           of existing fixed caps on a particular pad.
17339           This fixes the mvc stream decoding when there is a base view(high profile)
17340           and non-base view(stereo-high profile).
17341
17342 2015-02-18 13:36:16 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
17343
17344         * gst/vaapi/gstvaapidecode.c:
17345           vaapidecode: intersect filter from query caps
17346           According to documentation[1] when receiving a GST_QUERY_CAPS
17347           the return value should be all formats that this elements supports,
17348           taking into account limitations of peer elements further downstream
17349           or upstream, sorted by order of preference, highest preference first.
17350           This patch add those limitations intersecting with the received
17351           filter in the query. Also takes into account the already negotiated
17352           caps. Also adds the processing of the query on the SRC pad.
17353           1. http://gstreamer.freedesktop.org/data/doc/gstreamer/head/pwg/html/section-nego-getcaps.html
17354           https://bugzilla.gnome.org/show_bug.cgi?id=744406
17355
17356 2015-02-18 11:46:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
17357
17358         * gst-libs/gst/vaapi/Makefile.am:
17359         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
17360         * gst-libs/gst/vaapi/gstvaapidecoder.c:
17361         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
17362         * gst-libs/gst/vaapi/gstvaapidisplay.c:
17363         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
17364         * gst/vaapi/gstvaapivideomemory.c:
17365           Fix compiler warnings
17366           This patch fixes some warnings that gcc 4.9 reports.
17367           https://bugzilla.gnome.org/show_bug.cgi?id=744411
17368
17369 2015-02-18 11:22:21 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
17370
17371         * gst/vaapi/gstvaapidecode.c:
17372           vaapidecode: Use GST_DEBUG_FUNCPTR for gst_vaapidecode_query()
17373           Hence the function name is shown in the gst-inspect-1.0 information
17374           rather than the memory address.
17375           https://bugzilla.gnome.org/show_bug.cgi?id=744330
17376
17377 2015-02-18 11:21:35 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
17378
17379         * gst/vaapi/gstvaapidecode.c:
17380           vaapidecode: log flow error name
17381           https://bugzilla.gnome.org/show_bug.cgi?id=744387
17382
17383 2015-02-18 11:20:42 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
17384
17385         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
17386           VC1: decoder: Ignore VC1 user BDU's
17387           Don't return error if the processed BDU is a user one, just ignore them.
17388           https://bugzilla.gnome.org/show_bug.cgi?id=741237
17389           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17390
17391 2015-02-18 11:19:26 +0200  Olivier Crete <olivier.crete@collabora.com>
17392
17393         * gst/vaapi/gstvaapidecode.c:
17394         * gst/vaapi/gstvaapipluginbase.c:
17395           vaapidecode: Emit error GstMessage when returning a GST_FLOW_ERROR
17396           This is required in GStreamer, elements should never return
17397           GST_FLOW_ERROR without posting an ERROR message on the bus.
17398           https://bugzilla.gnome.org/show_bug.cgi?id=744620
17399
17400 2015-02-13 13:45:32 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17401
17402         * gst/vaapi/Makefile.am:
17403         * gst/vaapi/gstvaapi.c:
17404         * gst/vaapi/gstvaapiencode_vp8.c:
17405         * gst/vaapi/gstvaapiencode_vp8.h:
17406           plugins: Add VP8 Encoder
17407
17408 2015-02-13 13:42:04 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17409
17410         * gst-libs/gst/vaapi/Makefile.am:
17411         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.c:
17412         * gst-libs/gst/vaapi/gstvaapiencoder_vp8.h:
17413           Add VP8 Encoder to core libgstvaapi.
17414
17415 2015-02-13 13:40:19 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17416
17417         * configure.ac:
17418           configure: Add Check for VP8 Encoding API
17419
17420 2015-02-10 11:40:16 +0200  Lim Siew Hoon <siew.hoon.lim@intel.com>
17421
17422         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
17423           decoder: vc1: Rounding control handling for VC1 simple and Main profile
17424           Added rounding control handling for VC1 simple and Main profile
17425           based on VC1 standard spec: section 8.3.7
17426           https://bugzilla.gnome.org/show_bug.cgi?id=743958
17427           Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
17428           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17429
17430 2015-02-06 12:10:51 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17431
17432         * gst/vaapi/Makefile.am:
17433           build: fix make dist when certain conditionals not met.
17434           Fix typo which was preventing the inclusion of jpeg encoder
17435           source files from make dist (when there is no jpeg encoder
17436           API support in libva).
17437
17438 2015-02-05 13:08:53 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17439
17440         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
17441           encoder: jpeg: Fix the sampling factor calculation for ENCODED format.
17442           If the incoming raw video format is GST_VIDEO_FORMAT_ENCODED,
17443           use native YUV420 format (which is i420) as default.
17444
17445 2015-02-05 12:13:38 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17446
17447         * gst-libs/gst/vaapi/gstvaapiencoder.c:
17448           encoder: Only support YUV420 native format as input for now
17449           Practically we should be able to support more formats, for eg:
17450           JPEG Encoder can support YUV422, RGBA and all.
17451           But this is causing more issues which need proper fix here and there.
17452
17453 2015-02-04 18:34:59 +0200  Olivier Crete <olivier.crete@collabora.com>
17454
17455         * gst-libs/gst/vaapi/gstvaapidecoder.h:
17456         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
17457         * gst/vaapi/gstvaapidecode.c:
17458           vaapidecode: Check the condition after taking the lock
17459           Otherwise the condition could become true before the lock
17460           is taken and the g_cond_signal() could be called
17461           before the g_cond_wait(), so the g_cond_wait() is never
17462           awoken.
17463           https://bugzilla.gnome.org/show_bug.cgi?id=740645
17464
17465 2015-02-04 11:18:29 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17466
17467         * gst/vaapi/Makefile.am:
17468         * gst/vaapi/gstvaapi.c:
17469         * gst/vaapi/gstvaapiencode_jpeg.c:
17470         * gst/vaapi/gstvaapiencode_jpeg.h:
17471           plugins: Add JPEG encoder element
17472
17473 2015-02-04 11:17:58 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17474
17475         * gst-libs/gst/vaapi/gstvaapicontext.c:
17476           gstvaapicontext: Add VAConfigAttribValEncJPEG to the attribute list using for VAConfig creation.
17477
17478 2015-02-04 11:17:27 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17479
17480         * gst-libs/gst/vaapi/gstvaapicontext.c:
17481           gstvaapicontext: Don't use the unsupported Ratecontrol attributes for vaCreateConfig
17482           Don't add the VAConfigAttribRateControl to the attribute list using
17483           for the vaCreateConfig if it is not supported by the driver.
17484
17485 2015-02-04 11:17:06 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17486
17487         * gst-libs/gst/vaapi/gstvaapiencoder.c:
17488           gstvaapiencoder: Use hardcoded packed_raw_data flag for JPEG Encoding
17489
17490 2015-02-04 11:16:37 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17491
17492         * gst-libs/gst/vaapi/gstvaapiencoder.c:
17493           gstvaapiencoder: Fix crash when handling rate control mask
17494           Having a ratecontrol_mask equal to zero is not a bug, but the driver
17495           might not be supporting any kind of rate control mechanisms.
17496           Eg: JPEG Encoding
17497
17498 2015-02-04 11:16:05 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17499
17500         * gst-libs/gst/vaapi/Makefile.am:
17501         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.c:
17502         * gst-libs/gst/vaapi/gstvaapiencoder_jpeg.h:
17503           encoder: Add JPEG Encoder
17504
17505 2015-02-04 11:15:38 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17506
17507         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
17508         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
17509           encoder_objects: Add QuantizationMatrix and JPEGHuffmanTable
17510
17511 2015-02-04 11:15:00 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17512
17513         * gst-libs/gst/vaapi/gstvaapidisplay.c:
17514         * gst-libs/gst/vaapi/gstvaapiencoder.c:
17515         * gst-libs/gst/vaapi/gstvaapiprofile.c:
17516         * gst-libs/gst/vaapi/gstvaapiprofile.h:
17517           Encode: Add support for Picture level Entrypoint
17518           This is useful for JPEG encoding which is utilizing picture level
17519           entrypoint instead of slice level entrypoint like h264,mpeg2 etc.
17520
17521 2015-02-04 11:14:15 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17522
17523         * configure.ac:
17524           configure: Add Check for JPEG encoding API
17525
17526 2015-02-03 13:08:53 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17527
17528         * AUTHORS:
17529           AUTHORS: Updates
17530
17531 2015-02-03 13:08:01 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17532
17533         * configure.ac:
17534           Bump version for development.
17535
17536 === release 0.5.10 ===
17537
17538 2015-02-03 10:00:42 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17539
17540         * configure.ac:
17541           0.5.10
17542
17543 2015-02-03 10:00:23 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17544
17545         * NEWS:
17546           NEWS: Updates
17547
17548 2015-02-02 11:43:58 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17549
17550         * gst/vaapi/gstvaapivideometa_texture.c:
17551           Fix compilation error if there is no GL/gl.h header file installed
17552
17553 2015-01-28 18:09:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17554
17555         * gst/vaapi/gstvaapivideomemory.h:
17556           plugins: drop leftover declaration.
17557           GstVaapiVideoMemory quark is not needed any more, and the actual
17558           implementation was already removed bfore the merge. i.e. this is
17559           an oversight for a hunk that was not meant to be pushed.
17560
17561 2015-01-26 18:30:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17562
17563         * gst/vaapi/gstvaapipluginbase.c:
17564         * gst/vaapi/gstvaapivideobufferpool.c:
17565         * gst/vaapi/gstvaapivideobufferpool.h:
17566         * gst/vaapi/gstvaapivideomemory.c:
17567         * gst/vaapi/gstvaapivideomemory.h:
17568           plugins: add support for dma_buf exports (v4l2src).
17569           Allow v4l2src element to connected to vaapipostproc or vaapisink when
17570           "io-mode" is set to "dmabuf-import". In practice, this is a more likely
17571           operational mode with uvcvideo. Supporting v4lsrc with "io-mode" set
17572           to "dmabuf" could work, but with more demanding driver or kernel reqs.
17573           Note: with GStreamer 1.4, v4l2src (gst-plugins-good) needs to be built
17574           with --without-libv4l2.
17575           https://bugzilla.gnome.org/show_bug.cgi?id=743635
17576
17577 2014-01-23 05:00:09 -0500  Wind Yuan <feng.yuan@intel.com>
17578
17579         * configure.ac:
17580         * gst/vaapi/Makefile.am:
17581         * gst/vaapi/gstvaapipluginbase.c:
17582           plugins: add support for dma_buf imports.
17583           Allow imports of v4l2 buffers into VA surfaces for further operation
17584           with vaapi plugins, e.g. vaapipostproc or vaapiencode_* elements.
17585           https://bugzilla.gnome.org/show_bug.cgi?id=735362
17586           [fixed memory leaks, ported to new dma_buf infrastructure, cleanups]
17587           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17588
17589 2014-09-15 15:27:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17590
17591         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
17592         * gst-libs/gst/vaapi/gstvaapisurface_drm.h:
17593           surface: add support for GEM buffer imports.
17594           Add support for GEM buffer imports. This is useful for VA/EGL interop
17595           with legacy Mesa implementations, or when it is desired or required to
17596           support outbound textures for instance.
17597           https://bugzilla.gnome.org/show_bug.cgi?id=736718
17598
17599 2014-09-15 15:25:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17600
17601         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
17602         * gst-libs/gst/vaapi/gstvaapisurface_drm.h:
17603           surface: add support for dma_buf imports.
17604           Add new gst_vaapi_surface_new_with_dma_buf_handle() helper function
17605           to allow for creating VA surfaces from a foreign DRM PRIME fd. The
17606           resulting VA surface owns the supplied buffer handle.
17607           https://bugzilla.gnome.org/show_bug.cgi?id=735362
17608
17609 2015-01-27 11:19:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17610
17611         * gst-libs/gst/vaapi/gstvaapisurface.c:
17612         * gst-libs/gst/vaapi/gstvaapisurface.h:
17613         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
17614           surface: add initial support for foreign buffer imports.
17615           Add gst_vaapi_surface_new_from_buffer_proxy() helper function to
17616           create a VA surface from an external buffer provided throug the
17617           new GstVaapiBufferProxy object.
17618
17619 2014-09-15 13:47:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17620
17621         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
17622         * gst-libs/gst/vaapi/gstvaapibufferproxy.h:
17623         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
17624         * gst-libs/gst/vaapi/gstvaapisurface_drm.h:
17625           surface: add support for GEM buffer exports.
17626           Add support for GEM buffer exports. This will only work with VA drivers
17627           based off libdrm, e.g. the Intel HD Graphics VA driver. This is needed
17628           to support interop with EGL and the "Desktop" GL specification. Indeed,
17629           the EXT_image_dma_buf_import extension is not going to be supported in
17630           Desktop GL, due to the lack of support for GL_TEXTURE_EXTERNAL_OES targets
17631           there.
17632           This is useful for implementing VA/EGL interop with legacy Mesa stacks,
17633           in Desktop OpenGL context.
17634           https://bugzilla.gnome.org/show_bug.cgi?id=736717
17635
17636 2014-09-15 11:48:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17637
17638         * gst-libs/gst/vaapi/Makefile.am:
17639         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
17640         * gst-libs/gst/vaapi/gstvaapibufferproxy.h:
17641         * gst-libs/gst/vaapi/gstvaapisurface_drm.c:
17642         * gst-libs/gst/vaapi/gstvaapisurface_drm.h:
17643           surface: add support for dma_buf exports.
17644           Use the new VA buffer export APIs to allow for a VA surface to be
17645           exposed as a plain PRIME fd. This is in view to simplifying interop
17646           with EGL or OpenCL for instance.
17647           https://bugzilla.gnome.org/show_bug.cgi?id=735364
17648
17649 2014-09-15 10:58:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17650
17651         * gst-libs/gst/vaapi/Makefile.am:
17652         * gst-libs/gst/vaapi/gstvaapibufferproxy.c:
17653         * gst-libs/gst/vaapi/gstvaapibufferproxy.h:
17654         * gst-libs/gst/vaapi/gstvaapibufferproxy_priv.h:
17655           Add abstraction for exported VA buffers.
17656           The VA buffer export APIs work for a particular lifetime starting from
17657           vaAcquireBufferHandle() and ending with vaReleaseBufferHandle(). As such,
17658           it could be much more convenient to support implicit releases by simply
17659           having a refcount reaching zero.
17660           https://bugzilla.gnome.org/show_bug.cgi?id=736721
17661
17662 2015-01-28 18:25:09 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17663
17664         * gst-libs/gst/vaapi/Makefile.am:
17665           Add missing header file to Makefile
17666           Add gstvaapitexture_glx.h to Makefile.am
17667
17668 2015-01-27 11:44:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17669
17670         * gst-libs/gst/vaapi/gstvaapicontext.c:
17671         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
17672         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
17673         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
17674         * gst/vaapi/gstvaapipostproc.c:
17675         * gst/vaapi/gstvaapiuploader.c:
17676         * gst/vaapi/gstvaapivideobufferpool.c:
17677         * gst/vaapi/gstvaapivideomemory.c:
17678         * gst/vaapi/gstvaapivideomemory.h:
17679         * tests/test-surfaces.c:
17680           videopool: add optional flags for surface pool allocation.
17681           Reword surface pool allocation helpers so that to allow for a simple
17682           form, e.g. gst_vaapi_surface_pool_new(format, width, height); and a
17683           somewhat more elaborated/flexible form with optional allocation flags
17684           and precise GstVideoInfo specification.
17685           This is an API/ABI change, and SONAME version needs to be bumped.
17686
17687 2015-01-26 23:21:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17688
17689         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
17690         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
17691         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
17692         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
17693         * gst-libs/gst/vaapi/gstvaapivideopool.c:
17694         * gst-libs/gst/vaapi/gstvaapivideopool.h:
17695         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
17696           videopool: re-indent all GstVaapiVideoPool related source code.
17697
17698 2014-12-10 20:13:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17699
17700         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
17701         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
17702           window: add toplevel display indirection for visualid and colormap.
17703           Add GstVaapiDisplay::get_{visual_id,colormap}() helpers to help determine
17704           the best suitable window visual id and colormap. This is an indirection in
17705           view to supporting EGL and custom/generic replacements.
17706
17707 2014-12-10 19:58:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17708
17709         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
17710         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
17711         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
17712         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
17713           window: add toplevel API to determine the colormap.
17714           Add GstVaapiWindowClass::get_colormap() hook to help determine the
17715           currently active colormap bound to the supplied window, or actually
17716           create it if it does not already exist yet.
17717
17718 2014-12-10 19:36:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17719
17720         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
17721         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
17722         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
17723         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
17724         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
17725         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
17726           window: add toplevel API to determine a visual id.
17727           Add GstVaapiWindowClass::get_visual_id() function hook to help find
17728           the best suitable visual id for the supplied window. While doing so,
17729           also simplify the process by which an X11 window is created with a
17730           desired Visual, i.e. now use a visual id instead of a Visual object.
17731
17732 2014-12-10 18:12:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17733
17734         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
17735         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
17736         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
17737         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
17738         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
17739         * gst-libs/gst/vaapi/gstvaapiwindow.c:
17740         * gst-libs/gst/vaapi/gstvaapiwindow.h:
17741         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
17742         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
17743         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
17744         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
17745         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
17746           window: add generic helper to create windows.
17747           Add a new generic helper function gst_vaapi_window_new() to create
17748           a window without having the caller to check for the display type
17749           himself. i.e. internally, there is now a GstVaapiDisplayClass hook
17750           to create windows, and the actual backend implementation fills it in.
17751           Add new generic helper functions gst_vaapi_texture_new_wrapped()
17752           This is a simplification in view to supporting EGL.
17753
17754 2014-12-03 11:39:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17755
17756         * gst-libs/gst/vaapi/gstvaapidisplay.c:
17757         * gst-libs/gst/vaapi/gstvaapidisplay.h:
17758         * gst-libs/gst/vaapi/gstvaapitexture.c:
17759         * gst/vaapi/gstvaapivideometa_texture.c:
17760           display: add utility function to check for OpenGL rendering.
17761           Add gst_vaapi_display_has_opengl() helper function to help determining
17762           whether the display can support OpenGL context to be bound to it, i.e.
17763           if the class is of type GST_VAAPI_DISPLAY_TYPE_GLX.
17764
17765 2014-12-10 18:02:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17766
17767         * gst-libs/gst/vaapi/gstvaapidisplay.c:
17768         * gst-libs/gst/vaapi/gstvaapidisplay.h:
17769         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
17770         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
17771         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
17772         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
17773         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
17774         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
17775         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
17776         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
17777         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
17778         * gst/vaapi/gstvaapipluginutil.c:
17779         * gst/vaapi/gstvaapivideobuffer.c:
17780         * gst/vaapi/gstvaapivideometa_texture.c:
17781           display: refine the meaning of display type.
17782           Make gst_vaapi_display_get_display_type() return the actual VA display
17783           type. Conversely, add a gst_vaapi_display_get_class_type() function to
17784           return the type of the GstVaapiDisplay instance. The former is used to
17785           identify the display server onto which the application is running, and
17786           the latter to identify the original object class.
17787
17788 2014-12-02 11:23:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17789
17790         * gst-libs/gst/vaapi/gstvaapidisplay.c:
17791         * gst-libs/gst/vaapi/gstvaapidisplay.h:
17792         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
17793         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
17794         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
17795         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
17796           display: cosmetics (helper macros, new internal API names).
17797           Add more helper macros to the top-level GstVaapiDisplay interfaces.
17798           Rename a few others used internally for improved consistency.
17799
17800 2014-12-01 17:08:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17801
17802         * gst-libs/gst/vaapi/gstvaapidisplay.c:
17803         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
17804         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
17805         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
17806         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
17807         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
17808         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
17809         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
17810           display: record native display object.
17811           Record the underlying native display instance into the toplevel
17812           GstVaapiDisplay object. This is useful for fast lookups to the
17813           underlying native display, e.g. for creating an EGL display.
17814
17815 2014-12-01 16:54:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17816
17817         * gst-libs/gst/vaapi/gstvaapidisplay.c:
17818         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
17819         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
17820           display: use a recursive mutex for the display cache.
17821           Use a recursive mutex for the display cache so that a 3rdparty display
17822           object could be initialized during the initialization of the parent
17823           display.
17824
17825 2014-12-04 14:36:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17826
17827         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
17828         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
17829         * gst-libs/gst/vaapi/gstvaapitexture.c:
17830         * gst-libs/gst/vaapi/gstvaapitexture.h:
17831         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
17832         * gst-libs/gst/vaapi/gstvaapitexture_priv.h:
17833           texture: add generic helper to create textures.
17834           Add new generic helper functions gst_vaapi_texture_new_wrapped()
17835           and gst_vaapi_texture_new() to create a texture without having
17836           the caller to uselessly check for the display type himself. i.e.
17837           internally, there is now a GstVaapiDisplayClass hook to create
17838           textures, and the actual backend implementation fills it in.
17839           This is a simplification in view to supporting EGL.
17840
17841 2014-10-23 17:44:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17842
17843         * gst-libs/gst/vaapi/Makefile.am:
17844         * gst-libs/gst/vaapi/gstvaapitexture.c:
17845         * gst-libs/gst/vaapi/gstvaapitexture.h:
17846         * gst-libs/gst/vaapi/gstvaapitexture_glx.c:
17847         * gst-libs/gst/vaapi/gstvaapitexture_glx.h:
17848         * gst-libs/gst/vaapi/gstvaapitexture_priv.h:
17849         * gst/vaapi/gstvaapivideoconverter_glx.c:
17850         * gst/vaapi/gstvaapivideometa_texture.c:
17851         * tests/test-textures.c:
17852           texture: move to core libgstvaapi base library.
17853           GstVaapiTexture is a generic abstraction that could be moved to the
17854           core libgstvaapi library. While doing this, no extra dependency needs
17855           to be added. This means that a GstVaapitextureClass is now available
17856           for any specific code that needs to be added, e.g. creation of the
17857           underlying GL texture objects, or backend dependent ways to upload
17858           a surface to the texture object.
17859           Generic OpenGL data types (GLuint, GLenum) are also replaced with a
17860           plain guint.
17861           https://bugzilla.gnome.org/show_bug.cgi?id=736715
17862
17863 2014-10-23 13:11:54 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17864
17865         * configure.ac:
17866         * gst-libs/gst/vaapi/Makefile.am:
17867         * gst-libs/gst/vaapi/gstvaapicompat.h:
17868         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
17869         * gst-libs/gst/vaapi/gstvaapitexture.c:
17870           texture: drop support for VA/GLX interfaces.
17871           The VA/GLX interfaces are obsolete. They used to exist for XvBA, and
17872           ease of use, but they had other caveats to deal with. It's now better
17873           to move on to legacy mode, whereby VA/GLX interop is two be provided
17874           through (i) X11 Pixmap, and (ii) other modern means of buffer sharing.
17875           https://bugzilla.gnome.org/show_bug.cgi?id=736711
17876
17877 2014-10-23 11:56:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17878
17879         * gst-libs/gst/vaapi/gstvaapitexture.c:
17880         * gst-libs/gst/vaapi/gstvaapitexture.h:
17881         * gst/vaapi/gstvaapivideoconverter_glx.c:
17882         * gst/vaapi/gstvaapivideometa_texture.c:
17883         * tests/test-textures.c:
17884           texture: add support for cropping rectangle during transfer.
17885           The gst_vaapi_texture_put_surface() function is missing a crop_rect
17886           argument that would be used during transfer for cropping the source
17887           surface to the desired dimensions.
17888           Note: from a user point-of-view, he should create the GstVaapiTexture
17889           object with the cropped size. That's the default behaviour in software
17890           decoding pipelines that we need to cope with.
17891           This is an API/ABI change, and SONAME version needs to be bumped.
17892           https://bugzilla.gnome.org/show_bug.cgi?id=736712
17893
17894 2014-10-23 11:22:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17895
17896         * gst-libs/gst/vaapi/gstvaapitexture.c:
17897         * gst-libs/gst/vaapi/gstvaapitexture.h:
17898           texture: re-indent all GstVaapiTexture related source code.
17899
17900 2015-01-27 11:16:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17901
17902         * gst-libs/gst/vaapi/gstvaapisurface.c:
17903         * gst-libs/gst/vaapi/gstvaapisurface.h:
17904           surface: add more fine-grained allocation helper.
17905           Add new gst_vaapi_surface_new_full() helper function that allocates
17906           VA surface from a GstVideoInfo template in argument. Additional flags
17907           may include ways to
17908           - allocate linear storage (GST_VAAPI_SURFACE_ALLOC_FLAG_LINEAR_STORAGE) ;
17909           - allocate with fixed strides (GST_VAPI_SURFACE_ALLOC_FLAG_FIXED_STRIDES) ;
17910           - allocate with fixed offsets (GST_VAAPI_SURFACE_ALLOC_FLAG_FIXED_OFFSETS).
17911
17912 2014-09-15 14:57:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17913
17914         * gst-libs/gst/vaapi/gstvaapisurface.c:
17915         * gst-libs/gst/vaapi/gstvaapisurface.h:
17916         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
17917           surface: re-indent all GstVaapiSurface related source code.
17918
17919 2015-01-23 16:44:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17920
17921         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
17922         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
17923           surfaceproxy: add helper to create a wrapped surface object.
17924           Add new gst_vaapi_surface_proxy_new() helper to wrap a surface into
17925           a proxy. The main use case for that is to convey additional information
17926           at the proxy level that would not be suitable to the plain surface.
17927
17928 2015-01-23 16:37:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17929
17930         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
17931         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
17932         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
17933           surfaceproxy: re-indent all GstVaapiSurfaceProxy related source code.
17934
17935 2015-01-27 18:02:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17936
17937         * configure.ac:
17938           libs: bump library major version.
17939
17940 2014-12-04 14:36:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17941
17942         * gst-libs/gst/vaapi/gstvaapitypes.h:
17943           libs: re-introduce a GST_VAAPI_ID_INVALID value.
17944           Re-introduce a GST_VAAPI_ID_INVALID value that represents
17945           a non-zero and invalid id. This is useful to have a value
17946           that is still invalid for cases where zero could actually
17947           be a valid value.
17948
17949 2014-12-02 16:51:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17950
17951         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
17952         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
17953           libs: expose GstVaapiMiniObject APIs to all backends.
17954           Make it possible to have all libgstvaapi backends (libs) access to a
17955           common GstVaapiMiniObject API and implementation. This is a minor step
17956           towards full exposure when needed, but restrict it to libgstvaapi at
17957           this time.
17958
17959 2014-12-02 14:15:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
17960
17961         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
17962         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
17963         * gst-libs/gst/vaapi/gstvaapiobject.c:
17964         * gst-libs/gst/vaapi/gstvaapiobject.h:
17965         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
17966           libs: re-indent all GstVaapiObject related source code.
17967           Re-indent and provide additional minor cosmetical changes to the
17968           GstVaapiMiniObject and GstVaapiObject source files.
17969
17970 2015-01-27 16:25:21 +0200  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
17971
17972         * gst/vaapi/gstvaapipluginutil.c:
17973           pluginutil: Fix clearing of subtitle overlay
17974           dvbsuboverlay signals no subtitles present by not setting
17975           GstVideoOverlayCompositionMeta on a buffer.
17976           Detect this, and remove subtitles whenever we have no overlay composition to
17977           hand.
17978           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
17979
17980 2015-01-27 16:06:02 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
17981
17982         * gst/vaapi/gstvaapipostproc.c:
17983           vaapipostproc: clear state on stop
17984           Otherwise restarting may fail because the state of vaapipluginbase and
17985           vaapipostproc don't match. e.g. gst_vaapipostproc_set_caps() will skip
17986           initailization and not call gst_vaapi_plugin_base_set_caps()
17987
17988 2015-01-27 14:50:12 +0200  Michael Olbrich <m.olbrich@pengutronix.de>
17989
17990         * gst/vaapi/gstvaapidecode.c:
17991           vaapidecode: don't print an error message for GST_FLOW_FLUSHING
17992
17993 2015-01-27 12:38:45 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
17994
17995         * gst-libs/gst/vaapi/gstvaapiencoder.c:
17996           gstvaapiencoder: Fix the negotiation issue with _ENCODED format handling
17997           Don't error out for the video format GST_VIDEO_FORMAT_ENCODED with in gstvaapiencoder,
17998           since the vaaapi context creation (gstvaapicontext.c) can still use the
17999           default chroma type which is YUV420.
18000           https://bugzilla.gnome.org/show_bug.cgi?id=743567
18001           https://bugzilla.gnome.org/show_bug.cgi?id=743035
18002
18003 2015-01-21 18:31:22 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18004
18005         * patches/videoparsers/0003-h264parse-add-initial-support-for-MVC-NAL-units.patch:
18006         * patches/videoparsers/series.frag:
18007           h264parse: drop patches merged upstream.
18008           0003-h264parse-add-initial-support-for-MVC-NAL-units.patch
18009
18010 2015-01-21 18:26:12 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18011
18012         * ext/codecparsers:
18013           codecparsers: update to gst-vaapi-branch commit d3b5c1b
18014           8194cac: h264parse: parse SPS subset
18015           64b7f52: h264parse: expose stereo-high profile
18016           774360a: h264parse: add initial support for MVC NAL units
18017           258478f: h264parser: fix stack smashing
18018
18019 2015-01-19 11:30:12 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18020
18021         * gst/vaapi/gstvaapivideometa_texture.c:
18022           Fix compilation error if there is no GL/gl.h header file installed
18023
18024 2015-01-15 16:23:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18025
18026         * gst/vaapi/gstvaapidecode.c:
18027           vaapidecode: commit updated srcpad caps to base plugin.
18028           Make sure that the GstVaapiPluginBase instance receives the new src
18029           pad caps whenever they get updated from within the GstVaapiDecoder
18030           decode routines.
18031           This also ensures that downstream elements receive correctly sized
18032           SW decoded buffers if needed.
18033           https://bugs.tizen.org/jira/browse/TC-114
18034
18035 2015-01-15 16:19:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18036
18037         * gst/vaapi/gstvaapidecode.c:
18038           vaapidecode: always reset decoder on ::set_format().
18039           Split GstVideoDecoder::set_format() handler to first update the sink
18040           pad caps and reset the active VA decoder instance based on those, and
18041           then update the src pad caps whenever possible, e.g. when the caps
18042           specify a valid video resolution.
18043
18044 2015-01-15 16:14:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18045
18046         * gst/vaapi/gstvaapivideomemory.c:
18047           vaapivideomemory: don't crash when trying to allocate 0x0 images.
18048           In some occasions, a buffer pool is created for pre-initialization
18049           purposes regardless of whether a valid image size is available or
18050           not. However, during actual decode stage, the vaapidecode element
18051           is expected to update the srcpad caps with the new dimensions, thus
18052           also triggering a reset of the underlying bufferpool.
18053
18054 2015-01-15 00:00:16 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18055
18056         * ext/codecparsers:
18057           codecparsers: update to gst-vaapi-branch commit 191cb2f
18058           347605a: h264parse: expose compatible profiles to downstream
18059           d1ea97e: h264parse: Fix periodic SPS/PPS sending work after a seek
18060           24a3126: Revert "h264parse: expose compatible profiles to downstream"
18061           8661740: h264parse: expose compatible profiles to downstream
18062           8b7ef3f: codecparsers: fix some compiler warnings
18063
18064 2014-11-27 12:11:03 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18065
18066         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
18067           encoder: h264: Fix the period between I/P frames
18068           If the key-frame period is set as one, then ip_period shuld be zero
18069           https://bugzilla.gnome.org/show_bug.cgi?id=734992
18070
18071 2014-11-27 11:21:03 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18072
18073         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
18074           encoder: h264: Provide intra_idr_period value for VAEncSequenceParameterBufferH264
18075           https://bugzilla.gnome.org/show_bug.cgi?id=734993
18076
18077 2014-11-27 11:14:50 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18078
18079         * gst/vaapi/gstvaapisink.c:
18080           vaapisink: Protect the X11 API invokations with proper locking
18081           https://bugzilla.gnome.org/show_bug.cgi?id=739808
18082
18083 2014-11-27 11:13:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18084
18085         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
18086           encoder: h264: fix pixel-aspect-ratio in encoded stream.
18087           Really report sample aspect ratio (SAR) as present, and make it match
18088           what we have obtained from the user as pixel-aspect-ratio (PAR). i.e.
18089           really make sure VUI parameter aspect_ratio_info_present_flag is set
18090           to TRUE and that the indication from aspect_ratio_idc is Extended_SAR.
18091           This is a leftover from git commit a12662f.
18092           https://bugzilla.gnome.org/show_bug.cgi?id=740360
18093
18094 2014-11-25 11:46:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18095
18096         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
18097           decoder: mpeg4: fix uninitialized variables.
18098           Fix gst_vaapi_decoder_mpeg4_parse() to initialize the packet type to
18099           GST_MPEG4_USER_DATA so that a parse error would result in skipping
18100           that packet. Also fix gst_vaapi_decoder_mpeg4_decode_codec_data() to
18101           initialize status to GST_VAAPI_DECODER_STATUS_SUCCESS.
18102
18103 2014-11-25 11:41:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18104
18105         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
18106           encoder: h264: fix profile limits.
18107           Fix ensure_profile_limits() to lower profile to the desired limits,
18108           only if the latter are actually known and the profile needed to be
18109           changed to fit.
18110
18111 2014-11-24 15:14:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18112
18113         * gst/vaapi/gstvaapipostproc.c:
18114           vaapipostproc: fix out caps for GLMemory.
18115           If the best downstream capsfeature turns out to be GLMemory, then make
18116           sure to propagate RGBA video format in caps to that element. This fixes
18117           the following pipeline: ... ! vaapipostproc ! glimagesink.
18118
18119 2014-11-24 14:25:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18120
18121         * gst/vaapi/gstvaapipostproc.c:
18122           vaapipostproc: fix check for compatible src pad capsfilters.
18123           When an explicit output video format is selected, from an src pad
18124           capsfilter, make sure that the downstream element actually supports
18125           that format. In particular, fix crash with the following pipelines:
18126           ... ! vaapipostproc ! video/x-raw,format=XXX ! xvimagesink ; where
18127           XXX is a format not supported by xvimagesink.
18128           While doing so, also reduce the set of src pad filter caps to the
18129           actual set of allowed src pad caps.
18130
18131 2014-11-24 14:10:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18132
18133         * gst/vaapi/gstvaapipostproc.c:
18134         * gst/vaapi/gstvaapipostproc.h:
18135         * gst/vaapi/gstvaapiuploader.c:
18136         * gst/vaapi/gstvaapiuploader.h:
18137           plugins: re-indent all video processing related source code.
18138
18139 2014-11-24 13:20:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18140
18141         * gst/vaapi/gstvaapivideomemory.c:
18142           plugins: further fixes to the new "current" storage tracker.
18143           The ensure_surface() and ensure_image() functions shall only relate
18144           to the underlying backing store. The actual current flags are to be
18145           updated only through ensure_{surface,image}_is_current() or very other
18146           particular cases in GstMemory hooks.
18147
18148 2014-11-21 15:43:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18149
18150         * gst/vaapi/gstvaapivideomemory.c:
18151           plugins: fix "current" video memory flags.
18152           If the surface proxy is updated into the GstVaapiVideoMemory, then
18153           it is assumed it is the most current representation of the current
18154           video frame. Likewise, make a few more arrangements to have the
18155           "current " flags set more consistently.
18156
18157 2014-11-21 15:23:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18158
18159         * gst/vaapi/gstvaapivideomemory.c:
18160         * gst/vaapi/gstvaapivideomemory.h:
18161         * gst/vaapi/gstvaapivideometa.c:
18162           plugins: ensure VA surface is current prior to using it.
18163           When interacting with SW elements, the buffers and underlying video
18164           memory could be mapped as read/write. However, we need to use those
18165           buffers again as plain VA surfaces, we have to make sure the VA image
18166           is thus committed back to VA surface memory.
18167           This fixes pipelines involving avdec_* and vaapi{postproc,sink}.
18168
18169 2013-07-12 06:34:15 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
18170
18171         * gst/vaapi/gstvaapivideomemory.c:
18172           plugins: enable memory maps for read & write.
18173           Hence vaapisink can display buffers decoded by gst-libav, or HW decoded
18174           buffers can be further processed in-place, e.g. with a textoverlay.
18175           https://bugzilla.gnome.org/show_bug.cgi?id=704078
18176           [ported to current git master branch, amended commit message]
18177           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18178
18179 2014-11-18 14:57:02 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18180
18181         * gst/vaapi/gstvaapidecode.c:
18182         * gst/vaapi/gstvaapipluginutil.c:
18183         * gst/vaapi/gstvaapipluginutil.h:
18184         * gst/vaapi/gstvaapipostproc.c:
18185           plugins: preserve framerate when updating src caps video format.
18186           In the current implementation, gst_video_info_set_format() would reset
18187           the whole GstVideoInfo structure first, prior to setting video format
18188           and size. So, coleteral information like framerate or pixel-aspect-
18189           ratio are lost.
18190           Provide and use a unique gst_video_info_change_format() for overcome
18191           this issue, i.e. only have it change the format and video size, and
18192           copy over the rest of the fields.
18193           https://bugzilla.gnome.org/show_bug.cgi?id=734665
18194
18195 2014-11-18 14:07:57 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18196
18197         * gst/vaapi/gstvaapi.c:
18198           vaapidecode: increase the rank to GST_RANK_PRIMARY + 1
18199           This is for helping decodebin to autoplug the vaapidecode element.
18200           Decodebin is selecting decoder elements only based on rank and caps.
18201           Without overriding the autoplug-* signals there is no way to autoplug
18202           HW decoders inside decodebin. An easier soulution is to raise the
18203           rank of vaapidecode, so that it gets selected first.
18204           https://bugzilla.gnome.org/show_bug.cgi?id=739332
18205
18206 2014-11-12 07:46:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18207
18208         * gst-libs/gst/vaapi/gstvaapiprofile.c:
18209         * gst/vaapi/gstvaapidecode.c:
18210           vaapidecode: only expose supported profiles when needed.
18211           JPEG and VP8 codecs do not really support the concept of "profile". So,
18212           don't try to expose any set that wouldn't be supported by jpegparse, or
18213           ivfparse for instance.
18214           https://bugzilla.gnome.org/show_bug.cgi?id=739713
18215           https://bugzilla.gnome.org/show_bug.cgi?id=739714
18216
18217 2014-11-13 15:13:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18218
18219         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
18220         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
18221         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
18222         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
18223           decoder: h264: add initial support for repeat-first-field (RFF) flag.
18224           Use the SEI pic_timing() message to track and propagate down the repeat
18225           first field (RFF) flag. This is only initial support as there is one
18226           other condition that could induce the RFF flag, which is not handled
18227           yet.
18228
18229 2014-11-13 15:05:19 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18230
18231         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
18232           decoder: h264: fix picture ordering count type 0 with previous MMCO5.
18233           Fix the decoding process for picture order count type 0 when the previous
18234           picture had a memory_management_control_operation = 5. In particular, fix
18235           the actual variable type for prev_pic_structure to hold the full bits of
18236           the picture structure.
18237           In practice, this used to work though, due to the underlying type used to
18238           express a gboolean.
18239
18240 2014-11-13 15:00:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18241
18242         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
18243           decoder: h264: fix detection of top-field-first (TFF) flag.
18244           Use the SEI pic_timing() message to track the pic_struct variable when
18245           present, or infer it from the regular slice header flags field_pic_flag
18246           and bottom_field_flag. This fixes temporal sequence ordering when the
18247           output pictures are to be displayed.
18248           https://bugzilla.gnome.org/show_bug.cgi?id=739291
18249
18250 2014-11-14 09:54:02 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18251
18252         * ext/codecparsers:
18253           codecparsers: update to gst-vaapi-branch commit 3d05d9f.
18254           1241840 h264: fix derivation of MaxPicNum variable
18255           3bd718e h264: fix GstH264ParserResult documentation typo
18256           b021609 h264parse: set the HEADER flag on buffers containing SPS or PPS
18257           b08e4be h264parse: don't unnecesarily set src_caps
18258
18259 2014-11-03 19:20:43 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18260
18261         * gst/vaapi/gstvaapipostproc.c:
18262           vaapipostproc: Add string representation of VPP functions to ElementFactoy Klass
18263           Added the same Klass specifications used in other upstream
18264           video postprocessing elements like videoconvert, videoscale,
18265           videobalance and deinterlace.
18266           An example use case is for this is to help the playsink
18267           to autoplug the hardware accelerated deinterlacer.
18268
18269 2014-11-03 19:19:20 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18270
18271         * gst/vaapi/gstvaapipostproc.c:
18272           vaapipostproc: Tweak the output video format setting to enable the autoplugging
18273           This is a workaround until auto-plugging is fixed when
18274           format=ENCODED + memory:VASurface caps feature are provided.
18275           Use the downstream negotiated video format as the output video format
18276           if the user didn't ask for the colorspace conversion explicitly.
18277           Usecase: This will help to connect elements like videoscale, videorate etc
18278           to vaapipostproc.
18279           https://bugzilla.gnome.org/show_bug.cgi?id=739443
18280
18281 2014-10-29 17:30:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18282
18283         * gst/vaapi/gstvaapipostproc.c:
18284         * gst/vaapi/gstvaapipostproc.h:
18285           vaapipostproc: allow user defined scaling mode.
18286           Add new "scale-method" property to expose the scaling mode to use during
18287           video processing. Note that this is only a hint, and the actual behaviour
18288           may differ from implementation (VA driver) to implementation.
18289
18290 2014-10-29 16:57:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18291
18292         * gst-libs/gst/vaapi/gstvaapifilter.c:
18293         * gst-libs/gst/vaapi/gstvaapifilter.h:
18294         * gst-libs/gst/vaapi/gstvaapiutils.c:
18295         * gst-libs/gst/vaapi/gstvaapiutils.h:
18296           filter: add initial support for high quality scaling.
18297           Add support for video scaling options in VPP pipelines. Only the
18298           DEFAULT mode is bound to exist. Others might be folded into that
18299           mode.
18300
18301 2014-10-29 16:35:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18302
18303         * gst-libs/gst/vaapi/gstvaapifilter.c:
18304         * gst-libs/gst/vaapi/gstvaapifilter.h:
18305           filter: re-indent all GstVaapiFilter related source code.
18306
18307 2014-10-29 15:45:50 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18308
18309         * ext/codecparsers:
18310           codecparsers: update to gst-vaapi-branch commit f9d3bde.
18311           2218b02 h264parse: expose parsed profile and level to downstream
18312           3dbfab4 h264parse: return flushing if we get chained while being set to READY
18313           d40fa8b h264: fix frame packing SEI parsing
18314           32d40be h264: Use proper bit_reader api while parsing buffering_period SEI
18315           b3e022e h264: initialize some fields of pic_timing structure
18316           a70661d vc1: fix expected level in sequence-layer parsing unit test
18317           6cee88d vc1: fix level values for simple/main profile
18318           356c189 vc1: add unit test for sequence-layer parsing
18319           ab9f641 vc1: take care of endianness when parsing sequence-layer
18320           8dc8e35 mpeg4: fix vlc table used for sprite trajectory
18321
18322 2014-10-29 15:46:47 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18323
18324         * gst/vaapi/gstvaapidecode.c:
18325           vaapidecode: Expose the supported profiles as caps to upstream
18326           This will allows the playbin to fallback to Software Decoder
18327           if the Hardware Decoder does not support a particular profile.
18328           https://bugzilla.gnome.org/show_bug.cgi?id=730997
18329
18330 2014-10-29 15:46:12 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18331
18332         * gst/vaapi/gstvaapiencode.c:
18333         * gst/vaapi/gstvaapiencode.h:
18334         * gst/vaapi/gstvaapiencode_h264.c:
18335           encode: Attach the codec-data to out caps only based on negotiated caps
18336           Attach the codec_data to out_caps only if downstream needed.
18337           For eg: h264 encoder doesn't need to stuff codec_data to the
18338           src caps if the negotiated caps has a stream format of byte-stream.
18339           https://bugzilla.gnome.org/show_bug.cgi?id=734902
18340
18341 2014-10-29 15:45:44 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18342
18343         * configure.ac:
18344           configure: echoing installation prefix path
18345
18346 2014-09-24 10:14:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18347
18348         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
18349           display: add support for DRM Render-Nodes.
18350           Add support for DRM Render-Nodes. This is a new feature that appeared
18351           in kernel 3.12 for experimentation purposes, but was later declared
18352           stable enough in kernel 3.15 for getting enabled by default.
18353           This allows headless usages without authentication at all, i.e. usages
18354           through plain ssh connections is possible.
18355
18356 2014-09-24 13:44:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18357
18358         * gst/vaapi/gstvaapisink.c:
18359           vaapisink: clean-ups (indentation, drop unused variables).
18360
18361 2014-09-24 13:39:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18362
18363         * configure.ac:
18364         * gst/vaapi/gstvaapisink.c:
18365           vaapisink: fix GstNavigation "key-press" / "key-release" events.
18366           Fix arguments to XkbKeycodeToKeysym() for converting an X11 keycode
18367           to a KeySym. In particular, there is no such Window argument. Also
18368           make sure to check for, and use, the correct <X11/XKBlib.h> header
18369           where that new function is defined. Otherwise, default to the older
18370           XKeycodeToKeysym() function.
18371
18372 2014-09-24 13:23:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18373
18374         * gst/vaapi/gstvaapisink.c:
18375           vaapisink: fix GstNavigation "mouse-move" event.
18376           Really use the motion event coordinates to propagate the "mouse-move"
18377           event to upper layer, instead of those from a button event. Those are
18378           technically the same though.
18379
18380 2014-09-16 14:25:40 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18381
18382         * gst/vaapi/gstvaapisink.c:
18383           vaapisink: implement the GstNavigation interface
18384           This is useful for things like DVD menus, where key/mouse events
18385           would need to be forwarded from the upstream sink element.
18386           https://bugzilla.gnome.org/show_bug.cgi?id=711479
18387
18388 2014-03-13 18:38:33 +0000  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
18389
18390         * gst/vaapi/gstvaapipluginbase.c:
18391           vaapipostproc: fix deinterlacing from non VA memory buffers.
18392           When we copy a buffer because we're moving it into VA-API memory, we
18393           need to copy flags. Otherwise, interlaced YUV buffers from a capture
18394           source (e.g. V4L2) don't get flagged as interlaced.
18395           https://bugzilla.gnome.org/show_bug.cgi?id=726270
18396           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
18397           [reversed order of gst_buffer_copy_into() flags to match <1.0 code]
18398           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18399
18400 2014-08-22 15:22:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18401
18402         * gst/vaapi/gstvaapipostproc.c:
18403           vaapipostproc: add support for GLTextureUploadMeta output.
18404           This allows for vaapipostproc to be chained to the glimagesink element
18405           for instance.
18406           https://bugzilla.gnome.org/show_bug.cgi?id=735231
18407
18408 2014-08-22 15:22:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18409
18410         * gst/vaapi/gstvaapipluginutil.c:
18411         * gst/vaapi/gstvaapipluginutil.h:
18412         * gst/vaapi/gstvaapipostproc.c:
18413           vaapipostproc: add support for "download" capability.
18414           Allow implicit conversions to raw video formats, while still keeping
18415           VA surfaces underneath. This allows for chaining the vaapipostproc
18416           element to a software-only element that takes care of maps/unmaps.
18417           e.g. xvimagesink.
18418           https://bugzilla.gnome.org/show_bug.cgi?id=720174
18419
18420 2014-08-22 18:10:54 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18421
18422         * gst/vaapi/gstvaapipostproc.c:
18423         * gst/vaapi/gstvaapipostproc.h:
18424           vaapipostproc: use pooled vaapi video meta.
18425           Use pooled GstVaapiVideoMeta information, i.e. always allocate that on
18426           video buffer allocation. Also optimize copy of additional metadata info
18427           into the resulting video buffer: only copy the video cropping info and
18428           the source surface proxy.
18429           https://bugzilla.gnome.org/show_bug.cgi?id=720311
18430           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18431           [fixed proxy leak, fixed double free on error, optimized meta copy]
18432           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18433
18434 2014-08-22 15:17:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18435
18436         * gst/vaapi/gstvaapipostproc.c:
18437           vaapipostproc: fix passthrough mode.
18438           If no explicit output surface format is supplied try to keep the one
18439           supplied through the sink pad caps. This avoids a useless copy, even
18440           if things are kept in GPU memory.
18441           This is a performance regression from git commit dfa70b9.
18442
18443 2014-07-05 21:00:34 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18444
18445         * gst/vaapi/gstvaapipostproc.c:
18446         * gst/vaapi/gstvaapipostproc.h:
18447           vaapipostproc: fix output buffer to have a GstVaapiVideoMemory.
18448           https://bugzilla.gnome.org/show_bug.cgi?id=720311
18449           [used new infrastructure through base decide_allocation() impl]
18450           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18451
18452 2014-08-22 11:13:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18453
18454         * gst/vaapi/gstvaapipostproc.c:
18455           vaapipostproc: enable advanced deinterlacing with same format.
18456           If only advanced deinterlacing is requested, i.e. deinterlacing is
18457           the only active algorithm to apply with source and output surface
18458           formats being the same, then make sure to enable VPP processing.
18459           Otherwise, allow fallback to bob-deinterlacing with simple rendering
18460           flags alteration.
18461
18462 2014-08-21 15:04:20 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18463
18464         * gst/vaapi/gstvaapivideomemory.c:
18465           vaapivideomemory: avoid NULL pointer unref if GstVaapiImage creation failed.
18466           https://bugzilla.gnome.org/show_bug.cgi?id=735156
18467
18468 2014-08-22 13:25:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18469
18470         * gst/vaapi/gstvaapipluginbase.c:
18471         * gst/vaapi/gstvaapipluginutil.c:
18472           plugins: fix memory leaks.
18473
18474 2014-08-21 14:10:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18475
18476         * gst/vaapi/gstvaapidecode.c:
18477         * gst/vaapi/gstvaapipluginbase.c:
18478         * gst/vaapi/gstvaapipluginbase.h:
18479           plugins: factor out decide_allocation() hook.
18480           Add a default decide_allocation() hook to GstVaapiPluginBase. The caps
18481           feature argument can be used to force a bufferpool with a specific kind
18482           of memory.
18483
18484 2014-08-21 11:12:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18485
18486         * gst/vaapi/gstvaapivideobufferpool.c:
18487         * gst/vaapi/gstvaapivideobufferpool.h:
18488         * gst/vaapi/gstvaapivideomemory.c:
18489           plugins: allow bufferpool to not allocate vaapi video meta.
18490           Add GST_VAAPI_VIDEO_BUFFER_POOL_ACQUIRE_FLAG_NO_ALLOC params flag that
18491           can be used to disable early allocations of vaapi video metas on buffers,
18492           thus delagating that to the bufferpool user.
18493
18494 2014-08-21 10:45:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18495
18496         * gst/vaapi/gstvaapivideobuffer.c:
18497         * gst/vaapi/gstvaapivideobuffer.h:
18498         * gst/vaapi/gstvaapivideobufferpool.c:
18499         * gst/vaapi/gstvaapivideobufferpool.h:
18500         * gst/vaapi/gstvaapivideocontext.c:
18501         * gst/vaapi/gstvaapivideocontext.h:
18502         * gst/vaapi/gstvaapivideoconverter_glx.c:
18503         * gst/vaapi/gstvaapivideoconverter_glx.h:
18504         * gst/vaapi/gstvaapivideoconverter_x11.c:
18505         * gst/vaapi/gstvaapivideoconverter_x11.h:
18506         * gst/vaapi/gstvaapivideomemory.c:
18507         * gst/vaapi/gstvaapivideomemory.h:
18508         * gst/vaapi/gstvaapivideometa.c:
18509         * gst/vaapi/gstvaapivideometa.h:
18510         * gst/vaapi/gstvaapivideometa_texture.c:
18511         * gst/vaapi/gstvaapivideometa_texture.h:
18512           plugins: re-indent all GstVaapiVideo* related source code.
18513
18514 2014-08-22 15:12:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18515
18516         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
18517           surfaceproxy: fix copy to propagate view_id.
18518           Fix gst_vaapi_surface_proxy_copy() to copy the view-id element, thus
18519           fixing random frames skipped when vaapipostproc element is used in
18520           passthrough mode. In that mode, GstMemory is copied, thus including
18521           the underlying GstVaapiVideoMeta and associated GstVaapiSurfaceProxy.
18522
18523 2014-08-20 16:38:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18524
18525         * gst/vaapi/gstvaapipostproc.c:
18526           vaapipostproc: fix detection of output surface format changes.
18527           Default to I420 format for output surfaces so that to match the usual
18528           GStreamer pipelines. Though, internally, we could still opt for NV12
18529           surface formats, i.e. default format=ENCODED is a hint for that, thus
18530           delegating the decision to the VA driver.
18531
18532 2014-08-20 10:59:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18533
18534         * gst/vaapi/gstvaapipostproc.c:
18535           vaapipostproc: fix construction of allowed sink pad caps.
18536           Fix construction of the set of caps allowed on the sink pad to filter
18537           out unsupported raw video caps with GStreamer >= 1.2.
18538
18539 2014-08-20 10:37:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18540
18541         * gst/vaapi/gstvaapipostproc.c:
18542         * gst/vaapi/gstvaapipostproc.h:
18543           vaapipostproc: improve heuristics for detecting native VA surfaces.
18544           Use the new gst_caps_has_vaapi_surface() helper function to detect
18545           whether the sink pad caps contain native VA surfaces, or not, i.e.
18546           no raw video caps.
18547           Also rename is_raw_yuv to get_va_surfaces to make the variable more
18548           explicit as we just want a way to differentiate raw video caps from
18549           VA surfaces actually.
18550
18551 2014-08-12 18:33:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18552
18553         * gst/vaapi/gstvaapipostproc.c:
18554           vaapipostproc: disable discontinuity detection code.
18555           The "discontinuity" tracking code, whereby lost frames are tentatively
18556           detected, is inoperant if the sink pad buffer timestamps are not right
18557           to begin with.
18558           This is a temporary workaround until the following bug is fixed:
18559           https://bugzilla.gnome.org/show_bug.cgi?id=734386
18560
18561 2014-08-07 14:57:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18562
18563         * gst/vaapi/gstvaapipostproc.c:
18564           vaapipostproc: fix heuristic for detecting discontinuity.
18565           In order to make the discontinuity detection code useful, we need to
18566           detect the lost frames in the history as early as the previous frame.
18567           This is because some VA implementations only support one reference
18568           frame for advanced deinterlacing.
18569           In practice, turn the condition for detecting new frame that is beyond
18570           the previous frame from field_duration*2 to field_duration*3, i.e.
18571           nothing received for the past frame and a half because of possible
18572           rounding errors when calculating the field-duration either in this
18573           element (vaapipostproc), or from the upstream element (parser element).
18574           This is a regression introduced with commit faefd62.
18575           https://bugzilla.gnome.org/show_bug.cgi?id=734135
18576
18577 2014-08-20 11:43:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18578
18579         * gst/vaapi/gstvaapipluginbase.c:
18580         * gst/vaapi/gstvaapipluginbase.h:
18581           plugins: fix detection of raw video caps.
18582           Use the new gst_caps_has_vaapi_surface() helper function to better
18583           detect raw video caps, and in particular those from RGB colorspace.
18584           https://bugzilla.gnome.org/show_bug.cgi?id=734665
18585
18586 2014-08-20 11:30:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18587
18588         * gst/vaapi/gstvaapipluginutil.c:
18589         * gst/vaapi/gstvaapipluginutil.h:
18590           plugins: add helper for detecting VA surfaces in caps.
18591           Introduce new gst_caps_has_vaapi_surface() helper function to detect
18592           whether the supplied caps has VA surfaces. With GStreamer >= 1.2, this
18593           implies a check for memory:VASurface caps features, and format=ENCODED
18594           for earlier versions of GStreamer.
18595
18596 2014-08-12 13:01:57 +0300  Sebastian Dröge <sebastian@centricular.com>
18597
18598         * gst/vaapi/gstvaapidecode.c:
18599           vaapidecode: start the decoder task again after finishing
18600           This allows the element to accept data again after draining without
18601           a hard reset or caps change happening in between.
18602           https://bugzilla.gnome.org/show_bug.cgi?id=734616
18603
18604 2014-08-12 13:00:03 +0300  Sebastian Dröge <sebastian@centricular.com>
18605
18606         * gst/vaapi/gstvaapidecode.c:
18607           vaapidecode: unlock condition variables before shutting down the element
18608           Otherwise threads might wait for them, causing the shutdown of the element
18609           to deadlock on the streaming thread.
18610           https://bugzilla.gnome.org/show_bug.cgi?id=734616
18611
18612 2014-08-11 17:15:24 +0300  Sebastian Dröge <sebastian@centricular.com>
18613
18614         * gst/vaapi/gstvaapidecode.c:
18615           vaapidecode: reset decoder_finish variable after stopping the decoder thread
18616           Otherwise the element is not usable again after draining/EOS.
18617           https://bugzilla.gnome.org/show_bug.cgi?id=734616
18618
18619 2014-08-11 17:14:53 +0300  Sebastian Dröge <sebastian@centricular.com>
18620
18621         * gst/vaapi/gstvaapidecode.c:
18622           vaapidecode: don't try flushing the decoder instance if we didn't create one yet
18623           This otherwise results in unnecessary error messages.
18624           https://bugzilla.gnome.org/show_bug.cgi?id=734616
18625
18626 2014-08-01 06:32:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18627
18628         * gst-libs/gst/vaapi/Makefile.am:
18629         * gst/vaapi/Makefile.am:
18630           build: fix with --no-undefined linker flags.
18631           https://bugzilla.gnome.org/show_bug.cgi?id=729352
18632
18633 2014-01-23 15:44:09 +0000  Changzhi Wei <changzhix.wei@intel.com>
18634
18635         * gst/vaapi/gstvaapisink.c:
18636         * gst/vaapi/gstvaapisink.h:
18637           vaapisink: add support for GstColorBalance interface.
18638           https://bugzilla.gnome.org/show_bug.cgi?id=722390
18639           [fixed channel names, simplified range factor, fixed memory leak]
18640           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18641
18642 2014-01-23 15:23:00 +0000  Changzhi Wei <changzhix.wei@intel.com>
18643
18644         * gst/vaapi/gstvaapisink.c:
18645         * gst/vaapi/gstvaapisink.h:
18646           vaapisink: add support for colorbalance adjustment.
18647           https://bugzilla.gnome.org/show_bug.cgi?id=722390
18648           [fixed and simplified tracking of colorbalance value changes]
18649           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18650
18651 2014-07-31 13:18:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18652
18653         * gst/vaapi/gstvaapisink.c:
18654           vaapisink: improve installation of properties.
18655           Simplify the creation and installation process of properties, by first
18656           accumulating them into a g_properties[] array, and next calling into
18657           g_object_class_install_properties().
18658           Also add missing docs and flags to some properties.
18659
18660 2014-07-31 10:48:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18661
18662         * gst/vaapi/gstvaapisink.c:
18663         * gst/vaapi/gstvaapisink.h:
18664           vaapisink: code clean-ups.
18665           Move code around in a more logical way. Introduce GST_VAAPISINK_CAST()
18666           helper macro and use it wherever we know the object is a GstBaseSink or
18667           any base class. Drop explicit initializers for values that have defaults
18668           set to zero.
18669
18670 2014-07-31 10:37:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18671
18672         * gst/vaapi/gstvaapisink.c:
18673         * gst/vaapi/gstvaapisink.h:
18674           vaapisink: re-indent all GstVaapiSink related source code.
18675
18676 2014-07-30 17:27:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18677
18678         * gst/vaapi/gstvaapisink.c:
18679         * gst/vaapi/gstvaapisink.h:
18680           vaapisink: introduce separate backends.
18681           Introduce new backends vtable so that to have clean separation between
18682           display dependent code and common base code. That's a "soft" separation,
18683           we don't really need dedicated objects.
18684           https://bugzilla.gnome.org/show_bug.cgi?id=722248
18685
18686 2014-07-30 16:47:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18687
18688         * gst/vaapi/gstvaapisink.c:
18689         * gst/vaapi/gstvaapisink.h:
18690           vaapisink: drop unused "synchronous" mode.
18691           Support for X11 "synchronous" mode was never implemented, and was only
18692           to be useful for debugging. Drop that altogether, that's not going to
18693           be useful in practice.
18694           https://bugzilla.gnome.org/show_bug.cgi?id=733985
18695
18696 2014-07-30 17:32:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18697
18698         * gst/vaapi/gstvaapisink.c:
18699         * gst/vaapi/gstvaapisink.h:
18700           vaapisink: drop unused variables.
18701           Drop obsolete, and now unused, video_buffer_pool and video_buffer_size
18702           variables. They got merged into the GstVaapiPluginBase object.
18703
18704 2014-07-30 16:35:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18705
18706         * gst/vaapi/gstvaapisink.c:
18707         * gst/vaapi/gstvaapisink.h:
18708           vaapisink: drop GLX rendering and fancy effects.
18709           Rendering with GLX in vaapisink is kind of useless nowadays, including
18710           OpenGL related fancy effects. Plain VA/GLX interfaces are also getting
18711           deprecated in favor of EGL, or more direct buffer sharing with actual
18712           GL textures.
18713           Should testing of interop with GLX be needed, one could still be using
18714           the modern cluttersink or glimagesink elements.
18715           https://bugzilla.gnome.org/show_bug.cgi?id=733984
18716
18717 2013-11-05 14:01:11 +0100  Holger Kaelberer <hk@getslash.de>
18718
18719         * gst/vaapi/gstvaapisink.c:
18720         * gst/vaapi/gstvaapisink.h:
18721           vaapisink: listen to window size changes on X11.
18722           Allow dynamic changes to the window, e.g. performed by the user, and
18723           make sure to refresh its contents, while preserving aspect ratio.
18724           In practice, Expose and ConfigureNotify events are tracked in X11
18725           display mode by default. This occurs in a separte event thread, and
18726           this is similar to what xvimagesink does. Any of those events will
18727           trigger a reconfiguration of the window "soft" size, subsequently
18728           the render-rect when necessary, and finally _expose() the result.
18729           The default of handle_events=true can be changed programatically via
18730           gst_x_overlay_handle_events().
18731           Thanks to Fabrice Bellet for rebasing the patch.
18732           https://bugzilla.gnome.org/show_bug.cgi?id=711478
18733           [dropped XInitThreads(), cleaned up the code a little]
18734           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18735
18736 2014-07-29 15:47:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18737
18738         * gst/vaapi/gstvaapidecode.c:
18739           vaapidecode: decode and output all pending frames on normal EOS.
18740           The gst_vaapidecode_decode_loop() function is called within a separate
18741           task to fetch and output all frames that were decoded so far. So, if
18742           the decoder_loop_status is forcibly set to EOS when _finish() is called,
18743           then we are bound to exist the task without submitting the pending
18744           frames.
18745           If the downstream element error'ed out, then the gst_pad_push() would
18746           propagate up an error and so we will get it right for cutting off
18747           _finish() early in that case.
18748           This is a regression from 6003596.
18749           https://bugzilla.gnome.org/show_bug.cgi?id=733897
18750
18751 2014-07-29 13:24:52 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18752
18753         * configure.ac:
18754           Bump version for development.
18755
18756 2014-07-29 10:31:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18757
18758         * AUTHORS:
18759           AUTHORS: updates.
18760
18761 2014-07-29 10:31:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18762
18763         * NEWS:
18764           NEWS: updates.
18765
18766 2014-07-29 16:22:01 +1000  Matthew Waters <ystreet00@gmail.com>
18767
18768         * gst/vaapi/gstvaapidecode.c:
18769           vaapidecode: properly return from decode loop on downstream errors.
18770           Fixes a hang/race on shutdown where _decode_loop() had already completed
18771           its execution and _finish() was waiting on a GCond for decode_loop()
18772           to complete.  Also fixes the possible race where _finish() is called
18773           but _decode_loop() endlessly returns before signalling completion
18774           iff the decoder instance returns GST_FLOW_OK.
18775           Found with: ... ! vaapidecode ! {glimagesink,cluttersink}
18776           https://bugzilla.gnome.org/show_bug.cgi?id=733897
18777           [factored out GST_VIDEO_DECODER_STREAM_UNLOCK() call]
18778           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18779
18780 2014-07-28 18:45:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18781
18782         * NEWS:
18783         * configure.ac:
18784           0.5.9.
18785
18786 2014-07-28 18:31:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18787
18788         * gst/vaapi/gstvaapisink.c:
18789           vaapisink: fix GstVideoOverlay::expose() implementation.
18790           Now that we always track the currently active video buffer, it is
18791           not necessary to automatically increase its reference since this is
18792           implicitly performed in ::show_frame() through the get_input_buffer()
18793           helper from GstVaapiPluginBase class.
18794           This is a regression from a26df80.
18795
18796 2014-07-28 18:00:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18797
18798         * gst/vaapi/gstvaapidecode.c:
18799         * gst/vaapi/gstvaapipluginutil.c:
18800           vaapidecode: simplify bufferpool configuration.
18801           Rework the logics behind the configuration of an adequate bufferpool,
18802           especially when OpenGL meta or additional capsfeatures are needed.
18803           Besides, for GStreamer >= 1.4, the first capsfeatures that gets matched,
18804           and that is not system memory, is now selected by default.
18805
18806 2014-07-28 16:43:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18807
18808         * gst/vaapi/gstvaapidecode.c:
18809           vaapidecode: fix auto-plugging of vaapisink element.
18810           Make sure to propagate memory:VASurface capsfeature to srcpad caps
18811           only for GStreamer >= 1.5 as the plug-in elements in GStreamer 1.4
18812           core currently miss additional patches available in 1.5-git (1.6).
18813           This is a temporary workaround.
18814
18815 2014-07-28 15:54:46 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
18816
18817         * configure.ac:
18818           configure: allow builds against GStreamer git (1.5.x).
18819           https://bugzilla.gnome.org/show_bug.cgi?id=733688
18820
18821 2014-07-28 14:20:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18822
18823         * configure.ac:
18824           configure: fix build with GStreamer 1.4.0 release.
18825
18826 2014-03-04 19:40:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18827
18828         * configure.ac:
18829         * debian.upstream/Makefile.am:
18830         * debian.upstream/control.in:
18831           debian: fix packaging for new naming scheme.
18832
18833 2014-07-28 11:52:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18834
18835         * NEWS:
18836           NEWS: updates.
18837
18838 2014-07-28 11:39:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18839
18840         * configure.ac:
18841           configure: mark support for GStreamer < 1.2 as deprecated.
18842           Supporting anything thing below GStreamer 1.2 is asking for trouble
18843           for keeping up with the required facilities to make efficient pipelines.
18844           Users are invited to upgrade to the very latest GStreamer 1.2.x release,
18845           at the minimum.
18846
18847 2014-07-28 11:35:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18848
18849         * configure.ac:
18850           configure: mark support for GStreamer 0.10 as obsolete.
18851           Support for GStreamer 0.10 is obsolete. i.e. it is no longer supported
18852           and may actually be removed altogether for a future release. There is
18853           no real point to maintain a build for such an ancient GStreamer version
18854           that is not even supported upstream.
18855
18856 2014-07-28 10:25:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18857
18858         * gst/vaapi/gstvaapisink.c:
18859         * gst/vaapi/gstvaapisink.h:
18860           vaapisink: allow a specific view component to be displayed.
18861           If a multiview stream is decoded, multiple view components are submitted
18862           as is downstream. It is the responsibility of the sink element to display
18863           the required view components. By default, always select the frame buffer
18864           that matches the view-id of the very first frame to be displayed.
18865           However, introduce a "view-id" property to allow the selection of a
18866           specific view component of interest to display.
18867
18868 2014-07-28 10:09:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18869
18870         * gst/vaapi/gstvaapisink.c:
18871           vaapisink: always keep the last displayed buffer around.
18872           Always record the VA surface that is currently being rendered, no matter
18873           the fact we are using texturedblit or overlay. That's because in some
18874           occasions, we need to refresh or resize the displayed contents based on
18875           new events. e.g. user-resized window.
18876           Besides, it's simpler to track the last video buffer in GstVaapiSink than
18877           through the base sink "last-sample".
18878
18879 2014-07-25 11:13:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18880
18881         * gst/vaapi/gstvaapipluginbase.c:
18882         * gst/vaapi/gstvaapipluginbase.h:
18883         * gst/vaapi/gstvaapipluginutil.c:
18884         * gst/vaapi/gstvaapisink.c:
18885           vaapisink: add support for "display-name" property.
18886           Add a "display-name" property to vaapisink so that the end user could
18887           select the desired output. Keep "display-name" in-line with the existing
18888           "display" (GstVaapiDisplayXXX type).
18889           So, for X11 or GLX, the "display-name" is the usual display name as we
18890           know for XOpenDisplay(); for Wayland, the "display-name" is the name used
18891           for wl_display_connect(); and for DRM, the "display-name" is actually the
18892           DRI device name.
18893           https://bugzilla.gnome.org/show_bug.cgi?id=722247
18894
18895 2014-07-25 17:29:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18896
18897         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
18898           window: make gst_vaapi_window_reconfigure() thread-safe.
18899           Ensure the X11 implementation for GstVaapiWindow::get_geometry() is
18900           thread-safe by default, so that upper layer users don't need to handle
18901           that explicitly.
18902
18903 2013-07-29 09:28:28 +0200  Holger Kaelberer <hk@getslash.de>
18904
18905         * gst-libs/gst/vaapi/gstvaapiwindow.c:
18906         * gst-libs/gst/vaapi/gstvaapiwindow.h:
18907           window: allow for updating size from current geometry.
18908           Add gst_vaapi_window_reconfigure() interface to force an update of
18909           the GstVaapiWindow "soft" size, based on the current geometry of the
18910           underlying native window.
18911           This can be useful for instance to synchronize the window size when
18912           the user changed it.
18913           Thanks to Fabrice Bellet for rebasing the patch.
18914           [changed interface to gst_vaapi_window_reconfigure()]
18915           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18916
18917 2014-07-25 16:53:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18918
18919         * gst-libs/gst/vaapi/gstvaapiwindow.c:
18920         * gst-libs/gst/vaapi/gstvaapiwindow.h:
18921         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
18922         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
18923         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
18924         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
18925         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
18926         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
18927         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
18928         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
18929         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
18930         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
18931           window: re-indent all GstVaapiWindow related source code.
18932
18933 2014-07-25 11:24:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18934
18935         * gst-libs/gst/vaapi/gstvaapidisplay.c:
18936         * gst-libs/gst/vaapi/gstvaapidisplay.h:
18937         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
18938           display: add interface to retrieve the display name.
18939           Add gst_vaapi_display_get_display_name() helper function to determine
18940           the name associated with the underlying native display. Note that for
18941           raw DRM backends, the display name is actually the device path.
18942
18943 2014-07-25 10:55:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18944
18945         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
18946           display: fix comparison of X11 display names.
18947           Make sure to not only compare display host names, but also the actual
18948           display number. The screen number does not need to be checked at this
18949           time.
18950
18951 2014-07-25 15:52:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18952
18953         * gst/vaapi/gstvaapidecode.c:
18954         * gst/vaapi/gstvaapivideobufferpool.c:
18955           vaapidecode: add support for VideoAlignment bufferpool option.
18956           Always add VideoAlignment bufferpool option if the downstream element
18957           expects its own pool to be used but does not offer it through a proper
18958           propose_allocation() implementation for instance, and that the ALLOCATION
18959           query does not expose the availability of the Video Meta API.
18960           This fixes propagation of video buffer stride information to Firefox.
18961
18962 2014-07-25 15:44:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18963
18964         * gst/vaapi/gstvaapivideomemory.c:
18965           vaapivideomemory: always prefer native VA surface formats.
18966           Make sure to always prefer native internal formats for the VA surfaces
18967           that get allocated. Also disable "direct-rendering" mode in this case.
18968           This is needed so that to make sure that anything that gets out of the
18969           decoder, or anything that gets into the encoder, is in native format
18970           for the hardware, and thus the driver doesn't need to perform implicit
18971           conversions in there. Interop with SW elements is still available with
18972           fast implementations of VA imaging APIs.
18973
18974 2014-07-24 11:58:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18975
18976         * gst/vaapi/gstvaapivideomemory.c:
18977           vaapivideomemory: disallow memory shares across buffers, use a copy.
18978           Forbid shares of GstMemory instances, and rather make copy of it. This
18979           effectively copies the GstMemory structure and enclosed metadata, but
18980           this does not copy the VA surface contents itself. It should though.
18981           This fixes preroll and makes sure to not download garbage for the first
18982           frame when a SW rendering sink is used.
18983
18984 2014-07-24 06:46:22 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18985
18986         * gst/vaapi/gstvaapivideomemory.c:
18987         * gst/vaapi/gstvaapivideomemory.h:
18988           vaapivideomemory: use an image pool to cache objects.
18989           Use an image pool to hold VA images to be used for downloads/uploads
18990           of contents for the associated surface.
18991           This is an optmization for size. So, instead of creating as many VA
18992           images as there are buffers (then VA surfaces) allocated, we only
18993           maintain a minimal set of live VA images, thus preserving memory
18994           resources.
18995
18996 2014-07-24 00:14:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
18997
18998         * gst/vaapi/gstvaapivideomemory.c:
18999           vaapivideomemory: forbid R/W mappings if non direct-rendering mode.
19000           Disable read-write mappings if "direct-rendering" is not supported.
19001           Since the ordering of read and write operations is not specified,
19002           this would require to always download the VA surface on _map(), then
19003           commit the temporary VA image back to the VA surface on _unmap().
19004           Some SW decoding plug-in elements still use R/W mappings though.
19005           https://bugzilla.gnome.org/show_bug.cgi?id=733242
19006
19007 2014-07-23 23:49:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19008
19009         * gst/vaapi/gstvaapivideomemory.c:
19010           vaapivideomemory: minor code clean-ups.
19011           Fix error messages introduced in the previous commit for the _map()
19012           imaplementation. Also use the new get_image_data() helper function
19013           to determine the base pixels data buffer from a GstVaapiImage when
19014           updating the video info structure from it.
19015
19016 2014-07-23 18:54:13 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19017
19018         * gst/vaapi/gstvaapivideomemory.c:
19019         * gst/vaapi/gstvaapivideomemory.h:
19020           vaapivideomemory: add support for raw pixels mappings.
19021           Allow raw pixels of the whole frame to be mapped read-only. i.e. in
19022           cases where the buffer pool is allocated without VideoMeta API, thus
19023           individual planes cannot be mapped.
19024           This is initial support for Firefox >= 30.
19025           https://bugzilla.gnome.org/show_bug.cgi?id=731886
19026
19027 2014-07-03 18:41:11 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19028
19029         * gst/vaapi/gstvaapivideomemory.c:
19030           vaapivideomemory: fix determination of the surface pool format.
19031           While creating the vaapi video allocator, make sure the associated
19032           surface pool has correct format instead of defaulting to NV12 video
19033           format even though there is no direct rendering support.
19034           https://bugzilla.gnome.org/show_bug.cgi?id=732691
19035
19036 2014-07-23 18:01:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19037
19038         * gst/vaapi/gstvaapivideomemory.c:
19039           vaapivideomemory: fix association of surface to proxy.
19040           Make sure to always update the VA surface pointer whenever the proxy
19041           changes. This used to only work when the VA surface is written to, in
19042           interop with SW element ("upload" feature), and this now fixes cases
19043           when the VA surface is needed for reading, in interop with SW element
19044           ("download" feature).
19045
19046 2014-07-23 10:23:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19047
19048         * gst/vaapi/gstvaapidecode.c:
19049         * gst/vaapi/gstvaapipluginutil.c:
19050         * gst/vaapi/gstvaapivideomemory.c:
19051           plugins: expose I420 format for interop with SW elements.
19052           Always expose I420 format by default when the VA surface could be
19053           mapped for interoperability with non harware accelerated elements.
19054           However, the default behaviour remains the auto-plugging of vaapi
19055           elements, down to the sink.
19056           Side effect: "direct-rendering" mode is also disabled most of the
19057           times as plain memcpy() from uncached speculative write combining
19058           memory is not going to be efficient enough.
19059
19060 2014-07-22 18:54:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19061
19062         * gst/vaapi/gstvaapidecode.c:
19063         * gst/vaapi/gstvaapivideomemory.c:
19064           plugins: allow download capability to vaapidecode element.
19065           Fix support for VA surface download capability in vaapidecode element
19066           for GStreamer >= 1.2. This is a fix to supporting libva-vdpau-driver,
19067           but also the libva-intel-driver while performing hardware accelerated
19068           conversions from the native VA surface format (NV12) to the desired
19069           output VA image format.
19070           For instance, this fixes pipelines involving vaapidecode ! xvimagesink.
19071           https://bugzilla.gnome.org/show_bug.cgi?id=733243
19072
19073 2014-07-17 01:51:36 +0200  Fabrice Bellet <fabrice@bellet.info>
19074
19075         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
19076           decoder: mpeg4: fix picture decoder return value for skipped frames.
19077           The picture decoder should return GST_VAAPI_DECODER_STATUS_DROP_FRAME
19078           when a frame should be skipped, so the stream processing is not stalled.
19079           https://bugzilla.gnome.org/show_bug.cgi?id=733324
19080
19081 2014-07-04 15:13:32 +1000  Jan Schmidt <jan@centricular.com>
19082
19083         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
19084           decoder: mpeg2: respect any input PTS provided for a frame.
19085           The timestamp generator in gstvaapidecoder_mpeg2.c always interpolated
19086           frame timestamps within a GOP, even when it's been fed input PTS for
19087           every frame.
19088           That leads to incorrect output timestamps in some situations - for example
19089           live playback where input timestamps have been scaled based on arrival time
19090           from the network and don't exactly match the framerate.
19091           https://bugzilla.gnome.org/show_bug.cgi?id=732719
19092
19093 2014-01-22 08:20:59 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19094
19095         * gst-libs/gst/vaapi/gstvaapiobject.c:
19096           GstVaapiObject: make gst_vaapi_object_new() more robust.
19097           Forbid GstVaapiObject to be created without an associated klass spec.
19098           It is mandatory that the subclass implements an adequate .finalize()
19099           hook, so it shall provide a valid GstVaapiObjectClass.
19100           https://bugzilla.gnome.org/show_bug.cgi?id=722757
19101           [made non-NULL klass argument to gst_vaapi_object_new() a requirement]
19102           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19103
19104 2014-01-21 15:43:57 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19105
19106         * gst-libs/gst/vaapi/gstvaapiobject.c:
19107           GstVaapiObject: initialize the derived object data with init() hook.
19108           Call the subclass .init() function in gst_vaapi_object_new(), if
19109           needed. The default behaviour is to zero initialize the subclass
19110           object data, then the .init() function can be used to initialize
19111           fields to non-default values, e.g. VA object ids to VA_INVALID_ID.
19112           Also fix the gst_vaapi_object_new() description, which was merely
19113           copied from GstVaapiMiniObject.
19114           https://bugzilla.gnome.org/show_bug.cgi?id=722757
19115           [changed to always zero initialize the subclass]
19116           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19117
19118 2014-06-13 21:45:04 +0100  Lionel Landwerlin <llandwerlin@gmail.com>
19119
19120         * gst/vaapi/gstvaapidecode.c:
19121           vaapidecode: make decoder work with playbin
19122           When playbin/decodebin builds the pipeline, it puts decoders and sinks
19123           into different bins and forwards the queries from bins to bins. So in
19124           the initials steps the pipeline is built iteratively by playbin and
19125           looks like this :
19126           [filesrc]
19127           [filesrc] -> [typefind]
19128           [filesrc] -> [typefind] -> [demuxer]
19129           [filesrc] -> [typefind] -> [demuxer] -> [decoder]
19130           At this point the decoder is asked for its SRC caps and it will make a
19131           choice based on what gst_pad_peer_query_caps() returns. The problem is
19132           that the caps returns at that point includes caps features like ANY,
19133           essentially because playbin can plug in additional elements like
19134           videoscale, videoconv or deinterlace.
19135           This patch adds a another call to
19136           gst_vaapi_find_preferred_caps_feature() when the decoder decides its
19137           allocation, to make sure we asks the downstream elements when the
19138           entire pipeline has been built.
19139           https://bugzilla.gnome.org/show_bug.cgi?id=731645
19140
19141 2014-06-27 11:57:11 +0100  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
19142
19143         * gst/vaapi/gstvaapipostproc.c:
19144           vaapipostproc: don't let tmp_rect go out of scope.
19145           A compiler change showed me that tmp_rect went out of scope before
19146           it was used. Move it to the beginning of the function instead.
19147           https://bugzilla.gnome.org/show_bug.cgi?id=726363
19148           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
19149           [added guards for GStreamer 0.10 builds]
19150           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19151
19152 2014-07-03 22:44:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19153
19154         * AUTHORS:
19155           AUTHORS: updates.
19156
19157 2014-07-03 22:34:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19158
19159         * README:
19160           README: updates.
19161           Drop references to deprecated plugins (vaapiupload, vaapidownload),
19162           mention that support for GStreamer 0.10 is deprecated, make overview
19163           more descriptive in certain aspects.
19164
19165 2014-07-03 22:21:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19166
19167         * NEWS:
19168           NEWS: updates.
19169
19170 2014-07-03 19:42:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19171
19172         * README:
19173         * configure.ac:
19174           build: mention that support for GStreamer 0.10 is deprecated.
19175
19176 2014-07-03 17:17:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19177
19178         * configure.ac:
19179         * gst/vaapi/gstvaapidecode.c:
19180           build: fix for GStreamer 0.10.
19181
19182 2014-07-03 18:01:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19183
19184         * patches/videoparsers/0002-h264parse-fix-build-with-GStreamer-1.2.patch:
19185         * patches/videoparsers/0002-h264parse-fix-build-with-older-GStreamer-1.x-stacks.patch:
19186         * patches/videoparsers/series.frag:
19187           build: fix for GStreamer 1.0.x.
19188
19189 2014-07-03 13:48:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19190
19191         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19192           decoder: h264: detect incorrectly paired fields in frames.
19193           When a DPB flush is required, e.g. at a natural and of stream or issued
19194           explicitly through an IDR, try to detect any frame left in the DPB that
19195           is interlaced but does not contain two decoded fields. In that case, mark
19196           the picture as having a single field only.
19197           This avoids a hang while decoding tv_cut.mkv.
19198
19199 2014-07-03 11:13:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19200
19201         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19202           decoder: h264: simplify the DPB output process.
19203           Simplify the dpb_output() function to exclusively rely on the frame store
19204           buffer to output, since this is now always provided. Besides, also fix
19205           cases where split fields would not be displayed.
19206           This is a regression from f48b1e0.
19207
19208 2014-07-01 17:20:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19209
19210         * patches/videoparsers/0003-h264parse-fix-and-optimize-NAL-collection-function.patch:
19211         * patches/videoparsers/0005-h264parse-introduce-new-state-tracking-variables.patch:
19212         * patches/videoparsers/0006-h264parse-improve-conditions-for-skipping-NAL-units.patch:
19213         * patches/videoparsers/0007-h264parse-fix-collection-of-access-units-to-preserve.patch:
19214         * patches/videoparsers/series.frag:
19215           h264parse: drop patches merged upstream.
19216           0003-h264parse-fix-and-optimize-NAL-collection-function.patch
19217           0005-h264parse-introduce-new-state-tracking-variables.patch
19218           0006-h264parse-improve-conditions-for-skipping-NAL-units.patch
19219           0007-h264parse-fix-collection-of-access-units-to-preserve.patch
19220
19221 2014-07-01 17:18:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19222
19223         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19224           decoder: h264: fix memory leak in PPS.
19225           Cope with latest changes from codecparsers/h264. It is now required
19226           to explicitly clear the GstH264PPS structure as it could contain
19227           additional allocations (slice_group_ids).
19228
19229 2014-07-01 17:13:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19230
19231         * ext/codecparsers:
19232           codecparsers: update to gst-vaapi-branch commit 2d53b69.
19233           c4ace00 h264parse: fix collection of access units to preserve config headers
19234           0f9f7c9 h264parse: improve conditions for skipping NAL units
19235           9ffb25c h264parse: introduce new state tracking variables
19236           64955d3 h264parse: fix and optimize NAL collection function
19237           13cd2a3 h264: clarifications and documentation fixes
19238           53e7dd1 h264: fix identification of EOSEQ and EOS NALs
19239           18f0de0 h264: fix memory leak in GstH264PPS
19240           fdcb54c h264: fix typo in GstH264VUIParams description
19241           fd4dae9 vp8: move up built-in range decoder private data
19242
19243 2014-06-30 19:01:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19244
19245         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
19246         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
19247         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
19248         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
19249           decoder: propagate MVC metadata ("view-id", head of multiview set).
19250           Add new GstVaapiSurfaceProxy flag FFB, which means "first frame in
19251           bundle", and really expresses the first view component of a multi
19252           view coded frame. e.g. in H.264 MVC, the surface proxy has flag FFB
19253           set if VOIdx = 0.
19254           Likewise, new API is exposed to retrieve the associated "view-id".
19255
19256 2014-06-30 18:46:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19257
19258         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
19259         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
19260           decoder: propagate "one-field" flags.
19261           Allow decoders to set the "one-field" attribute when the decoded frame
19262           genuinely has a single field, or if the second field was mis-decoded but
19263           we still want to display the first field.
19264
19265 2014-06-30 18:34:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19266
19267         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
19268           decoder: output decoded frames only once.
19269           Make sure to output the decoded picture, and push the associated
19270           GstVideoCodecFrame, only once. The frame fully represents what needs
19271           to be output, included for interlaced streams. Otherwise, the base
19272           GstVideoDecoder class would release the frame twice.
19273           Anyway, the general process is to output decoded frames only when
19274           they are complete. By complete, we mean a full frame was decoded or
19275           both fields of a frame were decoded.
19276
19277 2014-06-30 16:12:52 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19278
19279         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19280           decoder: h264: decode current picture earlier.
19281           Slightly optimize decoding process by submitting the current VA surface
19282           for decoding earlier to the hardware, and perform the reference picture
19283           marking process and DPB update process afterwards.
19284           This is a minor optimization to let the video decode engine kick in work
19285           earlier, thus improving parallel resources utilization.
19286
19287 2014-06-30 16:09:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19288
19289         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19290           decoder: h264: fix output of second field when first field is not in DPB.
19291           Fix decoding of interlaced streams where a first field (e.g. B-slice)
19292           was immediately output and the current decoded field is to be paired
19293           with that former frame, which is no longer in DPB.
19294           https://bugzilla.gnome.org/show_bug.cgi?id=701340
19295
19296 2014-06-30 11:06:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19297
19298         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19299           decoder: h264: slightly optimize the process to detect new pictures.
19300           Optimize the process to detect new pictures or start of new access
19301           units by checking if the previous NAL unit was the end of a picture,
19302           or the end of the previous access unit.
19303
19304 2014-06-13 15:42:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19305
19306         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19307           decoder: h264: handle access unit ("au") optimization.
19308           Optimize parsing when buffers are supplied with access unit alignment.
19309           This helps determining faster when the end of an access unit is reached.
19310
19311 2014-06-28 07:25:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19312
19313         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19314           decoder: h264: fix tracking of DPB size changes.
19315           Add support for MVC streams with multiple SPS and subset SPS headers
19316           emitted regularly, e.g. at around every I-frame. Track the maximum
19317           number of views in ensure_context() and really reset the DPB size to
19318           the expected value, always. i.e. even if it decreased. dpb_reset()
19319           only cares of ensuring the DPB allocation.
19320
19321 2014-06-27 20:44:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19322
19323         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19324           decoder: h264: fix the DPB compaction process.
19325           Fix the compaction process when the DPB is cleared for a specific
19326           view, i.e. fix the process of filling in the holes resulting from
19327           removing frame buffers matching the current picture.
19328
19329 2014-06-27 16:38:03 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19330
19331         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
19332           encoder: h264: generate new SPS only when codec config changed.
19333           It is not necessary to periodically send SPS or subset SPS headers.
19334           This is up to the upper layer (e.g. transport layer) to decide on
19335           if/how to periodically submit those. For now, only generate new SPS
19336           or subset SPS headers when the codec config changed.
19337           Note: the upper layer could readily determine the config headers
19338           (SPS/PPS) through the gst_vaapi_encoder_h264_get_codec_data() function.
19339           https://bugzilla.gnome.org/show_bug.cgi?id=732083
19340           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19341
19342 2014-06-27 18:43:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19343
19344         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
19345           encoder: h264: track encoder config changes.
19346           Track and report when encoder configuration changed. For now, this covers
19347           resolution, profile/level and bitrate changes.
19348
19349 2014-06-27 13:15:13 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19350
19351         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
19352           encoder: h264: add pixel-aspect-ratio to VUI parameters.
19353           Report sample aspect ratio (SAR) as present, and make it match what
19354           we have obtained from the user as pixel-aspect-ratio (PAR). i.e. the
19355           VUI parameter aspect_ratio_info_present_flag now defaults to TRUE.
19356
19357 2014-06-27 00:49:34 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19358
19359         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
19360           encoder: h264: fix number of anchor and non-anchor reference pictures.
19361           Set the value of num_anchor_refs_l0, num_anchor_refs_l1, num_non_anchor_refs_l0,
19362           and num_non_anchor_refs_l1 to zero since the inter-view prediction is not yet
19363           supported.
19364
19365 2014-06-27 10:37:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19366
19367         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
19368           encoder: h264: fix timing_info_present_flag value in subset SPS.
19369           When the seq_parameter_set_data() syntax structure is present in a subset
19370           sequence parameter set and vui_parameters_present_flag is equal to 1, then
19371           timing_info_present_flag shall be equal to 0 (H.7.4.2.1.1).
19372
19373 2014-06-26 14:39:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19374
19375         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
19376           encoder: h264: add cpbBrNalFactor values for MVC profiles.
19377
19378 2014-06-26 14:51:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19379
19380         * patches/videoparsers/0003-h264parse-add-initial-support-for-MVC-NAL-units.patch:
19381           h264parse: fix detection of access unit boundaries for MVC.
19382           The gst_h264_parse_collect_nal() function is a misnomer. In reality,
19383           this function is used to determine access unit boundaries, i.e. that
19384           is the key function for alignment=au output format generation.
19385
19386 2014-06-26 14:49:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19387
19388         * patches/videoparsers/0007-h264parse-fix-collection-of-access-units-to-preserve.patch:
19389         * patches/videoparsers/series.frag:
19390           h264parse: fix collection of access units to preserve config headers.
19391           Always use a GstAdapter when collecting access units (alignment="au")
19392           in either byte-stream or avcC format. This is required to properly
19393           preserve config headers like SPS and PPS when invalid or broken NAL
19394           units are subsequently parsed.
19395           More precisely, this fixes scenario like:
19396           <SPS> <PPS> <invalid-NAL> <slice>
19397           where we used to reset the output frame buffer when an invalid or
19398           broken NAL is parsed, i.e. SPS and PPS NAL units were lost, thus
19399           preventing the next slice unit to be decoded, should this also
19400           represent any valid data.
19401           https://bugzilla.gnome.org/show_bug.cgi?id=732203
19402
19403 2014-06-26 14:48:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19404
19405         * patches/videoparsers/0003-h264parse-add-initial-support-for-MVC-NAL-units.patch:
19406         * patches/videoparsers/0006-h264parse-improve-conditions-for-skipping-NAL-units.patch:
19407         * patches/videoparsers/series.frag:
19408           h264parse: improve conditions for skipping NAL units.
19409           Carefully track cases when skipping broken or invalid NAL units is
19410           necessary. In particular, always allow NAL units to be processed
19411           and let that gst_h264_parse_process_nal() function decide on whether
19412           the current NAL needs to be dropped or not.
19413           This fixes parsing of streams with SEI NAL buffering_period() message
19414           inserted between SPS and PPS, or SPS-Ext NAL following a traditional
19415           SPS NAL unit, among other cases too.
19416           Practical examples from the H.264 AVC conformance suite include
19417           alphaconformanceG, CVSE2_Sony_B, CVSE3_Sony_H, CVSEFDFT3_Sony_E
19418           when parsing in stream-format=byte-stream,alignment=au mode.
19419           https://bugzilla.gnome.org/show_bug.cgi?id=732203
19420
19421 2014-06-26 14:45:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19422
19423         * patches/videoparsers/0003-h264parse-add-initial-support-for-MVC-NAL-units.patch:
19424         * patches/videoparsers/0005-h264parse-introduce-new-state-tracking-variables.patch:
19425         * patches/videoparsers/series.frag:
19426           h264parse: introduce new state tracking variables.
19427           Improve parser state tracking by introducing new flags reflecting
19428           it: "got-sps", "got-pps" and "got-slice". This is an addition for
19429           robustness purposes.
19430           Older have_sps and have_pps variables are kept because they have
19431           a different meaning. i.e. they are used for deciding on when to
19432           submit updated caps or not, and rather mean "have new SPS/PPS to
19433           be submitted?"
19434
19435 2014-06-26 14:39:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19436
19437         * patches/videoparsers/0004-h264parse-default-to-byte-stream-nalu-format-Annex-B.patch:
19438         * patches/videoparsers/series.frag:
19439           h264parse: default to byte-stream/nalu format (Annex B).
19440           Always default to stream-format=byte-stream,alignment=nalu if avcC
19441           format was not detected. This is the natural stream format specified
19442           in the standard (Annex.B): a series of NAL units prefixed with the
19443           usual start code.
19444           https://bugzilla.gnome.org/show_bug.cgi?id=732167
19445
19446 2014-06-26 14:37:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19447
19448         * patches/videoparsers/0003-h264parse-fix-and-optimize-NAL-collection-function.patch:
19449         * patches/videoparsers/series.frag:
19450           h264parse: fix and optimize NAL collection function.
19451           Use gst_h264_parser_identify_nalu_unchecked() to identify the next
19452           NAL unit. We don't want to parse the full NAL unit, but only the
19453           header bytes and possibly the first RBSP byte for identifying the
19454           first_mb_in_slice syntax element.
19455           Also fix check for failure when returning from that function. The
19456           only success condition for that is GST_H264_PARSER_OK, so use it.
19457           https://bugzilla.gnome.org/show_bug.cgi?id=732154
19458
19459 2014-06-26 11:39:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19460
19461         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
19462           encoder: h264: fix NAL unit types in packed headers.
19463           Submit Prefix NAL headers (nal_unit_type = 14) before every packed
19464           slice header (nal_unit_type = 1 or 5) only for the base view. In non
19465           base views, a Coded Slice Extension NAL header (nal_unit_type = 20)
19466           is required, with an appropriate nal_unit_header_mvc_extension() in
19467           the NAL header bytes.
19468           https://bugzilla.gnome.org/show_bug.cgi?id=732083
19469
19470 2014-06-25 22:05:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19471
19472         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
19473           encoder: h264: add missing field in packed Subset SPS header.
19474           Write the missing num_level_values_signalled_minus1 syntax element
19475           into the packed header for subset sequence parameter set.
19476           https://bugzilla.gnome.org/show_bug.cgi?id=732083
19477
19478 2014-06-25 22:26:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19479
19480         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19481           decoder: h264: fix marking of non-reference picture into DPB.
19482           Fix search for a picture in the DPB that has a lower POC value than
19483           the current picture. The dpb_find_lowest_poc() function will return
19484           a picture with the lowest POC in DPB and that is marked as "needed
19485           for output", but an additional check against the actual POC value
19486           of the current picture is needed.
19487           This is a regression from 1c46990.
19488           https://bugzilla.gnome.org/show_bug.cgi?id=732130
19489
19490 2014-06-19 17:08:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19491
19492         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19493           decoder: h264: fix DPB clear when no decoding actually started.
19494           Fix dpb_clear() to clear previous frame buffers only if they actually
19495           exist to begin with. If the decoder bailed out early, e.g. when it
19496           does not support a specific profile, that array of previous frames
19497           might not be allocated beforehand.
19498
19499 2014-02-06 08:30:10 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19500
19501         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19502         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
19503         * gst/vaapi/gstvaapidecode.c:
19504           decoder: h264: add support for NALU "alignment" optimization.
19505           We can avoid scanning for start codes again if the bitstream is fed
19506           in NALU chunks. Currently, we always scan for start codes, and keep
19507           track of remaining bits in a GstAdapter, even if, in practice, we
19508           are likely receiving one GstBuffer per NAL unit. i.e. h264parse with
19509           "nal" alignment.
19510           https://bugzilla.gnome.org/show_bug.cgi?id=723284
19511           [use gst_adapter_available_fast() to determine the top buffer size]
19512           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19513
19514 2014-06-18 18:53:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19515
19516         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19517           decoder: h264: fix caps to report interlace-mode accordingly.
19518           The `vaapipostproc' element could never determine if the H.264 stream
19519           was interlaced, and thus always assumed it to be progressive. Fix the
19520           H.264 decoder to report interlace-mode accordingly, thus allowing the
19521           vaapipostproc element to automatically enable deinterlacing.
19522
19523 2014-06-19 13:35:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19524
19525         * gst/vaapi/gstvaapipostproc.c:
19526           vaapipostproc: don't crash with dynamic framerate (0/1).
19527           Avoid reaching an assert if dynamic framerates (0/1) are used. One
19528           way to solve this problem is to just stick field_duration to zero.
19529           However, this means that, in presence of interlaced streams, the
19530           very first field will never be displayed if precise presentation
19531           timestamps are honoured.
19532           https://bugzilla.gnome.org/show_bug.cgi?id=729604
19533
19534 2014-02-07 12:27:50 +0000  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
19535
19536         * gst/vaapi/gstvaapipostproc.c:
19537           vaapipostproc: create filter surface pool if it does not exist yet.
19538           ensure_srcpad_buffer_pool() tries to avoid unnecessarily deleting and
19539           recreating filter_pool. Unfortunately, this also meant it didn't create
19540           it if it did not exist.
19541           Fix it to always create the buffer pool if it does not exist.
19542           https://bugzilla.gnome.org/show_bug.cgi?id=723834
19543           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
19544
19545 2013-12-12 10:01:13 +0800  Zhao, Halley <halley.zhao@intel.com>
19546
19547         * gst/vaapi/gstvaapipostproc.c:
19548           vaapipostproc: reset deinterlacer state when there is a discontinuity.
19549           Reset deinterlacer state, i.e. past reference frames used for advanced
19550           deinterlacing, when there is some discontinuity detected in the course
19551           of processing source buffers.
19552           This fixes support for advanced deinterlacing when a seek occurred.
19553           https://bugzilla.gnome.org/show_bug.cgi?id=720375
19554           [fixed type of pts_diff variable, fetch previous buffer PTS from the
19555           history buffer, reduce heuristic for detecting discontinuity]
19556           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19557
19558 2014-06-18 16:16:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19559
19560         * gst/vaapi/gstvaapipostproc.c:
19561           vaapipostproc: add support for crop regions in VPP mode.
19562           Apply video cropping regions stored in GstVideoCropMeta, or in older
19563           GstVaapiSurfaceProxy representation, to VPP pipelines. In non-VPP modes,
19564           the crop meta are already propagated to the output buffers.
19565           https://bugzilla.gnome.org/show_bug.cgi?id=720730
19566
19567 2014-03-14 17:49:40 +0000  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
19568
19569         * gst/vaapi/gstvaapipostproc.c:
19570           vaapipostproc: make deinterlace-mode behave as expected.
19571           deinterlace-mode didn't behave in the way you'd expect if you have
19572           past experience of the deinterlace element. There were two bugs:
19573           1. "auto" mode wouldn't deinterlace "interleaved" buffers, only "mixed".
19574           2. "force" mode wouldn't deinterlace "mixed" buffers flagged as progressive.
19575           Fix these up, and add assertions and error messages to detect cases that
19576           aren't handled.
19577           https://bugzilla.gnome.org/show_bug.cgi?id=726361
19578           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
19579           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19580
19581 2014-01-15 16:36:29 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
19582
19583         * gst/vaapi/gstvaapidecode.c:
19584           vaapidecode: do not discard video info props when the format changed.
19585           gst_video_info_set_format() does not preserve video info properties. In
19586           order to keep important information in the caps such as interlace mode,
19587           framerate, pixel aspect ratio, ... we need to manually copy back those
19588           properties after setting the new video format.
19589           https://bugzilla.gnome.org/show_bug.cgi?id=722276
19590
19591 2014-02-23 01:43:39 +1100  Matthew Waters <ystreet00@gmail.com>
19592
19593         * gst/vaapi/gstvaapidecode.c:
19594           vaapidecode: plug a memory leak.
19595           It can happen that there is a pool provided that does not advertise
19596           the vappivideometa. We should unref that pool before using our own.
19597           Discovered with vaapidecode ! {glimagesink,cluttersink}
19598           https://bugzilla.gnome.org/show_bug.cgi?id=724957
19599           [fixed compilation by adding the missing semi-colon]
19600           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19601
19602 2014-06-18 13:47:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19603
19604         * gst/vaapi/gstvaapidecode.c:
19605           vaapidecode: parse source data until a frame is obtained.
19606           Parse any pending data until a complete frame is obtained. This is a
19607           memory optimization to avoid expansion of video packets stuffed into
19608           the GstAdapter, and a fix to EOS condition to detect there is actually
19609           pending data that needs to be decoded, and subsequently output.
19610           https://bugzilla.gnome.org/show_bug.cgi?id=731831
19611
19612 2014-06-05 15:32:29 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19613
19614         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
19615           encoder: h264: fix multiple slices support in packed headers mode.
19616           Handle packedi slice headers and packed raw data on a per-slice basis,
19617           which is necessary for multi slice encoding.
19618
19619 2014-06-05 15:30:38 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19620
19621         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
19622         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
19623           encoder: add infrastructure for per-slice handling of packed headers.
19624           The packed slice header and packed raw data need to be paired with
19625           the submission of VAEncSliceHeaderParameterBuffer. So handle them
19626           on a per-slice basis insted of a per-picture basis.
19627           [removed useless initializer]
19628           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19629
19630 2014-03-07 17:40:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19631
19632         * gst/vaapi/gstvaapisink.c:
19633           vaapisink: fix initialization with "drm" display type.
19634           Force early initializatin of the GstVaapiDisplay so that to make sure
19635           that the sink element display object is presented first to upstream
19636           elements, as it will be correctly featuring the requested display type
19637           by the user.
19638           Otherwise, we might end up in situations where a VA/X11 display is
19639           initialized in vaapidecode, then we try VA/DRM display in vaapisink
19640           (as requested by the "display" property), but this would cause a failure
19641           because we cannot acquire a DRM display that was previously acquired
19642           through another backend (e.g. VA/X11).
19643
19644 2014-03-07 17:38:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19645
19646         * gst/vaapi/gstvaapipluginbase.c:
19647           plugins: fix initialization with foreign context.
19648           When a new display is settled through GstElement::set_context() (>= 1.2),
19649           or GstVideoContext::set_context() (<= 1.0), then we shall also update the
19650           associated display type.
19651
19652 2014-04-28 17:44:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19653
19654         * Makefile.am:
19655         * configure.ac:
19656         * ext/Makefile.am:
19657         * gst/vaapi/Makefile.am:
19658         * gst/vaapi/gstvaapiparse.c:
19659         * gst/vaapi/gstvaapiparse.h:
19660         * patches/Makefile.am:
19661         * patches/videoparsers/0001-plugins-compile-the-built-in-video-parsers-as-vaapip.patch:
19662         * patches/videoparsers/0002-h264parse-fix-build-with-GStreamer-1.2.patch:
19663         * patches/videoparsers/0003-h264parse-add-initial-support-for-MVC-NAL-units.patch:
19664         * patches/videoparsers/Makefile.am:
19665         * patches/videoparsers/series.frag:
19666           plugins: add built-in video parsers as "vaapiparse" element.
19667           The built-in video parsers elements are built into a single DSO named
19668           libgstvaapi_parse.so. The various video parsers could be accessed as
19669           vaapiparse_CODEC.
19670           For now, this only includes a modified version of h264parse so that to
19671           support H.264 MVC encoded streams.
19672
19673 2014-06-13 11:36:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19674
19675         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19676           decoder: h264: cope with new gst_h264_quant_matrix_*() interfaces.
19677           New gst_h264_quant_matrix_*_get_raster_from_zigzag() were renamed
19678           from gst_h264_video_quant_matrix_*_get_raster_from_zigzag().
19679
19680 2014-06-13 11:34:07 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19681
19682         * ext/codecparsers:
19683           codecparsers: update to gst-vaapi-branch commit d6325ac.
19684           7d8d045 h264parse: use new gst_h264_video_calculate_framerate()
19685           d2f965a h264parse: set field_pic_flag when parsing a slice header
19686           24c15b8 Import h264parse
19687           a9283e5 bytereader: Use concistant derefence method
19688           a8252c6 bytereader: Use pointer instead of index access
19689           b1bebfc Import GstBitReader and GstByteReader
19690           2f58788 h264: recognize SVC NAL units
19691           4335da5 h264: fix SPS copy code for MVC
19692           cf9b6dc h264: fix quantization matrix conversion routine names
19693           b11ce2a h264: add gst_h264_video_calculate_framerate()
19694           126dc6f add C++ guards for MPEG-4 and VP8 parsers
19695
19696 2014-06-10 18:30:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19697
19698         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19699           decoder: h264: factor out DPB pruning for MVC.
19700           Factor out the removal process of unused inter-view only reference
19701           pictures from the DPB, prior to the possible insertion of the current
19702           picture.
19703           Ideally, the compiler could still opt for generating two loops. But
19704           at least, the code is now clearer for maintenance.
19705
19706 2014-06-10 17:42:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19707
19708         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19709           decoder: h264: clean-ups.
19710           Fix GST_VAAPI_PICTURE_IS_{INTER_VIEW,ANCHOR}() definitions to use
19711           the base GST_VAAPI_PICTURE_FLAG_IS_SET() macro.
19712
19713 2014-06-10 16:07:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19714
19715         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19716           decoder: h264: improve pruning of unused MVC inter-view frames.
19717           Improve process for the removal of pictures from DPB before possible
19718           insertion of the current picture (C.4.4) for H.264 MVC inter-view only
19719           reference components. In particular, handle cases where picture to be
19720           inserted is not the last one of the access unit and if it was already
19721           output and is no longer marked as used for reference, including for
19722           decoding next view components within the same access unit.
19723
19724 2014-06-03 17:36:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19725
19726         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19727           decoder: h264: improve DPB bumping process for MVC.
19728           While invoking the DPB bumping process in presence of many views,
19729           it could be necessary to output previous pictures that are ready,
19730           in a whole. i.e. emitting all view components from the very first
19731           view order index zero to the very last one in its original access
19732           unit; and not starting from the view order index of the picture
19733           that caused the DPB bumping process to be invoked.
19734           As a reminder, the maximum number of frames in DPB for MultiView
19735           High profile with more than 2 views is not necessarily a multiple
19736           of the number of views.
19737           This fixes decoding of MVCNV-4.264.
19738
19739 2014-06-06 17:56:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19740
19741         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19742           decoder: h264: fix inter-view references array growth.
19743           Let the utility layer handle dynamic growth of the inter-view pictures
19744           array. By definition, setting a new size to the array will effectively
19745           grow the array, but would also fill in the newly created elements with
19746           empty entries (NULL), thus also increasing the reported length, which
19747           is not correct.
19748
19749 2014-06-03 17:36:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19750
19751         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19752           decoder: h264: reduce ReferenceFrames entries to the essential set.
19753           When decoding Multiview High profile streams with a large number of
19754           views, it is not possible to make the VAPictureParameterBufferH264.
19755           ReferenceFrames[] array hold the complete DPB, with all possibly
19756           active pictures to be used for inter-view prediction in the current
19757           access unit.
19758           So reduce the scope of the ReferenceFrames[] array to only include
19759           the set of reference pictures that are going to be used for decoding
19760           the current picture. Basically, this is a union of all RefPicListX[]
19761           array, for all slices constituting the decoded picture.
19762
19763 2014-06-04 19:10:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19764
19765         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19766           decoder: h264: fix MVC inter-view prediction process.
19767           The inter-view reference components and inter-view only reference
19768           components that are included in the reference picture lists shall
19769           be considered as not being marked as "used for short-term reference"
19770           or "used for long-term reference". This means that reference flags
19771           should all be removed from VAPictureH264.flags.
19772           This fixes decoding of MVCNV-2.264.
19773
19774 2014-06-04 19:03:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19775
19776         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19777           decoder: h264: fix detection of profile changes for MVC.
19778           If the VA driver exposes ad-hoc H.264 MVC profiles, then we have to
19779           be careful to detect profiles changes and not reset the underlying
19780           VA context erroneously. In MVC situations, we could indeed get a
19781           profile_idc change for every SPS that gets activated, alternatively
19782           (base-view -> non-base view -> base-view, etc.).
19783           An improved fix would be to characterize the exact profile to use
19784           once and for all when SPS NAL units are parsed. This would also
19785           allow for fallbacks to a base-view decoding only mode.
19786
19787 2014-06-03 14:30:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19788
19789         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
19790           encoder: h264: drop extraneous definitions.
19791           Re-use definitions from the codecparser headers instead of duplicating
19792           them here again. That covers NALU definitions and slice types.
19793
19794 2014-04-01 11:26:04 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19795
19796         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
19797           encoder: h264: remove unnecessary calcualtion of max_pic_order_cnt.
19798           https://bugzilla.gnome.org/show_bug.cgi?id=727418
19799
19800 2014-04-01 14:23:56 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19801
19802         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
19803           encoder: h264: don't allow CABAC with Extended profile.
19804           The H.264 specification does not support CABAC entropy coding for the
19805           Extended profile.
19806           https://bugzilla.gnome.org/show_bug.cgi?id=727418
19807
19808 2014-05-07 00:12:39 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19809
19810         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
19811           encoder: h264: use packed headers mode for MVC encoding.
19812           Exclusively use VA drivers that support raw packed headers for encoding.
19813           i.e. simply submit packed headers Subset SPS and Prefix NAL units. This
19814           provides for better compatibility accross the various VA drivers and HW
19815           generations since no particular API is needed beyond what readily exists.
19816
19817 2014-05-07 00:09:45 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19818
19819         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
19820           encoder: h264: add support for packed slice headers.
19821           https://bugzilla.gnome.org/show_bug.cgi?id=722905
19822
19823 2014-05-07 00:09:19 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19824
19825         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
19826           encoder: h264: store subset sps to generate the codec-data
19827           Store the SubsetSPS nal unit which we need for MVC specific
19828           codec_data generation.
19829
19830 2014-05-07 00:08:33 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19831
19832         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
19833           encoder: h264: fix MVC pipeline hang while encoding with B-frames.
19834           Since we are encoding each view independently from each other, we
19835           need a higher number of pre-allocated surfaces to be used as the
19836           reconstructed frames. For Stereo High profile encoding, this means
19837           to effectively double the number of frames to be stored in the DPB.
19838
19839 2014-02-17 15:51:43 +0800  Li Xiaowei <xiaowei.a.li@intel.com>
19840
19841         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
19842         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
19843         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
19844         * gst/vaapi/gstvaapiencode_h264.c:
19845           encoder: h264: add initial support for H.264 Stereo High profile.
19846           Add initial support for Subset SPS, Prefix NAL and Slice Extension NAL
19847           for non-base-view streams encoding, and the usual SPS, PPS and Slice
19848           NALs for base-view encoding.
19849           The H.264 Stereo High profile encoding mode will be turned on when the
19850           "num-views" parameter is set to 2. The source (raw) YUV frames will be
19851           considered as Left/Right view, alternatively.
19852           Each of the two views has its own frames reordering pool and reference
19853           frames list management system. Inter-view references are not supported
19854           yet, so the views are encoded independently from each other.
19855           Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
19856           [limited to Stereo High profile per the definition of MAX_NUM_VIEWS]
19857           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19858
19859 2014-02-17 11:10:26 +0800  Li Xiaowei <xiaowei.a.li@intel.com>
19860
19861         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
19862           encoder: h264: wrap pools for refs and frames reordering.
19863           Create structures to maintain the reference frames list (RefPool) and
19864           frames reordering (ReorderPool) logic.
19865           This is a prerequisite for H.264 MVC support.
19866           Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
19867
19868 2014-02-14 15:33:15 +0800  Li Xiaowei <xiaowei.a.li@intel.com>
19869
19870         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
19871           encoder: h264: add provisional support for subset SPS headers.
19872           Add provisions to write subset SPS headers to the bitstream in view
19873           to supporting the H.264 MVC specification.
19874           This assumes the libva "staging" branch is in use.
19875           Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
19876
19877 2013-12-18 13:47:32 +0800  Li Xiaowei <xiaowei.a.li@intel.com>
19878
19879         * gst-libs/gst/vaapi/gstvaapiprofile.c:
19880         * gst-libs/gst/vaapi/gstvaapiutils.c:
19881           utils: add H.264 MVC profiles.
19882           Add "MultiView High" and "Stereo High" definitions.
19883           Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
19884           [require VA-API >= 0.35.2 for MVC profiles]
19885           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19886
19887 2014-06-02 16:25:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19888
19889         * gst-libs/gst/vaapi/gstvaapiprofile.c:
19890         * gst-libs/gst/vaapi/gstvaapiutils.c:
19891           utils: only enable VP8 profiles for newer VA-API versions.
19892           VP8 decoding API appeared in VA-API >= 0.35.0. So, disable mappings
19893           involving VP8 codec on earlier versions of the API.
19894
19895 2014-05-22 10:04:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19896
19897         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19898           decoder: h264: compute view ids only once per slice.
19899           Optimize lookups of view ids / view order indices by caching the result
19900           of the calculatiosn right into the GstVaapiParserInfoH264 struct. This
19901           terribly simplifies is_new_access_unit() and find_first_field() functions.
19902
19903 2014-05-21 17:57:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19904
19905         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19906           decoder: h264: add support for MVC interlaced streams.
19907           Fix support for MVC Stereo High profile streams with interlaced frames.
19908           Also improve the detection logic of the first field.
19909
19910 2014-05-20 18:08:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19911
19912         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19913           decoder: h264: add MVC profiles compatibility logic.
19914           Add safe fallbacks for MVC profiles:
19915           - all MultiView High profile streams with 2 views at most can be decoded
19916           with a Stereo High profile compliant decoder ;
19917           - all Stereo High profile streams with only progressive views can be
19918           decoded with a MultiView High profile compliant decoder ;
19919           - all drivers that support slice-level decoding could normally support
19920           MVC profiles when the DPB holds at most 16 frames.
19921
19922 2014-05-02 14:58:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19923
19924         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19925         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
19926         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
19927           decoder: h264: add initial support for MVC.
19928           https://bugzilla.gnome.org/show_bug.cgi?id=721772
19929
19930 2014-05-01 19:16:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19931
19932         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19933           decoder: h264: dynamically allocate the DPB.
19934           Dynamically allocate the Decoded Picture Buffer (DPB) and add provisions
19935           for supporting the MVC allocation requirements.
19936
19937 2014-05-01 19:33:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19938
19939         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19940           decoder: h264: fix detection of access unit boundaries.
19941           In order to have a stricter conforming implementation, we need to carefully
19942           detect access unit boundaries. Additional operations could be necessary to
19943           perform at those boundaries.
19944
19945 2013-03-13 11:44:38 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19946
19947         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19948           decoder: h264: detect the first VCL NAL unit of a picture for MVC.
19949           Detect the first VCL NAL unit of a picture for MVC, based on the
19950           view_id as per H.7.4.1.2.4. Note that we only need to detect new
19951           view components.
19952           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19953
19954 2013-10-31 19:32:55 +0800  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
19955
19956         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19957           decoder: h264: properly handle Prefix NAL units.
19958           Always cache the previous NAL unit so that we could check whether
19959           there is a Prefix NAL unit immediately preceding the current slice
19960           or IDR NAL unit. In that case, the NAL unit metadata is copied into
19961           the current NAL unit. Otherwise, some default values are inferred,
19962           tentatively. e.g. view_id shall be set to 0 and inter_view_flag to 1.
19963           [infer default values for slice if previous NAL was not a Prefix]
19964           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19965
19966 2013-02-28 15:59:55 +0800  Xiaowei Li <xiaowei.a.li@intel.com>
19967
19968         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19969           decoder: h264: add support for MVC base views.
19970           Allow decoding for base views of MVC encoded streams. For now, just skip
19971           the slice extension and prefix NAL units, and skip non-base view frames.
19972           Signed-off-by: Xiaowei Li <xiaowei.a.li@intel.com>
19973           [fixed memory leak, improved check for MVC NAL units]
19974           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19975
19976 2014-05-04 14:49:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19977
19978         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19979           decoder: h264: simplify storage of decoded picture into DPB.
19980           Factor out process by which the decoded picture with the lowest POC
19981           is found, and possibly output. Likewise, the storage and marking of
19982           a reference decoded, or non-reference decoded picture, into the DPB
19983           could also be simplified as they mostly share the same operations.
19984
19985 2014-05-02 22:40:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19986
19987         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
19988           decoder: h264: minor clean-ups.
19989           Make init_picture_ref_lists() more consistent with other functions
19990           related to the reference marking process by supplying the current
19991           picture as argument.
19992
19993 2014-05-20 11:36:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
19994
19995         * gst-libs/gst/vaapi/gstvaapidisplay.c:
19996         * gst-libs/gst/vaapi/gstvaapidisplay.h:
19997         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
19998           display: add utility function to query VA driver name.
19999           Add gst_vaapi_display_get_vendor_string() helper function to query
20000           the underlying VA driver name. The display object owns the resulting
20001           string, so it shall not be deallocated.
20002           That function is thread-safe. It could be used for debugging purposes,
20003           for instance.
20004
20005 2014-03-07 14:50:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20006
20007         * gst-libs/gst/vaapi/gstvaapidisplay.c:
20008         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
20009         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
20010         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
20011         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
20012         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
20013         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
20014           display: make cache maintenance really MT-safe.
20015           Make sure to initialize one GstVaapiDisplay at a time, even in threaded
20016           environments. This makes sure the display cache is also consistent
20017           during the whole display creation process. In the former implementation,
20018           there were risks that display cache got updated in another thread.
20019
20020 2014-05-03 15:56:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20021
20022         * gst-libs/gst/vaapi/gstvaapicontext.c:
20023           context: allow dynamic growth of VA surfaces pool.
20024           Add support for dynamic growth of the VA surfaces pool. For decoding,
20025           this implies the recreation of the underlying VA context, as per the
20026           requirement from VA-API. Besides, only increases are supported, not
20027           shrinks.
20028
20029 2014-05-03 15:47:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20030
20031         * gst-libs/gst/vaapi/gstvaapicontext.c:
20032           context: reset VA context if VA surfaces set changed.
20033           It is a requirement from VA-API specification that the VA context got
20034           from vaCreateContext(), for decoding purposes, binds the supplied set
20035           of VA surfaces. This means that if the set of VA surfaces is to be
20036           changed for the current decode session, then the VA context needs to
20037           be recreated with the new set of VA surfaces.
20038
20039 2014-05-12 19:23:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20040
20041         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20042           decoder: h264: fix assignment of LongTermFrameIdx.
20043           Complement fix committed as e95a42e.
20044           The H.264 AVC standard has to say: if the field is part of a reference
20045           frame or a complementary reference field pair, and the other field of
20046           the same reference frame or complementary reference field pair is also
20047           marked as "used for long-term reference", the reference frame or
20048           complementary reference field pair is also marked as "used for long-term
20049           reference" and assigned LongTermFrameIdx equal to long_term_frame_idx.
20050           This fixes decoding of MR9_BT_B in strict mode.
20051           https://bugs.freedesktop.org/show_bug.cgi?id=64624
20052           https://bugzilla.gnome.org/show_bug.cgi?id=724518
20053
20054 2014-05-10 06:23:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20055
20056         * gst-libs/gst/vaapi/gstvaapicontext.c:
20057         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20058         * gst-libs/gst/vaapi/gstvaapiutils.c:
20059         * gst-libs/gst/vaapi/gstvaapiutils.h:
20060           decoder: h264: properly support grayscale formats.
20061           Request the correct chroma format for decoding grayscale streams.
20062           i.e. make lookups of the VA chroma format more generic, thus possibly
20063           supporting more formats in the future.
20064           This means that, if a VA driver doesn't support grayscale formats,
20065           it is now going to fail. We cannot safely assume that maybe grayscale
20066           was implemented on top of some YUV 4:2:0 with the chroma components
20067           all set to 0x80.
20068
20069 2014-02-06 11:14:09 +0000  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
20070
20071         * gst-libs/gst/vaapi/gstvaapifilter.c:
20072         * gst-libs/gst/vaapi/gstvaapifilter.h:
20073         * tests/test-filter.c:
20074           build: fix source file modes.
20075           A few source files are marked executable in error - fix them
20076           https://bugzilla.gnome.org/show_bug.cgi?id=723748
20077           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
20078
20079 2014-04-29 13:22:47 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20080
20081         * configure.ac:
20082         * gst-libs/gst/vaapi/Makefile.am:
20083         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
20084         * gst/vaapi/gstvaapidecode.c:
20085           build: fix conditional compilation of VP8 decoder.
20086           https://bugzilla.gnome.org/show_bug.cgi?id=729170
20087           [added check for VASliceParameterBufferBase fields]
20088           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20089
20090 2014-04-27 08:55:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20091
20092         * gst-libs/gst/codecparsers/Makefile.am:
20093           build: fix make dist for codecparsers.
20094
20095 2014-04-28 09:42:13 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20096
20097         * ext/codecparsers:
20098           codecparsers: update to gst-vaapi-branch commit eaa3f7e.
20099           h264: fix parsing of slice groups for map type = 2
20100
20101 2014-04-26 22:35:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20102
20103         * ext/codecparsers:
20104           codecparsers: update to gst-vaapi branch commit f44edfc.
20105           h264: fix derivation of default scaling lists
20106
20107 2013-05-24 19:00:54 +0800  Cong Zhong <congx.zhong@intel.com>
20108
20109         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20110           decoder: h264: fix long-term reference picture marking process.
20111           Fix reference picture marking process with memory_management_control_op
20112           set to 3 and 6, i.e. assign LongTermFrameIdx to a short-term reference
20113           picture, or the current picture.
20114           This fixes decoding of FRExt_MMCO4_Sony_B.
20115           https://bugs.freedesktop.org/show_bug.cgi?id=64624
20116           https://bugzilla.gnome.org/show_bug.cgi?id=724518
20117           [squashed, edited to use GST_VAAPI_PICTURE_IS_COMPLETE() macro]
20118           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20119
20120 2014-04-26 20:21:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20121
20122         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20123           decoder: h264: fix initialization of RefPicLists for multiple slices.
20124           The initialization of reference picture lists (8.2.4.2) applies to all
20125           slices. So, the RefPicList0/1 lists need to be constructed prior to
20126           each slice submission to the HW decoder.
20127           This fixes decoding of video sequences where frames are encoded with
20128           multiple slices of different types, e.g. 4 slices in this order I, P,
20129           I, and P. More precisely, CABAST3_Sony_E and CABASTBR3_Sony_B.
20130           https://bugzilla.gnome.org/show_bug.cgi?id=724518
20131
20132 2013-06-04 15:01:46 +0800  Zhong Cong <congx.zhong@intel.com>
20133
20134         * ext/codecparsers:
20135         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20136           decoder: h264: skip SPS extension and auxiliary slice NALs.
20137           When NAL units of type 13 (SPS extension) or type 19 (auxiliary slice)
20138           are present in a video, decoders shall perform the (optional) decoding
20139           process specified for these NAL units or shall ignore them (7.4.1).
20140           Implement option 2 (skip) for now, as alpha composition is not
20141           supported yet during the decoding process.
20142           This fixes decoding of the primary coded video in alphaconformanceG.
20143           https://bugzilla.gnome.org/show_bug.cgi?id=703928
20144           https://bugzilla.gnome.org/show_bug.cgi?id=728869
20145           https://bugzilla.gnome.org/show_bug.cgi?id=724518
20146           [skip NAL units earlier, i.e. at parsing time]
20147           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20148
20149 2013-03-07 11:32:20 +0800  Li Xiaowei <xiaowei.a.li@intel.com>
20150
20151         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20152           decoder: h264: fix slice data bit offset with MVC NAL units.
20153           When MVC slice NAL units (coded slice extension and prefix NAL) are
20154           present, the number of NAL header bytes is 3, not 1 as usual.
20155           Signed-off-by: Li Xiaowei <xiaowei.a.li@intel.com>
20156           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20157
20158 2014-04-25 19:11:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20159
20160         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20161           decoder: h264: fix activation of picture and sequence parameters.
20162           At the time the first VCL NAL unit of a primary coded picture is found,
20163           and if that NAL unit was parsed to be an SPS or PPS, then the entries
20164           in the parser may have been overriden. This means that, when the picture
20165           is to be decoded, slice_hdr->pps could point to an invalid (the next)
20166           PPS entry.
20167           So, one way to solve this problem is to not use the parser PPS and
20168           SPS info but rather maintain our own activation chain in the decoder.
20169           https://bugzilla.gnome.org/show_bug.cgi?id=724519
20170           https://bugzilla.gnome.org/show_bug.cgi?id=724518
20171
20172 2014-04-25 16:24:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20173
20174         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20175           decoder: h264: retain SEI messages until the end of frame.
20176           Retain the SEI messages that were parsed from the access unit until we
20177           have completely decoded the current frame. This is done so that we can
20178           peek at that data whenever necessary during decoding. e.g. for exposing
20179           3D stereoscopic information at a later stage.
20180
20181 2014-04-25 14:23:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20182
20183         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20184           decoder: h264: add support for grayscale encoded clips.
20185           Fix support for grayscale encoded video clips, and possibly others if
20186           the underlying driver supports the non-YUV 4:2:0 formats. i.e. defer
20187           the decision that a surface with the desired chroma format is not
20188           supported to the actual VA driver implementation.
20189           https://bugzilla.gnome.org/show_bug.cgi?id=728144
20190
20191 2014-04-25 14:16:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20192
20193         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20194         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
20195         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
20196         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
20197         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
20198         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
20199           decoder: default to YUV 4:2:0 VA surfaces.
20200           Cope with context changes to support non-YUV 4:2:0 VA surfaces. Still,
20201           make sure all codecs use YUV 4:2:0 output format for now, by default.
20202
20203 2014-04-25 13:57:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20204
20205         * gst-libs/gst/vaapi/gstvaapidecoder.c:
20206         * gst-libs/gst/vaapi/gstvaapidecoder.h:
20207         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
20208           decoder: re-indent GstVaapiDecoder base object.
20209
20210 2014-04-25 13:47:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20211
20212         * gst-libs/gst/vaapi/gstvaapiencoder.c:
20213           encoder: derive chroma type from video format.
20214           Cope with previous VA context change to derive the correct surface chroma
20215           type from the input video format.
20216
20217 2014-04-25 13:45:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20218
20219         * gst-libs/gst/vaapi/gstvaapicontext.c:
20220         * gst-libs/gst/vaapi/gstvaapicontext.h:
20221           context: add support for non-YUV 4:2:0 formats.
20222           Don't force allocation of VA surfaces in YUV 4:2:0 format. Rather, allow
20223           for the upper layer to specify the desired chroma type. If the chroma
20224           type field is not set (or yields zero), then YUV 4:2:0 format is used
20225           by default.
20226
20227 2014-04-22 19:53:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20228
20229         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
20230           vp8: fix per-segment deblocking filter level in relative mode.
20231           Fix possible bug when a per-segment deblocking filter level value
20232           needs to be set in non-absolute mode, i.e. when the loop filter update
20233           value is negative in delta mode.
20234           Also clamp the resulting filter level value to 0..63 range.
20235
20236 2014-04-22 17:25:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20237
20238         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
20239           vp8: fix check for disabling the loop filter (again).
20240           Improve condition to disable the loop filter. The previous heuristic
20241           used to check all filter levels, for all segments. It turns out that
20242           only the base filter_level value defined in the frame header needs
20243           to be checked.
20244           This fixes 00-comprehensive-013.
20245
20246 2014-04-21 18:02:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20247
20248         * gst-libs/gst/codecparsers/Makefile.am:
20249         * gst/vaapi/Makefile.am:
20250           build: fix make dist with certain conditionals not met.
20251           Fix generation of source tarballs when certain conditionals are not
20252           met. e.g. always include all buildable codecparsers sources in the
20253           distribution tarball, fix plug-in element sources set to include X11
20254           and encoder bits.
20255
20256 2014-04-21 17:34:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20257
20258         * ext/Makefile.am:
20259           build: add missing files for GStreamer 0.10.
20260           Add missing GstVideoEncoder implementation files to fix build with ancient
20261           GStreamer 0.10 stack.
20262           https://bugzilla.gnome.org/show_bug.cgi?id=723964
20263
20264 2014-04-19 10:17:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20265
20266         * ext/Makefile.am:
20267           build: add missing files for VP8 bitstream parser.
20268           Fix make dist for building the VP8 bitstream parser.
20269
20270 2014-04-21 17:49:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20271
20272         * configure.ac:
20273         * ext/libvpx/Makefile.am:
20274         * gst-libs/gst/codecparsers/Makefile.am:
20275           vp8: allow compilation without the built-in libvpx.
20276           The built-in libvpx serves multiple purposes, among which the most
20277           important ones could be: track the most up-to-date, and optimized,
20278           range decoder; allow for future hybrid implementations (non-VLD);
20279           and have a completely independent range decoder implementation.
20280
20281 2014-04-21 17:28:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20282
20283         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
20284           vp8: propagate PTS from demux frame.
20285           gst_adapter_prev_pts() is forbidden within libgstvaapi. Besides, the demuxer
20286           or parser would already have determined the PTS from a previous stage.
20287
20288 2014-04-19 07:49:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20289
20290         * Makefile.am:
20291         * debian.upstream/libgstvaapi.install.in:
20292         * ext/libvpx/Makefile.am:
20293         * ext/libvpx/sources.frag:
20294         * gst-libs/gst/codecparsers/Makefile.am:
20295           vp8: fix compilation with built-in libvpx.
20296           Apply correct patch from fd.o #722760 to fix several issues: update the
20297           license terms to LGPLv2.1+, fix dependencies to built-in libvpx and fix
20298           make dist.
20299
20300 2014-02-13 21:17:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20301
20302         * .gitmodules:
20303         * autogen.sh:
20304         * configure.ac:
20305         * ext/Makefile.am:
20306         * ext/libvpx/Makefile.am:
20307         * ext/libvpx/gstlibvpx.c:
20308         * ext/libvpx/gstlibvpx.h:
20309         * ext/libvpx/libgstcodecparsers_vpx.vers:
20310         * ext/libvpx/sources.frag:
20311         * ext/libvpx/upstream:
20312         * gst-libs/gst/codecparsers/Makefile.am:
20313         * gst-libs/gst/codecparsers/gstvaapilibvpx.c:
20314           vp8: use range decoder from libvpx.
20315           Add libvpx submodule that tracks the upstream version 1.3.0. This is
20316           needed to build a libgstcodecparsers_vpx.so library with all symbols
20317           placed into the GSTREAMER namespace.
20318
20319 2014-04-04 19:17:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20320
20321         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
20322           vp8: fix check for disabling the loop filter.
20323
20324 2013-12-27 07:18:24 +0800  Zhao, Halley <halley.zhao@intel.com>
20325
20326         * configure.ac:
20327         * ext/Makefile.am:
20328         * gst-libs/gst/codecparsers/Makefile.am:
20329         * gst-libs/gst/vaapi/Makefile.am:
20330         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
20331         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
20332         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
20333         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
20334         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.c:
20335         * gst-libs/gst/vaapi/gstvaapidecoder_vp8.h:
20336         * gst-libs/gst/vaapi/gstvaapiprofile.c:
20337         * gst-libs/gst/vaapi/gstvaapiprofile.h:
20338         * gst/vaapi/gstvaapidecode.c:
20339           Add initial VP8 decoder.
20340           https://bugzilla.gnome.org/show_bug.cgi?id=722761
20341           [complete overhaul, fixed support for resolution changes]
20342           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20343
20344 2014-03-21 15:15:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20345
20346         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20347           decoder: h264: cope with new gst_h264_parser_parse_sei() interface.
20348           The gst_h264_parse_parse_sei() function now returns an array of SEI
20349           messages, instead of a single SEI message. Reason: it is allowed to
20350           have several SEI messages packed into a single SEI NAL unit, instead
20351           of multiple NAL units.
20352
20353 2014-04-18 19:36:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20354
20355         * ext/codecparsers:
20356           codecparsers: update to gst-vaapi-branch commit a454f86.
20357           b2eb5f6 vp8: rename dboolhuff symbols
20358           b74a881 vp8: add GStreamer native utilities
20359           2940ac6 add VP8 bitstream parser
20360
20361 2014-04-18 19:16:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20362
20363         * ext/codecparsers:
20364           codecparsers: update to gst-vaapi-branch commit d459bc5.
20365           d459bc5 h264: set framerate even for interlaced videos
20366           c78b82c h264: add support for Recovery Point SEI message
20367           7693bac h264: add support for Frame Packing Arrangement SEI message
20368           31fafa7 h264: add support for Stereo Video Information SEI message
20369           8b113a6 h264: parse seq_parameter_set_mvc_extension()
20370           040f9b8 h264: parse MVC syntax elements
20371           cc18ef3 h264: add nal_reader_skip_long() helper
20372           7e76a48 h264: fix slice_header() parsing for MVC
20373           caf46d8 h264: add gst_h264_parse_nalu_header() helper
20374           f75074e h264: add gst_h264_parse_sps_data() helper
20375           798c397 h264: clean-up gst_h264_parser_parse_sei_message()
20376           4e36737 h264: fix skipping of unsupported SEI messages
20377           5300766 h264: fix SEI buffering_period() parsing
20378
20379 2014-03-21 15:09:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20380
20381         * ext/codecparsers:
20382         * gst-libs/gst/codecparsers/Makefile.am:
20383           codecparsers: update to gst-vaapi-branch commit 8fadf40.
20384           8fadf40 h264: Fix multiple SEI messages in one SEI RBSP parsing.
20385           644825f h265: remove trailling 0x00 bytes as the spec doesn't allow them
20386           95f9f0f h264: remove trailling 0x00 bytes as the spec doesn't allow them
20387           766007b h265: Initialize pointer correctly that is never assigned but freed in error cases
20388           8ec5816 h265: Fix segfault when parsing HRD parameter
20389           5b1730f h265: Fix segfault when parsing VPS
20390           983b7f7 h265: prevent to overrun chroma_weight_l0_flag
20391           7ba641d h265: Fix debug output
20392           d9f9f9b h264: not all startcodes should have 3-byte 0 prefix
20393
20394 2014-02-04 18:35:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20395
20396         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20397           decoder: h264: fix robustness patch for bytestream format.
20398           Fix parser and decoder state to sync at the right locations. This is
20399           because we could reset the parser state, while the decoder state was
20400           not copied yet, e.g. when parsing several NAL units from multiple frames
20401           whereas the current frame was not decoded yet.
20402           This is a regression brought in by commit 6fe5496.
20403
20404 2014-02-18 06:56:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20405
20406         * configure.ac:
20407         * pkgconfig/Makefile.am:
20408         * pkgconfig/gstreamer-vaapi-drm.pc.in:
20409         * pkgconfig/gstreamer-vaapi-glx.pc.in:
20410         * pkgconfig/gstreamer-vaapi-wayland.pc.in:
20411         * pkgconfig/gstreamer-vaapi-x11.pc.in:
20412           build: fix pkgconfig file names (again).
20413           It turns out it is more convenient to have only pkgconfig files named
20414           after the installed GStreamer API version (1.0) instead of using all
20415           possible subsequent names from that (1.0, 1.2, 1.4). i.e. they conflict
20416           altogether anyway, so align pkgconfig file names to that.
20417
20418 2014-02-07 09:43:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20419
20420         * debian.upstream/libgstvaapi-dev.install.in:
20421         * gst-libs/gst/vaapi/Makefile.am:
20422         * pkgconfig/gstreamer-vaapi.pc.in:
20423           build: fix packaging for GStreamer 1.2.
20424           Fix gstreamer-vaapi includedir for GStreamer 1.2 setups. i.e. use
20425           the pkgconfig version (1.0) instead of the intended API version (1.2).
20426           libgstvaapi1.0-dev and libgstvaapi1.2-dev packages will now conflict,
20427           as would core GStreamer 1.0 and GStreamer 1.2 dev packages anyway.
20428
20429 2014-01-24 11:27:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20430
20431         * configure.ac:
20432           Bump version for development.
20433
20434 2014-01-24 10:55:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20435
20436         * debian.upstream/control.in:
20437           debian: fix trailing whitespace in description.
20438
20439 2014-01-23 23:24:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20440
20441         * debian.upstream/control.in:
20442         * debian.upstream/copyright:
20443           debian: fix package description.
20444           Try to improve package description for the compiled plug-in elements
20445           available in there. e.g. only display vaapidownload and vaapiupload
20446           for GStreamer 0.10 builds, display vaapiencode_* elements when VA
20447           encoding is enabled, etc.
20448           Also increase the copyright notice date.
20449
20450 2014-01-23 22:47:19 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20451
20452         * gst-libs/gst/vaapi/gstvaapidecoder.c:
20453           build: fix warnings on 64-bit platforms.
20454
20455 2014-01-23 22:44:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20456
20457         * gst-libs/gst/vaapi/gstvaapicontext.c:
20458         * gst-libs/gst/vaapi/gstvaapiutils.c:
20459           build: fix for older versions of VA-API (< 0.34.0).
20460           Fix build with older versions of VA-API (< 0.34.0), or versions without
20461           good enough headers for encoding support for instance.
20462
20463 2014-01-23 19:36:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20464
20465         * NEWS:
20466         * configure.ac:
20467           0.5.8.
20468
20469 2014-01-23 19:32:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20470
20471         * README:
20472           README: updates.
20473           VA-API up to 0.34.0 is actually supported. Mention new video encoding
20474           support. Update copyright years, list of supported Intel HD Graphics
20475           hardware.
20476
20477 2014-01-23 19:18:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20478
20479         * NEWS:
20480           NEWS: updates.
20481
20482 2014-01-20 14:16:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20483
20484         * tests/test-filter.c:
20485           tests: test-filter: fix "deinterlace" option parse.
20486           Default to GST_VAAPI_DEINTERLACE_METHOD_NONE if no "deinterlace" option
20487           string was provided, i.e. if it remained set to NULL.
20488
20489 2014-01-23 18:41:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20490
20491         * gst-libs/gst/vaapi/Makefile.am:
20492         * gst-libs/gst/vaapi/gstvaapicontext.c:
20493         * gst-libs/gst/vaapi/gstvaapicontext.h:
20494         * gst-libs/gst/vaapi/gstvaapiencoder.c:
20495         * gst-libs/gst/vaapi/gstvaapiutils_core.c:
20496         * gst-libs/gst/vaapi/gstvaapiutils_core.h:
20497           libs: factor out usages of vaGetConfigAttributes().
20498           Add gst_vaapi_get_config_attribute() helper function that takes a
20499           GstVaapiDisplay and the rest of the arguments with VA types. The aim
20500           is to have thread-safe VA helpers by default.
20501
20502 2014-01-23 17:41:02 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20503
20504         * gst-libs/gst/vaapi/gstvaapiutils.c:
20505         * gst-libs/gst/vaapi/gstvaapiutils.h:
20506         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
20507         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
20508         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
20509         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
20510         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
20511         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.h:
20512         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
20513         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
20514         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
20515           libs: re-indent all source code related to VA utilities.
20516
20517 2014-01-23 17:06:08 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20518
20519         * gst-libs/gst/vaapi/libgstvaapi_priv_check.h:
20520           libs: add missing file (libgstvaapi_priv_check.h).
20521
20522 2014-01-23 15:13:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20523
20524         * gst-libs/gst/vaapi/gstvaapicontext.c:
20525         * gst-libs/gst/vaapi/gstvaapicontext.h:
20526         * gst-libs/gst/vaapi/gstvaapiencoder.c:
20527         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
20528         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
20529         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
20530           encoder: notify the encoder of the submitted packed headers.
20531           Make sure to configure the encoder with the set of packed headers we
20532           intend to generate and submit. i.e. make selection of packed headers
20533           to submit more robust.
20534
20535 2014-01-23 15:10:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20536
20537         * gst-libs/gst/vaapi/gstvaapiencoder.c:
20538         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
20539         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
20540         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
20541           encoder: fix and factor out check for supported rate-control modes.
20542           Cache the first compatible GstVaapiProfile found if the encoder is not
20543           configured yet. Next, factor out the code to check for the supported
20544           rate-control modes by moving out vaGetConfigAttributes() to a separate
20545           function, while also making sure that the attribute type is actually
20546           supported by the encoder.
20547           Also fix the default set of supported rate control modes to not the
20548           "none" variant. It's totally useless to expose it at this point.
20549
20550 2014-01-23 14:01:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20551
20552         * gst-libs/gst/vaapi/gstvaapicontext.c:
20553         * gst-libs/gst/vaapi/gstvaapicontext.h:
20554         * gst-libs/gst/vaapi/gstvaapiencoder.c:
20555           context: move rate-control mode to encoder specific config.
20556           Move usage-specific config out of the common GstVaapiContextInfo.
20557           Create a specialized config for encoding and move rate-control mode
20558           to there.
20559
20560 2014-01-23 13:30:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20561
20562         * gst-libs/gst/vaapi/gstvaapicontext.c:
20563         * gst-libs/gst/vaapi/gstvaapicontext.h:
20564         * gst-libs/gst/vaapi/gstvaapidecoder.c:
20565         * gst-libs/gst/vaapi/gstvaapiencoder.c:
20566           context: introduce concept of usage.
20567           Introduce GstVaapiContextUsage so that to explicitly determine the
20568           usage of a VA context. This is useful in view to simplifying the
20569           creation of VA context for VPP too.
20570
20571 2014-01-23 11:44:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20572
20573         * gst-libs/gst/vaapi/gstvaapicontext.c:
20574           context: fix get_attribute() value result.
20575           Unknown attributes, or attributes that are not supported for the given
20576           profile/entrypoint pair have a return value of VA_ATTRIB_NOT_SUPPORTED.
20577           So, return failure in this case.
20578
20579 2014-01-23 10:59:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20580
20581         * gst-libs/gst/vaapi/Makefile.am:
20582         * gst-libs/gst/vaapi/gstvaapicontext.c:
20583         * gst-libs/gst/vaapi/gstvaapicontext.h:
20584         * gst-libs/gst/vaapi/gstvaapicontext_overlay.c:
20585         * gst-libs/gst/vaapi/gstvaapicontext_overlay.h:
20586         * gst-libs/gst/vaapi/gstvaapisurface.c:
20587           context: move overlay composition to separate files.
20588           Move GstVideoOverlayComposition handling to separate source files.
20589           This helps keeing GstVaapiContext core implementation to the bare
20590           minimal, i.e. simpy helpers to create a VA context and handle pool
20591           of associated VA surfaces.
20592
20593 2014-01-23 09:41:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20594
20595         * gst-libs/gst/vaapi/gstvaapicontext.c:
20596         * gst-libs/gst/vaapi/gstvaapicontext.h:
20597         * gst-libs/gst/vaapi/gstvaapidecoder.c:
20598         * gst-libs/gst/vaapi/gstvaapiencoder.c:
20599           context: clean-ups. Strip down APIs.
20600           Improve documentation and debug messages. Clean-up APIs, i.e. strip
20601           them down to the minimal set of interfaces. They are private, so no
20602           need expose getters for instance.
20603
20604 2014-01-23 09:27:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20605
20606         * gst-libs/gst/vaapi/gstvaapicontext.c:
20607         * gst-libs/gst/vaapi/gstvaapicontext.h:
20608           context: re-indent all GstVaapiContext related source code.
20609
20610 2014-01-23 10:20:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20611
20612         * gst-libs/gst/vaapi/Makefile.am:
20613         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
20614         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
20615         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
20616         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
20617         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
20618         * gst-libs/gst/vaapi/gstvaapipixmap_priv.h:
20619         * gst-libs/gst/vaapi/gstvaapiutils.h:
20620         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
20621         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
20622         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
20623         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
20624         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
20625           libs: check that private headers remain private.
20626           Make sure that libgstvaapi private headers remain internally used to
20627           build libgstvaapi libraries only. All header dependencies were reviewed
20628           and checks for IN_LIBGSTVAAPI definition were added accordingly.
20629           Also rename GST_VAAPI_CORE definition to IN_LIBGSTVAAPI_CORE to keep
20630           consistency.
20631
20632 2014-01-22 19:04:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20633
20634         * configure.ac:
20635           Bump library major version.
20636           Bump the library major version due to API/ABI changes that occurred in
20637           the imaging API. In particular, GstVaapiDisplay interfaces no longer
20638           expose any GstCaps but provide GArray based ones e.g. to determine the
20639           set of supported decode/encode profiles.
20640
20641 2014-01-22 18:54:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20642
20643         * gst-libs/gst/vaapi/glibcompat.h:
20644         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
20645         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
20646         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
20647         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.h:
20648         * gst-libs/gst/vaapi/gstvaapicontext.c:
20649         * gst-libs/gst/vaapi/gstvaapicontext.h:
20650         * gst-libs/gst/vaapi/gstvaapidecoder.c:
20651         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
20652         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
20653         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
20654         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
20655         * gst-libs/gst/vaapi/gstvaapiencoder.c:
20656         * gst-libs/gst/vaapi/gstvaapiencoder.h:
20657         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
20658         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
20659         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
20660         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
20661         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
20662         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
20663         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
20664         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
20665         * gst-libs/gst/vaapi/gstvaapifilter.c:
20666         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
20667         * gst-libs/gst/vaapi/gstvaapisurface.c:
20668         * gst-libs/gst/vaapi/gstvaapisurface.h:
20669         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
20670         * gst-libs/gst/vaapi/gstvaapitypes.h:
20671         * gst-libs/gst/vaapi/gstvaapiutils.c:
20672         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
20673         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
20674         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
20675         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.c:
20676         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.h:
20677         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
20678         * gst-libs/gst/vaapi/gstvaapivalue.c:
20679         * gst-libs/gst/vaapi/gstvaapivalue.h:
20680         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
20681         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
20682         * gst/vaapi/gstvaapidecode.c:
20683         * gst/vaapi/gstvaapiencode.c:
20684         * gst/vaapi/gstvaapiencode.h:
20685         * gst/vaapi/gstvaapiencode_h264.c:
20686         * gst/vaapi/gstvaapiencode_h264.h:
20687         * gst/vaapi/gstvaapiencode_mpeg2.c:
20688         * gst/vaapi/gstvaapiencode_mpeg2.h:
20689         * gst/vaapi/gstvaapipluginbase.c:
20690         * gst/vaapi/gstvaapipluginutil.c:
20691         * gst/vaapi/gstvaapipluginutil.h:
20692         * gst/vaapi/gstvaapipostproc.c:
20693         * gst/vaapi/gstvaapipostproc.h:
20694         * gst/vaapi/gstvaapisink.c:
20695         * gst/vaapi/gstvaapisink.h:
20696         * gst/vaapi/gstvaapivideometa_texture.c:
20697         * tests/simple-decoder.c:
20698           legal: update copyright notice dates.
20699
20700 2014-01-22 18:49:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20701
20702         * gst-libs/gst/vaapi/gstvaapiencoder.c:
20703         * gst-libs/gst/vaapi/gstvaapiencoder.h:
20704         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
20705         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
20706         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
20707         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
20708         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
20709         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
20710         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
20711         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
20712         * gst/vaapi/gstvaapiencode.c:
20713         * gst/vaapi/gstvaapiencode.h:
20714         * gst/vaapi/gstvaapiencode_h264.c:
20715         * gst/vaapi/gstvaapiencode_h264.h:
20716         * gst/vaapi/gstvaapiencode_mpeg2.c:
20717         * gst/vaapi/gstvaapiencode_mpeg2.h:
20718           legal: add per-file authorship information.
20719
20720 2014-01-22 18:11:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20721
20722         * gst-libs/gst/vaapi/gstvaapidecoder.c:
20723         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
20724           decoder: fix video codec frame number in standalone mode.
20725           Set a valid GstVideoCodecFrame.system_frame_number when decoding a
20726           stream in standalone mode. While we are at it, improve the debugging
20727           messages to also include that frame number.
20728
20729 2014-01-17 16:56:53 +0800  Wind Yuan <feng.yuan@intel.com>
20730
20731         * gst-libs/gst/vaapi/gstvaapidecoder.c:
20732         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
20733           decoder: fix crash on invalid pointer for GST_DEBUG().
20734           When decoding failed, or that the frame was dropped, the associated
20735           surface proxy is not guaranteed to be present. Thus, the GST_DEBUG()
20736           message needs to check whether the proxy is actually present or not.
20737           https://bugzilla.gnome.org/show_bug.cgi?id=722403
20738           [fixed gst_vaapi_surface_proxy_get_surface_id() to return VA_INVALID_ID]
20739           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20740
20741 2014-01-22 17:07:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20742
20743         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
20744           encoder: h264: disable NAL HRD parameters for now.
20745           Don't emit NAL HRD parameters for now in the SPS headers because the
20746           SEI buffering_period() and picture_timing() messages are not handled
20747           yet. Some additional changes are necessary to get it right.
20748           https://bugzilla.gnome.org/show_bug.cgi?id=722734
20749
20750 2014-01-21 19:04:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20751
20752         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
20753         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
20754         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
20755         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
20756           encoder: h264: fix default CPB buffer size.
20757           Fix default CPB buffer size to something more reasonable (1500 ms)
20758           and that still fits the level limits. This is a non configurable
20759           property for now. The initial CPB removal delay is also fixed to
20760           750 ms.
20761           https://bugzilla.gnome.org/show_bug.cgi?id=722087
20762
20763 2014-01-22 14:43:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20764
20765         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
20766           encoder: h264: fix bitrate encoding for HRD conformance.
20767           Round down the calculated, or supplied, bitrate (kbps) into a multiple
20768           of the HRD bitrate scale factor. Use a bitrate scale factor of 64 so
20769           that to have less losses in precision. Likewise, don't round up because
20770           that could be a strict constraint imposed by the user.
20771
20772 2014-01-22 11:25:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20773
20774         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
20775           encoder: h264: fix level lookup constraints wrt. bitrate.
20776           Fix the level calculation involving bitrate limits. Since we are
20777           targetting NAL HRD conformance, the check against MaxBR from the
20778           Table A-1 limits shall involve cpbBrNalFactor depending on the
20779           active profile.
20780
20781 2014-01-21 18:01:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20782
20783         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
20784           encoder: h264: submit sequence parameter only once.
20785           Submit sequence parameter buffers only once, or when the bitstream
20786           was reconfigured in a way that requires such. Always submit packed
20787           sequence parameter buffers at I-frame period, if the VA driver needs
20788           those.
20789           https://bugzilla.gnome.org/show_bug.cgi?id=722737
20790
20791 2014-01-21 18:35:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20792
20793         * gst-libs/gst/vaapi/gstvaapicontext.c:
20794         * gst-libs/gst/vaapi/gstvaapicontext.h:
20795         * gst-libs/gst/vaapi/gstvaapiencoder.c:
20796         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
20797         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
20798           encoder: h264: only submit packed headers when required.
20799           Make sure to submit the packed headers only if the underlying VA driver
20800           requires those. Currently, only handle packed sequence and picture
20801           headers.
20802           https://bugzilla.gnome.org/show_bug.cgi?id=722737
20803
20804 2014-01-21 17:35:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20805
20806         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
20807           encoder: h264: fix ip_period value in sequence parameter.
20808           The VAEncSequenceParameterBuffer.ip_period value reprents the distance
20809           between the I-frame and the next P-frame. So, this also accounts for
20810           any additional B-frame in the middle of it.
20811           This fixes rate control heuristics for certain VA drivers.
20812           https://bugzilla.gnome.org/show_bug.cgi?id=722735
20813
20814 2014-01-21 17:04:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20815
20816         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
20817           encoder: h264: fix level when bitrate is automatically computed.
20818           Fix level characterisation when the bitrate is automatically computed
20819           from the active coding tools. i.e. ensure the bitrate once the profile
20820           is completely characterized but before the level calculation process.
20821
20822 2014-01-21 16:05:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20823
20824         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
20825           encoder: h264: clean-ups.
20826           Document and rename a few functions here and there. Drop code that
20827           caps num_bframes variable in reset_properties() since they shall
20828           have been checked beforehand, during properties initialization.
20829
20830 2014-01-21 15:28:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20831
20832         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
20833           encoder: h264: clean-up bitwriter related utilities.
20834           Clean-up GstBitWriter related utility functions and simplify notations.
20835           While we are at it, also make bitstream writing more robust should an
20836           overflow occur. We could later optimize for writing headers capped to
20837           their maximum possible size by using the _unchecked() helper variants.
20838
20839 2014-01-21 15:23:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20840
20841         * gst-libs/gst/vaapi/Makefile.am:
20842         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
20843         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
20844           encoder: h264: completely remove private headers.
20845           Drop private header since it was originally used to expose internals
20846           to the plugin element. The proper interface is now the properties API,
20847           thus rendering private headers totally obsolete.
20848
20849 2014-01-15 15:54:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20850
20851         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
20852           encoder: h264: fix PPS header packing with profile < high.
20853           Fix PPS header packing when profile is below High since 8x8 transform
20854           mode and scaling lists are High Profile features.
20855
20856 2014-01-15 15:46:19 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20857
20858         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
20859           encoder: h264: always emit VUI parameters for framerate.
20860           Always emit VUI parameters for timing_info, which includes framerate
20861           information.
20862
20863 2014-01-15 15:10:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20864
20865         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
20866           encoder: h264: really fix frame cropping rectangle calculation.
20867           Make frame cropping rectangle calculation future proof, i.e. exactly
20868           follow the specification (7-18) to (7-21), and subsampling definitions
20869           from Table 6-1.
20870           https://bugzilla.gnome.org/show_bug.cgi?id=722089
20871           https://bugzilla.gnome.org/show_bug.cgi?id=722238
20872
20873 2014-01-15 12:09:14 +0100  Holger Kaelberer <hk@getslash.de>
20874
20875         * gst/vaapi/gstvaapisink.c:
20876         * gst/vaapi/gstvaapisink.h:
20877           vaapisink: set csc render flags from sinkpad caps.
20878           This maps GstVideoColorimetry information in vaapisink's sinkpad caps
20879           to GST_VAAPI_COLOR_STANDARD_* flags, if per-buffer information was not
20880           available.
20881           https://bugzilla.gnome.org/show_bug.cgi?id=722255
20882           [factored out code, added SMPTE240M, handle per-buffer flags]
20883           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20884
20885 2012-03-28 15:05:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20886
20887         * gst-libs/gst/vaapi/gstvaapisurface.h:
20888         * gst-libs/gst/vaapi/gstvaapiutils.c:
20889         * gst/vaapi/gstvaapipostproc.c:
20890           surface: rework render flags.
20891           Pack render flags per category and provide more flags into the color
20892           standard category. In particular, cover for SMPTE-240M.
20893
20894 2013-12-13 04:14:41 +0800  Zhao, Halley <halley.zhao@intel.com>
20895
20896         * gst-libs/gst/vaapi/gstvaapifilter.c:
20897         * gst/vaapi/gstvaapipostproc.c:
20898         * gst/vaapi/gstvaapipostproc.h:
20899           vaapipostproc: add support for colorbalance filters.
20900           Add support for hue, saturation, brightness and constrat adjustments.
20901           Also fix cap info local copy to match the really expected cap subtype
20902           of interest.
20903           https://bugzilla.gnome.org/show_bug.cgi?id=720376
20904           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20905
20906 2013-12-12 08:38:12 +0800  Zhao, Halley <halley.zhao@intel.com>
20907
20908         * gst/vaapi/gstvaapipostproc.c:
20909           vaapipostproc: fix support for "sharpen" filter.
20910           Fix copy/paste error when submitting the "sharpen" value to the
20911           GstVaapiFilter instance.
20912           https://bugzilla.gnome.org/show_bug.cgi?id=720375
20913           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20914
20915 2013-12-20 12:05:42 +0000  Lionel Landwerlin <llandwerlin@gmail.com>
20916
20917         * configure.ac:
20918         * pkgconfig/gstreamer-vaapi-drm.pc.in:
20919         * pkgconfig/gstreamer-vaapi-glx.pc.in:
20920         * pkgconfig/gstreamer-vaapi-wayland.pc.in:
20921         * pkgconfig/gstreamer-vaapi-x11.pc.in:
20922         * pkgconfig/gstreamer-vaapi.pc.in:
20923           pkgconfig: plugin dir should use PKG version not API version.
20924           Fix the pluginsdir and includedir variables in the generated pkgconfig
20925           (.pc) files. The location needs to be built with the PKG version in
20926           mind instead of the API version.
20927           While we are at it, also fix the PKG version for GStreamer >= 1.3.
20928           https://bugzilla.gnome.org/show_bug.cgi?id=720820
20929           [additional fixes for includedir and pkg requirements]
20930           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20931
20932 2014-01-15 10:05:45 +0100  Holger Kaelberer <hk@getslash.de>
20933
20934         * gst/vaapi/gstvaapisink.c:
20935           vaapisink: fix display initialization in GstVideoOverlay implementation.
20936           When gst_vaapisink_video_overlay_set_window_handle() is called early,
20937           before the pipeline has been set to PLAYING, the display has not yet
20938           been initialized and _PLUGIN_BASE_DISPLAY_TYPE() is not yet
20939           up-to-date. For this reason the foreign XID is not attached.
20940           Now _ensure_display() is called earlier.
20941           https://bugzilla.gnome.org/show_bug.cgi?id=722244
20942           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20943
20944 2013-10-09 13:47:54 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
20945
20946         * gst/vaapi/gstvaapisink.c:
20947           vaapisink: expose the raw video formats in static caps template.
20948           Expose all raw video formats in the static caps template since the
20949           vaapisink is supporting raw data. We will get the exact set of formats
20950           supported by the driver dynamically through the _get_caps() routine.
20951           https://bugzilla.gnome.org/show_bug.cgi?id=703271
20952           https://bugzilla.gnome.org/show_bug.cgi?id=720737
20953           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20954
20955 2013-12-11 18:08:26 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
20956
20957         * gst/vaapi/gstvaapidecode.c:
20958           vaapidecode: query downstream caps features like GLTextureUploadMeta.
20959           Fix vaapidecode to correctly report caps features downstream, when
20960           a custom pipeline is built manually.
20961           https://bugzilla.gnome.org/show_bug.cgi?id=719372
20962           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20963
20964 2013-12-17 15:27:10 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
20965
20966         * gst/vaapi/gstvaapidecode.c:
20967           vaapidecode: add system memory caps to template caps.
20968           Since vaapidecode provides buffer that can be mapped as regular memory,
20969           those caps should be added to the template caps. That only applies to
20970           GStreamer >= 1.2.
20971           https://bugzilla.gnome.org/show_bug.cgi?id=720608
20972           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20973
20974 2013-12-17 10:26:03 +0800  Wind Yuan <feng.yuan@intel.com>
20975
20976         * gst/vaapi/gstvaapidecode.c:
20977           vaapidecode: fix hang on SIGINT.
20978           vaapidecode hangs when pipeline is stopped without any EOS, e.g. when
20979           <Ctrl>+C is pressed, thus causing the srcpad task to keep running and
20980           locked. This fixes a deadlock on state change from PAUSED to READY.
20981           https://bugzilla.gnome.org/show_bug.cgi?id=720584
20982           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20983
20984 2013-12-17 04:23:42 -0500  Wind Yuan <feng.yuan@intel.com>
20985
20986         * gst/vaapi/gstvaapiencode.c:
20987           vaapiencode: fix possible hang on SIGINT.
20988           vaapiencode might hang when the pipeline is stopped without any EOS,
20989           e.g. when <Ctrl>+C is pressed, thus causing the srcpad task to keep
20990           running and locked. This fixes a possible deadlock on state change
20991           from PAUSED to READY.
20992           https://bugzilla.gnome.org/show_bug.cgi?id=720584
20993           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20994
20995 2014-01-14 16:33:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
20996
20997         * gst/vaapi/gstvaapiencode.c:
20998           vaapiencode: fix typo in error message.
20999           Fix incomplete error message in gst_vaapiencode_push_frame().
21000
21001 2014-01-14 19:08:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21002
21003         * gst/vaapi/gstvaapipluginutil.c:
21004         * gst/vaapi/gstvaapipluginutil.h:
21005           plugins: add helpers to create video caps with features.
21006           Add gst_vaapi_video_format_new_template_caps_with_features() helper
21007           function to add the supplied caps feature string on GStreamer >= 1.2.
21008           Add gst_vaapi_find_preferred_caps_feature() helper function to discover
21009           the "best" caps feature to use for the supplied pad. In practice, we
21010           will always favor memory:VASurface first, then meta:GLTextureUploadMeta,
21011           and finally the system memory caps.
21012           https://bugzilla.gnome.org/show_bug.cgi?id=719372
21013
21014 2014-01-09 11:54:11 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
21015
21016         * gst/vaapi/gstvaapivideometa_texture.c:
21017           plugins: don't apply overlay composition in GLTextureUpload function.
21018           The GLTextureUpload function is not in charge of doing the overlay
21019           composition if any.
21020           https://bugzilla.gnome.org/show_bug.cgi?id=721859
21021           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21022
21023 2014-01-14 13:47:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21024
21025         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
21026           encoder: re-order submission of VA objects.
21027           Change the submission order of VA objects so that to make that process
21028           more logical. i.e. submit sequence parameter first, if any; next the
21029           packed headers associated to sequece, picture or slices; and finally
21030           the actual picture and associated slices.
21031
21032 2014-01-14 12:01:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21033
21034         * gst-libs/gst/vaapi/gstvaapiencoder.c:
21035         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21036         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
21037         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
21038         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
21039           encoder: clean-up objects.
21040           Various clean-ups to improve consistency and readability: rename some
21041           variables, drop unused macro definitions, drop initialization of vars
21042           that are zero-initialized from the base class, drop un-necessary casts,
21043           allocate GPtrArrays with a destroy function.
21044
21045 2014-01-13 13:41:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21046
21047         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21048           encoder: h264: fix frame cropping rectangle calculation.
21049           Fix frame cropping rectangle calculation to handle horizontal resolutions
21050           that don't match a multiple of 16 pixels, but also the vertical resolution
21051           that was incorrectly computed for progressive sequences too.
21052           https://bugzilla.gnome.org/show_bug.cgi?id=722089
21053
21054 2014-01-13 11:49:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21055
21056         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21057           encoder: h264: improve automatic bitrate calculation.
21058           For non "Constant-QP" modes, we could provide more reasonable heuristics
21059           for the target bitrate. In general, 48 bits per macroblock with all the
21060           useful coding tools enable looks safe enough. Then, this rate is raised
21061           by +10% to +15% for each coding tool that is disabled.
21062           https://bugzilla.gnome.org/show_bug.cgi?id=719699
21063
21064 2014-01-13 11:11:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21065
21066         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21067           encoder: h264: support "high-compression" tuning option.
21068           Add support for "high-compression" tuning option. First, determine the
21069           largest supported profile by the hardware. Next, check any target limit
21070           set by the user. Then, enable each individual coding tool based on the
21071           resulting profile_idc value to use.
21072           https://bugzilla.gnome.org/show_bug.cgi?id=719696
21073
21074 2014-01-12 22:24:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21075
21076         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21077         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
21078         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
21079         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
21080         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
21081         * gst/vaapi/gstvaapiencode_h264.c:
21082           encoder: h264: allow target decoder constraints.
21083           Allow user to precise the largest profile to use for encoding due
21084           to target decoder constraints. For instance, if CABAC entropy coding
21085           mode is requested by "constrained-baseline" profile only is desired,
21086           then an error is returned during codec configuration.
21087           Also make sure that the suitable profile we derived actually matches
21088           what the HW can cope with.
21089           https://bugzilla.gnome.org/show_bug.cgi?id=719694
21090
21091 2014-01-12 22:14:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21092
21093         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21094           encoder: h264: refine size of coded buffer.
21095           Refine the heuristic to determine the maximum size of a coded buffer
21096           to account for the exact number of slices. set_context_info() is the
21097           last step during codec reconfiguration, no additional change is done
21098           afterwards, so re-using the num_slices field here is fine.
21099           https://bugzilla.gnome.org/show_bug.cgi?id=719953
21100
21101 2013-12-13 17:36:08 +0800  Wind Yuan <feng.yuan@intel.com>
21102
21103         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21104         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
21105         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
21106           encoder: h264: expose more coding tools.
21107           Add new H.264 coding tools to improve compression:
21108           - "cabac": enable CABAC entropy coding (default: FALSE);
21109           - "dct8x8": enable spatial transform 8x8 (default: FALSE).
21110           https://bugzilla.gnome.org/show_bug.cgi?id=719693
21111           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21112
21113 2014-01-10 18:18:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21114
21115         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21116         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
21117         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
21118           encoder: h264: derive profile and level from active coding tools.
21119           Automatically derive the minimum profile and level to be used for
21120           encoding, based on the activated coding tools. The encoder will
21121           be trying to generate a bitstream that has the best chances to be
21122           decoded on most platforms by default.
21123           Also change the default profile to "constrained-baseline" so that
21124           to ensure maximum compatibility when the stream is decoded.
21125           https://bugzilla.gnome.org/show_bug.cgi?id=719691
21126
21127 2014-01-10 17:02:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21128
21129         * gst-libs/gst/vaapi/gstvaapiencoder.h:
21130         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21131         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
21132           encoder: h264: fix hardware profile lookup.
21133           Fix lookup for a suitable HW profile, as to be used by the underlying
21134           hardware, based on heuristics that lead to characterize the SW profile,
21135           i.e. the one used by the SW level encoding logic.
21136           Also fix constraint_set0_flag (A.2.1) and constraint_set1_flag (A.2.2)
21137           as they should respectively match the baseline and main profile.
21138           https://bugzilla.gnome.org/show_bug.cgi?id=719827
21139
21140 2014-01-10 14:46:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21141
21142         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21143         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
21144         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
21145           encoder: h264: support only the byte-stream format.
21146           The libgstvaapi core encoders are meant to support raw bitstreams only.
21147           Henceforth, we are always producing a stream in "byte-stream" format.
21148           However, the "codec-data" buffer which holds SPS and PPS headers is
21149           always available. The "lengthSizeMinusOne" field is always set to 3
21150           so that in-place "byte-stream" format to "avc" format conversion could
21151           be performed.
21152
21153 2014-01-10 14:05:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21154
21155         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21156         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
21157         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
21158         * gst/vaapi/gstvaapiencode_h264.c:
21159           encoder: h264: clean-ups.
21160           Various clean-ups to improve consistency and readability: rename some
21161           variables, drop unused macro definitions, drop initialization of vars
21162           that are zero-initialized from the base class, drop un-necessary casts.
21163
21164 2014-01-13 17:11:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21165
21166         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
21167           encoder: mpeg2: fix hardware profile lookup.
21168           Fix lookup for a suitable HW profile, as to be used by the underlying
21169           hardware, based on heuristics that lead to characterize the SW profile,
21170           i.e. the one used by the SW level encoding logic.
21171
21172 2014-01-13 16:56:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21173
21174         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
21175         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
21176           encoder: mpeg2: derive profile and level from active coding tools.
21177           Automatically derive the minimum profile and level to be used for
21178           encoding, based on the activated coding tools. Improve lookup for
21179           the best suitable level with the new MPEG-2 helper functions.
21180           Also change the default profile to "simple" so that to ensure maximum
21181           compatibility when the stream is decoded.
21182           https://bugzilla.gnome.org/show_bug.cgi?id=719703
21183
21184 2014-01-13 14:41:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21185
21186         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
21187         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
21188         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
21189           encoder: mpeg2: clean-ups.
21190           Various clean-ups to improve consistency and readability: drop unused
21191           macro definitions, drop initialization of vars that are zero-initialized
21192           from the base class, drop un-necessary casts.
21193
21194 2014-01-13 10:48:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21195
21196         * gst-libs/gst/vaapi/gstvaapiencoder.c:
21197         * gst-libs/gst/vaapi/gstvaapiencoder.h:
21198         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21199         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
21200         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
21201           encoder: add tuning options API.
21202           Add encoder "tune" option to override the default behaviour that is to
21203           favor maximum decoder compatibility at the expense of lower compression
21204           ratios.
21205           Expected tuning options to be developed are:
21206           - "high-compression": improve compression, target best-in-class decoders;
21207           - "low-latency": tune for low-latency decoding;
21208           - "low-power": tune for encoding in low power / resources conditions.
21209
21210 2014-01-12 23:17:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21211
21212         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21213         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
21214           encoder: fix bitrate units to match kbps.
21215           Bitrate is expressed in kilobits per second (kbps). So, this exactly
21216           means in multiple of 1000 bits, not 1024 bits.
21217           https://bugzilla.gnome.org/show_bug.cgi?id=722086
21218
21219 2014-01-12 21:57:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21220
21221         * gst-libs/gst/vaapi/gstvaapiencoder.h:
21222         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
21223         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
21224           encoder: clean-ups.
21225           Drop obsolete and unused macros. Add a few doc comments. Slightly
21226           improve indentation of a few leftovers.
21227
21228 2014-01-12 18:52:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21229
21230         * gst-libs/gst/vaapi/gstvaapiencoder.c:
21231         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
21232         * gst-libs/gst/vaapi/gstvaapivalue.c:
21233         * gst-libs/gst/vaapi/gstvaapivalue.h:
21234           encoder: filter out the supported set of rate-control properties.
21235           Only expose the exact static set of supported rate-control properties
21236           to the upper layer. For instance, if the GstVaapiEncoderXXX class does
21237           only support CQP rate control, then only add it the the exposed enum
21238           type.
21239           Add helper macros and functions to build a GType for an enum subset.
21240
21241 2014-01-10 13:23:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21242
21243         * gst-libs/gst/vaapi/gstvaapiencoder.c:
21244         * gst-libs/gst/vaapi/gstvaapiencoder.h:
21245         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21246         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
21247         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
21248         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
21249         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
21250         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
21251         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
21252           encoder: add keyframe period API.
21253           Add gst_vaapi_encoder_set_keyframe_period() interface to allow the
21254           user control the maximum distance between two keyframes. This new
21255           property can only be set prior to gst_vaapi_encoder_set_codec_state().
21256           A value of zero for "keyframe-period" gets it re-evaluated to the
21257           actual framerate during encoder reconfiguration.
21258
21259 2014-01-10 12:01:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21260
21261         * gst-libs/gst/vaapi/gstvaapiencoder.c:
21262         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21263         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
21264         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
21265           encoder: improve codec reconfiguration.
21266           Improve codec reconfiguration to be performed only through a single
21267           function. That is, remove the _set_context_info() hook as subclass
21268           should not alter the parent GstVaapiContextInfo itself. Besides, the
21269           VA context is constructed only at the final stages of reconfigure().
21270
21271 2014-01-10 11:30:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21272
21273         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.c:
21274         * gst-libs/gst/vaapi/gstvaapicodedbufferpool.h:
21275         * gst-libs/gst/vaapi/gstvaapiencoder.c:
21276           encoder: fix possible memory leak of coded buffer pools.
21277           Fix gst_vaapi_encoder_reconfigure_internal() to re-/allocate the coded
21278           buffer pool only if the coded buffer size actually changed.
21279
21280 2014-01-10 10:54:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21281
21282         * gst-libs/gst/vaapi/gstvaapiencoder.c:
21283         * gst-libs/gst/vaapi/gstvaapiencoder.h:
21284         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21285         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
21286         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
21287         * gst/vaapi/gstvaapiencode.c:
21288         * gst/vaapi/gstvaapiencode.h:
21289           encoder: add video codec-state API.
21290           Add interface to communicate the encoder resolution and related info
21291           like framerate, interlaced vs. progressive, etc. This new interface
21292           supersedes gst_vaapi_encoder_set_format() and doesn't use any GstCaps
21293           but rather use GstVideoCodecState.
21294           Note that gst_vaapi_encoder_set_codec_state() is also a synchronization
21295           point for codec config. This means that the encoder is reconfigured
21296           there to match the latest properties.
21297
21298 2014-01-13 17:18:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21299
21300         * gst/vaapi/gstvaapiencode.c:
21301           vaapiencode: don't crash on NULL encoder on _finish().
21302           Don't try to destroy an encoder, in GstVideoEncoder::finish() handler,
21303           if it was not created in the first place. Return "not-negotiated" error
21304           since this means we did not even reach GstVideoEncoder::set_format(),
21305           where the encoder could have been created.
21306           This fixes a crash when the vaapiencode_* plug-in elements get deallocated
21307           and that we failed to negotiate either pad.
21308           https://bugzilla.gnome.org/show_bug.cgi?id=719704
21309
21310 2014-01-09 18:20:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21311
21312         * gst/vaapi/gstvaapiencode.c:
21313         * gst/vaapi/gstvaapiencode.h:
21314         * gst/vaapi/gstvaapiencode_h264.c:
21315           vaapiencode: use more GstVaapiPluginBase facilities.
21316           Avoid duplication of pad references or query functions since they are
21317           provided through the GstVaapiPluginBase object.
21318
21319 2014-01-09 18:10:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21320
21321         * gst/vaapi/gstvaapiencode.c:
21322         * gst/vaapi/gstvaapiencode.h:
21323         * gst/vaapi/gstvaapiencode_h264.c:
21324         * gst/vaapi/gstvaapiencode_h264.h:
21325         * gst/vaapi/gstvaapiencode_mpeg2.c:
21326           vaapiencode: fix negotiation process of output caps.
21327           The specified caps in gst_video_encoder_set_output_state() function
21328           arguments should not contain any resolution, pixel-aspect-ratio,
21329           framerate, codec-data et al. Those rather should be set through the
21330           returned GstVideoCodecState. This means that output caps creation
21331           could be delayed until before gst_video_encoder_finish_frame() is
21332           called.
21333           This greatly simplifies the GstVideoEncoder::set_format() callback
21334           by the way.
21335
21336 2014-01-08 18:56:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21337
21338         * gst/vaapi/gstvaapiencode.c:
21339           vaapiencode: make GstVaapiEncode an abstract type.
21340           Make base GstVaapiEncode class an abstract type so that we cannot
21341           create an instance from it without going through any of the codec
21342           specific derived class.
21343
21344 2014-01-09 10:09:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21345
21346         * gst/vaapi/gstvaapiencode.c:
21347         * gst/vaapi/gstvaapiencode.h:
21348         * gst/vaapi/gstvaapiencode_h264.c:
21349         * gst/vaapi/gstvaapiencode_mpeg2.c:
21350           vaapiencode: rename a few member functions.
21351           Rename a few member functions to make them more consistent:
21352           - alloc_encoder(): now reduced to allocate the encoder object only;
21353           - alloc_buffer(): allocate buffer from srcpad, and copy bitstream.
21354
21355 2014-01-08 18:36:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21356
21357         * gst/vaapi/gstvaapiencode.c:
21358         * gst/vaapi/gstvaapiencode.h:
21359         * gst/vaapi/gstvaapiencode_h264.c:
21360         * gst/vaapi/gstvaapiencode_h264.h:
21361         * gst/vaapi/gstvaapiencode_mpeg2.c:
21362           vaapiencode: update for new properties API.
21363           Update MPEG-2 and H.264 encode elements to cope with the new core
21364           libgstvaapi properties API. i.e. all configurable properties are now
21365           directly handled at the GstVaapiEncoder level.
21366           Besides, this also makes sure to not use or modify the GstVaapiEncoder
21367           private definitions directly. Private data need to remain private.
21368           https://bugzilla.gnome.org/show_bug.cgi?id=719529
21369
21370 2014-01-06 17:46:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21371
21372         * gst-libs/gst/vaapi/gstvaapiencoder.c:
21373         * gst-libs/gst/vaapi/gstvaapiencoder.h:
21374         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21375         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
21376         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
21377         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
21378         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
21379           encoder: add properties API.
21380           Add interface to communicate configurable properties to the encoder.
21381           This covers both the common ones (rate-control, bitrate), and the
21382           codec specific properties.
21383           https://bugzilla.gnome.org/show_bug.cgi?id=719529
21384
21385 2014-01-06 18:01:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21386
21387         * gst-libs/gst/vaapi/gstvaapiencoder.c:
21388         * gst-libs/gst/vaapi/gstvaapiencoder.h:
21389         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21390         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
21391         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
21392         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
21393         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
21394         * gst/vaapi/gstvaapiencode.c:
21395         * gst/vaapi/gstvaapiencode_h264.c:
21396         * gst/vaapi/gstvaapiencode_mpeg2.c:
21397           encoder: add bitrate API.
21398           Add gst_vaapi_encoder_set_bitrate() interface to allow the user control
21399           the bitrate for encoding. Currently, changing this parameter is only
21400           valid before the first frame is encoded. Should the value be modified
21401           afterwards, then GST_VAAPI_ENCODER_STATUS_ERROR_OPERATION_FAILED is
21402           returned.
21403           https://bugzilla.gnome.org/show_bug.cgi?id=719529
21404
21405 2014-01-06 15:10:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21406
21407         * gst-libs/gst/vaapi/gstvaapiencoder.c:
21408         * gst-libs/gst/vaapi/gstvaapiencoder.h:
21409         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21410         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
21411         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
21412         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
21413         * gst-libs/gst/vaapi/gstvaapitypes.h:
21414         * gst/vaapi/gstvaapiencode.c:
21415         * gst/vaapi/gstvaapiencode.h:
21416         * gst/vaapi/gstvaapiencode_h264.c:
21417         * gst/vaapi/gstvaapiencode_mpeg2.c:
21418           encoder: add rate control API.
21419           Add gst_vaapi_encoder_set_rate_control() interface to request a new
21420           rate control mode for encoding. Changing the rate control mode is
21421           only valid prior to encoding the very first frame. Afterwards, an
21422           error ("operation-failed") is issued.
21423           https://bugzilla.gnome.org/show_bug.cgi?id=719529
21424
21425 2014-01-03 16:57:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21426
21427         * gst/vaapi/gstvaapiencode.c:
21428         * gst/vaapi/gstvaapiencode_h264.c:
21429         * gst/vaapi/gstvaapiencode_mpeg2.c:
21430           vaapiencode: fix indentation.
21431
21432 2014-01-03 16:57:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21433
21434         * gst-libs/gst/vaapi/gstvaapiencoder.c:
21435         * gst-libs/gst/vaapi/gstvaapiencoder.h:
21436         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21437         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
21438         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
21439         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
21440         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
21441         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
21442         * gst/vaapi/gstvaapiencode.h:
21443           encoder: fix indentation.
21444
21445 2014-01-13 16:20:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21446
21447         * gst-libs/gst/vaapi/Makefile.am:
21448         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.c:
21449         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2.h:
21450         * gst-libs/gst/vaapi/gstvaapiutils_mpeg2_priv.h:
21451           utils: add new MPEG-2 helper functions.
21452           Add various helper functions to convert profile, level, chroma formats
21453           from gstreamer-vaapi world and the MPEG-2 specification world.
21454
21455 2014-01-10 19:49:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21456
21457         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
21458           utils: h264: don't use fatal asserts.
21459           Replace g_assert() with a g_debug() so that to not make the program
21460           abort when an unsupported value is supplied.
21461
21462 2014-01-10 19:37:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21463
21464         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
21465         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
21466           utils: h264: add helpers for profile and level string mappings.
21467           Add profile and level helper functions to convert to/from strings.
21468
21469 2014-01-10 18:27:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21470
21471         * gst-libs/gst/vaapi/Makefile.am:
21472         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21473         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
21474         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
21475         * gst-libs/gst/vaapi/gstvaapiutils_h264_priv.h:
21476           utils: h264: expose levels in public header.
21477           Instal <gst/vaapi/gstvaapiutils_h264.h> header but only expose the
21478           H.264 levels in there. The additional helper functions are meant
21479           to be private for now.
21480
21481 2014-01-09 09:27:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21482
21483         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
21484         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
21485         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
21486         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
21487           codec: add helper macros to maintain object refcount.
21488           Add gst_vaapi_mini_object_{ref,unref,replace}() helper macros so that
21489           to avoid explicit casts to GstVaapiMiniObject in all caller sites.
21490
21491 2014-01-09 09:30:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21492
21493         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
21494         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
21495           codec: re-indent decoder objects.
21496
21497 2014-01-09 09:10:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21498
21499         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
21500         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
21501           codec: re-indent base codec objects.
21502
21503 2014-01-03 12:49:05 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
21504
21505         * gst/vaapi/gstvaapipluginbase.c:
21506           plugins: do not free debug category in finalize method.
21507           Fixes a crash when multiple vaapidecode elements are finalized since
21508           the debug category is created once in the class init method.
21509           This is a regression from git commit 7e58d60.
21510           https://bugzilla.gnome.org/show_bug.cgi?id=721390
21511           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21512
21513 2014-01-02 11:35:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21514
21515         * gst-libs/gst/vaapi/glibcompat.h:
21516         * tests/simple-decoder.c:
21517           tests: simple-decoder: don't use deprecated g_thread_create().
21518           Use g_thread_try_new() instead of the deprecated g_thread_create()
21519           function. Provide compatibility glue for any GLib version < 2.31.2.
21520
21521 2014-01-02 11:17:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21522
21523         * gst-libs/gst/vaapi/gstvaapidecoder.c:
21524         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
21525         * gst-libs/gst/vaapi/gstvaapisurface.c:
21526         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
21527         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
21528         * gst/vaapi/gstvaapiencode.c:
21529           Fix printf()-like formats.
21530           Fix formts for various GST_DEBUG et al. invocations. More precisely,
21531           make size_t arguments use the %zu format specifier accordingly; force
21532           XID formats to be a 32-bit unsigned integer; and fix the format used
21533           for gst_vaapi_create_surface_with_format() error cases since we have
21534           been using strings nowadays.
21535
21536 2013-12-21 07:38:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21537
21538         * gst-libs/gst/vaapi/video-format.c:
21539         * gst-libs/gst/vaapi/video-format.h:
21540           utils: format: drop unused helper functions.
21541           The following helper functions are no longer used, thus are removed:
21542           - gst_vaapi_video_format_from_structure()
21543           - gst_vaapi_video_format_from_caps()
21544           - gst_vaapi_video_format_to_caps()
21545
21546 2013-12-21 07:29:50 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21547
21548         * gst-libs/gst/vaapi/video-format.c:
21549         * gst-libs/gst/vaapi/video-format.h:
21550           utils: re-indent GstVideoFormat related helpers.
21551
21552 2013-12-21 08:27:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21553
21554         * gst/vaapi/gstvaapidownload.c:
21555           download: use GstVideoInfo facilities to build output caps.
21556           Use standard GstVideoInfo related functions to build the output caps,
21557           thus directly preserving additional fields as needed, instead of
21558           manually copying them over through gst_vaapi_append_surface_caps().
21559           Also ensure that the input caps are fixated first.
21560
21561 2013-12-21 10:41:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21562
21563         * gst/vaapi/gstvaapidownload.c:
21564         * gst/vaapi/gstvaapipluginutil.c:
21565         * gst/vaapi/gstvaapipluginutil.h:
21566         * gst/vaapi/gstvaapiuploader.c:
21567           plugins: factor out construction of template caps.
21568           Add new helper functions to build video template caps.
21569           - gst_vaapi_video_format_new_template_caps():
21570           create GstCaps with size, frame rate and PAR to full range
21571           - gst_vaapi_video_format_new_template_caps_from_list():
21572           try to create a "simplified" list from the supplied formats
21573
21574 2013-12-21 06:41:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21575
21576         * gst/vaapi/gstvaapipluginutil.c:
21577         * gst/vaapi/gstvaapipluginutil.h:
21578         * gst/vaapi/gstvaapipostproc.c:
21579           plugins: factor out construction of GValue from GstVideoFormat.
21580           Add new helper functions to build GValues from GstVideoFormat:
21581           - gst_vaapi_value_set_format():
21582           build a GValue from the supplied video format
21583           - gst_vaapi_value_set_format_list():
21584           build a GValue list from the supplied array of video formats
21585
21586 2013-12-21 06:22:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21587
21588         * gst/vaapi/gstvaapipluginutil.c:
21589         * gst/vaapi/gstvaapipluginutil.h:
21590         * gst/vaapi/gstvaapivideocontext.c:
21591         * gst/vaapi/gstvaapivideocontext.h:
21592           plugins: re-indent common and video context creation utils.
21593
21594 2013-12-20 15:31:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21595
21596         * gst-libs/gst/vaapi/gstvaapidisplay.c:
21597         * gst-libs/gst/vaapi/gstvaapidisplay.h:
21598         * gst/vaapi/gstvaapidecode.c:
21599         * tests/test-display.c:
21600           display: don't use GstCaps for decode or encode profiles list.
21601           Replace gst_vaapi_display_get_{decode,encode}_caps() APIs with more
21602           more convenient APIs that return an array of GstVaapiProfile instead
21603           of GstCaps: gst_vaapi_display_get_{decode,encode}_profiles().
21604
21605 2013-12-20 15:15:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21606
21607         * gst-libs/gst/vaapi/gstvaapidisplay.c:
21608         * gst-libs/gst/vaapi/gstvaapidisplay.h:
21609         * gst/vaapi/gstvaapidownload.c:
21610         * gst/vaapi/gstvaapiuploader.c:
21611         * tests/test-display.c:
21612           display: don't use GstCaps for image or subpicture formats list.
21613           Replace gst_vaapi_display_get_{image,subpicture}_caps() APIs, that
21614           returned GstCaps, with more convenient APIs that return an array of
21615           GstVideoFormat: gst_vaapi_display_get_{image,subpicture}_formats().
21616
21617 2013-12-20 14:01:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21618
21619         * gst-libs/gst/vaapi/gstvaapidisplay.c:
21620         * gst-libs/gst/vaapi/gstvaapidisplay.h:
21621         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
21622           display: allocate queried resources on-demand.
21623           Allocate the set of decoders or encoders on-demand, when they are
21624           queried. Likewise for VA display attributes, image and subpicture
21625           formats.
21626
21627 2013-12-20 13:27:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21628
21629         * gst-libs/gst/vaapi/gstvaapidisplay.c:
21630         * gst-libs/gst/vaapi/gstvaapidisplay.h:
21631         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
21632         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
21633         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
21634         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
21635         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
21636         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
21637         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
21638         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
21639         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
21640         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
21641         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
21642         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
21643         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
21644         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
21645         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
21646           display: re-indent all GstVaapiDisplay related source code.
21647
21648 2013-12-20 16:04:19 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21649
21650         * gst-libs/gst/vaapi/gstvaapiprofile.c:
21651         * gst-libs/gst/vaapi/gstvaapiprofile.h:
21652           utils: add helper functions to get codec or profile name.
21653
21654 2013-12-20 17:08:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21655
21656         * gst/vaapi/gstvaapipostproc.c:
21657         * gst/vaapi/gstvaapipostproc.h:
21658         * gst/vaapi/gstvaapiuploader.c:
21659           plugins: fix permissions for certain files.
21660           Drop the execute bit for gstvaapiuploader.c and gstvaapipostproc.[ch]
21661           files.
21662
21663 2013-12-12 17:01:29 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
21664
21665         * gst/vaapi/gstvaapivideometa_texture.c:
21666           plugins: implement GLTextureUploadMeta user data copy.
21667           Makes the copies of a buffer reference their own GLTextureUploadMeta
21668           user data and prevent the original buffer accessing already freed
21669           memory if its copies has been released and freed.
21670           https://bugzilla.gnome.org/show_bug.cgi?id=720336
21671           [Propagate the original meta texture to the copy too]
21672           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21673
21674 2013-12-17 18:52:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21675
21676         * gst/vaapi/gstvaapiencode.c:
21677         * gst/vaapi/gstvaapiencode.h:
21678         * gst/vaapi/gstvaapipluginbase.c:
21679         * gst/vaapi/gstvaapipluginbase.h:
21680         * gst/vaapi/gstvaapipostproc.c:
21681         * gst/vaapi/gstvaapipostproc.h:
21682         * gst/vaapi/gstvaapisink.c:
21683         * gst/vaapi/gstvaapisink.h:
21684           plugins: factor out support for raw YUV buffers on sink pads.
21685           Factor out propose_allocation() hooks, creation of video buffer pool
21686           for the sink pad, conversion from raw YUV buffers to VA surface backed
21687           buffers. Update vaapidecode, vaapiencode and vaapipostproc to cope
21688           with the new GstVaapiPluginBase abilities.
21689
21690 2013-12-17 18:46:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21691
21692         * gst-libs/gst/vaapi/gstcompat.h:
21693         * gst/vaapi/gstvaapidecode.c:
21694         * gst/vaapi/gstvaapidecode.h:
21695         * gst/vaapi/gstvaapidownload.c:
21696         * gst/vaapi/gstvaapipluginbase.c:
21697         * gst/vaapi/gstvaapipluginbase.h:
21698         * gst/vaapi/gstvaapipostproc.c:
21699         * gst/vaapi/gstvaapipostproc.h:
21700         * gst/vaapi/gstvaapisink.c:
21701         * gst/vaapi/gstvaapiupload.c:
21702           plugins: factor out pad caps.
21703
21704 2013-12-13 16:03:08 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21705
21706         * gst/vaapi/gstvaapidecode.c:
21707         * gst/vaapi/gstvaapidownload.c:
21708         * gst/vaapi/gstvaapiencode.c:
21709         * gst/vaapi/gstvaapipluginbase.c:
21710         * gst/vaapi/gstvaapipostproc.c:
21711         * gst/vaapi/gstvaapisink.c:
21712         * gst/vaapi/gstvaapiupload.c:
21713           plugins: factor out video context sharing code.
21714
21715 2013-12-13 13:24:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21716
21717         * gst/vaapi/gstvaapidecode.c:
21718         * gst/vaapi/gstvaapidownload.c:
21719         * gst/vaapi/gstvaapiencode.c:
21720         * gst/vaapi/gstvaapipluginbase.c:
21721         * gst/vaapi/gstvaapipluginbase.h:
21722         * gst/vaapi/gstvaapipostproc.c:
21723         * gst/vaapi/gstvaapisink.c:
21724         * gst/vaapi/gstvaapiupload.c:
21725           plugins: factor out GstImplementsInterface.
21726
21727 2013-12-13 12:00:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21728
21729         * gst-libs/gst/vaapi/gstvaapidisplay.c:
21730         * gst-libs/gst/vaapi/gstvaapidisplay.h:
21731         * gst/vaapi/gstvaapipluginbase.c:
21732         * gst/vaapi/gstvaapipluginutil.c:
21733           plugins: check type of display obtained from neighbours.
21734           Fix display creation code to check that any display obtained from a
21735           neighbour actually has the type we expect. Note: if display type is
21736           set to "any", we can then accept any VA display type.
21737
21738 2013-12-13 11:52:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21739
21740         * gst/vaapi/gstvaapidecode.c:
21741         * gst/vaapi/gstvaapidownload.c:
21742         * gst/vaapi/gstvaapiencode.c:
21743         * gst/vaapi/gstvaapipluginbase.c:
21744         * gst/vaapi/gstvaapipluginbase.h:
21745         * gst/vaapi/gstvaapipluginutil.c:
21746         * gst/vaapi/gstvaapipluginutil.h:
21747         * gst/vaapi/gstvaapipostproc.c:
21748         * gst/vaapi/gstvaapisink.c:
21749         * gst/vaapi/gstvaapisink.h:
21750         * gst/vaapi/gstvaapiupload.c:
21751           plugins: factor out display creation process.
21752           Move common VA display creation code to GstVaapiPluginBase, with the
21753           default display type remaining "any". Also add a "display-changed"
21754           hook so that subclasses could perform additional tasks when/if the
21755           VA display changed, due to a new display type request for instance.
21756           All plug-ins are updated to cope with the new internal APIs.
21757
21758 2013-12-13 10:24:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21759
21760         * gst/vaapi/Makefile.am:
21761         * gst/vaapi/gstvaapidecode.c:
21762         * gst/vaapi/gstvaapidecode.h:
21763         * gst/vaapi/gstvaapidownload.c:
21764         * gst/vaapi/gstvaapidownload.h:
21765         * gst/vaapi/gstvaapiencode.c:
21766         * gst/vaapi/gstvaapiencode.h:
21767         * gst/vaapi/gstvaapipluginbase.c:
21768         * gst/vaapi/gstvaapipluginbase.h:
21769         * gst/vaapi/gstvaapipostproc.c:
21770         * gst/vaapi/gstvaapipostproc.h:
21771         * gst/vaapi/gstvaapisink.c:
21772         * gst/vaapi/gstvaapisink.h:
21773         * gst/vaapi/gstvaapiupload.c:
21774         * gst/vaapi/gstvaapiupload.h:
21775           plugins: add new base object, store display in there.
21776           Introduce a new GstVaapiPluginBase object that will contain all common
21777           data structures and perform all common tasks. First step is to have a
21778           single place to hold VA displays.
21779           While we are at it, also make sure to store and subsequently release
21780           the appropriate debug category for the subclasses.
21781
21782 2013-12-11 14:04:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21783
21784         * gst-libs/gst/vaapi/gstvaapiobject.h:
21785         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
21786         * gst/vaapi/gstvaapivideometa_texture.c:
21787         * gst/vaapi/gstvaapivideometa_texture.h:
21788           plugins: fix GLTextureUploadMeta to work with different texture ids.
21789           The GLTextureUploadMeta implementation assumed that for each upload()
21790           sequence, the supplied texture id is always the same as the one that
21791           was previously cached into the underlying GstVaapiTexture. Cope with
21792           any texture id change the expense to recreate the underlying VA/GLX
21793           resources.
21794           https://bugzilla.gnome.org/show_bug.cgi?id=719643
21795
21796 2013-12-11 13:25:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21797
21798         * gst/vaapi/gstvaapidecode.c:
21799         * gst/vaapi/gstvaapivideobufferpool.c:
21800         * gst/vaapi/gstvaapivideometa_texture.c:
21801           plugins: allow builds without GLX enabled for GStreamer 1.2.
21802           Don't try to build GLTextureUploadMeta related code if GLX is not
21803           enabled during GStreamer >= 1.2 builds.
21804
21805 2013-11-20 17:20:07 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
21806
21807         * gst/vaapi/gstvaapidecode.c:
21808         * gst/vaapi/gstvaapivideobufferpool.c:
21809         * gst/vaapi/gstvaapivideobufferpool.h:
21810         * gst/vaapi/gstvaapivideometa_texture.c:
21811         * gst/vaapi/gstvaapivideometa_texture.h:
21812           plugins: request GLTextureUpload meta on buffers in the buffer pool.
21813           Requesting the GLTextureUpload meta on buffers in the bufferpool
21814           prevents such metas from being de-allocated when buffers are released
21815           in the sink.
21816           This is particulary useful in terms of performance when using the
21817           GLTextureUploadMeta API since the GstVaapiTexture associated with
21818           the target texture is stored in the meta.
21819           https://bugzilla.gnome.org/show_bug.cgi?id=712558
21820           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21821
21822 2013-12-11 10:51:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21823
21824         * gst/vaapi/gstvaapivideometa_texture.c:
21825           plugins: robustify GstVideoGLTextureUploadMeta implementation.
21826           Make GstVideoGLTextureUploadMeta::upload() implementation more robust
21827           when the GstVaapiTexture associated with the supplied texture id could
21828           not be created.
21829
21830 2013-12-10 16:14:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21831
21832         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21833           h264: improve robustness when packets are missing.
21834           Improve robustness when some expected packets where not received yet
21835           or that were not correctly decoded. For example, don't try to decode
21836           a picture if there was no valid frame headers parsed so far.
21837           https://bugs.freedesktop.org/show_bug.cgi?id=57902
21838
21839 2013-12-10 14:20:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21840
21841         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21842           decoder: h264: fix decoding of BA3_SVA_C.264.
21843           Conformance test Base_Ext_Main_profiles/BA3_SVA_C.264 complys with
21844           extended profile specifications. However, the SPS header has the
21845           constraint_set1_flag syntax element set to 1. This means that, if
21846           a Main profile compliant decoder is available, then it should be
21847           able to decode this stream.
21848           This changes makes it possible to fall-back from Extended profile
21849           to Main profile if constraint_set1_flag is set to 1.
21850           https://bugzilla.gnome.org/show_bug.cgi?id=720190
21851
21852 2013-12-10 11:13:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21853
21854         * gst-libs/gst/vaapi/gstvaapiprofile.h:
21855         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
21856           utils: h264: add more profiles.
21857           Add extended profile (A.2.3), high 4:2:2 profile (A.2.6), high 4:2:2
21858           profiles (A.2.7, A.2.10), scalable profiles (G.10.1.1, G.10.1.2) and
21859           multiview profiles (H.10.1.1, H.10.1.2).
21860           Document "Constrained Baseline" and "High 10" profiles.
21861
21862 2013-12-10 15:21:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21863
21864         * ext/codecparsers:
21865           codecparsers: update to gst-vaapi-branch commit e7d0e18.
21866           e7d0e18 h264: complete set of NAL unit types
21867
21868 2013-12-06 15:08:26 +0800  Wind Yuan <feng.yuan@intel.com>
21869
21870         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21871         * gst-libs/gst/vaapi/gstvaapiprofile.c:
21872           decoder: h264: add support for constrained baseline profile.
21873           Recognize streams marked as conforming to the "Constrained Baseline
21874           Profile". If VA driver supports that as is, fine. Otherwise, fallback
21875           to baseline, main or high profile.
21876           Constrained Baseline Profile conveys coding tools that are common
21877           to baseline profile and main profile.
21878           https://bugzilla.gnome.org/show_bug.cgi?id=719947
21879           [Added fallbacks to main and high profiles]
21880           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21881
21882 2013-12-09 12:46:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21883
21884         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21885           decoder: h264: fix decoding of scaling lists.
21886           The GStreamer codecparser layer now parses the scaling lists in zigzag
21887           scan order, as expected, so that to match the original bitstream layout
21888           and specification. However, further convert the scaling lists into
21889           raster scan order to fit the existing practice in most VA drivers.
21890           https://bugzilla.gnome.org/show_bug.cgi?id=706406
21891
21892 2013-12-09 12:07:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21893
21894         * ext/codecparsers:
21895           codecparsers: update to gst-vaapi-branch commit 177c73b.
21896           a7e3255 add H.265 (HEVC) bitstream parser
21897           177c73b h264: fix picture level scaling lists derivation (rule B)
21898           14733f1 h264: fix parsing of VCL HRD parameters
21899           59a0b47 h264: store quantization matrices in zig-zag order
21900           ffb6e26 h264: add helpers to convert quantization matrices
21901           c78a504 mpeg2: also initialize debug category in parse_sequence_header()
21902           719d1b0 mpeg2: turn internal consistency check into a g_assert()
21903           5241d8e all: remove some unused functions
21904           18eb312 all: fix for GST_DISABLE_GST_DEBUG
21905           963c04a all: make warnings more meaningful
21906
21907 2013-12-06 19:05:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21908
21909         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
21910         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
21911         * gst-libs/gst/vaapi/gstvaapiutils_h264.h:
21912           utils: add helpers for H.264 levels.
21913           - gst_vaapi_utils_h264_get_level():
21914           Returns GstVaapiLevelH264 from H.264 level_idc value
21915           - gst_vaapi_utils_h264_get_level_idc():
21916           Returns H.264 level_idc value from GstVaapiLevelH264
21917           - gst_vaapi_utils_h264_get_level_limits():
21918           Returns level limits as specified in Table A-1 of the H.264 standard
21919           - gst_vaapi_utils_h264_get_level_limits_table():
21920           Returns the Table A-1 specification
21921
21922 2013-12-06 17:34:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21923
21924         * gst-libs/gst/vaapi/gstvaapiprofile.c:
21925         * gst-libs/gst/vaapi/gstvaapiprofile.h:
21926         * gst-libs/gst/vaapi/gstvaapiutils_h264.c:
21927           utils: add new H.264 profiles.
21928           Add "Constrained Baseline Profile" and "High 10 Profile" definitions
21929           and helper functiions.
21930
21931 2013-12-06 17:21:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21932
21933           utils: add new H.264 helper functions.
21934           * Profiles:
21935           - gst_vaapi_utils_h264_get_profile():
21936           Returns GstVaapiProfile from H.264 profile_idc value
21937           - gst_vaapi_utils_h264_get_profile_idc():
21938           Returns H.264 profile_idc value from GstVaapiProfile
21939           * Chroma formats:
21940           - gst_vaapi_utils_h264_get_chroma_type():
21941           Returns GstVaapiChromaType from H.264 chroma_format_idc value
21942           - gst_vaapi_utils_h264_get_chroma_format_idc():
21943           Returns H.264 chroma_format_idc value from GstVaapiChromaType
21944
21945 2013-12-03 11:05:17 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
21946
21947         * gst-libs/gst/base/Makefile.am:
21948         * gst-libs/gst/vaapi/Makefile.am:
21949           Fix missing files in distribution tarball.
21950           https://bugzilla.gnome.org/show_bug.cgi?id=719776
21951           [Additional fixes and clean-ups]
21952           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21953
21954 2013-12-05 18:13:54 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21955
21956         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21957         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
21958           encoder: fix computation of max coded buffer size (again).
21959           The previous fix was only valid to express the maximum size of the
21960           macroblock layer, i.e. without any headers. Now, also account for
21961           the slice headers and top picture header, but also any other header
21962           we might stuff into the VA coded buffer, e.g. sequence headers.
21963
21964 2013-12-04 19:10:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21965
21966         * gst-libs/gst/vaapi/gstvaapiencoder.c:
21967         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21968         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
21969           encoder: fix computation of max coded buffer size.
21970           Fix coded buffer size for each codec. A generic issue was that the
21971           number of macroblocks was incorrectly computed. The second issue was
21972           specific to MPEG-2 were the max number of bits per macroblock, and
21973           as defined by the standard, was incorrectly mapped to the (lower)
21974           H.264 requirement. i.e. 4608 bits vs. 3200 bits limit.
21975
21976 2013-12-04 18:48:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21977
21978         * gst-libs/gst/vaapi/gstvaapiencoder.c:
21979         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
21980         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
21981         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
21982           encoder: simplify VA context initialization process.
21983           Change get_context_info() into a set_context_info() function that
21984           initializes common defaults into the base class, thus allowing the
21985           subclasses to specialize the context info further on.
21986           The set_context_info() hook is also the location where additional
21987           context specific data could be initialized. At this point, we are
21988           guaranteed to have valid video resolution size and framerate. i.e.
21989           gst_vaapi_encoder_set_format() was called beforehand.
21990
21991 2013-11-26 14:38:23 +0800  Wind Yuan <feng.yuan@intel.com>
21992
21993         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
21994           encoder: fix mpeg2 compilation error.
21995           https://bugzilla.gnome.org/show_bug.cgi?id=719746
21996           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21997
21998 2013-12-04 17:55:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
21999
22000         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22001         * gst-libs/gst/vaapi/gstvaapiencoder.h:
22002         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22003         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
22004         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
22005         * gst/vaapi/gstvaapiencode.c:
22006           encoder: clean-ups and document public APIs.
22007           Clean public APIs up so that to better align with the decoder APIs.
22008           Most importantly, gst_vaapi_encoder_get_buffer() is changed to only
22009           return the VA coded buffer proxy. Also provide useful documentation
22010           for the public APIs.
22011
22012 2013-12-04 17:05:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22013
22014         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22015         * gst-libs/gst/vaapi/gstvaapiencoder.h:
22016         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
22017           encoder: avoid extra allocations of GstVaapiEncoderSyncPic objects.
22018           Kill GstVaapiEncoderSyncPic objects that are internally and temporarily
22019           allocated. Rather, associate a GstVaapiEncPicture to a coded buffer
22020           through GstVaapiCodedBufferProxy user-data facility.
22021           Besides, use a GAsyncQueue to maintain a thread-safe queue object of
22022           coded buffers.
22023           Partial fix for the following report:
22024           https://bugzilla.gnome.org/show_bug.cgi?id=719530
22025
22026 2013-12-03 17:04:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22027
22028         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22029         * gst-libs/gst/vaapi/gstvaapiencoder.h:
22030         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22031         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
22032         * gst/vaapi/gstvaapiencode.c:
22033           encoder: refactor status codes.
22034           Drop obsolete or unused status codes. Align some status codes with the
22035           decoder counterparts.
22036
22037 2013-12-04 11:54:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22038
22039         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22040         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22041         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
22042         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
22043         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
22044         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
22045           encoder: fix subclassing process.
22046           Fix the GstVaapiEncoderClass parent class type. Make sure to validate
22047           subclass hooks as early as possible, i.e. in gst_vaapi_encoder_init(),
22048           thus avoiding useless run-time checks. Also simplify the subclass
22049           initialization process to be less error prone.
22050
22051 2013-12-03 16:11:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22052
22053           encoder: rework GstVaapiCodedBuffer and related proxy.
22054           Refactor the GstVaapiCodedBuffer APIs so that to more clearly separate
22055           public and private interfaces. Besides, the map/unmap APIs should not
22056           be exposed as is but appropriate accessors should be provided instead.
22057           * GstVaapiCodedBuffer: VA coded buffer abstraction
22058           - gst_vaapi_coded_buffer_get_size(): get coded buffer size.
22059           - gst_vaapi_coded_buffer_copy_into(): copy coded buffer into GstBuffer
22060           * GstVaapiCodedBufferPool: pool of VA coded buffer objects
22061           - gst_vaapi_coded_buffer_pool_new(): create a pool of coded buffers of
22062           the specified max size, and bound to the supplied encoder
22063           * GstVaapiCodedBufferProxy: pool-allocated VA coded buffer object proxy
22064           - gst_vaapi_coded_buffer_proxy_new_from_pool(): create coded buf from pool
22065           - gst_vaapi_coded_buffer_proxy_get_buffer(): get underlying coded buffer
22066           - gst_vaapi_coded_buffer_proxy_get_buffer_size(): get coded buffer size
22067           Rationale: more optimized transfer functions might be provided in the
22068           future, thus rendering the map/unmap mechanism obsolete or sub-optimal.
22069           https://bugzilla.gnome.org/show_bug.cgi?id=719775
22070
22071 2013-11-29 14:02:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22072
22073         * gst/vaapi/gstvaapidecode.c:
22074         * gst/vaapi/gstvaapiencode.c:
22075         * gst/vaapi/gstvaapipostproc.c:
22076         * gst/vaapi/gstvaapisink.c:
22077           plugins: fix reference leaks of VA display objects.
22078           Fix GstElement::set_context() implementation for all plug-in elements
22079           to avoid leaking an extra reference to the VA display, thus preventing
22080           correct cleanup of VA resources in GStreamer 1.2 builds.
22081
22082 2013-11-29 13:56:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22083
22084         * gst/vaapi/gstvaapipluginutil.c:
22085         * gst/vaapi/gstvaapivideocontext.c:
22086           plugins: simplify gst_vaapi_ensure_display().
22087           Return earlier if the creation of a VA display failed. Likewise, simplify
22088           gst_vaapi_video_context_propagate() now that we are guaranteed to have a
22089           valid VA display.
22090
22091 2013-11-28 19:08:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22092
22093         * gst/vaapi/gstvaapivideomemory.c:
22094           plugins: fix memory leaks through GstVideoMeta maps.
22095           When GstVideoMeta maps were used, the supporting functions incorrectly
22096           used gst_buffer_get_memory() instead of gst_buffer_peek_memory(), thus
22097           always increasing the associated GstMemory reference count and giving
22098           zero chance to actually release that, and subsequently the VA display.
22099
22100 2013-11-28 14:15:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22101
22102         * gst-libs/gst/vaapi/gstvaapifilter.c:
22103         * gst/vaapi/gstvaapiencode_h264.c:
22104         * gst/vaapi/gstvaapiencode_mpeg2.c:
22105         * gst/vaapi/gstvaapipostproc.c:
22106         * gst/vaapi/gstvaapisink.c:
22107         * gst/vaapi/gstvaapiuploader.c:
22108           plugins: use G_PARAM_STATIC_STRINGS.
22109           This avoids a few string copies during initialization.
22110
22111 2013-11-28 17:28:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22112
22113         * gst/vaapi/gstvaapivideometa.c:
22114           plugins: simplify VA video meta to only reference surface proxies.
22115           Simplify GstVaapiVideoMeta to only hold a surface proxy, which is
22116           now allocated from a surface pool. This also means that the local
22117           reference to the VA surface is also gone, as it could be extracted
22118           from the associated surface proxy.
22119
22120 2013-11-28 16:51:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22121
22122         * gst/vaapi/gstvaapivideobuffer.c:
22123         * gst/vaapi/gstvaapivideobuffer.h:
22124         * gst/vaapi/gstvaapivideometa.c:
22125         * gst/vaapi/gstvaapivideometa.h:
22126           plugins: drop obsolete functions.
22127           Drop the following functions that are not longer used:
22128           - gst_vaapi_video_buffer_new_with_surface()
22129           - gst_vaapi_video_meta_new_with_surface()
22130           - gst_vaapi_video_meta_set_surface()
22131           - gst_vaapi_video_meta_set_surface_from_pool()
22132
22133 2013-11-28 16:37:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22134
22135         * gst/vaapi/gstvaapivideometa.c:
22136           plugins: allow VA video meta to be allocated from surface proxy pools.
22137           Fix gst_vaapi_video_meta_new_from_pool() to allocate VA surface proxies
22138           from surface pools instead of plain VA surfaces. This is to simplify
22139           allocations now that surface proxies are created from a surface pool.
22140
22141 2013-11-28 17:25:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22142
22143         * docs/reference/libs/libs-sections.txt:
22144         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
22145         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
22146         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
22147           surfaceproxy: add copy function.
22148           Add gst_vaapi_surface_proxy_copy() function that creates a new surface
22149           proxy with the same information from the parent proxy, except that the
22150           user-defined destroy notify function is not copied over.
22151           The underlying VA surface is pushed back to the video pool only when
22152           the last reference to the parent surface proxy is released.
22153
22154 2013-11-28 15:56:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22155
22156         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
22157         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
22158         * gst/vaapi/gstvaapiencode.c:
22159           vaapiencode: optimize _handle_frame() to avoid extra allocation.
22160           Optimize gst_vaapiencode_handle_frame() to avoid extra memory allocation,
22161           and in particular the GstVaapiEncObjUserData object. i.e. directly use
22162           the VA surface proxy from the source buffer. This also makes the user
22163           data attached to the GstVideoCodecFrame more consistent between both
22164           the decoder and encoder plug-in elements.
22165
22166 2013-11-28 15:14:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22167
22168         * gst/vaapi/gstvaapiencode.c:
22169           vaapiencode: fix memory leaks in _push_frame() on error.
22170           Simplify gst_vaapiencode_push_frame(), while also removing the call
22171           to gst_video_encoder_negotiate() since this is implicit in _finish()
22172           if caps changed. Also fixed memory leaks that occured on error.
22173
22174 2013-11-28 13:57:54 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22175
22176         * gst/vaapi/gstvaapiencode.c:
22177         * gst/vaapi/gstvaapiencode.h:
22178         * gst/vaapi/gstvaapiencode_h264.c:
22179         * gst/vaapi/gstvaapiencode_h264.h:
22180         * gst/vaapi/gstvaapiencode_mpeg2.c:
22181           vaapiencode: additional clean-ups.
22182           Constify pointers wherever possible. Drop unused variables, and use
22183           consistent variable names. Fix gst_vaapiencode_h264_allocate_buffer()
22184           to correctly report errors, especially when in-place conversion from
22185           bytestream to avcC format failed.
22186
22187 2013-11-28 13:26:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22188
22189         * gst/vaapi/gstvaapiencode.c:
22190         * gst/vaapi/gstvaapiencode.h:
22191         * gst/vaapi/gstvaapiencode_h264.c:
22192         * gst/vaapi/gstvaapiencode_h264.h:
22193         * gst/vaapi/gstvaapiencode_mpeg2.c:
22194         * gst/vaapi/gstvaapiencode_mpeg2.h:
22195           vaapiencode: move common properties to base class.
22196           Move "rate-control" mode and "bitrate" properties to the GstVaapiEncode
22197           base class. The actual range of supported rate control modes is currently
22198           implemented as a plug-in element hook. This ought to be determined from
22199           the GstVaapiEncoder object instead, i.e. from libgstvaapi.
22200
22201 2013-11-28 10:54:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22202
22203         * gst/vaapi/gstvaapiencode_h264.c:
22204         * gst/vaapi/gstvaapiencode_mpeg2.c:
22205           vaapiencode: fix plugin description and debug name.
22206           Align the plug-in debug category to its actual name. i.e. enable debug
22207           logs through vaapiencode_<CODEC> where <CODEC> is mpeg2, h264, etc. Fix
22208           the plug-in element description to make it more consistent with other
22209           VA-API plug-ins.
22210
22211 2013-11-27 16:27:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22212
22213         * configure.ac:
22214         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22215         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
22216         * gst-libs/gst/video/Makefile.am:
22217         * gst/vaapi/gstvaapiencode.c:
22218         * gst/vaapi/gstvaapiencode.h:
22219         * gst/vaapi/gstvaapiencode_h264.c:
22220         * gst/vaapi/gstvaapiencode_mpeg2.c:
22221           vaapiencode: add initial support for GStreamer 0.10.
22222
22223 2013-11-27 16:25:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22224
22225         * gst-libs/gst/vaapi/gstcompat.h:
22226           libs: add more GstBuffer compat glue for GStreamer 0.10.
22227           Add gst_buffer_new_allocate() and gst_buffer_fill() implementations.
22228           Fix gst_buffer_new_wrapped_full() implementation to handle the destroy
22229           notify function.
22230
22231 2013-11-27 15:56:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22232
22233         * configure.ac:
22234         * gst-libs/gst/video/Makefile.am:
22235           libs: always use built-in videoutils for GStreamer 0.10.
22236           GStreamer 0.10.36 is the latest and ultimate version to be released
22237           from the GStreamer 0.10 branch. i.e. no further releases are to be
22238           made. So, we can safely enable the built-in videoutils replacement
22239           now that they are in sync with the 0.10 branch.
22240
22241 2013-11-27 15:47:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22242
22243         * ext/videoutils:
22244           videoutils: update to master commit d4a15a5.
22245           d4a15a5 video: fix compiler warning in header with C++11 / clang-3.1
22246           86096cc videodecoder: minor cosmetic changes to align a bit more with master
22247           b4b8b52 videodecoder: allow parse function to not use all data on adapter
22248           2145495 videodecoder: warn if frame list gets long
22249           36c3753 videodecoder: Also use the object lock to protect the output_state
22250           518c93d videodecoder: fix seeking again
22251           185fb63 video: Correct usage of the base class stream lock
22252           170e944 videodecoder: Expose _negotiate function
22253
22254 2013-11-26 12:06:07 +0000  Matthieu Bouron <matthieu.bouron@collabora.com>
22255
22256         * configure.ac:
22257         * gst-libs/gst/vaapi/Makefile.am:
22258         * tests/Makefile.am:
22259           Fix build with GStreamer >= 1.3.
22260           http://bugzilla.gnome.org/show_bug.cgi?id=715183
22261           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22262
22263 2013-11-26 17:56:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22264
22265         * configure.ac:
22266           configure: disable encoders with GStreamer 0.10.
22267           Don't try to build video encoders for GStreamer 0.10. Support code is
22268           not there yet, and probably will never for such an ancient version.
22269
22270 2013-11-26 17:26:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22271
22272         * gst/vaapi/gstvaapiencode.c:
22273           vaapiencode: fix error handling while allocating output buffers.
22274           Fix default GstVideoEncoder::allocate_buffer() implementation to properly
22275           unmap the coded buffer prior to returning an error.
22276
22277 2013-11-26 17:11:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22278
22279         * gst/vaapi/gstvaapiencode.c:
22280           vaapiencode: fix error handling in _finish() hook.
22281           Fix GstVideoEncoder::finish() implementation to really return possible
22282           errors instead of GST_FLOW_OK. That is, fix check for timeout status.
22283
22284 2013-11-26 16:34:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22285
22286         * gst/vaapi/gstvaapiencode.c:
22287         * gst/vaapi/gstvaapiencode.h:
22288         * gst/vaapi/gstvaapiencode_h264.c:
22289         * gst/vaapi/gstvaapiencode_h264.h:
22290         * gst/vaapi/gstvaapiencode_mpeg2.c:
22291         * gst/vaapi/gstvaapiencode_mpeg2.h:
22292           vaapiencode: minor clean-ups.
22293           Add a GST_VAAPIENCODE_CAST() helper to avoid run-time checks against
22294           the GObject type system. We are guaranteed to only deal with the same
22295           plug-in element object.
22296
22297 2013-11-26 15:31:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22298
22299         * gst/vaapi/gstvaapiencode.c:
22300         * gst/vaapi/gstvaapiencode_h264.c:
22301         * gst/vaapi/gstvaapiencode_mpeg2.c:
22302           vaapiencode: fix support for raw YUV sink buffers.
22303           Allow vaapiencode plug-in elements to encode from raw YUV buffers.
22304           The most efficient way to do so is to let the vaapiencode elements
22305           allocate a buffer pool, and subsequently buffers from it. This means
22306           that upstream elements are expected to honour downstream pools.
22307           If upstream elements insist on providing their own allocated buffers
22308           to the vaapiencode elements, then it possibly would be more efficient
22309           to insert a vaapipostproc element before the vaapiencode element.
22310           This is because vaapipostproc currently has better support than other
22311           elements for "foreign" raw YUV buffers.
22312
22313 2013-11-26 15:12:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22314
22315         * gst/vaapi/gstvaapiencode.c:
22316           vaapiencode: fix support for GStreamer 1.2.
22317
22318 2013-11-07 17:42:21 +0800  Wind Yuan <feng.yuan@intel.com>
22319
22320         * gst/vaapi/gstvaapiencode.c:
22321         * gst/vaapi/gstvaapiencode_h264.c:
22322         * gst/vaapi/gstvaapiencode_mpeg2.c:
22323           vaapiencode: initial port to GStreamer 1.2.
22324           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22325
22326 2013-11-20 16:21:32 +0800  XuGuangxin <guangxin.xu@intel.com>
22327
22328         * gst/vaapi/Makefile.am:
22329         * gst/vaapi/gstvaapi.c:
22330         * gst/vaapi/gstvaapiencode_mpeg2.c:
22331         * gst/vaapi/gstvaapiencode_mpeg2.h:
22332           plugins: add mpeg2 encoder element.
22333           Add GstVaapiEncodeMPEG2 element object. The actual plug-in element
22334           is called "vaapiencode_mpeg2".
22335           Valid properties:
22336           - rate-control: rate control mode (default: cqp - constant QP)
22337           - bitrate: desired bitrate in kbps (default: auto-calculated)
22338           - key-period: maximal distance between two key frames (default: 30)
22339           - max-bframes: number of B-frames between I and P (default: 2)
22340           - quantizer: constant quantizer (default: 8)
22341           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22342
22343 2013-07-29 16:02:56 +0800  Wind Yuan <feng.yuan@intel.com>
22344
22345         * gst/vaapi/Makefile.am:
22346         * gst/vaapi/gstvaapi.c:
22347         * gst/vaapi/gstvaapiencode_h264.c:
22348         * gst/vaapi/gstvaapiencode_h264.h:
22349           plugins: add h264 encoder element.
22350           Add GstVaapiEncodeH264 element object. The actual plug-in element
22351           is called "vaapiencode_h264".
22352           Valid properties:
22353           - rate-control: rate control mode (default: none)
22354           - bitrate: desired bitrate in kbps (default: auto-calculated)
22355           - key-period: maximal distance between two key frames (default: 30)
22356           - num-slices: number of slices per frame (default: 1)
22357           - max-bframes: number of B-frames between I and P (default: 0)
22358           - min-qp: minimal quantizer (default: 1)
22359           - init-qp: initial quantizer (default: 26)
22360           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22361
22362 2013-07-29 13:44:48 +0800  Wind Yuan <feng.yuan@intel.com>
22363
22364         * gst/vaapi/Makefile.am:
22365         * gst/vaapi/gstvaapiencode.c:
22366         * gst/vaapi/gstvaapiencode.h:
22367           plugins: add base encoder element.
22368           vaapiencode element is based on GstVideoEncoder APIs.
22369           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22370
22371 2013-11-20 16:20:15 +0800  XuGuangxin <guangxin.xu@intel.com>
22372
22373         * gst-libs/gst/vaapi/Makefile.am:
22374         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.c:
22375         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2.h:
22376         * gst-libs/gst/vaapi/gstvaapiencoder_mpeg2_priv.h:
22377           encoder: add mpeg2 encoder.
22378           Add initial support for MPEG-2 encoding. I/P/B frames are supported.
22379           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22380
22381 2013-07-29 15:46:11 +0800  Wind Yuan <feng.yuan@intel.com>
22382
22383         * gst-libs/gst/vaapi/Makefile.am:
22384         * gst-libs/gst/vaapi/gstvaapiencoder_h264.c:
22385         * gst-libs/gst/vaapi/gstvaapiencoder_h264.h:
22386         * gst-libs/gst/vaapi/gstvaapiencoder_h264_priv.h:
22387           encoder: add h264 encoder.
22388           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22389
22390 2013-07-29 13:34:06 +0800  Wind Yuan <feng.yuan@intel.com>
22391
22392         * configure.ac:
22393         * gst-libs/gst/vaapi/Makefile.am:
22394         * gst-libs/gst/vaapi/gstvaapiencoder.c:
22395         * gst-libs/gst/vaapi/gstvaapiencoder.h:
22396         * gst-libs/gst/vaapi/gstvaapiencoder_objects.c:
22397         * gst-libs/gst/vaapi/gstvaapiencoder_objects.h:
22398         * gst-libs/gst/vaapi/gstvaapiencoder_priv.h:
22399           Add initial infrastructure for video encoding.
22400           Add initial API for video encoding: only basic interfaces and small
22401           encoder objects are implemented so far.
22402           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22403
22404 2013-07-29 15:41:23 +0800  Wind Yuan <feng.yuan@intel.com>
22405
22406         * configure.ac:
22407         * gst-libs/gst/Makefile.am:
22408         * gst-libs/gst/base/Makefile.am:
22409         * gst-libs/gst/base/gstbitwriter.c:
22410         * gst-libs/gst/base/gstbitwriter.h:
22411         * gst-libs/gst/vaapi/Makefile.am:
22412           libs: add generic bitstream writer.
22413           GstBitWriter provides a bit writer that can write any number of bits
22414           to a pre-allocated memory buffer. Helper functions are also provided
22415           to write any number of bits from 8, 16, 32 and 64 bit variables.
22416           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22417
22418 2013-07-12 22:07:59 +0800  Wind Yuan <feng.yuan@intel.com>
22419
22420         * gst-libs/gst/vaapi/gstvaapicontext.c:
22421         * gst-libs/gst/vaapi/gstvaapicontext.h:
22422           libs: add support for rate-control to GstVaapiContext.
22423           Extend GstVaapiContextInfo structure to hold the desired rate control
22424           mode for encoding purposes. For decoding purposes, this field is not
22425           used and it is initialized to GST_VAAPI_RATECONTROL_NONE.
22426           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22427
22428 2013-07-12 21:33:32 +0800  Wind Yuan <feng.yuan@intel.com>
22429
22430         * gst-libs/gst/vaapi/gstvaapitypes.h:
22431         * gst-libs/gst/vaapi/gstvaapiutils.c:
22432         * gst-libs/gst/vaapi/gstvaapiutils.h:
22433         * gst-libs/gst/vaapi/gstvaapivalue.c:
22434         * gst-libs/gst/vaapi/gstvaapivalue.h:
22435           libs: add rate-control attributes.
22436           Add GstVaapiRateControl types and GType values in view to supporting
22437           rate controls for encoding. This is meant to be used for instance in
22438           GstVaapiContext.
22439           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22440
22441 2013-11-22 11:56:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22442
22443         * configure.ac:
22444           Bump version for development.
22445
22446 2013-11-22 11:28:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22447
22448         * gst/vaapi/Makefile.am:
22449           build: fix for Wayland headers not in standard include dirs.
22450           Fix build when Wayland headers don't live in plain system include dirs
22451           like /usr/include but rather in /usr/include/wayland for instance.
22452           Original patch written by Dominique Leuenberger <dimstar@opensuse.org>
22453           https://bugzilla.gnome.org/show_bug.cgi?id=712282
22454
22455 2013-11-14 10:58:37 +0000  Ross Burton <ross.burton@intel.com>
22456
22457         * gst-libs/gst/vaapi/Makefile.am:
22458           build: link libgstvaapi-wayland against videoutils.
22459           This library is using symbols that don't exist in GStreamer 0.10 so
22460           it needs to link to built-in implementation (libgstvaapi-videoutils).
22461           https://bugzilla.gnome.org/show_bug.cgi?id=712282
22462           Signed-off-by: Ross Burton <ross.burton@intel.com>
22463           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22464
22465 2013-11-22 11:15:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22466
22467         * gst-libs/gst/vaapi/gstvaapifilter.c:
22468         * gst/vaapi/gstvaapipostproc.c:
22469           vaapostproc: fix memory leaks.
22470           Destroy VPP output surface pool on exit. Also avoid a possible crash
22471           in double-free situation caused by insufficiently reference counted
22472           array of formats returned during initialization.
22473
22474 2013-11-22 10:19:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22475
22476         * gst/vaapi/gstvaapipostproc.c:
22477         * gst/vaapi/gstvaapipostproc.h:
22478           vaapipostproc: fix and optimize advanced deinterlacing mode.
22479           Fix advanced deinterlacing modes with VPP to track only up to 2 past
22480           reference buffers. This used to be 3 past reference buffers but this
22481           doesn't fit with the existing decode pipeline that only has 4 extra
22482           scratch surfaces.
22483           Also optimize references tracking to be only enabled when needed, i.e.
22484           when advanced deinterlacing mode is used. This means that we don't
22485           need to track past references for basic bob or weave deinterlacing.
22486
22487 2013-11-22 10:04:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22488
22489         * gst/vaapi/gstvaapipostproc.c:
22490           vaapipostproc: fix "mixed" mode deinterlacing.
22491           In "mixed" interlaced streams, the buffer contains additional flags that
22492           specify whether the frame contained herein is interlaced or not. This means
22493           that we can alternatively get progressive or interlaced frames. Make sure
22494           to disable deinterlacing at the VPP level when the source buffer is no longer
22495           interlaced.
22496
22497 2013-11-22 09:49:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22498
22499         * gst/vaapi/gstvaapipostproc.c:
22500           vaapipostproc: fix memory leaks with advanced deinterlacing.
22501           Fix memory leaks with advanced deinterlacing, i.e. when we keep track
22502           of past buffers. Completely reset the deinterlace state, thus destroying
22503           any buffer currently held, on _start(), _stop() and _destroy().
22504
22505 2013-11-22 06:59:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22506
22507         * README:
22508           README: updates.
22509           - GStreamer 1.2 APIs are supported ;
22510           - Video Processing (VA/VPP) features.
22511
22512 2013-11-22 06:45:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22513
22514         * README:
22515           README: update for GStreamer >= 1.0.x and VPP features.
22516
22517 2013-11-22 06:37:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22518
22519         * gst-libs/gst/vaapi/glibcompat.h:
22520         * gst-libs/gst/vaapi/gstvaapicontext.h:
22521         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
22522         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
22523         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
22524         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
22525         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
22526         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
22527         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
22528         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
22529         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
22530         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
22531         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
22532         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
22533         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
22534         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
22535         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
22536         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
22537         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
22538         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
22539         * gst-libs/gst/vaapi/gstvaapiimage.c:
22540         * gst-libs/gst/vaapi/gstvaapiimage.h:
22541         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
22542         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
22543         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
22544         * gst-libs/gst/vaapi/gstvaapiobject.c:
22545         * gst-libs/gst/vaapi/gstvaapiobject.h:
22546         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
22547         * gst-libs/gst/vaapi/gstvaapiprofile.c:
22548         * gst-libs/gst/vaapi/gstvaapisurface.h:
22549         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
22550         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
22551         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
22552         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
22553         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
22554         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
22555         * gst-libs/gst/vaapi/gstvaapitexture.c:
22556         * gst-libs/gst/vaapi/gstvaapitexture.h:
22557         * gst-libs/gst/vaapi/gstvaapitypes.h:
22558         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
22559         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
22560         * gst-libs/gst/vaapi/gstvaapivalue.c:
22561         * gst-libs/gst/vaapi/gstvaapivalue.h:
22562         * gst-libs/gst/vaapi/gstvaapivideopool.c:
22563         * gst-libs/gst/vaapi/gstvaapivideopool.h:
22564         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
22565         * gst-libs/gst/vaapi/gstvaapiwindow.c:
22566         * gst-libs/gst/vaapi/gstvaapiwindow.h:
22567         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
22568         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
22569         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
22570         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
22571         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
22572         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
22573         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
22574         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
22575         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
22576         * gst/vaapi/gstvaapi.c:
22577         * gst/vaapi/gstvaapidecode.h:
22578         * gst/vaapi/gstvaapidownload.h:
22579         * gst/vaapi/gstvaapipluginutil.c:
22580         * gst/vaapi/gstvaapipluginutil.h:
22581         * gst/vaapi/gstvaapipostproc.h:
22582         * gst/vaapi/gstvaapisink.h:
22583         * gst/vaapi/gstvaapivideoconverter_glx.h:
22584         * tests/image.c:
22585         * tests/image.h:
22586         * tests/output.h:
22587         * tests/test-display.c:
22588         * tests/test-jpeg.c:
22589         * tests/test-jpeg.h:
22590         * tests/test-mpeg4.c:
22591         * tests/test-mpeg4.h:
22592         * tests/test-surfaces.c:
22593         * tests/test-windows.c:
22594           legal: update copyright notice dates.
22595
22596 2013-11-22 05:57:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22597
22598         * gst-libs/gst/vaapi/glibcompat.h:
22599         * gst-libs/gst/vaapi/gstcompat.h:
22600         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
22601         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
22602         * gst-libs/gst/vaapi/gstvaapicompat.h:
22603         * gst-libs/gst/vaapi/gstvaapicontext.c:
22604         * gst-libs/gst/vaapi/gstvaapicontext.h:
22605         * gst-libs/gst/vaapi/gstvaapidebug.h:
22606         * gst-libs/gst/vaapi/gstvaapidecoder.c:
22607         * gst-libs/gst/vaapi/gstvaapidecoder.h:
22608         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
22609         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
22610         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
22611         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
22612         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
22613         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
22614         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
22615         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
22616         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
22617         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
22618         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
22619         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
22620         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
22621         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
22622         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
22623         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
22624         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
22625         * gst-libs/gst/vaapi/gstvaapidisplay.c:
22626         * gst-libs/gst/vaapi/gstvaapidisplay.h:
22627         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
22628         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
22629         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
22630         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
22631         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
22632         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
22633         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
22634         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
22635         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
22636         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
22637         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
22638         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
22639         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
22640         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
22641         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
22642         * gst-libs/gst/vaapi/gstvaapifilter.c:
22643         * gst-libs/gst/vaapi/gstvaapifilter.h:
22644         * gst-libs/gst/vaapi/gstvaapiimage.c:
22645         * gst-libs/gst/vaapi/gstvaapiimage.h:
22646         * gst-libs/gst/vaapi/gstvaapiimage_priv.h:
22647         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
22648         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
22649         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
22650         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
22651         * gst-libs/gst/vaapi/gstvaapiobject.c:
22652         * gst-libs/gst/vaapi/gstvaapiobject.h:
22653         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
22654         * gst-libs/gst/vaapi/gstvaapiparser_frame.c:
22655         * gst-libs/gst/vaapi/gstvaapiparser_frame.h:
22656         * gst-libs/gst/vaapi/gstvaapipixmap.c:
22657         * gst-libs/gst/vaapi/gstvaapipixmap.h:
22658         * gst-libs/gst/vaapi/gstvaapipixmap_priv.h:
22659         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
22660         * gst-libs/gst/vaapi/gstvaapipixmap_x11.h:
22661         * gst-libs/gst/vaapi/gstvaapiprofile.c:
22662         * gst-libs/gst/vaapi/gstvaapiprofile.h:
22663         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
22664         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
22665         * gst-libs/gst/vaapi/gstvaapisurface.c:
22666         * gst-libs/gst/vaapi/gstvaapisurface.h:
22667         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
22668         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
22669         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
22670         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
22671         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
22672         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
22673         * gst-libs/gst/vaapi/gstvaapitexture.c:
22674         * gst-libs/gst/vaapi/gstvaapitexture.h:
22675         * gst-libs/gst/vaapi/gstvaapitypes.h:
22676         * gst-libs/gst/vaapi/gstvaapiutils.c:
22677         * gst-libs/gst/vaapi/gstvaapiutils.h:
22678         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
22679         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
22680         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
22681         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
22682         * gst-libs/gst/vaapi/gstvaapivalue.c:
22683         * gst-libs/gst/vaapi/gstvaapivalue.h:
22684         * gst-libs/gst/vaapi/gstvaapivideopool.c:
22685         * gst-libs/gst/vaapi/gstvaapivideopool.h:
22686         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
22687         * gst-libs/gst/vaapi/gstvaapiwindow.c:
22688         * gst-libs/gst/vaapi/gstvaapiwindow.h:
22689         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
22690         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
22691         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
22692         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
22693         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
22694         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
22695         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
22696         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
22697         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
22698         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
22699         * gst-libs/gst/vaapi/gstvaapiworkarounds.h:
22700         * gst-libs/gst/vaapi/sysdeps.h:
22701         * gst-libs/gst/vaapi/video-format.c:
22702         * gst-libs/gst/vaapi/video-format.h:
22703         * gst/vaapi/gstvaapi.c:
22704         * gst/vaapi/gstvaapidecode.c:
22705         * gst/vaapi/gstvaapidecode.h:
22706         * gst/vaapi/gstvaapidownload.c:
22707         * gst/vaapi/gstvaapidownload.h:
22708         * gst/vaapi/gstvaapipluginutil.c:
22709         * gst/vaapi/gstvaapipluginutil.h:
22710         * gst/vaapi/gstvaapipostproc.c:
22711         * gst/vaapi/gstvaapipostproc.h:
22712         * gst/vaapi/gstvaapisink.c:
22713         * gst/vaapi/gstvaapisink.h:
22714         * gst/vaapi/gstvaapiupload.c:
22715         * gst/vaapi/gstvaapiupload.h:
22716         * gst/vaapi/gstvaapiuploader.c:
22717         * gst/vaapi/gstvaapiuploader.h:
22718         * gst/vaapi/gstvaapivideobuffer.c:
22719         * gst/vaapi/gstvaapivideobuffer.h:
22720         * gst/vaapi/gstvaapivideobufferpool.c:
22721         * gst/vaapi/gstvaapivideobufferpool.h:
22722         * gst/vaapi/gstvaapivideocontext.c:
22723         * gst/vaapi/gstvaapivideocontext.h:
22724         * gst/vaapi/gstvaapivideoconverter_glx.c:
22725         * gst/vaapi/gstvaapivideoconverter_glx.h:
22726         * gst/vaapi/gstvaapivideoconverter_x11.c:
22727         * gst/vaapi/gstvaapivideoconverter_x11.h:
22728         * gst/vaapi/gstvaapivideomemory.c:
22729         * gst/vaapi/gstvaapivideomemory.h:
22730         * gst/vaapi/gstvaapivideometa.c:
22731         * gst/vaapi/gstvaapivideometa.h:
22732         * gst/vaapi/gstvaapivideometa_texture.c:
22733         * gst/vaapi/gstvaapivideometa_texture.h:
22734         * tests/codec.c:
22735         * tests/codec.h:
22736         * tests/decoder.c:
22737         * tests/decoder.h:
22738         * tests/image.c:
22739         * tests/image.h:
22740         * tests/output.c:
22741         * tests/output.h:
22742         * tests/simple-decoder.c:
22743         * tests/test-decode.c:
22744         * tests/test-decode.h:
22745         * tests/test-display.c:
22746         * tests/test-filter.c:
22747         * tests/test-h264.c:
22748         * tests/test-h264.h:
22749         * tests/test-jpeg.c:
22750         * tests/test-jpeg.h:
22751         * tests/test-mpeg2.c:
22752         * tests/test-mpeg2.h:
22753         * tests/test-mpeg4.c:
22754         * tests/test-mpeg4.h:
22755         * tests/test-surfaces.c:
22756         * tests/test-textures.c:
22757         * tests/test-vc1.c:
22758         * tests/test-vc1.h:
22759         * tests/test-windows.c:
22760           legal: add per-file authorship information.
22761           Credit original authors on a per-file basis as we cannot expect people
22762           to know all country-specific rules, or bother browsing through the git
22763           history.
22764
22765 2013-11-21 23:52:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22766
22767         * NEWS:
22768         * configure.ac:
22769           0.5.7.
22770
22771 2013-11-21 23:51:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22772
22773         * NEWS:
22774           NEWS: updates.
22775
22776 2013-11-21 23:17:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22777
22778         * gst-libs/gst/vaapi/gstvaapidecoder.h:
22779           decoder: don't include obsolete headers.
22780           The <gst/vaapi/gstvaapicontext.h> header was removed from the public
22781           set of APIs. So, don't make public headers (gstvaapidecoder.h) depend
22782           on private files.
22783
22784 2013-11-18 16:20:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22785
22786         * gst/vaapi/Makefile.am:
22787         * gst/vaapi/gstvaapi.c:
22788         * gst/vaapi/gstvaapipostproc.c:
22789           vaapipostproc: add initial support for GStreamer 1.2.
22790           Port vaapipostproc element to GStreamer 1.2. Support is quite minimal
22791           right now so that to cope with auto-plugging issues/regressions. e.g.
22792           this happens when the correct set of expected caps are being exposed.
22793           This means that, currently, the proposed caps are not fully accurate.
22794
22795 2013-11-01 10:22:17 +0800  Halley Zhao <halley.zhao@intel.com>
22796
22797         * gst/vaapi/gstvaapipostproc.c:
22798         * gst/vaapi/gstvaapipostproc.h:
22799           vaapipostproc: add support for denoise and sharpen filters.
22800           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22801
22802 2013-11-21 19:52:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22803
22804         * gst/vaapi/gstvaapipostproc.c:
22805         * gst/vaapi/gstvaapipostproc.h:
22806           vaapipostproc: add support for advanced deinterlacing.
22807           Add initial support for advanced deinterlacing. The history buffer
22808           size is arbitrarily set to 3 references for now.
22809
22810 2013-11-21 22:32:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22811
22812         * gst/vaapi/gstvaapipostproc.c:
22813           vaapipostproc: fix deinterlacing with VPP.
22814           Fix basic deinterlacing flags provided to gst_vaapi_set_deinterlacing()
22815           for the first field. Render flags were supplied instead of the actual
22816           deinterlacing flags (deint_flags).
22817
22818 2013-11-21 15:08:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22819
22820         * gst/vaapi/gstvaapipostproc.c:
22821           vaapipostproc: fix transform caps.
22822           Fix GstBaseTransform::transform_caps() implementation to always return
22823           the complete set of allowed sink pad caps (unfixated) even if the src
22824           pad caps we are getting are fixated. Rationale: there are just so many
22825           possible combinations, and it was wrong to provide a unique set anyway.
22826           As a side effect, this greatly simplifies the ability to derive src pad
22827           caps from fixated sink pad caps.
22828
22829 2013-11-01 10:31:13 +0800  Halley Zhao <halley.zhao@intel.com>
22830
22831         * docs/reference/libs/libs-sections.txt:
22832         * gst-libs/gst/vaapi/gstvaapifilter.c:
22833         * gst-libs/gst/vaapi/gstvaapifilter.h:
22834           filter: add helper to specify references for deinterlacing.
22835           Add gst_vaapi_fitler_set_deinterlacing_references() API to submit the
22836           list of surfaces used for forward or backward reference in advanced
22837           deinterlacing mode, e.g. Motion-Adaptive, Motion-Compensated.
22838           The list of surfaces used as deinterlacing references shall be live
22839           until the next call to gst_vaapi_filter_process().
22840           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22841
22842 2013-11-21 18:44:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22843
22844         * gst-libs/gst/vaapi/gstvaapifilter.c:
22845         * gst-libs/gst/vaapi/gstvaapifilter.h:
22846         * gst-libs/gst/vaapi/gstvaapiutils.c:
22847         * gst/vaapi/gstvaapipostproc.c:
22848         * tests/test-filter.c:
22849           filter: fix semantics of deinterlacing flags.
22850           Fix deinterlacing flags to make more sense. The TFF (top-field-first)
22851           flag is meant to specify the organization of reference frames used in
22852           advanced deinterlacing modes. Introduce the more explicit flag TOPFIELD
22853           to specify that the top-field of the supplied input surface is to be
22854           used for deinterlacing. Conversely, if not set, this means that the
22855           bottom field of the supplied input surface will be used instead.
22856
22857 2013-11-21 17:20:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22858
22859         * docs/reference/libs/libs-sections.txt:
22860         * gst-libs/gst/vaapi/gstvaapifilter.c:
22861         * gst-libs/gst/vaapi/gstvaapifilter.h:
22862           filter: add helpers to check for supported/active operation.
22863           Add a couple of helper functions:
22864           - gst_vaapi_filter_has_operation(): checks whether the VA driver
22865           advertises support for the supplied operation ;
22866           - gst_vaapi_filter_use_operation(): checks whether the supplied
22867           operation was already enabled to its non-default value.
22868
22869 2013-11-20 15:10:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22870
22871         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
22872           libs: fix GstVaapiSurfaceProxy destroy notify call site.
22873           The user-defined destroy notify function is meant to be called only when
22874           the surface proxy was fully released, i.e. once it actually released the
22875           VA surface back to the underlying pool.
22876
22877 2013-08-29 13:44:22 +0800  XuGuangxin <guangxin.xu@intel.com>
22878
22879         * gst-libs/gst/vaapi/gstvaapivideopool.c:
22880         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
22881           libs: make GstVaapiVideoPool thread-safe.
22882           https://bugzilla.gnome.org/show_bug.cgi?id=707108
22883           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22884
22885 2013-08-29 14:04:06 +0800  XuGuangxin <guangxin.xu@intel.com>
22886
22887         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
22888         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
22889           libs: robustify decoder objects and surface proxy initialization.
22890           Fix GstVaapiPicture, GstVaapiSlice and GstVaapiSurfaceProxy initialization
22891           sequences to have the expected default values set beforehand in case of an
22892           error raising up further during creation. i.e. make it possible to cleanly
22893           destroy those partially initialized objects.
22894           https://bugzilla.gnome.org/show_bug.cgi?id=707108
22895           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22896
22897 2013-11-21 11:01:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22898
22899         * gst/vaapi/gstvaapidecode.c:
22900           vaapidecode: fix decoder flush.
22901           There are situations where gst_video_decoder_flush() is called, and
22902           this subsequently produces a gst_video_decoder_reset() that kills the
22903           currently active GstVideoCodecFrame. This means that it no longer
22904           exists by the time we reach GstVideoDecoder::finish() callback, thus
22905           possibly resulting in a crash if we assumed spare data was still
22906           available for decode (current_frame_size > 0).
22907           Try to honour GstVideoDecoder::reset() behaviour from GStreamer 1.0
22908           that means a flush, thus performing the actual operations there like
22909           calling gst_video_decoder_have_frame() if pending data is available.
22910
22911 2013-11-20 19:21:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22912
22913         * gst/vaapi/gstvaapidecode.c:
22914         * gst/vaapi/gstvaapidecode.h:
22915           vaapidecode: fix dead-locks with decoder task.
22916           Review all interactions between the main video decoder stream thread
22917           and the decode task to derive a correct sequence of operations for
22918           decoding. Also avoid extra atomic operations that become implicit under
22919           the GstVideoDecoder stream lock.
22920
22921 2013-08-29 14:12:10 +0800  XuGuangxin <guangxin.xu@intel.com>
22922
22923         * gst/vaapi/gstvaapidecode.c:
22924           vaapidecode: fix hard reset for seek cases.
22925           Fix hard reset for seek cases by flushing the GstVaapiDecoder queue
22926           and completely purge any decoded output frame that may come out from
22927           it. At this stage, the GstVaapiDecoder shall be in a complete clean
22928           state to start decoding over new buffers.
22929           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22930
22931 2013-08-29 14:12:10 +0800  XuGuangxin <guangxin.xu@intel.com>
22932
22933         * gst/vaapi/gstvaapidecode.c:
22934         * gst/vaapi/gstvaapidecode.h:
22935           vaapidecode: drop decode timeout, always wait for a free surface.
22936           vaapidecode used to wait up to one second past the expected time of
22937           presentation for the last decoded frame. This is not realistic in
22938           practice when it comes to video pause/resume. Changed behaviour to
22939           unconditionnally wait for a free VA surface prior to continuing the
22940           decoding. The decode task will continue pushing the output frames to
22941           the downstream element while also reporting errors at the same time
22942           to the main thread.
22943           https://bugzilla.gnome.org/show_bug.cgi?id=707108
22944           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22945
22946 2013-11-20 10:56:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22947
22948         * gst/vaapi/gstvaapidecode.c:
22949           vaapidecode: fix srcpad caps for GStreamer 1.2.
22950           The srcpad caps exposed for GStreamer 1.2 were missing any useful info
22951           like framerate, pixel-aspect-ratio, interlace-mode et al. Not to mention
22952           that it relied on possibly un-initialized data. Fix srcpad caps to be
22953           initialized from a sanitized copy of GstVideoDecoder output state caps.
22954           Note: the correct way to expose the srcpad caps triggers an additional
22955           issue in core GStreamer auto-plugging capabilities as the correct caps
22956           to be exposed should be format=ENCODED with memory:VASurface caps feature
22957           at the minimum. In some situations, we could determine the underlying
22958           VA surface format, but this is not always possible. e.g. cases where it
22959           is not allowed to expose the underlying VA surface data, or when the
22960           VA driver implementation cannot actually provide such information.
22961
22962 2013-11-20 10:45:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22963
22964         * gst/vaapi/gstvaapidecode.c:
22965         * gst/vaapi/gstvaapisink.c:
22966           plugins: streamline VA formats exposed in caps to a realistic set.
22967           Currently, the decoder only supports YUV 4:2:0 output. So, expose the
22968           output formats for GStreamer 1.2 in caps to a realistic subset. This
22969           means NV12, I420 or YV12 but also ENCODED if we cannot determine the
22970           underlying VA surface format, or if it is actually not allowed to get
22971           access to the surface contents.
22972
22973 2013-11-20 10:37:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22974
22975         * gst/vaapi/gstvaapidecode.c:
22976         * gst/vaapi/gstvaapisink.c:
22977           plugins: expose the expected format for GstVideoGLTextureUploadMeta.
22978           Fix vaapidecode srcpad caps to only expose RGBA video format for the
22979           meta:GstVideoGLTextureUploadMeta feature. That's only what is supported
22980           so far. Besides, drop this meta from the vaapisink sinkpad caps since
22981           we really don't support that for rendering.
22982           https://bugzilla.gnome.org/show_bug.cgi?id=711828
22983
22984 2013-11-18 18:25:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
22985
22986         * configure.ac:
22987           configure: automatically detect GStreamer API version.
22988           Automatically detect GStreamer API version. The --with-gstreamer-api
22989           configure option now defaults to "autodetect" and configure then tries
22990           to derive the GStreamer API version from the highest version based on
22991           what pkg-config --modversion would report.
22992           https://bugzilla.gnome.org/show_bug.cgi?id=711657
22993
22994 2013-11-01 13:43:11 +0800  Wind Yuan <feng.yuan@intel.com>
22995
22996         * gst/vaapi/gstvaapipostproc.c:
22997           vaapipostproc: fix support for raw YUV data upload on GStreamer 1.0.
22998           Fix raw YUV data uploaded as in the following pipeline:
22999           $ gst-launch-1.0 filesrc video.yuv ! videoparse ! vaapipostproc ! vaapisink
23000           The main reason why it failed was that the videoparse element simply
23001           allocates GstBuffer with raw data chunk'ed off the sink pad without
23002           any prior knowledge of the actual frame info. i.e. it basically just
23003           calls gst_adapter_take_buffer().
23004           We could avoid the extra copy performed in vaapipostproc if the videoparse
23005           element was aware of the downstream pool and bothers copying line by
23006           line, for each plane. This means that, for a single frame per buffer,
23007           the optimizatin will be to allocate the video buffer downstream, map
23008           it, and copy each line that is coming through until we need to fills
23009           in the successive planes.
23010           Still, optimized raw YUV uploads already worked with the following:
23011           $ gst-launch-1.0 videotestsrc ! vaapipostproc ! vaapisink
23012           https://bugzilla.gnome.org/show_bug.cgi?id=711250
23013           [clean-ups, fixed error cases to unmap and unref outbuf]
23014           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23015
23016 2013-11-16 07:02:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23017
23018         * gst/vaapi/gstvaapipostproc.c:
23019           vaapipostproc: try to downgrade deinterlace-method when needed.
23020           If the currently selected deinterlacing method is not supported by the
23021           underlying hardware, then try to downgrade the method to a supported one.
23022           At the minimum, basic bob-deinterlacing shall always be supported.
23023
23024 2013-11-15 19:04:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23025
23026         * gst/vaapi/gstvaapipostproc.c:
23027           vaapipostproc: add initial support for deinterlacing with VPP.
23028           Allow basic bob-deinterlacing to work when VPP is enabled. Currently,
23029           this only covers bob-deinterlacing when the output pixel format is
23030           explicitly set.
23031
23032 2013-11-15 17:14:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23033
23034         * gst/vaapi/gstvaapipostproc.c:
23035           vaapipostproc: fix build on 64-bit platforms with GStreamer 0.10.
23036           The size argument for GstBaseTransform::transform_size() hook is a
23037           guint in GStreamer 0.10 APIs but a gsize in GStreamer >= 1.0.X APIs.
23038
23039 2013-10-18 18:08:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23040
23041         * gst/vaapi/gstvaapipostproc.c:
23042         * gst/vaapi/gstvaapipostproc.h:
23043           vaapipostproc: add initial support for scaling.
23044           Add initial support for basic scaling with size specified through the
23045           "width" and "height" properties. If either user-provided dimension is
23046           zero and "force-aspect-ratio" is set to true (the default), then the
23047           other dimension is scaled to preserve the aspect ratio.
23048
23049 2013-10-18 18:08:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23050
23051         * gst/vaapi/gstvaapipostproc.c:
23052         * gst/vaapi/gstvaapipostproc.h:
23053           vaapipostproc: add initial support for color conversion.
23054           If VPP is available, we always try to implicitly convert the source
23055           buffer to the "native" surface format for the underlying accelerator.
23056           This means that no optimization is performed yet to propagate raw YUV
23057           buffers to the downstream element as is, if VPP is available. i.e. it
23058           will always cause a color conversion.
23059
23060 2013-10-16 11:23:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23061
23062         * gst/vaapi/gstvaapipostproc.c:
23063           vaapipostproc: fix bug when user disabled deinterlacing.
23064           Fix pipeline error / hang when the user disabled deinterlacing through
23065           the deinterlace-mode=disabled property setting.
23066
23067 2013-10-16 11:20:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23068
23069         * gst/vaapi/gstvaapipostproc.c:
23070         * gst/vaapi/gstvaapipostproc.h:
23071           vaapipostproc: factor out operations to be applied into flags.
23072           Even if we only support deinterlacing for now, use flags to specify
23073           which filters are to be applied to each frame we receive in transform().
23074           This is preparatory work for integrating new filters.
23075
23076 2013-10-04 15:37:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23077
23078         * gst/vaapi/gstvaapipostproc.c:
23079         * gst/vaapi/gstvaapipostproc.h:
23080           vaapipostproc: add support for raw YUV video source buffers.
23081           Allow video processing from raw YUV buffers coming from the sink pad,
23082           while still producing a VA surface for the downstream elements.
23083
23084 2013-10-04 16:00:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23085
23086         * gst/vaapi/gstvaapipluginutil.c:
23087         * gst/vaapi/gstvaapipluginutil.h:
23088         * gst/vaapi/gstvaapipostproc.c:
23089           vaapipostproc: add support for "mixed" interlace mode.
23090           Add support for "mixed" interlace-mode, whereby the video frame buffer
23091           shall be deinterlaced only if its flags mention that's actually an
23092           interlaced frame buffer.
23093
23094 2013-10-03 19:04:07 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23095
23096         * gst-libs/gst/vaapi/gstcompat.h:
23097         * gst/vaapi/gstvaapipostproc.c:
23098         * gst/vaapi/gstvaapipostproc.h:
23099         * gst/vaapi/gstvaapivideobuffer.c:
23100         * gst/vaapi/gstvaapivideobuffer.h:
23101           vaapipostproc: rework plug-in element.
23102           Rewrite the vaapipostproc plug-in element so that it derives from
23103           GstBaseTransform, thus simplifying the caps negotiation process.
23104
23105 2013-10-09 17:25:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23106
23107         * gst/vaapi/gstvaapivideobufferpool.c:
23108         * gst/vaapi/gstvaapivideomemory.c:
23109         * gst/vaapi/gstvaapivideomemory.h:
23110           plugins: fix and optimize check for buffer pool allocator params.
23111           Reset the buffer pool allocator only if the config caps changed in a
23112           sensible way: format or resolution change. i.e. don't bother with
23113           other caps like colorimetry et al. as this doesn't affect the way to
23114           allocate VA surfaces or images.
23115
23116 2013-10-09 10:33:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23117
23118         * gst/vaapi/gstvaapivideomemory.c:
23119           plugins: enable memory maps for read & write with direct-rendering.
23120           Enable read and write mappings only if direct-rendering is supported.
23121           Otherwise, this means that we may need to download data from the VA
23122           surface first for correctness, even if the VA surface doesn't need to
23123           be read at all. i.e. sometimes, READWRITE mappings are meant for
23124           surfaces that are written to first, and read afterwards for further
23125           processing.
23126           https://bugzilla.gnome.org/show_bug.cgi?id=704078
23127
23128 2013-10-09 10:06:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23129
23130         * gst/vaapi/gstvaapivideomemory.c:
23131           plugins: fix check for direct-rendering support.
23132           Fix check for direct-rendering if the creation of VA surfaces with
23133           an explicit pixel format is not support, e.g. VA-API < 0.34.0, and
23134           that we tried to allocate a VA surface based on the corresponding
23135           chroma type. i.e. in that particular case, we have to make sure that
23136           the derived image has actually the expected format.
23137
23138 2013-10-09 09:47:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23139
23140         * gst/vaapi/gstvaapivideobufferpool.c:
23141         * gst/vaapi/gstvaapivideomemory.c:
23142         * gst/vaapi/gstvaapivideomemory.h:
23143           plugins: fix buffer pool reset_buffer() to reset memory resources.
23144           Fix GstVaapiVideoBufferPool::reset_buffer() to reset the underlying
23145           memory resources, and more particularly the VA surface proxy. Most
23146           importantly, the GstVaapiVideoMeta is retained. Cached surface in
23147           memory are released, thus triggering a new allocation the next time
23148           we need to map the buffer.
23149
23150 2013-10-09 09:33:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23151
23152         * gst/vaapi/gstvaapivideomemory.c:
23153         * gst/vaapi/gstvaapivideomemory.h:
23154           plugins: fix GstVaapiVideoMemory to allocate VA surface proxies.
23155           Make sure GstVaapiVideoMemory allocates VA surface proxies from a
23156           pool stored in the parent VA memory allocator.
23157           This fixes the following scenario:
23158           - VA video buffer 1 is allocated from a buffer pool
23159           - Another video buffer is created, and inherits info from buffer 1
23160           - Buffer 1 is released, thus pushing it back to the buffer pool
23161           - New buffer alloc request comes it, this yields buffer 1 back
23162           - At this stage, buffers 1 and 2 still share the same underlying VA
23163           surface, but buffer 2 was already submitted downstream for further
23164           processing, thus conflicting with additional processing we were
23165           about to perform on buffer 1.
23166           Maybe the core GstBufferPool implementation should have been fixed
23167           instead to actually make sure that the returned GstBuffer memory we
23168           found from the pool is writable?
23169
23170 2013-10-04 19:34:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23171
23172         * gst/vaapi/gstvaapiuploader.c:
23173           plugins: create a proxy for GstVaapiUploader allocated buffers.
23174           Always make sure to allocate a VA surface proxy for GstVaapiUploader
23175           allocated buffers, i.e. make gst_vaapi_uploader_get_buffer() allocate
23176           a proxy surface.
23177           This fixes cases where we want to retain the underlying surface longer,
23178           instead of releasing it back to the surface pool right away.
23179
23180 2013-10-04 19:30:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23181
23182         * gst/vaapi/gstvaapidecode.c:
23183         * gst/vaapi/gstvaapipluginutil.c:
23184         * gst/vaapi/gstvaapipluginutil.h:
23185         * gst/vaapi/gstvaapipostproc.c:
23186           plugins: add helper function to disable deinterlacing in caps.
23187           Add gst_caps_set_interlaced() helper function that would reset the
23188           interlace-mode field to "progressive" for GStreamer >= 1.0, or the
23189           interlaced field to "false" for GStreamer 0.10.
23190
23191 2013-10-01 18:26:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23192
23193         * gst-libs/gst/vaapi/gstvaapifilter.c:
23194           filter: fix memory leak of VPP operations.
23195           Fix ensure_operations() to release the VPP operations array if non
23196           NULL, prior to returning to the caller. The former function was also
23197           renamed to a more meaningful get_operations() since the caller owns
23198           the returned array that needs to be released.
23199
23200 2013-09-04 13:53:25 +0800  Zhao Halley <halley.zhao@intel.com>
23201
23202         * gst-libs/gst/vaapi/gstvaapifilter.c:
23203           filter: fix first-time operation lookup.
23204           Fix first-time operation lookup through find_operation() if the set
23205           of supported operations was not initially determined through the
23206           gst_vaapi_filter_get_operations() helper function.
23207           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23208
23209 2013-09-04 13:53:25 +0800  Zhao Halley <halley.zhao@intel.com>
23210
23211         * gst-libs/gst/vaapi/gstvaapifilter.c:
23212           filter: fix colorbalance related subtypes.
23213           Fix intiialization of GstVaapiFilterOpData for colorbalance related
23214           operations. In particular, fill in the va_subtype field accordingly.
23215           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23216
23217 2013-09-30 17:08:12 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
23218
23219         * gst-libs/gst/vaapi/gstvaapifilter.c:
23220           filter: fix VA-API 0.34.0 symbol guards.
23221           VASurfaceAttrib and VAProcFilterParameterBufferType are symbols
23222           that need to be guarded for libva 0.34 and 0.33, respectively.
23223           https://bugzilla.gnome.org/show_bug.cgi?id=709102
23224           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23225
23226 2013-10-01 17:57:11 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
23227
23228         * gst/vaapi/gstvaapidecode.c:
23229         * gst/vaapi/gstvaapipluginutil.c:
23230         * gst/vaapi/gstvaapisink.c:
23231           plugins: hanle the context query in any pad.
23232           Also this patch simplifies the code, since now the query is common for the
23233           decoder and the sink.
23234           https://bugzilla.gnome.org/show_bug.cgi?id=709200
23235
23236 2013-10-01 12:09:44 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
23237
23238         * gst/vaapi/gstvaapivideocontext.c:
23239           plugins: query upstream element for a GstContext.
23240           Fix gst_vaapi_video_context_prepare() to also query upstream elements
23241           for a valid GstContext. Improve comments regarding the steps used to
23242           lookup or build that context, thus conforming to the GstContext API
23243           recommendations.
23244           https://bugzilla.gnome.org/show_bug.cgi?id=709112
23245           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23246
23247 2013-09-26 15:21:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23248
23249         * configure.ac:
23250         * debian.upstream/control.in:
23251           Fix detection and packaging of GStreamer 1.2.x builds.
23252           The GStreamer 1.2.x packages sticked to the naming convention for 1.0.x
23253           packages, i.e. -1.0 suffix. However, for gstreamer-vaapi packaging
23254           purposes, update the versioning to -1.2 suffix instead.
23255
23256 2013-07-15 13:41:00 +0200  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
23257
23258         * gst/vaapi/Makefile.am:
23259         * gst/vaapi/gstvaapidecode.c:
23260         * gst/vaapi/gstvaapidecode.h:
23261         * gst/vaapi/gstvaapisink.c:
23262         * gst/vaapi/gstvaapivideometa_texture.c:
23263         * gst/vaapi/gstvaapivideometa_texture.h:
23264           plugins: add support for GstVideoGLTextureUploadMeta.
23265           If the allocation meta GST_VIDEO_GL_TEXTURE_UPLOAD_META_API_TYPE is
23266           requested, and more specifically under a GLX configuration, then add
23267           the GstVideoGLTextureUploadMeta to the output buffer.
23268           https://bugzilla.gnome.org/show_bug.cgi?id=703236
23269           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23270
23271 2013-07-04 11:03:52 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
23272
23273         * gst/vaapi/gstvaapidecode.c:
23274         * gst/vaapi/gstvaapisink.c:
23275         * gst/vaapi/gstvaapivideomemory.h:
23276           plugins: add support for GstCaps features.
23277           Move VA video buffer memory from "video/x-surface,type=vaapi" format,
23278           as expressed in caps, to the more standard use of caps features. i.e.
23279           add "memory:VASurface" feature attribute to the associated caps.
23280           https://bugzilla.gnome.org/show_bug.cgi?id=703271
23281           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23282
23283 2013-07-12 12:58:57 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
23284
23285         * gst/vaapi/gstvaapidecode.c:
23286         * gst/vaapi/gstvaapisink.c:
23287           plugins: improve ::query() debugging messages.
23288           Fix gst_vaapidecode_query() to correctly display the query type name,
23289           instead of randomly displaying that we shared the underlying display.
23290           Also add debug info for the GstVaapiSink::query() handler, i.e. the
23291           supplied query type name actually.
23292           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23293
23294 2013-07-12 12:58:57 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
23295
23296         * gst/vaapi/gstvaapidecode.c:
23297         * gst/vaapi/gstvaapisink.c:
23298           plugins: add support for GstContext API.
23299           Add support for the new GstContext API from GStreamer 1.2.x.
23300           - implement the GstElement::set_context() hook ;
23301           - reply to the `context' query from downstream elements.
23302           https://bugzilla.gnome.org/show_bug.cgi?id=703235
23303           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23304
23305 2013-05-22 12:07:52 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
23306
23307         * gst/vaapi/Makefile.am:
23308         * gst/vaapi/gstvaapipluginutil.c:
23309         * gst/vaapi/gstvaapivideocontext.c:
23310         * gst/vaapi/gstvaapivideocontext.h:
23311           plugins: add compat layer for GstVideoContext.
23312           Add thin compatibility layer for the deprecated GstVideoContext API.
23313           For GStreamer API >= 1.2, this involves the following two functions:
23314           - gst_vaapi_video_context_prepare(): queries if a context is already
23315           set in the pipeline ;
23316           - gst_vaapi_video_context_propagate(): propagates the newly-created
23317           context to the rest of the pipeline.
23318           https://bugzilla.gnome.org/show_bug.cgi?id=703235
23319           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23320
23321 2013-05-21 12:42:39 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
23322
23323         * configure.ac:
23324         * gst/vaapi/Makefile.am:
23325         * gst/vaapi/gstvaapi.c:
23326         * gst/vaapi/gstvaapidecode.c:
23327         * gst/vaapi/gstvaapipluginutil.c:
23328         * gst/vaapi/gstvaapisink.c:
23329         * gst/vaapi/gstvaapivideobuffer.c:
23330           plugins: initial port to GStreamer 1.2.
23331           Port vaapidecode and vaapisink plugins to GStreamer API >= 1.2. This
23332           is rather minimalistic so that to test the basic functionality.
23333           Disable vaapipostproc plugin for now as further polishing is needed.
23334           Also disable GstVideoContext interface support since this API is now
23335           gone in 1.2.x. This is preparatory work for GstContext support.
23336           https://bugzilla.gnome.org/show_bug.cgi?id=703235
23337           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23338
23339 2013-09-24 16:21:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23340
23341         * tests/simple-decoder.c:
23342           tests: simple-decoder: fix for non-X11 backends.
23343           Don't try to create pixmaps if we have not requested that feature. This
23344           fixes execution for non-X11 backends, and most specifically DRM video
23345           output mode.
23346
23347 2013-09-24 16:22:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23348
23349         * ext/codecparsers:
23350           codecparsers: update to gst-vaapi-branch commit b33bd32.
23351           b33bd32 jpeg: fix and optimize scan for next marker code
23352
23353 2013-09-23 19:14:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23354
23355         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
23356           jpeg: fix calculation of MCU count.
23357           Fix calculation of MCU count for image sizes that are not a multiple
23358           of 8 pixels in either dimension, but also for non-common sampling
23359           factors like 4:2:2 in non-interleaved mode.
23360
23361 2013-09-23 16:49:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23362
23363         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
23364         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
23365         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
23366           jpeg: add support for multiscan images.
23367           Add support for images with multiple scans per frame. The Huffman table
23368           can be updated before SOS, and thus possibly requiring multiple uploads
23369           of Huffman tables to the VA driver. So, the latter must be able to cope
23370           with multiple VA buffers of type 'huffman-table' and with the correct
23371           sequential order.
23372
23373 2013-09-23 11:41:52 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23374
23375         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
23376           jpeg: improve robustness when packets are missing.
23377           Improve robustness when some expected packets where not received yet
23378           or that were not correctly decoded. For example, don't try to decode
23379           a picture if there was no valid frame headers.
23380
23381 2013-09-20 16:46:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23382
23383         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
23384           jpeg: minor clean-ups.
23385           Improve debugging and error messages. Rename a few variables to fit the
23386           existing naming conventions. Change some fatal asserts to non-fatal
23387           error codes.
23388
23389 2013-09-20 10:12:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23390
23391         * gst-libs/gst/vaapi/gstvaapidecoder.c:
23392         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
23393         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
23394           jpeg: rework and optimize parser.
23395           Split the input buffer data into decoder units that represent a JPEG
23396           segment. Handle scan decoder unit specifically so that it can include
23397           both the scan header (SOS) but also any other ECS or RSTi segment.
23398           That way, we parse the input buffer stream only once at the gst-vaapi
23399           level instead of (i) in gst_vaapi_decoder_jpeg_parse() to split the
23400           stream into frames SOI .. EOI and (ii) in decode_buffer() to further
23401           determine segment boundaries and decode them.
23402           In practice, this is a +15 to +25% performance improvement.
23403
23404 2013-09-17 14:29:54 +0800  Junfeng Xu <jun.feng.xu@intel.com>
23405
23406         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
23407           jpeg: handle comment segments.
23408           Fix decode_buffer() function to gracefully skip comment (COM) segments.
23409           This fixes decoding of streams generated by certain cameras, e.g. like
23410           the Logitech Pro C920.
23411           https://bugzilla.gnome.org/show_bug.cgi?id=708208
23412           Signed-off-by: Junfeng Xu <jun.feng.xu@intel.com>
23413
23414 2013-09-18 17:59:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23415
23416         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
23417           jpeg: fix determination of image bounds.
23418           Look for the exact image bounds characterised by the <SOI> and <EOI>
23419           markers. Use the gst_jpeg_parse() codec parser utility function to
23420           optimize the lookup for the next marker segment.
23421           https://bugzilla.gnome.org/show_bug.cgi?id=707447
23422
23423 2013-09-10 15:46:09 +0800  Junfeng Xu <jun.feng.xu@intel.com>
23424
23425         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
23426           jpeg: fix calculation of offset to next marker segment.
23427           Fix calculation of the offset to the next marker segment since the
23428           correction of the codecparser part to match the API specification.
23429           i.e. the GstJpegMarkerSegment.size field represents the size in bytes
23430           of the segment minus any marker prefix.
23431           https://bugzilla.gnome.org/show_bug.cgi?id=707447
23432           Signed-off-by: Junfeng Xu <jun.feng.xu@intel.com>
23433
23434 2013-09-20 18:30:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23435
23436         * ext/codecparsers:
23437           codecparsers: update to gst-vaapi-branch commit 23c7dde.
23438           23c7dde jpeg: fix calculation of segment size
23439
23440 2013-08-31 16:00:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23441
23442         * configure.ac:
23443           Bump version for development.
23444
23445 2013-08-31 15:47:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23446
23447         * NEWS:
23448         * configure.ac:
23449           0.5.6.
23450
23451 2013-08-31 15:46:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23452
23453         * NEWS:
23454           NEWS: updates.
23455
23456 2013-08-15 17:59:37 +0800  Wind Yuan <feng.yuan@intel.com>
23457
23458         * configure.ac:
23459         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
23460           configure: fix detection of VA/JPEG decoding API.
23461           Fix detection of VA/JPEG decoding API with non-standard libva packages.
23462           More precisely, some packages were shipping with a <va/va.h> header that
23463           did not include <va/va_dec_jpeg.h>.
23464           https://bugzilla.gnome.org/show_bug.cgi?id=706055
23465           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23466
23467 2013-04-18 19:49:42 +0800  Zhao Halley <halley.zhao@intel.com>
23468
23469         * gst/vaapi/gstvaapisink.c:
23470           vaapisink: ensure the uploader is setup for upstream allocated buffers.
23471           In GStreamer 0.10 builds, make sure that the GstVaapiUploader helper
23472           is setup in case upstream elements allocate buffers themselves without
23473           honouring our GstVaapiSink::bufer_alloc() hook.
23474           In particular, this fixes support for OGG video streams with WebKit.
23475           https://bugzilla.gnome.org/show_bug.cgi?id=703934
23476           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23477
23478 2013-08-29 19:07:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23479
23480         * gst/vaapi/gstvaapisink.c:
23481           vaapisink: simplify get_render_buffer() for GStreamer 0.10 builds.
23482           Implement and use gst_vaapisink_get_render_buffer() for GStreamer 0.10
23483           builds as well.
23484
23485 2013-08-29 18:34:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23486
23487         * gst/vaapi/gstvaapisink.c:
23488         * gst/vaapi/gstvaapisink.h:
23489           vaapisink: handle raw buffers not created from VA video buffer pool.
23490           Handle raw video buffers that were not created from a VA video buffer
23491           pool. Use the generic GstVideo API to copy buffers in GStreamer 1.0.x
23492           builds instead of the GstVaapiUploader.
23493           https://bugs.freedesktop.org/show_bug.cgi?id=55818
23494
23495 2013-08-29 19:33:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23496
23497         * gst/vaapi/gstvaapidecode.c:
23498           vaapidecode: remove extraneous size information from allowed caps.
23499           Fix _getcaps() implementation to not report codecs with size information
23500           filled in the returned caps. That's totally useless nowadays. Ideally,
23501           this is a hint to insert a video parser element, thus allowing future
23502           optimizations, but this is not a strict requirement for gstreamer-vaapi,
23503           which is able to parse the elementary bitstreams itself.
23504           https://bugzilla.gnome.org/show_bug.cgi?id=704734
23505
23506 2013-07-30 14:05:39 +0800  Guangxin.Xu <Guangxin.Xu@intel.com>
23507
23508         * gst/vaapi/gstvaapidecode.c:
23509         * gst/vaapi/gstvaapidecode.h:
23510           vaapidecode: submit the last frame from output adapter to decoder.
23511           If there is no frame delimiter at the end of the stream, e.g. no
23512           end-of-stream or end-of-sequence marker, and that the current frame
23513           was fully parsed correctly, then assume that last frame is complete
23514           and submit it to the decoder.
23515           https://bugzilla.gnome.org/show_bug.cgi?id=705123
23516           Signed-off-by: Guangxin.Xu <Guangxin.Xu@intel.com>
23517           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23518
23519 2013-08-29 11:55:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23520
23521         * gst/vaapi/gstvaapidecode.c:
23522         * gst/vaapi/gstvaapidecode.h:
23523           vaapidecode: push all decoded frames from within the task.
23524           Make sure to push all decoded frames from the task so that the unlying
23525           VA surfaces could all be rendered from the same thread.
23526
23527 2013-08-27 18:24:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23528
23529         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
23530           wayland: render the raw surface if VPP failed.
23531           As a last resort, if video processing capabilities (VPP) are not available,
23532           or they did not produce anything conclusive enough, then try to fallback to
23533           the original rendering code path whereby the whole VA surface is rendered
23534           as is, no matter of video cropping or deinterlacing requests.
23535           Note: under those conditions, the visual outcome won't be correct but at
23536           least, something gets displayed instead of bailing out.
23537
23538 2013-08-27 18:20:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23539
23540         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
23541           wayland: add supporting for video processing.
23542           Try to use VA/VPP processing capabilities to handle video cropping and
23543           additional rendering flags that may not be directly supported by the
23544           underlying hardware when exposing a suitable Wayland buffer for the
23545           supplied VA surface. e.g. deinterlacing, different color primaries than
23546           BT.601, etc.
23547
23548 2013-08-27 16:26:22 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23549
23550         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
23551           wayland: add new frame redraw infrastructure.
23552           Update the frame redraw infrastructure with a new FrameState stucture
23553           holds all the necessary information used to display the next pending
23554           surface.
23555           While we are at it, delay the sync operation down to when it is actually
23556           needed. That way, we keep performing additional tasks meanwhile.
23557
23558 2013-08-27 18:06:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23559
23560         * docs/reference/libs/libs-sections.txt:
23561         * gst-libs/gst/vaapi/gstvaapifilter.c:
23562         * gst-libs/gst/vaapi/gstvaapifilter.h:
23563           filter: allow specification of render target regions.
23564           Add support for rendering the source surface to a particular region within
23565           the supplied target surface. The default background color is black.
23566
23567 2013-08-26 17:14:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23568
23569         * gst/vaapi/gstvaapivideobuffer.c:
23570           decode: fix creation of GLX video buffers for GStreamer 0.10.
23571           Fix creation of GstVaapiVideoBuffer objects (i) to have that type for real;
23572           and (ii) to correctly extract the GstSurfaceConverter from the video buffer
23573           object meta.
23574           This fixes support for cluttersink with GStreamer 0.10 builds.
23575
23576 2013-08-26 16:15:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23577
23578         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23579           mpeg2: disable video cropping as picture_display_extension() is missing.
23580           Disable video cropping in MPEG-2 codec because it is partially implemented
23581           and actually because nobody implements it that way, and the standard spec
23582           does not specify the display process either anyway.
23583           Most notably, there are two possible use cases for sequence_display_extension()
23584           horizontal_display_size & vertical_display_size: (i) guesstimating the
23585           pixel-aspect-ratio, or (ii) implement some kind of span & scan process
23586           in conjunction with picture_display_extension() information.
23587           https://bugzilla.gnome.org/show_bug.cgi?id=704848
23588
23589 2013-08-16 16:58:58 +0100  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
23590
23591         * gst/vaapi/gstvaapisink.c:
23592         * gst/vaapi/gstvaapisink.h:
23593           vaapisink: allow scaling to ignore aspect ratio.
23594           Other GStreamer sinks, like xvimagesink, have a force-aspect-ratio property,
23595           which allows you to say that you don't want the sink to respect aspect
23596           ratio. Add the same property to vaapisink.
23597           http://lists.freedesktop.org/archives/libva/2012-September/001298.html
23598           Signed-off-by: Simon Farnsworth <simon.farnsworth at onelan.co.uk>
23599
23600 2013-05-14 15:19:04 +0800  Wind Yuan <feng.yuan@intel.com>
23601
23602         * gst/vaapi/gstvaapisink.c:
23603           vaapisink: fix memory leak of GstVaapiUploader instance.
23604           Make sure gst_vaapisink_ensure_uploader() checks for the existence
23605           of a former GstVaapiUploader instance prior to forcibly creating a
23606           new one.
23607           https://bugzilla.gnome.org/show_bug.cgi?id=703980
23608
23609 2013-07-31 16:49:20 +0800  Guangxin.Xu <Guangxin.Xu@intel.com>
23610
23611         * gst/vaapi/gstvaapisink.c:
23612           vaapisink: fix get_caps() implementation for GStreamer 1.0.
23613           Fix GstBaseSink::get_caps() implementation for GStreamer 1.0.X builds
23614           by honouring the filter caps argument. More precisely, this fixes the
23615           following pipeline: gst-launch-1.0 videotestsrc ! vaapisink
23616           https://bugzilla.gnome.org/show_bug.cgi?id=705192
23617           Signed-off-by: Guangxin.Xu <Guangxin.Xu@intel.com>
23618           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23619
23620 2013-08-26 11:31:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23621
23622         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
23623           mpeg4: fix double definition of GstVaapiDecoderMpeg4Class.
23624           This fixes the following issue:
23625           CC     libgstvaapi_0.10_la-gstvaapidecoder_mpeg4.lo
23626           gstvaapidecoder_mpeg4.c:113: error: redefinition of typedef
23627           'GstVaapiDecoderMpeg4Class'
23628           gstvaapidecoder_mpeg4.c:44: note: previous declaration of
23629           'GstVaapiDecoderMpeg4Class' was here
23630           make[5]: *** [libgstvaapi_0.10_la-gstvaapidecoder_mpeg4.lo] Error 1
23631           make[5]: Leaving directory
23632           `/builddir/build/BUILD/gstreamer-vaapi-0.5.5.1/gst-libs/gst/vaapi'
23633           https://bugzilla.gnome.org/show_bug.cgi?id=705148
23634
23635 2013-07-30 15:59:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23636
23637         * tests/test-filter.c:
23638           tests: filter: add support for deinterlacing.
23639           Add --deinterlace option to enable deinterlacing through explicit VA/VPP
23640           deinterlacing filter. However, if --deinterlace option is not set but the
23641           --deinterlace-flags option is set with "top-field-first", then the very
23642           basic bob deinterlacing filter is set through VA/VPP proc pipeline flags.
23643
23644 2013-07-17 17:29:41 +0800  Zhao Halley <halley.zhao@intel.com>
23645
23646         * tests/test-filter.c:
23647           tests: filter: add support for denoising and sharpening.
23648           Add --denoise option to enable noise reduction with the level specified
23649           as the option value (float). Likewise, add --sharpen option to enable
23650           sharpening.
23651           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23652
23653 2013-07-24 14:31:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23654
23655         * tests/test-filter.c:
23656           tests: filter: add support for frame cropping.
23657           Add support for frame cropping through the --crop-rect|-c argument.
23658           The format used is either <WIDTH> 'x' <HEIGHT>, with origin at (0,0) ;
23659           or full specification with '('? <X> ',' <Y> ')'? <WIDTH> 'x' <HEIGHT>.
23660
23661 2013-07-23 18:00:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23662
23663         * tests/test-filter.c:
23664           tests: filter: dump supported operations and formats.
23665
23666 2013-07-08 16:54:55 +0800  Zhao Halley <halley.zhao@intel.com>
23667
23668         * tests/Makefile.am:
23669         * tests/test-filter.c:
23670           tests: add initial test for video processing.
23671           Add minimal test case for video processing: scaling and color format
23672           conversion.
23673           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23674
23675 2013-07-29 09:23:50 +0800  Zhao Halley <halley.zhao@intel.com>
23676
23677         * docs/reference/libs/libs-sections.txt:
23678         * gst-libs/gst/vaapi/gstvaapifilter.c:
23679         * gst-libs/gst/vaapi/gstvaapifilter.h:
23680         * gst-libs/gst/vaapi/gstvaapiutils.c:
23681         * gst-libs/gst/vaapi/gstvaapiutils.h:
23682         * gst/vaapi/gstvaapipostproc.c:
23683         * gst/vaapi/gstvaapipostproc.h:
23684           filter: add initial support for deinterlacing.
23685           Add basic deinterlacing support, i.e. bob-deinterlacing whereby only
23686           the selected field from the input surface is kept for the target surface.
23687           Setting gst_vaapi_filter_set_deinterlacing() method argument to
23688           GST_VAAPI_DEINTERLACE_METHOD_NONE means to disable deinterlacing.
23689           Also move GstVaapiDeinterlaceMethod definition from vaapipostproc plug-in
23690           to libgstvaapi core library.
23691           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23692
23693 2013-07-17 17:40:41 +0800  Zhao Halley <halley.zhao@intel.com>
23694
23695         * docs/reference/libs/libs-sections.txt:
23696         * gst-libs/gst/vaapi/gstvaapifilter.c:
23697         * gst-libs/gst/vaapi/gstvaapifilter.h:
23698           filter: add support for color balance adjustment.
23699           Add ProcAmp (color balance) adjustments for hue, saturation, brightness
23700           and contrast. The respective range for each filter shall be the same as
23701           for the VA display attributes.
23702           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23703
23704 2013-07-17 17:37:16 +0800  Zhao Halley <halley.zhao@intel.com>
23705
23706         * docs/reference/libs/libs-sections.txt:
23707         * gst-libs/gst/vaapi/gstvaapifilter.c:
23708         * gst-libs/gst/vaapi/gstvaapifilter.h:
23709           filter: add support for sharpening.
23710           Sharpening is configured with a float value. The supported range is
23711           -1.0 .. 1.0 with 0.0 being the default, and that means no sharpening
23712           operation at all.
23713           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23714
23715 2013-07-17 17:29:41 +0800  Zhao Halley <halley.zhao@intel.com>
23716
23717         * docs/reference/libs/libs-sections.txt:
23718         * gst-libs/gst/vaapi/gstvaapifilter.c:
23719         * gst-libs/gst/vaapi/gstvaapifilter.h:
23720           filter: add support for denoising.
23721           Noise reduction is configured with a float value. The supported range
23722           is 0.0 .. 1.0 with 0.0 being the default, and that means no denoise
23723           operation at all.
23724           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23725
23726 2013-07-24 14:22:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23727
23728         * docs/reference/libs/libs-sections.txt:
23729         * gst-libs/gst/vaapi/gstvaapifilter.c:
23730         * gst-libs/gst/vaapi/gstvaapifilter.h:
23731           filter: add support for frame cropping.
23732           Frame cropping is defined with a GstVaapiRectangle value. The default
23733           behaviour is to treat the source surface as a whole
23734
23735 2013-07-25 13:55:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23736
23737         * gst-libs/gst/vaapi/gstvaapifilter.c:
23738           filter: add helper functions.
23739           Add helper functions to ensure an operation VA buffer is allocated to
23740           the right size; that filter caps get parsed and assigned to the right
23741           operation too; and that float parameters are correctly scaled to fit
23742           the reported range from the VA driver.
23743
23744 2013-07-23 15:52:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23745
23746         * configure.ac:
23747         * docs/reference/libs/libs-docs.xml.in:
23748         * docs/reference/libs/libs-sections.txt:
23749         * gst-libs/gst/vaapi/Makefile.am:
23750         * gst-libs/gst/vaapi/gstvaapidisplay.c:
23751         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
23752         * gst-libs/gst/vaapi/gstvaapifilter.c:
23753         * gst-libs/gst/vaapi/gstvaapifilter.h:
23754           Add initial infrastructure for video processing.
23755           Add initial API for video processing: only scaling and color format
23756           conversion operations are supported.
23757
23758 2013-07-24 11:53:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23759
23760         * gst-libs/gst/vaapi/video-format.c:
23761         * gst-libs/gst/vaapi/video-format.h:
23762           libs: add gst_vaapi_video_format_from_string() helper.
23763           Add gst_vaapi_video_format_from_string() helper function to convert from
23764           a video format string representation to a suitable GstVideoFormat. This
23765           is just an alias to gst_video_format_from_string() for GStreamer 1.0.x
23766           builds, and a proper iteration over all GstVideoFormat string representations
23767           otherwise for earlier GStreamer 0.10.x builds.
23768
23769 2013-07-24 11:37:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23770
23771         * gst-libs/gst/vaapi/video-format.c:
23772         * gst-libs/gst/vaapi/video-format.h:
23773           libs: add gst_vaapi_video_format_from_va_fourcc() helper.
23774           Add gst_vaapi_video_format_from_va_fourcc() helper that converts from a
23775           VA fourcc value to a suitable GstVideoFormat.
23776
23777 2013-07-24 11:41:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23778
23779         * gst-libs/gst/vaapi/gstvaapivalue.c:
23780         * gst-libs/gst/vaapi/gstvaapivalue.h:
23781           libs: add type definitions for GstVaapiPoint and GstVaapiRectangle.
23782           Add helper functions to describe GstVaapiPoint and GstVaapiRectangle
23783           structures as a standard GType. This could be useful to have them
23784           described as a GValue later on.
23785
23786 2013-07-26 13:57:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23787
23788         * docs/reference/libs/libs-docs.xml.in:
23789         * docs/reference/libs/libs-sections.txt:
23790         * gst-libs/gst/vaapi/Makefile.am:
23791         * gst-libs/gst/vaapi/gstvaapicontext.h:
23792         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
23793           libs: drop some public APIs.
23794           Don't expose GstVaapiContext APIs and make them totally private to
23795           libgstvaapi core library. That API would also tend to disappear in
23796           a future revision. Likewise, don't expose GstVaapiDisplayCache API
23797           but keep symbols visible so that the various render backends could
23798           share a common display cache implementation in libgstvaapi.
23799           Try to clean-up the documentation from any stale entry too.
23800
23801 2013-08-23 18:35:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23802
23803         * tests/image.c:
23804         * tests/image.h:
23805           tests: image: allow creation of images with interleaved patterns.
23806           Add image_generate_full() function to create interleaved color rectangles.
23807           If flags is zero, the whole frame is generated with a unique pattern. If
23808           flags is non-zero, then each field is handled individually.
23809
23810 2013-08-23 16:25:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23811
23812         * tests/image.c:
23813           tests: image: fix conversion from RGB to YUV.
23814           Fix RGB to YUV conversion to preserve full data range.
23815
23816 2013-07-26 13:12:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23817
23818         * tests/image.c:
23819           tests: image: try to upload images through vaDeriveImage() too.
23820           On some platforms, vaPutImage() would fail even if it does not involve
23821           color format conversion or scaling, whereas copying raw pixels through
23822           vaDeriveImage() could work instead.
23823
23824 2013-07-26 10:05:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23825
23826         * tests/image.c:
23827           tests: image: add support for packed YUV formats.
23828           Add support for packed YUV 4:2:2 formats, i.e. YUY2 and UYVY.
23829
23830 2013-07-25 18:10:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23831
23832         * tests/image.c:
23833           tests: image: fix generation of I420/YV12 images.
23834           U/V planes were reversed, thus producing invalid images.
23835
23836 2013-07-24 13:55:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23837
23838         * tests/image.c:
23839           tests: image: fix string representation for GstVideoFormat.
23840
23841 2013-07-26 12:57:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23842
23843         * docs/reference/libs/libs-sections.txt:
23844         * gst-libs/gst/vaapi/Makefile.am:
23845         * gst-libs/gst/vaapi/gstvaapiimage.c:
23846         * gst-libs/gst/vaapi/gstvaapiimage.h:
23847         * gst-libs/gst/vaapi/gstvaapiimage_priv.h:
23848         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
23849         * gst-libs/gst/vaapi/gstvaapisurface.c:
23850           image: clean image API up.
23851           Don't expose functions that reference a GstVaapiImageRaw, those are
23852           meant to be internal only for implementing subpictures sync. Also add
23853           a few private definitions to avoid functions calls for retrieving
23854           image size and format information.
23855
23856 2013-07-26 11:43:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23857
23858         * docs/reference/libs/libs-sections.txt:
23859         * gst-libs/gst/vaapi/gstvaapiimage.c:
23860         * gst-libs/gst/vaapi/gstvaapiimage.h:
23861           image: add gst_vaapi_image_copy() helper.
23862           Add gst_vaapi_image_copy() helper function to copy images of same format
23863           and size.
23864
23865 2013-07-22 14:53:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23866
23867         * gst/vaapi/gstvaapivideoconverter_x11.c:
23868           plugins: handle video cropping in X11 pixmap converter.
23869           Use GstVideoCropMeta in GStreamer 1.0 or any other render rectangle
23870           we could decode from the stream.
23871
23872 2013-07-22 11:58:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23873
23874         * gst/vaapi/Makefile.am:
23875         * gst/vaapi/gstvaapivideobuffer.c:
23876         * gst/vaapi/gstvaapivideoconverter_glx.c:
23877         * gst/vaapi/gstvaapivideoconverter_x11.c:
23878         * gst/vaapi/gstvaapivideoconverter_x11.h:
23879           plugins: add support for "x11-pixmap" video converter type.
23880           Install a new video converter that supports X11 pixmap targets for X11
23881           backends only, or make the GLX converter creation function chain up to
23882           the X11 converter whenever requested.
23883
23884 2013-07-22 09:36:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23885
23886         * tests/simple-decoder.c:
23887           tests: simple-decoder: add support for pixmap API.
23888           Add support for the new render-to-pixmap API. Avoid flickering on
23889           platforms supporting video overlay by keeping up to 2 intermediate
23890           pixmaps.
23891
23892 2013-07-22 09:12:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23893
23894         * tests/simple-decoder.c:
23895           tests: simple-decoder: add support for video cropping.
23896           Handle video cropping information attached to a VA surface proxy.
23897
23898 2013-07-22 09:03:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23899
23900         * tests/output.c:
23901         * tests/output.h:
23902         * tests/test-decode.c:
23903           tests: add support for render-to-pixmap.
23904           Add --pixmap option to test-decode so that to allow copies of VA
23905           surface to an intermediate pixmap and rendering from that pixmap.
23906           Only X11 backends are supported for now.
23907
23908 2013-07-22 09:00:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23909
23910         * configure.ac:
23911         * gst-libs/gst/vaapi/Makefile.am:
23912         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
23913         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
23914         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
23915         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
23916           x11: implement pixmap rendering with RENDER extension.
23917           Use hardware accelerated XRenderComposite() function, from the RENDER
23918           extension, to blit a pixmap to screen. Besides, this can also support
23919           cropping and scaling.
23920
23921 2013-07-19 15:05:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23922
23923         * docs/reference/libs/libs-docs.xml.in:
23924         * docs/reference/libs/libs-sections.txt:
23925         * gst-libs/gst/vaapi/Makefile.am:
23926         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
23927         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
23928         * gst-libs/gst/vaapi/gstvaapipixmap_x11.c:
23929         * gst-libs/gst/vaapi/gstvaapipixmap_x11.h:
23930           x11: implement pixmap API.
23931           Implement the new render-to-pixmap API. The only supported pixmap format
23932           that will work is xRGB, with native byte ordering. Others might work but
23933           they were not tested.
23934
23935 2013-07-22 10:10:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23936
23937         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
23938         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
23939         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
23940           x11: update x11_get_geometry() helper function with depth output.
23941           Allow x11_get_geometry() utility function to also return the depth
23942           assigned to the X drawable.
23943
23944 2013-07-22 10:00:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23945
23946         * docs/reference/libs/libs-docs.xml.in:
23947         * docs/reference/libs/libs-sections.txt:
23948         * gst-libs/gst/vaapi/Makefile.am:
23949         * gst-libs/gst/vaapi/gstvaapipixmap.c:
23950         * gst-libs/gst/vaapi/gstvaapipixmap.h:
23951         * gst-libs/gst/vaapi/gstvaapipixmap_priv.h:
23952         * gst-libs/gst/vaapi/gstvaapiwindow.c:
23953         * gst-libs/gst/vaapi/gstvaapiwindow.h:
23954         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
23955           Add initial Pixmap API.
23956           Add API to transfer VA urfaces to native pixmaps. Also add an API to
23957           render a native pixmap, for completeness. In general, rendering to
23958           pixmap would only be useful to certain VA drivers and use cases on
23959           X11 display servers. e.g. GLX_EXT_texture_from_pixmap (TFP) handled
23960           in an upper layer.
23961
23962 2013-07-22 15:15:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23963
23964         * docs/reference/libs/libs-sections.txt:
23965         * gst-libs/gst/vaapi/gstvaapiimage.c:
23966         * gst-libs/gst/vaapi/gstvaapisurface.c:
23967         * gst-libs/gst/vaapi/video-format.c:
23968         * gst-libs/gst/vaapi/video-format.h:
23969           libs: add and expose gst_vaapi_video_format_to_string() helper.
23970           This is just a wrapper over gst_video_format_to_string() for older
23971           GStreamer 0.10 builds.
23972
23973 2013-07-18 02:54:54 -0300  Emilio López <emilio@elopez.com.ar>
23974
23975         * gst/vaapi/gstvaapipluginutil.c:
23976           plugins: fix display type comparison in gst_vaapi_create_display().
23977           After the code got moved to create the gst_vaapi_create_display() helper,
23978           this comparison was not updated to dereference the newly-created
23979           pointer, so the code was comparing the pointer itself to the type, and
23980           therefore failing to retrieve the VA display.
23981           This fixes the following error (and gets gst-vaapi decoding again):
23982           ERROR vaapidecode gstvaapidecode.c:807:gst_vaapidecode_ensure_allowed_caps: failed to retrieve VA display
23983           https://bugzilla.gnome.org/show_bug.cgi?id=704410
23984           Signed-off-by: Emilio López <emilio@elopez.com.ar>
23985
23986 2013-07-17 11:07:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23987
23988         * configure.ac:
23989           Bump version for development.
23990
23991 2013-07-15 17:49:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
23992
23993         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
23994           mpeg2: don't output dummy pictures.
23995           Mark dummy pictures as output already so that we don't try to submit
23996           them to the upper layer since this is purely internal / temporary
23997           picture for helping the decoder.
23998
23999 2013-07-15 17:43:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24000
24001         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
24002           decoder: dispose GstVideoCodecFrame earlier.
24003           Once the picture was output, it is no longer necessary to keep an extra
24004           reference to the underlying GstVideoCodecFrame. So, we can release it
24005           earlier, and maybe subsequently release the associate surface proxy
24006           earlier.
24007
24008 2013-07-15 14:47:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24009
24010         * NEWS:
24011         * configure.ac:
24012           0.5.5.
24013
24014 2013-07-15 14:42:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24015
24016         * docs/reference/libs/libs-sections.txt:
24017         * gst-libs/gst/vaapi/Makefile.am:
24018         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24019         * gst-libs/gst/vaapi/gstvaapiimage.c:
24020         * gst-libs/gst/vaapi/gstvaapisurface.c:
24021         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
24022         * gst-libs/gst/vaapi/video-format.c:
24023         * gst-libs/gst/vaapi/video-format.h:
24024         * gst/vaapi/gstvaapidownload.c:
24025         * gst/vaapi/gstvaapiuploader.c:
24026         * tests/image.c:
24027         * tests/test-display.c:
24028           Fix new video format API.
24029           Fix new internal video format API, based on GstVideoFormat, to not
24030           clobber with system symbols. So replace the gst_video_format_* prefix
24031           with gst_vaapi_video_format_ prefix, even if the format type remains
24032           GstVideoFormat.
24033
24034 2013-07-15 14:05:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24035
24036         * configure.ac:
24037           Bump library major version.
24038           Bump the library major version due to API/ABI changes that occurred in
24039           the imaging API. In particular, GstVaapiImageFormat type was replaced
24040           with the standard GstVideoFormat type. All dependent APIs were updated
24041           to match this change.
24042
24043 2013-07-15 13:44:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24044
24045         * NEWS:
24046           NEWS: updates.
24047
24048 2013-06-11 15:11:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24049
24050         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
24051         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
24052           decoder: fix memory leak when processing interlaced pictures.
24053           Fix memory leak when processing interlaced pictures and that occurs
24054           because the first field, represented as a GstVideoCodecFrame, never
24055           gets released. i.e. when the picture is completed, this is generally
24056           the case when the second field is successfully decoded, we need to
24057           propagate the GstVideoCodecFrame of the first field to the original
24058           GstVideoDecoder so that it could reclaim memory.
24059           Otherwise, we keep accumulating the first fields into GstVideoDecoder
24060           private frames list until the end-of-stream is reached. The frames
24061           are eventually released there, but too late, i.e. too much memory
24062           may have been consumed.
24063           https://bugzilla.gnome.org/show_bug.cgi?id=701257
24064
24065 2013-07-15 11:58:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24066
24067         * gst/vaapi/gstvaapipluginutil.c:
24068           plugins: simlpify gst_vaapi_create_display() helper.
24069           Simplify gst_vaapi_create_display() helper as gst_vaapi_display_XXX_new()
24070           performs the necessary validation checks for the underlying VA display
24071           prior to returning to the caller. So, if an error occurred, then NULL is
24072           really returned in that case.
24073
24074 2013-05-24 05:04:01 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
24075
24076         * gst/vaapi/gstvaapipluginutil.c:
24077           plugins: add gst_vaapi_create_display() helper.
24078           https://bugzilla.gnome.org/show_bug.cgi?id=703235
24079           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24080
24081 2013-07-12 17:47:07 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24082
24083         * gst/vaapi/gstvaapivideobufferpool.c:
24084           plugins: don't reallocate pool allocator for the same caps.
24085           If the video buffer pool config doesn't have new caps, then it's not
24086           necessary to reinstantiate the allocator. That could be a costly
24087           operation as we could do some extra heavy checking in there.
24088
24089 2013-07-12 17:14:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24090
24091         * gst/vaapi/gstvaapivideomemory.c:
24092           plugins: fix ref counting of GstVaapiVideoMemory allocator.
24093           Fix reference counting issue whereby gst_memory_init() does not hold
24094           an extra reference to the GstAllocator. So, there could be situations
24095           where the last instance of GstVaapiVideoAllocator gets released before
24096           a dangling GstVaapiVideoMemory object, thus possibly leading to a crash.
24097
24098 2013-07-12 15:15:07 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24099
24100         * gst/vaapi/gstvaapiuploader.c:
24101           vaapiupload: use implicit color conversion to NV12.
24102           Always perform conversion of sources buffers to NV12 since this is
24103           the way we tested for this capability in ensure_allowed_caps(). This
24104           also saves memory bandwidth for further rendering. However, this may
24105           not preserve quality since the YUV buffers are down-sampled to 4:2:0.
24106
24107 2013-07-12 15:01:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24108
24109         * gst-libs/gst/vaapi/gstvaapivideopool.c:
24110           pool: fix deallocation of video pools.
24111           The queue of free objects to used was deallocated with g_queue_free_full().
24112           However, this convenience function shall only be used if the original queue
24113           was allocated with g_queue_new(). This caused memory corruption, eventually
24114           leading to a crash.
24115           The correct solution is to pair the g_queue_init() with the corresponding
24116           g_queue_clear(), while iterating over all free objects to deallocate them.
24117
24118 2013-03-13 17:44:52 +0800  Wind Yuan <feng.yuan@intel.com>
24119
24120         * gst/vaapi/gstvaapidownload.c:
24121           vaapidownload: fix src caps format error.
24122           This fixes direct linking of vaapidownload element to xvimagesink with
24123           VA drivers supporting vaGetImage() from the native VA surface format to
24124           a different VA image format. i.e. color conversion during download.
24125           http://bugzilla.gnome.org/show_bug.cgi?id=703937
24126           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24127
24128 2013-07-11 18:26:37 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24129
24130         * gst/vaapi/gstvaapidownload.c:
24131           vaapidownload: fix debug string for image formats.
24132           The image is now expressed as a standard GstVideoFormat, which is not
24133           a FOURCC but rather a regular enum value.
24134           This is a regression introduced in commit 09397fa.
24135
24136 2013-04-24 10:39:03 +0800  Wind Yuan <feng.yuan@intel.com>
24137
24138         * gst-libs/gst/vaapi/gstvaapiimage.c:
24139           image: add support for raw YUY2/UYVY image copies.
24140           Implement raw image copies for YUY2 format. Add support for UYVY format
24141           too, with the same copy function as for YUY2. Even though components
24142           ordering differs, copying line strides is essentially the same.
24143           https://bugzilla.gnome.org/show_bug.cgi?id=703939
24144           https://bugzilla.gnome.org/show_bug.cgi?id=703940
24145           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24146
24147 2013-07-10 15:15:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24148
24149         * gst/vaapi/gstvaapiuploader.c:
24150           plugins: clean-up video uploader helper.
24151           Fix gst_vaapi_uploader_get_buffer() to not assign caps since they
24152           were already negotiated beforehand, and they are not used from the
24153           buffer in upstream elements.
24154           Clean-up gst_vaapi_uploader_ensure_caps() to use the new image caps
24155           represented as a GstVideoInfo.
24156
24157 2013-07-10 15:03:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24158
24159         * gst/vaapi/gstvaapiuploader.c:
24160           plugins: use GstVideoInfo in video uploader helper.
24161
24162 2013-07-10 10:34:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24163
24164         * gst/vaapi/gstvaapivideomemory.c:
24165           plugins: allow creation of VA surfaces with explicit pixel format.
24166           Adapt GstVaapiVideoMemory allocator to support creation of VA surfaces
24167           with an explicit pixel format. This allows for direct rendering to
24168           VA surface memory from a software decoder.
24169
24170 2013-07-10 14:20:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24171
24172         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
24173           surface: fix surface pool creation with an explicit pixel format.
24174           Fix creation of surface pool objects to honour explicit pixel format
24175           specification. If this operation is not supported, then fallback to
24176           the older interface with chroma format.
24177
24178 2013-07-10 13:58:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24179
24180         * gst-libs/gst/vaapi/gstvaapisurface.c:
24181           surface: try to determine the underlying VA surface format.
24182           If a VA surface was allocated with the chroma-format interface, try to
24183           determine the underlying pixel format on gst_vaapi_surface_get_format(),
24184           or return GST_VIDEO_FORMAT_ENCODED if this is not a supported operation.
24185
24186 2013-07-09 19:08:37 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24187
24188         * docs/reference/libs/libs-sections.txt:
24189         * gst-libs/gst/vaapi/gstvaapisurface.c:
24190         * gst-libs/gst/vaapi/gstvaapisurface.h:
24191         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
24192           surface: allow creation with explicit pixel format.
24193           Make it possible to create VA surfaces with a specific pixel format.
24194           This is a new capability brought in by VA-API >= 0.34.0. If that
24195           capability is not built-in (e.g. using VA-API < 0.34.0), then
24196           gst_vaapi_surface_new_with_format() will return NULL.
24197
24198 2013-07-10 09:48:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24199
24200         * docs/reference/libs/libs-sections.txt:
24201         * gst-libs/gst/vaapi/video-format.c:
24202         * gst-libs/gst/vaapi/video-format.h:
24203           surface: add helper function to get chroma type from GstVideoFormat.
24204           Add gst_video_format_get_chroma_type() helper function to determine
24205           the GstVaapiChromaType from a standard GStreamer video format. It is
24206           possible to reconstruct that from GstVideoFormatInfo but it is much
24207           simpler (and faster?) to use the local GstVideoFormatMap table.
24208
24209 2013-07-09 19:13:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24210
24211         * gst-libs/gst/vaapi/gstvaapisurface.c:
24212         * gst-libs/gst/vaapi/gstvaapisurface.h:
24213         * gst-libs/gst/vaapi/gstvaapiutils.c:
24214         * gst-libs/gst/vaapi/gstvaapiutils.h:
24215           surface: add new chroma formats.
24216           Add new chroma formats available with VA-API >= 0.34.0. In particular,
24217           this includes "RGB" chroma formats, and more YUV subsampled formats.
24218           Also add a new from_GstVaapiChromaType() helper function to convert
24219           libgstvaapi chroma type to VA chroma format.
24220
24221 2013-07-10 13:32:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24222
24223         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
24224           pool: fix image pool to check for the video format to use.
24225           Make gst_vaapi_image_pool_new() succeed, and thus returning a valid
24226           image pool object, only if the underlying VA display does support the
24227           requested VA image format.
24228
24229 2013-07-10 13:07:37 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24230
24231         * gst-libs/gst/vaapi/gstvaapicontext.c:
24232         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
24233         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
24234         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
24235         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
24236         * gst-libs/gst/vaapi/gstvaapivideopool.h:
24237         * gst/vaapi/gstvaapidownload.c:
24238         * gst/vaapi/gstvaapiuploader.c:
24239         * tests/Makefile.am:
24240         * tests/test-surfaces.c:
24241           Use GstVideoInfo for video pools.
24242           Get rid of GstCaps to create surface/image pool, and use GstVideoInfo
24243           structures instead. Those are smaller, and allows for streamlining
24244           libgstvaapi more.
24245
24246 2013-07-09 18:03:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24247
24248         * gst-libs/gst/vaapi/gstvaapiimage.c:
24249         * gst-libs/gst/vaapi/video-format.c:
24250           Add more video formats.
24251           Add new video format mappings to VA image formats:
24252           - YUV: packed YUV (YUY2, UYVY), grayscale (Y800) ;
24253           - RGB: 32-bit RGB without alpha channel (XRGB, XBGR, RGBX, BGRX).
24254
24255 2013-07-10 15:52:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24256
24257         * gst-libs/gst/vaapi/gstvaapiimage.c:
24258           image: fix debug message with video format.
24259           Fix debug message string with image format expressed with GstVideoFormat
24260           instead of the obsolete format that turned out to be a fourcc.
24261           This is a regression from git commit e61c5fc.
24262
24263 2013-07-09 15:28:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24264
24265         * tests/image.c:
24266         * tests/image.h:
24267         * tests/test-display.c:
24268         * tests/test-textures.c:
24269         * tests/test-windows.c:
24270           tests: port to new video format API.
24271
24272 2013-07-09 15:44:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24273
24274         * gst/vaapi/gstvaapidownload.c:
24275         * gst/vaapi/gstvaapiuploader.c:
24276         * gst/vaapi/gstvaapivideomemory.c:
24277           plugins: port to new video format API.
24278
24279 2013-07-09 16:26:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24280
24281         * gst-libs/gst/vaapi/gstvaapiimage.c:
24282           libs: use GstVideoInfo wherever possible.
24283           In particular, use gst_video_info_from_caps() helper function in VA image
24284           for implementating gst_vaapi_image_get_buffer() [vaapidownload] and
24285           gst_vaapi_image_update_from_buffer() [subpictures] in GStreamer 0.10 builds.
24286
24287 2013-07-09 16:38:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24288
24289         * docs/reference/libs/libs-docs.xml.in:
24290         * docs/reference/libs/libs-sections.txt:
24291         * gst-libs/gst/vaapi/Makefile.am:
24292         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
24293         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
24294           libs: drop GstVaapiImageFormat helpers.
24295           Drop GstVaapiImageFormat helpers since everything was moved to the new
24296           GstVideoFormat based API. Don't bother with backwards compatibility and
24297           just bump the library major version afterwards.
24298
24299 2013-07-09 14:03:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24300
24301         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24302         * gst-libs/gst/vaapi/gstvaapidisplay.h:
24303         * gst-libs/gst/vaapi/gstvaapiimage.c:
24304         * gst-libs/gst/vaapi/gstvaapiimage.h:
24305         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
24306         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
24307           libs: port to new video format API.
24308
24309 2013-07-09 15:29:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24310
24311         * docs/reference/libs/libs-docs.xml.in:
24312         * docs/reference/libs/libs-sections.txt:
24313         * gst-libs/gst/vaapi/Makefile.am:
24314         * gst-libs/gst/vaapi/video-format.c:
24315         * gst-libs/gst/vaapi/video-format.h:
24316           Add new video format API.
24317           Leverage GstVideoFormat utilities from core GStreamer to provide an
24318           adaptation layer to VA image formats.
24319
24320 2013-07-09 11:13:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24321
24322         * NEWS:
24323           NEWS: updates.
24324
24325 2013-07-08 18:32:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24326
24327         * gst/vaapi/gstvaapisink.c:
24328           vaapisink: fix creation of GLX texture.
24329           Fix creation of GLX texture, to not depend on the GstCaps video size that
24330           could be wrong, especially in presence of frame cropping. So, use the size
24331           from the source VA surfaces.
24332           An optimization could be to reduce the texture size to the actual visible
24333           size on screen. i.e. scale down the texture size to match the screen dimensions,
24334           while preserving the VA surface aspect ratio. However, some VA drivers don't
24335           honour that.
24336
24337 2013-02-18 16:28:27 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
24338
24339         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24340           mpeg2: add support for video cropping.
24341           If the stream has a sequence_display_extenion, then attach the
24342           display_horizontal/display_vertical dimension as the cropping
24343           rectangle width/height to the GstVaapiPicture.
24344           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24345
24346 2013-02-18 15:05:37 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
24347
24348         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
24349           vc1: add support for video cropping.
24350           If the Advanced profile has display_extension fields, then set the display
24351           width/height dimension as cropping rectangle to the GstVaapiPicture.
24352           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24353
24354 2013-02-15 18:50:26 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
24355
24356         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24357           h264: add support for video cropping.
24358           If the encoded stream has the frame_cropping_flag set, then associate
24359           the cropping rectangle to GstVaapiPicture.
24360           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24361
24362 2013-07-08 17:01:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24363
24364         * tests/decoder.c:
24365         * tests/decoder.h:
24366         * tests/test-decode.c:
24367         * tests/test-subpicture.c:
24368           tests: add basic support for video cropping.
24369           Change generic decoder of sample I-frame to return a GstVaapiSurfaceProxy
24370           instead of a plain GstVaapiSurface. This means that we can now retrieve
24371           the frame cropping rectangle from the surface proxy, along with additional
24372           information if ever needed.
24373
24374 2013-07-08 14:50:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24375
24376         * gst/vaapi/gstvaapidecode.c:
24377         * gst/vaapi/gstvaapisink.c:
24378         * gst/vaapi/gstvaapivideometa.c:
24379           plugins: add support for video cropping.
24380           Add support for GstVideoCropMeta in GStreamer >= 1.0.x builds and gst-vaapi
24381           specific meta information to hold video cropping details. Make the sink
24382           support video cropping in X11 and GLX modes.
24383
24384 2013-02-15 18:24:24 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
24385
24386         * gst/vaapi/gstvaapivideometa.c:
24387         * gst/vaapi/gstvaapivideometa.h:
24388           plugins: add helper functions to set the render rectangle.
24389           Some video clips may have a clipping region that needs to propogate to
24390           the renderer. These helper functions make it possible to attach that
24391           clipping region, as a GstVaapiRectangle, the the video meta associated
24392           with the buffer.
24393           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
24394           signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24395
24396 2013-07-08 14:47:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24397
24398         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
24399         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
24400           surfaceproxy: allow for NULL cropping rectangle.
24401           Make it possible associate an empty cropping rectangle to the surface
24402           proxy, thus resetting any cropping rectangle that was previously set.
24403           This allows for returning plain NULL when no cropping rectangle was
24404           initially set up to the surface proxy, or if it was reset to defaults.
24405
24406 2013-07-08 11:41:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24407
24408         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
24409           surfaceproxy: clean-up helper macros.
24410           Always use the GST_VAAPI_SURFACE_PROXY() helper macro to cast from a
24411           proxy macro argument to a GstVaapiSurfaceProxy pointer.
24412
24413 2013-07-08 11:43:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24414
24415         * gst-libs/gst/vaapi/gstvaapisurface.c:
24416         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
24417         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
24418         * gst-libs/gst/vaapi/gstvaapiwindow.c:
24419           surface: add simple surface info accessors as helper macros.
24420           Add helper macros to retrieve the VA surface information like size
24421           (width, height) or chroma type. This is a micro-optimization to avoid
24422           useless function calls and NULL pointer re-checks in internal routines.
24423
24424 2013-02-15 18:42:12 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
24425
24426         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
24427         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
24428         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
24429         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
24430         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
24431           decoder: add support for video cropping.
24432           Add gst_vaapi_picture_set_crop_rect() helper function to copy the video
24433           cropping information from raw bitstreams to each picture being decoded.
24434           Also add helper function to surface proxy to propagate that information
24435           outside of libgstvaapi. e.g. plug-in elements or standalone applications.
24436           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
24437           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24438
24439 2013-07-08 17:30:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24440
24441         * ext/codecparsers:
24442           codecparsers: update to gst-vaapi-branch commit f90de0a.
24443           f90de0a h264: fix calculation of the frame cropping rectangle
24444           535515c h264: parse the cropping rectangle separately
24445
24446 2013-07-05 19:03:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24447
24448         * ext/codecparsers:
24449           codecparsers: update to gst-vaapi-branch commit 0f68a71.
24450           0f68a71 mpeg2: fix video packet header size checks
24451
24452 2013-06-07 20:08:43 +0800  Zhong Cong <congx.zhong@intel.com>
24453
24454         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24455           mpeg2: reset quantization matrices on new sequence headers.
24456           The MPEG-2 standard specifies (6.3.7) that all quantisation matrices
24457           shall be reset to their default values when a Sequence_Header() is
24458           decoded.
24459           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24460
24461 2013-07-05 15:49:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24462
24463         * configure.ac:
24464         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24465           mpeg2: cope with latest codecparser changes.
24466           Fix build with newer MPEG-2 codecparser where GstMpegVideoPacket are
24467           used in individual header parsers. Also use the new slice parsing API.
24468
24469 2013-07-05 17:51:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24470
24471         * ext/codecparsers:
24472           codecparsers: update to gst-vaapi-branch commit dddd182.
24473           dddd182 mpeg2: add slice header parsing API
24474           94e6228 mpeg2: add sequence scalable extension parsing API
24475           531134f mpeg2: add new API that takes GstMpegVideoPacket arguments
24476           4b135d3 h264: fix the return value type for the SEI palyload parsing methods
24477
24478 2013-06-27 12:25:44 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
24479
24480         * gst/vaapi/gstvaapisink.c:
24481           vaapisink: expose the raw video formats in static caps template.
24482           Expose all raw video formats in the static caps template since the
24483           vaapisink is supporting raw data. We will get the exact set of formats
24484           supported by the driver dynamically through the _get_caps() routine.
24485           This also fixes an inconsistency wrt. GStreamer 0.10 builds.
24486           https://bugzilla.gnome.org/show_bug.cgi?id=702178
24487           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24488
24489 2013-06-27 13:53:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24490
24491         * gst/vaapi/gstvaapisink.c:
24492         * gst/vaapi/gstvaapisink.h:
24493           vaapisink: add "use-glx" property for OpenGL rendering.
24494           Now that VA/GLX capable buffers are generated by default on X11, thus
24495           depending on a VA/GLX display, we stil want to use vaPutSurface() for
24496           rendering since it is faster.
24497           Anyway, OpenGL rendering in vaapisink was only meant for testing and
24498           enabling "fancy" effects to play with. This has no real value. So,
24499           disable OpenGL rendering by default.
24500
24501 2013-06-06 05:36:03 -0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
24502
24503         * gst/vaapi/gstvaapipluginutil.c:
24504           plugins: try to allocate a GLX display first over an X11 one.
24505           If the gstreamer-vaapi plug-in elements are built with GLX support, then
24506           try to allocate a GstVaapiDisplayGLX first before resorting to a VA/X11
24507           display next.
24508           https://bugzilla.gnome.org/show_bug.cgi?id=701742
24509
24510 2013-04-25 17:07:13 +0100  Lionel Landwerlin <llandwerlin@gmail.com>
24511
24512         * configure.ac:
24513           configure: use GST_PLUGIN_PATH_1_0 instead of GST_PLUGIN_PATH for Gst 1.0.
24514           jhbuild sets $GST_PLUGIN_PATH_1_0 which overrides $GST_PLUGIN_PATH.
24515           https://bugzilla.gnome.org/show_bug.cgi?id=698858
24516           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24517
24518 2013-04-27 15:15:49 +0800  Wind Yuan <feng.yuan@intel.com>
24519
24520         * gst-libs/gst/vaapi/gstvaapiimage.c:
24521           image: fix wrong check for rect bounds in copy_image().
24522
24523 2013-06-14 13:41:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24524
24525         * configure.ac:
24526           Bump version for development.
24527
24528 2013-06-14 11:47:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24529
24530         * NEWS:
24531         * configure.ac:
24532           0.5.4.
24533
24534 2013-06-14 11:43:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24535
24536         * NEWS:
24537           NEWS: updates.
24538
24539 2013-06-14 11:39:54 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24540
24541         * configure.ac:
24542         * gst-libs/gst/codecparsers/Makefile.am:
24543           configure: always build the MPEG-4 parser.
24544           Always build the MPEG-4 parser for now as there are also core fixes
24545           included in the parser that cannot be tested for with API checks.
24546
24547 2013-06-14 11:32:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24548
24549         * configure.ac:
24550           configure: add --enable-builtin-codecparsers [default="yes"] option.
24551           Add flag to have all codecparsers built-in, thus ensuring that the
24552           resulting binaries have all the necessary bug fixes and this is what
24553           the QA has been testing anyway.
24554           Of course, for a completely up-to-date Linux distribution, you could
24555           also opt for --disable-builtin-codecparsers and use the system ones.
24556           Though, some core fixes could be missing, and those cannot be tested
24557           for with API checks.
24558
24559 2013-06-14 11:14:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24560
24561         * ext/codecparsers:
24562           codecparsers: update to gst-vaapi-branch commit 843ce3e.
24563           843ce3e jpeg: fix default Huffman tables generation.
24564           8655187 mpeg2: fix the pixel-aspect-ratio calculation
24565           21099dc mpeg2: actually store video bitrate values
24566           dd02087 mpeg2: fix picture packet extension size check
24567           25948e9 mpeg2: increase min size for picture coding ext
24568           f1f5a40 ensure the debug category is properly initialized
24569
24570 2013-06-12 14:16:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24571
24572         * debian.upstream/Makefile.am:
24573           debian: fix list of generated files for .deb packaging.
24574
24575 2013-06-12 13:48:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24576
24577         * configure.ac:
24578         * debian.upstream/Makefile.am:
24579         * debian.upstream/control.in:
24580           debian: fix libgstvaapi -dev package name.
24581           Fix libgstvaapi -dev package name so that to allow installation of both
24582           GStreamer 0.10 and 1.0.x based packages.
24583
24584 2013-06-05 17:42:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24585
24586         * NEWS:
24587           NEWS: updates.
24588
24589 2013-05-31 11:09:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24590
24591         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
24592           wayland: fix memory leak of display resources.
24593
24594 2013-06-04 07:14:22 +0800  Zhao Halley <halley.zhao@intel.com>
24595
24596         * gst/vaapi/gstvaapisink.c:
24597           vaapisink: fix build without VA/GLX support.
24598
24599 2013-06-05 11:01:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24600
24601         * gst/vaapi/gstvaapivideomemory.c:
24602         * gst/vaapi/gstvaapivideomemory.h:
24603           plugins: allow buffer mappings to GstVaapiSurfaceProxy.
24604           Allow plain gst_buffer_map() interface to work with gstreamer-vaapi
24605           video buffers, i.e. expose the underlying GstVaapiSurfaceProxy to the
24606           caller. This is the only sensible enough thing to do in this mode as
24607           the underlying surface pixels need to be extracted through an explicit
24608           call to the gst_video_frame_map() function instead.
24609           A possible use-case of this is to implement a "handoff" signal handler
24610           to fakesink or identity element for further processing.
24611
24612 2013-06-03 10:22:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24613
24614         * gst/vaapi/gstvaapivideomemory.c:
24615           plugins: silence check for direct-rendering mode in video memory.
24616           Fix gst_vaapi_video_allocator_new() to silently check for direct-rendering
24617           mode support, and not trigger fatal-criticals if either test surface or
24618           image could not be created. Typical case: pixel format mismatch, e.g. NV12
24619           supported by most hardware vs. I420 supported by most software decoders.
24620
24621 2013-06-03 10:06:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24622
24623         * gst/vaapi/gstvaapivideomemory.c:
24624           plugins: improve video memory flags safety checks.
24625           On map, ensure we have GST_MAP_WRITE flags since this is only what we
24626           support for now. Likewise, on unmap, make sure that the VA image is
24627           unmapped for either read or write, while still committing it to the
24628           VA surface if write was requested.
24629
24630 2013-05-30 18:17:07 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24631
24632         * gst-libs/gst/vaapi/gstvaapisurface.c:
24633           surface: fix memory leak through unreleased parent context.
24634           Break the circular references between GstVaapiContext and its children
24635           GstVaapiSurfaces. Since the VA surfaces held an extra reference to the
24636           context, which holds a reference to its VA surfaces, then none of those
24637           were released.
24638           How does this impact support for subpictures?
24639           The only situation when the parent context needs to disappear is when
24640           it is replaced with another one because of a resolution change in the
24641           video stream for instance, or a normal destroy. In this case, it does
24642           not really matter to apply subpictures to the peer surfaces since they
24643           are either gone, or those that are left in the pipe can probably bear
24644           a reinstantiation of the subpictures for it.
24645           So, parent_context is set to NULL when the parent context is destroyed,
24646           other VA surfaces can still get subpictures attached to them, individually
24647           not as a whole. i.e. subpictures for surface S1 will be created from
24648           active composition buffers and associated to S1, subpictures for S2 will
24649           be created from the next active composition buffers, etc. We don't try
24650           to cache the subpictures in those cases (pending surfaces until EOS
24651           is reached, or pending surfaces until new surfaces matching new VA context
24652           get to be used instead).
24653
24654 2013-05-27 14:01:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24655
24656         * gst/vaapi/gstvaapisink.c:
24657           vaapisink: fix one-time initialization when display property is set.
24658           Fix gst_vaapisink_ensure_display() to perform one-time initialization
24659           tasks even if the `display' property was explicitly set.
24660
24661 2013-05-27 15:59:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24662
24663         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
24664           window: fix GLX window initialization.
24665           Make sure to create the GLX context once the window object has completed
24666           its creation. Since gl_resize() relies on the newly created window size,
24667           then we cannot simply overload the GstVaapiWindowClass::create() hook.
24668           So, we just call into gst_vaapi_window_glx_ensure_context() once the
24669           window object is created in the gst_vaapi_window_glx_new*() functions.
24670
24671 2013-05-27 17:18:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24672
24673         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
24674         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
24675         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
24676         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
24677         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
24678         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
24679         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
24680         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
24681         * gst-libs/gst/vaapi/gstvaapitexture.c:
24682         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
24683         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
24684         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
24685         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
24686           display: validate display types.
24687
24688 2013-05-27 16:13:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24689
24690         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
24691         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
24692         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
24693           display: drop internal NAME_PREFIX, store the real display name.
24694           Always store a valid display name/device path, instead of adding a
24695           particular prefix. i.e. make it simply a strdup(), or "" if it was
24696           initially NULL.
24697
24698 2013-05-27 13:17:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24699
24700         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
24701         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
24702         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
24703         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
24704         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
24705         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
24706         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
24707           display: make it possible to lookup the display cache by type.
24708           Make it possible to add extra an extra filter to most of display cache
24709           lookup functions so that the GstVaapiDisplay instance can really match
24710           a compatible and existing display by type, instead of relying on extra
24711           string tags (e.g. "X11:" prefix, etc.).
24712
24713 2013-05-24 16:19:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24714
24715         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
24716         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
24717         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
24718           display: cope with new display cache API.
24719
24720 2013-05-24 16:12:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24721
24722         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
24723         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
24724           display: rework display cache API.
24725           Simplify display cache API, while making it more flexible. We can now create
24726           custom lookup functions with gst_vaapi_display_cache_lookup_custom().
24727
24728 2013-05-24 15:05:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24729
24730         * tests/test-display.c:
24731           tests: improve check for display cache.
24732           Improve check for display cache infrastructure. In particular, for X11 and
24733           GLX backends, we need to make sure that we can create a GstVaapiDisplayX11
24734           from another GstVaapiDisplayGLX, i.e. underlying X11 and VA displays can be
24735           shared. Besides, allocating a GstVaapiDisplayGLX while a GstVaapiDisplayX11
24736           already exists will have to generate different VA displays.
24737
24738 2013-05-15 10:33:16 +0800  Zhao Halley <halley.zhao@intel.com>
24739
24740         * gst/vaapi/gstvaapiuploader.c:
24741           uploader: fix memory leak in GStreamer 0.10 builds.
24742           In GStreamer 0.10 builds, gst_vaapi_uploader_get_buffer() was used
24743           but it exhibited a memory leak because the surface generated for the
24744           GstVaapiVideoMeta totally lost its parent video pool. So, it was not
24745           possible to release that surface back to the parent pool when the meta
24746           gets released, and the memory consumption kept growing.
24747           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24748
24749 2013-05-23 18:56:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24750
24751         * gst/vaapi/gstvaapivideometa.c:
24752           plugins: fix gst_vaapi_video_meta_new_from_pool().
24753           Since GST_VAAPI_IS_xxx_VIDEO_POOL() was only testing for NULL and not
24754           the underlying object type, the gst_vaapi_video_meta_new_from_pool()
24755           was hereby totally broken. Fixed this regression by using the newly
24756           provided gst_vaapi_video_pool_get_object_type() function.
24757
24758 2013-05-23 18:22:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24759
24760         * gst/vaapi/gstvaapiuploader.c:
24761         * gst/vaapi/gstvaapivideomemory.c:
24762         * gst/vaapi/gstvaapivideometa.c:
24763           plugins: cope with GST_VAAPI_IS_xxx() macros removal.
24764
24765 2013-05-23 18:19:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24766
24767         * tests/decoder.c:
24768           tests: cope with GST_VAAPI_IS_xxx() macros removal.
24769
24770 2013-05-23 18:45:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24771
24772         * docs/reference/libs/libs-sections.txt:
24773         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
24774         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
24775         * gst-libs/gst/vaapi/gstvaapivideopool.c:
24776         * gst-libs/gst/vaapi/gstvaapivideopool.h:
24777         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
24778           libs: add query for GstVaapiVideoPool object types.
24779           Add API to identify the underlying GstVaapiVideoPool object type.
24780
24781 2013-05-23 18:15:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24782
24783         * docs/reference/libs/libs-sections.txt:
24784         * gst-libs/gst/vaapi/gstvaapicontext.c:
24785         * gst-libs/gst/vaapi/gstvaapicontext.h:
24786         * gst-libs/gst/vaapi/gstvaapidecoder.c:
24787         * gst-libs/gst/vaapi/gstvaapidecoder.h:
24788         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24789         * gst-libs/gst/vaapi/gstvaapidisplay.h:
24790         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
24791         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
24792         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
24793         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
24794         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
24795         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
24796         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
24797         * gst-libs/gst/vaapi/gstvaapiimage.c:
24798         * gst-libs/gst/vaapi/gstvaapiimage.h:
24799         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
24800         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
24801         * gst-libs/gst/vaapi/gstvaapiobject.c:
24802         * gst-libs/gst/vaapi/gstvaapiobject.h:
24803         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
24804         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
24805         * gst-libs/gst/vaapi/gstvaapisurface.c:
24806         * gst-libs/gst/vaapi/gstvaapisurface.h:
24807         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
24808         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
24809         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
24810         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
24811         * gst-libs/gst/vaapi/gstvaapitexture.c:
24812         * gst-libs/gst/vaapi/gstvaapivideopool.c:
24813         * gst-libs/gst/vaapi/gstvaapivideopool.h:
24814         * gst-libs/gst/vaapi/gstvaapiwindow.c:
24815         * gst-libs/gst/vaapi/gstvaapiwindow.h:
24816         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
24817         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
24818         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
24819         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
24820           libs: drop GST_VAAPI_IS_xxx() helper macros.
24821           Drop obsolete GST_VAAPI_IS_xxx() helper macros since we are no longer
24822           deriving from GObject and so those were only checking for whether the
24823           argument was NULL or not. This is now irrelevant, and even confusing
24824           to some extent, because we no longer have type checking.
24825           Note: this incurs more type checking (review) but the libgstvaapi is
24826           rather small, so this is manageable.
24827
24828 2013-05-07 18:52:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24829
24830         * configure.ac:
24831           Bump library major version.
24832           The whole libgstvaapi libraries got a major refresh to get rid of GObject.
24833           This is a fundamental change that requires a new SONAME. More changes are
24834           underway to streamline the core libraries.
24835           So far, the net result is a reduction of .text size (code) by 32KB, i.e. -10%.
24836           On one particular test (sintel HD trailer), the total number of executed
24837           instruction was reduced by 8%.
24838
24839 2013-05-07 18:37:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24840
24841         * docs/reference/libs/Makefile.am:
24842         * docs/reference/libs/libs-docs.xml.in:
24843         * docs/reference/libs/libs-sections.txt:
24844         * docs/reference/libs/libs.core.types:
24845         * docs/reference/libs/libs.glx.types:
24846         * docs/reference/libs/libs.x11.types:
24847           docs: cope with removed APIs.
24848           Some APIs are dead because they are no longer based on GObject.
24849
24850 2013-05-06 14:43:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24851
24852         * gst/vaapi/gstvaapidecode.c:
24853         * gst/vaapi/gstvaapidownload.c:
24854         * gst/vaapi/gstvaapipluginutil.c:
24855         * gst/vaapi/gstvaapipostproc.c:
24856         * gst/vaapi/gstvaapisink.c:
24857         * gst/vaapi/gstvaapiupload.c:
24858         * gst/vaapi/gstvaapiuploader.c:
24859         * gst/vaapi/gstvaapivideobufferpool.c:
24860         * gst/vaapi/gstvaapivideoconverter_glx.c:
24861         * gst/vaapi/gstvaapivideomemory.c:
24862         * gst/vaapi/gstvaapivideometa.c:
24863           plugins: cope with new GstVaapiMiniObject objects.
24864
24865 2013-05-07 11:45:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24866
24867         * tests/decoder.c:
24868         * tests/image.c:
24869         * tests/output.c:
24870         * tests/simple-decoder.c:
24871         * tests/test-decode.c:
24872         * tests/test-display.c:
24873         * tests/test-subpicture.c:
24874         * tests/test-surfaces.c:
24875         * tests/test-textures.c:
24876         * tests/test-windows.c:
24877           tests: cope with new GstVaapiMiniObject objects.
24878
24879 2013-05-07 15:38:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24880
24881         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
24882           display: fix set_synchronous() to lock display.
24883
24884 2013-05-03 19:02:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24885
24886         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
24887         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
24888           videopool: simplify creation of video objects pool.
24889
24890 2013-05-07 18:17:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24891
24892         * gst-libs/gst/vaapi/gstvaapiobject.c:
24893         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
24894         * gst-libs/gst/vaapi/gstvaapitypes.h:
24895           libs: simplify GstVaapiID definitions.
24896           Make GstVaapiID a gsize instead of guessing an underlying integer large
24897           enough to hold all bits of a pointer. Also drop GST_VAAPI_ID_NONE since
24898           this is plain zero and that it is no longer passed as varargs.
24899
24900 2013-05-02 16:11:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24901
24902         * gst-libs/gst/vaapi/Makefile.am:
24903         * gst-libs/gst/vaapi/gstvaapi_priv.h:
24904         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
24905         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
24906         * gst-libs/gst/vaapi/gstvaapivalue.c:
24907         * gst-libs/gst/vaapi/gstvaapivalue.h:
24908           libs: drop obsolete function helpers and objects.
24909           Drop obsolete GstVaapiID related function helpers for passing them as
24910           GValues.
24911
24912 2013-05-07 11:39:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24913
24914         * gst-libs/gst/vaapi/gstvaapidecoder.c:
24915         * gst-libs/gst/vaapi/gstvaapidisplay.c:
24916         * gst-libs/gst/vaapi/gstvaapidisplay.h:
24917         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
24918         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
24919         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
24920         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
24921         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
24922         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
24923         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
24924         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
24925         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
24926         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
24927         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
24928         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
24929         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
24930         * gst-libs/gst/vaapi/gstvaapiobject.c:
24931         * gst-libs/gst/vaapi/gstvaapivideopool.c:
24932           libs: use GstVaapiMiniObject for display objects.
24933
24934 2013-05-06 14:07:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24935
24936         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
24937         * gst-libs/gst/vaapi/gstvaapidecoder.c:
24938         * gst-libs/gst/vaapi/gstvaapidecoder.h:
24939         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
24940         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
24941         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
24942         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
24943         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
24944         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
24945         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
24946         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
24947         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
24948         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
24949         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
24950         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
24951           libs: use GstVaapiMiniObject for video decoders.
24952           Port GstVaapiDecoder and GstVaapiDecoder{MPEG2,MPEG4,JPEG,H264,VC1} to
24953           GstVaapiMiniObject. Add gst_vaapi_decoder_set_codec_state_changed_func()
24954           helper function to let the user add a callback to a function triggered
24955           whenever the codec state (e.g. caps) changes.
24956
24957 2013-05-03 11:01:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24958
24959         * docs/reference/libs/libs-sections.txt:
24960         * gst-libs/gst/vaapi/Makefile.am:
24961         * gst-libs/gst/vaapi/gstvaapicontext.c:
24962         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
24963         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
24964         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
24965         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
24966         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
24967         * gst-libs/gst/vaapi/gstvaapivideopool.c:
24968         * gst-libs/gst/vaapi/gstvaapivideopool.h:
24969         * gst-libs/gst/vaapi/gstvaapivideopool_priv.h:
24970           libs: use GstVaapiMiniObject for video object pools.
24971           Port GstVaapiVideoPool, GstVaapiSurfacePool and GstVaapiImagePool to
24972           GstVaapiMiniObject. Drop gst_vaapi_video_pool_get_caps() since it was
24973           no longer used for a long time. Make object allocators static, i.e.
24974           local to the shared library.
24975
24976 2013-04-30 17:22:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24977
24978         * gst-libs/gst/vaapi/gstvaapitexture.c:
24979         * gst-libs/gst/vaapi/gstvaapitexture.h:
24980           libs: use GstVaapiObject for texture objects.
24981
24982 2013-04-30 17:20:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
24983
24984         * gst-libs/gst/vaapi/Makefile.am:
24985         * gst-libs/gst/vaapi/gstvaapiwindow.c:
24986         * gst-libs/gst/vaapi/gstvaapiwindow.h:
24987         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
24988         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
24989         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
24990         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
24991         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
24992         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
24993         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
24994         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
24995         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
24996         * gst-libs/gst/vaapi/gstvaapiwindow_x11_priv.h:
24997           libs: use GstVaapiObject for window objects.
24998
24999 2013-04-30 17:22:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25000
25001         * gst-libs/gst/vaapi/gstvaapicontext.c:
25002         * gst-libs/gst/vaapi/gstvaapicontext.h:
25003         * gst-libs/gst/vaapi/gstvaapidecoder.c:
25004         * gst-libs/gst/vaapi/gstvaapiimage.c:
25005         * gst-libs/gst/vaapi/gstvaapiimage.h:
25006         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
25007         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
25008         * gst-libs/gst/vaapi/gstvaapisurface.c:
25009         * gst-libs/gst/vaapi/gstvaapisurface.h:
25010         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
25011         * gst-libs/gst/vaapi/gstvaapivideopool.c:
25012           libs: use GstVaapiObject for VA objects.
25013
25014 2013-04-30 17:20:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25015
25016         * gst-libs/gst/vaapi/Makefile.am:
25017         * gst-libs/gst/vaapi/gstvaapiobject.c:
25018         * gst-libs/gst/vaapi/gstvaapiobject.h:
25019         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
25020           Port GstVaapiObject to GstVaapiMiniObject.
25021
25022 2013-04-30 10:28:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25023
25024         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
25025         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
25026         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
25027         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
25028         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
25029         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
25030           libs: refine GstVaapiMiniObject.
25031           Drop support for user-defined data since this capability was not used
25032           so far and GstVaapiMiniObject represents the smallest reference counted
25033           object type. Add missing GST_VAAPI_MINI_OBJECT_CLASS() helper macro.
25034           Besides, since GstVaapiMiniObject is a libgstvaapi internal object, it
25035           is also possible to further simplify the layout of the object. i.e. merge
25036           GstVaapiMiniObjectBase into GstVaapiMiniObject.
25037
25038 2013-05-07 16:43:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25039
25040         * gst-libs/gst/vaapi/gstvaapidecoder.c:
25041           decoder: update picture size from the bitstream.
25042           Propagate the picture size from the bitstream to the GstVaapiDecoder,
25043           and subsequent user who installed a signal on notify::caps. This fixes
25044           decoding of TS streams when the demuxer failed to extract the required
25045           information.
25046
25047 2013-04-25 14:16:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25048
25049         * gst-libs/gst/vaapi/gstvaapidecoder.c:
25050           decoder: fix raw decoding mode.
25051           Fix gst_vaapi_decoder_get_surface() to actually transfer ownership of the
25052           surface proxy to the caller.
25053
25054 2013-04-25 13:56:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25055
25056         * docs/reference/libs/libs-sections.txt:
25057         * gst-libs/gst/vaapi/gstvaapidecoder.c:
25058         * gst-libs/gst/vaapi/gstvaapidecoder.h:
25059         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
25060         * gst/vaapi/gstvaapidecode.c:
25061           decoder: add gst_vaapi_decoder_get_frame_with_timeout().
25062           Add gst_vaapi_decoder_get_frame_with_timeout() helper function that will
25063           wait for a frame to be decoded, until the specified timeout in microseconds,
25064           prior to returning to the caller.
25065           This is a fix to performance regression from 851cc0, whereby the vaapidecode
25066           loop executed on the srcpad task was called to often, thus starving all CPU
25067           resources.
25068
25069 2013-04-19 14:38:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25070
25071         * configure.ac:
25072           Bump version for development.
25073
25074 2013-04-18 19:09:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25075
25076         * NEWS:
25077         * configure.ac:
25078           0.5.3.
25079
25080 2013-04-18 19:08:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25081
25082         * NEWS:
25083           NEWS: updates.
25084
25085 2013-04-18 15:55:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25086
25087         * gst/vaapi/gstvaapidecode.c:
25088           vaapidecode: rework heuristics to detect decode timeout.
25089           Rework heuristics to detect when downstream element ran into errors,
25090           and thus failing to release any VA surface in due time for the current
25091           frame to get decoded. In particular, recalibrate the render time base
25092           when the first frame gets submitted downstream, or when there is no
25093           timestamp that could be inferred.
25094
25095 2013-04-18 15:50:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25096
25097         * gst-libs/gst/vaapi/gstcompat.h:
25098         * gst/vaapi/gstvaapidecode.c:
25099           vaapidecode: rework GstVideoDecoder::handle_frame() with a task.
25100           Rework GstVideoDecoder::handle_frame() to decode the current frame,
25101           while possibly waiting for a free surface, and separately submit all
25102           decoded frames from a task. This makes it possible to pop and render
25103           decoded frames as soon as possible.
25104
25105 2013-04-18 10:06:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25106
25107         * gst/vaapi/gstvaapidecode.c:
25108         * gst/vaapi/gstvaapidownload.c:
25109         * gst/vaapi/gstvaapisink.c:
25110         * gst/vaapi/gstvaapiupload.c:
25111           plugins: use gst_object_unref() wherever applicable.
25112           Use gst_object_unref() wherever applicable, e.g. objects derived from
25113           GstElement, GstVideoPool, etc.
25114
25115 2013-04-17 14:21:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25116
25117         * docs/reference/plugins/plugins-docs.xml.in:
25118         * docs/reference/plugins/plugins-sections.txt:
25119         * docs/reference/plugins/plugins.types:
25120           docs: drop obsolete plug-ins.
25121           Drop documentation for obsolete plug-ins, even for GStreamer 0.10.
25122           i.e. vaapiupload and vaapidownload are no longer the recommended
25123           plug-ins to use.
25124
25125 2013-04-17 13:17:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25126
25127         * debian.upstream/rules:
25128           debian: fix build of GStreamer 0.10 packages.
25129           Fix build of Debian packages to scan the actual GStreamer API version
25130           from the generated changelog file.
25131
25132 2013-04-17 10:58:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25133
25134         * gst/vaapi/gstvaapipostproc.c:
25135           vaapipostproc: minor clean-ups.
25136           Use g_clear_object() wherever appropriate and remove dead-code.
25137
25138 2013-04-17 10:53:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25139
25140         * gst/vaapi/gstvaapipostproc.c:
25141           vaapipostproc: fix reference counting buf for passthrough mode.
25142           Fix reference counting bug for passthrough mode, whereby the input buffer
25143           was propagated as is downstream through gst_pad_push() without increasing
25144           its reference count before. The was a problem when gst_pad_push() returns
25145           an error and we further decrease the reference count of the input buffer.
25146
25147 2013-04-17 10:18:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25148
25149         * gst-libs/gst/vaapi/gstcompat.h:
25150         * gst/vaapi/Makefile.am:
25151         * gst/vaapi/gstvaapi.c:
25152         * gst/vaapi/gstvaapidecode.c:
25153         * gst/vaapi/gstvaapipluginutil.h:
25154         * gst/vaapi/gstvaapipostproc.c:
25155           vaapipostproc: port to GStreamer 1.0.
25156           Add support for interlaced streams with GStreamer 1.0 too. Basically,
25157           this enables vaapipostproc, though it is not auto-plugged yet. We also
25158           make sure to reply to CAPS queries, and happily handle CAPS events.
25159
25160 2013-04-17 10:14:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25161
25162         * gst-libs/gst/vaapi/gstvaapidecoder.c:
25163           decoder: fix GstVideoCodecFrame flags for interlaced contents.
25164           Fix support for interlaced contents with GStreamer 0.10. In particular,
25165           propagate GstVaapiSurfaceProxy frame flags to GstVideoCodecFrame flags
25166           correctly.
25167           This is a regression from commit 87e5717.
25168
25169 2013-04-16 13:23:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25170
25171         * gst-libs/gst/vaapi/Makefile.am:
25172         * gst-libs/gst/vaapi/gstvaapidecoder.c:
25173         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
25174         * gst-libs/gst/vaapi/gstvaapiparser_frame.c:
25175         * gst-libs/gst/vaapi/gstvaapiparser_frame.h:
25176           decoder: rename GstVaapiDecoderFrame to GstVaapiParserFrame.
25177           Rename GstVaapiDecoderFrame to GstVaapiParserFrame because this data
25178           structure was only useful to parsing and a proper GstvaapiDecoderFrame
25179           instance will be created instead.
25180
25181 2013-04-16 19:09:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25182
25183         * gst-libs/gst/vaapi/gstvaapidecoder.c:
25184           decoder: export presentation timestamp for raw decoding mode.
25185           Fix regression from 0.4-branch whereby GstVaapiSurfaceProxy no longer
25186           held any information about the expected presentation timestamp, frame
25187           duration or additional flags like interlaced or top-field-first.
25188
25189 2013-04-16 18:56:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25190
25191         * gst-libs/gst/vaapi/gstvaapidecoder.c:
25192         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
25193           decoder: use new GstVaapiSurfaceProxy utility functions.
25194           Use new GstVaapiSurfaceProxy internal helper functions to propagate the
25195           necessary GstVideoCodecFrame flags to vaapidecode (GStreamer 0.10).
25196           Also make GstVaapiDecoder push_frame() operate similarly to drop_frame().
25197           i.e. increase the GstVideoCodecFrame reference count in push_frame rather
25198           than gst_vaapi_picture_output().
25199
25200 2013-04-16 18:35:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25201
25202         * docs/reference/libs/libs-sections.txt:
25203         * gst-libs/gst/vaapi/Makefile.am:
25204         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
25205         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
25206         * gst-libs/gst/vaapi/gstvaapisurfaceproxy_priv.h:
25207           surfaceproxy: add more attributes for raw decoding modes.
25208           Add more attributes for raw decoding modes, i.e. directly through the
25209           libgstvaapi helper library. In particular, add presentation timestamp,
25210           duration and a couple of flags (interlaced, TFF, RFF, one-field).
25211
25212 2013-04-16 13:48:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25213
25214         * docs/reference/libs/libs-sections.txt:
25215         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
25216         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
25217         * gst/vaapi/gstvaapidecode.c:
25218         * tests/simple-decoder.c:
25219           surfaceproxy: drop user-data support from GstVaapiSurfaceProxy.
25220           Drop user-data support from GstVaapiSurfaceProxy. Rather make it explicit
25221           to call some user-provided function when the surface proxy is released.
25222
25223 2013-04-15 12:52:51 +0400  Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
25224
25225         * configure.ac:
25226         * gst-libs/gst/vaapi/Makefile.am:
25227           build: link libgstvaapi-glx-1.0.so against libdl.
25228           Ensure libgstvaapi-glx*.so builds against libdl since dlsym() is used
25229           to resolve glXGetProcAddress() from GLX libraries. This fix builds on
25230           Fedora 17.
25231           https://bugzilla.gnome.org/show_bug.cgi?id=698046
25232           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25233
25234 2013-04-15 14:22:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25235
25236         * gst-libs/gst/vaapi/gstvaapidecoder.c:
25237           decoder: fix gst_vaapi_decoder_get_codec_state().
25238           Fix previous commit whereby gst_vaapi_decoder_get_codec_state() was
25239           supposed to make GstVaapiDecoder own the return GstVideoCodecState
25240           object. Only comment was updated, not the actual code.
25241
25242 2013-04-15 13:58:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25243
25244         * gst-libs/gst/vaapi/gstvaapidecoder.c:
25245         * gst/vaapi/gstvaapidecode.c:
25246           decoder: make gst_vaapi_decoder_get_codec_state() return the original state.
25247           Make gst_vaapi_decoder_get_codec_state() return the original codec state,
25248           i.e. make the GstVaapiDecoder object own the return state so that callers
25249           that want an extra reference to it would just gst_video_codec_state_ref()
25250           it before usage. This aligns the behaviour with what we had before with
25251           gst_vaapi_decoder_get_caps().
25252           This is an ABI incompatible change, library major version was bumped from
25253           previous release (0.5.2).
25254
25255 2013-04-15 13:52:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25256
25257         * gst/vaapi/gstvaapivideobufferpool.h:
25258         * gst/vaapi/gstvaapivideoconverter_glx.h:
25259           plugins: mark a few more functions as internal.
25260           Mark the following functions are internal, i.e. private to the vaapi plug-in:
25261           - gst_vaapi_video_buffer_pool_get_type()
25262           - gst_vaapi_video_converter_glx_get_type()
25263           - gst_vaapi_video_converter_glx_new()
25264
25265 2013-04-15 13:48:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25266
25267         * gst/vaapi/gstvaapivideobuffer.c:
25268           plugins: implement GstSurfaceMeta API.
25269           Implement GstSurfaceMeta API for GStreamer 1.0.x. Even though this is
25270           an unstable/deprecated API, this makes it possible to support Clutter
25271           sink with minimal changes. Tested against clutter-gst 1.9.92.
25272
25273 2013-04-12 17:12:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25274
25275         * gst/vaapi/gstvaapisink.c:
25276           vaapisink: optimize GstVideoOverlayInterface::expose().
25277           When render-mode is "overlay", then it is not really useful to peek into
25278           the GstBaseSink::last_buffer, since we have our own video_buffer already
25279           recorded and maintained into GstVaapiSink.
25280
25281 2013-04-12 17:05:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25282
25283         * gst/vaapi/gstvaapisink.c:
25284           vaapisink: fix memory leak of GstSample objects.
25285           Fix memory leak of GstSample objects in GstVideoOverlayInterface::expose().
25286           This also fixes extra unreferencing of the underlying GstBuffer in the common
25287           path afterwards (for both 0.10 or 1.0).
25288
25289 2013-04-12 13:44:52 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25290
25291         * gst-libs/gst/vaapi/gstcompat.h:
25292         * gst/vaapi/gstvaapi.c:
25293           plugins: fix description for gst-inspect.
25294           Fix the name of the plug-in element reported to gst-inspect-1.0. i.e. we
25295           need an explicit definition for GStreamer >= 1.0 because the GST_PLUGIN_DEFINE
25296           incorrectly uses #name for creating the plug-in name, instead of using macro
25297           expansion (and let further expansion of macros) through e.g. G_STRINGIFY().
25298
25299 2013-04-11 09:24:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25300
25301         * README:
25302           README: updates.
25303           Update build requirements for GStreamer 1.0.x support. Add section for
25304           ways to report bugs.
25305
25306 2013-04-10 16:54:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25307
25308         * NEWS:
25309           NEWS: updates.
25310
25311 2013-04-10 15:31:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25312
25313         * gst-libs/gst/vaapi/Makefile.am:
25314         * gst/vaapi/Makefile.am:
25315           Fix make dist to include all source files, in any case.
25316           Fix make dist to allow build for either GStreamer 0.10 or 1.0. i.e. make
25317           sure to include all source files in either case while generating source
25318           tarballs.
25319
25320 2013-04-10 15:21:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25321
25322         * configure.ac:
25323           Bump library major version.
25324           Bump library major version, while preserving a major version of 0 for
25325           GStreamer 1.0 based libraries, and a major version of 2 for GStreamer
25326           0.10 based librarieS.
25327
25328 2013-04-10 14:37:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25329
25330         * gst/vaapi/gstvaapivideomemory.c:
25331         * gst/vaapi/gstvaapivideomemory.h:
25332           plugins: implement direct-rendering mode for raw YUV buffer uploads.
25333           Allow direct-rendering (writes) into target VA surfaces.
25334
25335 2013-04-09 16:02:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25336
25337         * gst/vaapi/gstvaapivideobufferpool.c:
25338         * gst/vaapi/gstvaapivideomemory.c:
25339         * gst/vaapi/gstvaapivideomemory.h:
25340           plugins: implement uploads from raw YUV buffers for GStreamer 1.0.
25341           Implement GstVideoMeta::{,un}map() to support raw YUV buffer upload when
25342           the last component is unmapped. Downloads are not supported yet. The aim
25343           was to first support SW decoding + HW accelerated rendering (vaapisink).
25344           e.g. for Wayland.
25345
25346 2013-04-03 11:10:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25347
25348         * gst/vaapi/gstvaapidecode.c:
25349           vaapidecode: submit all decoded frames before decoding a new one.
25350           Make sure to purge all pending frames that were already decoded prior
25351           to decoding a new one. This helps release VA surfaces as early as
25352           possible.
25353
25354 2013-04-02 16:12:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25355
25356         * gst/vaapi/gstvaapidecode.c:
25357           vaapidecode: reply to CAPS queries.
25358           Handle GST_QUERY_CAPS, which is the GStreamer 1.0 mechanism to retrieve
25359           the set of allowed caps, i.e. it works similar to GstPad::get_caps().
25360           This fixes fallback to SW decoding if no HW decoder is available.
25361
25362 2013-03-20 11:26:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25363
25364         * gst-libs/gst/vaapi/gstvaapidecoder.c:
25365         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
25366         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
25367         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
25368         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
25369         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
25370           decoder: fix unpaired GstBuffer map/unmaps.
25371           This possibly fixes a few memory leaks along the way.
25372
25373 2013-03-20 14:40:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25374
25375         * configure.ac:
25376         * gst-libs/gst/vaapi/gstcompat.h:
25377         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
25378         * gst-libs/gst/vaapi/gstvaapiprofile.c:
25379         * gst/vaapi/Makefile.am:
25380         * gst/vaapi/gstvaapi.c:
25381         * gst/vaapi/gstvaapidecode.c:
25382         * gst/vaapi/gstvaapisink.c:
25383         * gst/vaapi/gstvaapisink.h:
25384         * gst/vaapi/gstvaapiuploader.c:
25385         * tests/codec.c:
25386           Allow build against either GStreamer API (0.10 or 1.0).
25387           Introduce a new configure option --with-gstreamer-api that determines
25388           the desired GStreamer API to use. By default, GStreamer 1.0 is selected.
25389           Also integrate more compatibility glue into gstcompat.h and plugins.
25390
25391 2012-11-08 16:41:22 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
25392
25393         * gst/vaapi/gstvaapidecode.c:
25394         * gst/vaapi/gstvaapisink.c:
25395         * gst/vaapi/gstvaapisink.h:
25396           plugins: use new video buffer pools.
25397           Use new GstVaapiVideoBufferPool to maintain video buffers. Implement
25398           GstBaseSink::propose_allocation() to expose that pool to upstream
25399           elements; and also implement GstVideoDecoder::decide_allocation() to
25400           actually use that pool (from downstream), if any, or create one.
25401           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25402
25403 2012-11-08 16:41:22 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
25404
25405         * gst/vaapi/Makefile.am:
25406         * gst/vaapi/gstvaapivideobufferpool.c:
25407         * gst/vaapi/gstvaapivideobufferpool.h:
25408         * gst/vaapi/gstvaapivideomemory.c:
25409         * gst/vaapi/gstvaapivideomemory.h:
25410           plugins: add GstVaapiVideoMemory and GstVaapiVideoBufferPool objects.
25411           Add initial support for GstVaapiVideoMemory backed buffer pool. The memory
25412           object currently holds a reference to GstVaapiVideoMeta.
25413           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25414
25415 2013-04-04 17:36:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25416
25417         * gst/vaapi/gstvaapivideometa.c:
25418         * gst/vaapi/gstvaapivideometa.h:
25419           plugins: allow copies of GstVaapiVideoMeta objects.
25420           Make it possible to copy GstVaapiVideoMeta objects, unless they contain VA
25421           objects created from GstVaapiVideoPool. This is mostly useful to clone a
25422           GstVaapiVideoMeta object containing a VA surface proxy so that to alter its
25423           rendering flags.
25424
25425 2013-04-04 16:16:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25426
25427         * gst/vaapi/gstvaapivideometa.c:
25428           plugins: make it possible to clear VA objects from GstVaapiVideoMeta.
25429           Fix GstVaapiVideoMeta to allow VA objects to be destroyed when they are
25430           reset to NULL. i.e. make gst_vaapi_video_meta_set_{image,surface}() and
25431           gst_vaapi_video_meta_set_surface_proxy() actually clear VA objects when
25432           argument is NULL.
25433
25434 2012-09-03 14:00:25 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
25435
25436         * gst/vaapi/Makefile.am:
25437         * gst/vaapi/gstvaapi.c:
25438         * gst/vaapi/gstvaapidecode.c:
25439         * gst/vaapi/gstvaapidownload.c:
25440         * gst/vaapi/gstvaapipluginutil.c:
25441         * gst/vaapi/gstvaapipostproc.c:
25442         * gst/vaapi/gstvaapisink.c:
25443         * gst/vaapi/gstvaapiupload.c:
25444         * gst/vaapi/gstvaapiuploader.c:
25445         * gst/vaapi/gstvaapivideobuffer.c:
25446         * gst/vaapi/gstvaapivideoconverter_glx.c:
25447         * gst/vaapi/gstvaapivideometa.c:
25448         * gst/vaapi/gstvaapivideometa.h:
25449           plugins: initial port to GStreamer 1.0.
25450           Port vaapidecode and vaapisink plugins to GStreamer API >= 1.0. This
25451           is rather minimalistic so that to test the basic functionality.
25452           Disable vaapiupload, vaapidownload and vaapipostproc plugins. The latter
25453           needs polishing wrt. to GStreamer 1.x functionality and the former are
25454           totally phased out in favor of GstVaapiVideoMemory map/unmap facilities,
25455           which are yet to be implemented.
25456           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25457
25458 2013-03-21 10:12:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25459
25460         * gst-libs/gst/vaapi/gstcompat.h:
25461         * tests/codec.c:
25462         * tests/decoder.c:
25463         * tests/simple-decoder.c:
25464         * tests/test-subpicture.c:
25465           tests: add support for GStreamer 1.0.
25466
25467 2012-09-04 15:12:18 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
25468
25469         * configure.ac:
25470         * gst-libs/gst/vaapi/gstcompat.h:
25471         * gst-libs/gst/vaapi/gstvaapicontext.c:
25472         * gst-libs/gst/vaapi/gstvaapidecoder.c:
25473         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
25474         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
25475         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
25476         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
25477         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
25478         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
25479         * gst-libs/gst/vaapi/gstvaapidisplay.c:
25480         * gst-libs/gst/vaapi/gstvaapiimage.c:
25481         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
25482         * gst-libs/gst/vaapi/gstvaapiprofile.c:
25483         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
25484         * gst-libs/gst/vaapi/gstvaapisurface.h:
25485           Add initial support for GStreamer 1.0.
25486           This integrates support for GStreamer API >= 1.0 only in the libgstvaapi
25487           core decoding library. The changes are kept rather minimal here so that
25488           the library retains as little dependency as possible on core GStreamer
25489           functionality.
25490           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25491
25492 2013-04-03 15:58:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25493
25494         * gst/vaapi/gstvaapisink.c:
25495           vaapisink: improve check for raw YUV format mode.
25496           Improve check for raw YUV format modes by avoiding checks against strings
25497           ("video/x-raw-yuv") for each new GstBuffer allocation. In the usual case,
25498           GstBaseSink::set_caps() is called first and if VA surface format mode is
25499           used, then GstBaseSink::buffer_alloc() is not called. If the latter is
25500           called before set_caps(), then we just make a full check. This one is
25501           pretty rare though, e.g. it usually happens once for custom pipelines.
25502
25503 2013-04-03 15:06:46 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25504
25505         * gst/vaapi/gstvaapipluginutil.c:
25506           plugins: don't fail if there is no overlay composition to apply.
25507           Fix gst_vaapi_apply_composition() to not fail if no overlay composition
25508           was found. i.e. return success (TRUE). This was harmless though extra
25509           debug messages are not nice.
25510           This is a regression introduced by commit 95b8659.
25511
25512 2013-04-03 14:59:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25513
25514         * gst/vaapi/gstvaapidecode.c:
25515         * gst/vaapi/gstvaapidecode.h:
25516           vaapidecode: expose the exact set of supported HW decoders.
25517           Don't return static caps that don't mean anything for the underlying codecs
25518           that are actually supported for decoding. i.e. always allocate a VA display
25519           and retrieve the exact set of HW decoders available. That VA display may be
25520           re-used later on during negotiation through GstVideoContext "prepare-context".
25521           This fixes fallback to SW decoding if no HW decoder is available.
25522
25523 2013-04-03 13:08:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25524
25525         * docs/reference/libs/libs-sections.txt:
25526         * gst-libs/gst/vaapi/gstvaapicontext.c:
25527         * gst-libs/gst/vaapi/gstvaapicontext.h:
25528         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
25529         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
25530           decoder: drop obsolete functions.
25531           Drop the following functions that are now obsolete:
25532           - gst_vaapi_context_get_surface()
25533           - gst_vaapi_context_put_surface()
25534           - gst_vaapi_context_find_surface_by_id()
25535           - gst_vaapi_surface_proxy_new()
25536           - gst_vaapi_surface_proxy_get_context()
25537           - gst_vaapi_surface_proxy_set_context()
25538           - gst_vaapi_surface_proxy_set_surface()
25539           This is an API change.
25540
25541 2013-04-03 13:14:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25542
25543         * gst-libs/gst/vaapi/gstvaapidecoder.c:
25544           decoder: delegate surface size check to VA context reset.
25545           Now that the surface pool is reference counted in the surface proxy wrapper,
25546           we can safely ignore surface size checks in gst_vaapi_decoder_ensure_context().
25547           Besides, this check is already performed in gst_vaapi_context_reset_full().
25548
25549 2013-04-03 11:37:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25550
25551         * docs/reference/libs/libs-sections.txt:
25552         * gst-libs/gst/vaapi/gstvaapicontext.c:
25553         * gst-libs/gst/vaapi/gstvaapicontext.h:
25554         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
25555         * gst-libs/gst/vaapi/gstvaapisurface.h:
25556         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
25557         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
25558           decoder: simplify acquisition/release of spare surface.
25559           Introduce gst_vaapi_surface_proxy_new_from_pool() to allocate a new surface
25560           proxy from the context surface pool. This change also makes sure to retain
25561           the parent surface pool in the proxy.
25562           Besides, it was also totally useless to attach/detach parent context to
25563           VA surface each time we acquire/release it. Since the whole context owns
25564           all associated VA surfaces, we can mark this as such only once and for all.
25565
25566 2013-03-29 10:39:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25567
25568         * configure.ac:
25569           Bump version for development.
25570
25571 2013-03-28 10:18:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25572
25573         * NEWS:
25574         * configure.ac:
25575           0.5.2.
25576
25577 2013-03-28 10:15:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25578
25579         * NEWS:
25580           NEWS: updates.
25581
25582 2013-03-26 18:57:00 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25583
25584         * gst/vaapi/gstvaapipluginutil.c:
25585         * gst/vaapi/gstvaapisink.c:
25586           plugins: fix usage of gst_vaapi_reply_to_query().
25587           Make gst_vaapi_reply_to_query() first check whether the query argument
25588           is actually a video-context query, i.e. with type GST_QUERY_TYPE_CUSTOM.
25589           Then, make sure vaapisink propagates the query to the parent class if
25590           it is not a video-context query.
25591
25592 2013-03-26 18:45:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25593
25594         * gst/vaapi/gstvaapivideobuffer.c:
25595         * gst/vaapi/gstvaapivideobuffer.h:
25596           plugins: streamline video buffers.
25597           Add new gst_vaapi_video_buffer_new() helper function that allocates a video
25598           buffer from a GstVaapiVideoMeta. Also remove obsolete and useless function
25599           gst_vaapi_video_buffer_get_meta().
25600
25601 2013-03-26 10:31:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25602
25603         * docs/reference/libs/libs-sections.txt:
25604         * gst-libs/gst/vaapi/Makefile.am:
25605         * gst/vaapi/Makefile.am:
25606         * gst/vaapi/gstvaapidecode.c:
25607         * gst/vaapi/gstvaapidownload.c:
25608         * gst/vaapi/gstvaapipostproc.c:
25609         * gst/vaapi/gstvaapisink.c:
25610         * gst/vaapi/gstvaapiupload.c:
25611         * gst/vaapi/gstvaapiuploader.c:
25612         * gst/vaapi/gstvaapivideobuffer.h:
25613         * gst/vaapi/gstvaapivideoconverter_glx.c:
25614         * gst/vaapi/gstvaapivideometa.c:
25615         * gst/vaapi/gstvaapivideometa.h:
25616           plugins: integrate GstVaapiVideoMeta from libgstvaapi.
25617           Move GstVaapiVideoMeta from core libgstvaapi decoding library to the
25618           actual plugin elements. That's only useful there. Also inline reference
25619           counting code from GstVaapiMiniObject.
25620
25621 2013-03-21 17:17:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25622
25623         * gst/vaapi/Makefile.am:
25624         * gst/vaapi/gstvaapidecode.c:
25625         * gst/vaapi/gstvaapidownload.c:
25626         * gst/vaapi/gstvaapipluginbuffer.c:
25627         * gst/vaapi/gstvaapipluginbuffer.h:
25628         * gst/vaapi/gstvaapipostproc.c:
25629         * gst/vaapi/gstvaapiupload.c:
25630         * gst/vaapi/gstvaapiuploader.c:
25631         * gst/vaapi/gstvaapivideobuffer.c:
25632         * gst/vaapi/gstvaapivideobuffer.h:
25633           plugins: drop gstvaapipluginbuffer.[ch] helper files.
25634           Move all gst_vaapi_video_buffer_new*() helpers from gstvaapipluginbuffer.[ch]
25635           to gstvaapivideobuffer.[ch], and drop the obsolete files.
25636
25637 2013-03-21 17:06:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25638
25639         * docs/reference/libs/libs-sections.txt:
25640         * docs/reference/libs/libs.core.types:
25641         * gst-libs/gst/vaapi/Makefile.am:
25642         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
25643         * gst/vaapi/Makefile.am:
25644         * gst/vaapi/gstvaapidownload.h:
25645         * gst/vaapi/gstvaapipluginbuffer.c:
25646         * gst/vaapi/gstvaapipostproc.h:
25647         * gst/vaapi/gstvaapivideobuffer.c:
25648         * gst/vaapi/gstvaapivideobuffer.h:
25649         * gst/vaapi/gstvaapivideoconverter_glx.h:
25650           plugins: integrate GstVaapiVideoBuffer from libgstvaapi.
25651           Move GstVaapiVideoBuffer from core libgstvaapi decoding library to the
25652           actual plugin elements. That's only useful there.
25653
25654 2013-03-21 16:32:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25655
25656         * gst/vaapi/gstvaapipluginutil.c:
25657         * gst/vaapi/gstvaapipluginutil.h:
25658         * gst/vaapi/gstvaapisink.c:
25659         * gst/vaapi/gstvaapivideoconverter_glx.c:
25660           plugins: use common helper function to apply compositions.
25661           Use common gst_vaapi_apply_composition() helper function to apply compositions
25662           attached to a buffer in vaapisink or GstVaapiVideoConverterGLX.
25663
25664 2013-03-21 16:09:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25665
25666         * gst-libs/gst/vaapi/Makefile.am:
25667         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
25668         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.h:
25669         * gst/vaapi/Makefile.am:
25670         * gst/vaapi/gstvaapipluginbuffer.c:
25671         * gst/vaapi/gstvaapivideoconverter_glx.c:
25672         * gst/vaapi/gstvaapivideoconverter_glx.h:
25673           plugins: integrate GstVaapiVideoConverterGLX from libgstvaapi.
25674           Make sure libgstvaapi core decoding library doesn't include un-needed
25675           dependencies. So, move out GstVaapiVideoConverterGLX to plugins instead.
25676           Besides, even if the vaapisink element is not used, we are bound to have
25677           a correctly populated GstSurfaceBuffer from vaapidecode.
25678           Also clean-up the file along the way.
25679
25680 2013-03-21 13:32:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25681
25682         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
25683           vc1: fix use of possibly uninitialized variable.
25684           In decode_codec_data(), force initialization of format to zero so that
25685           we can catch up cases where codec-data has neither "format" nor "wmvversion"
25686           fields, thus making it possible to gracefully fail in this case.
25687
25688 2013-03-21 13:43:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25689
25690         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
25691           jpeg: propagate buffer data as a const guchar * pointer (cosmetics).
25692
25693 2013-03-21 14:36:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25694
25695         * gst-libs/gst/vaapi/gstvaapidecoder.c:
25696         * gst-libs/gst/vaapi/gstvaapidecoder.h:
25697         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
25698         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
25699         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
25700         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
25701           decoder: sanitize codec-data decoding.
25702           Add a new GstVaapiDecoder::decode_codec_data() hook to actually decode
25703           codec-data in the decoder sub-class. Provide a common shared helper
25704           function to do the actual work and delegating further to the sub-class.
25705
25706 2013-03-21 13:41:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25707
25708         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
25709         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
25710         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
25711         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
25712           decoder: get rid of GstVaapiDecoderUnit::buffer field.
25713           Drop GstVaapiDecoderUnit buffer field (GstBuffer) since it's totally
25714           useless nowadays as creating sub-buffers doesn't bring any value. It
25715           actually means more memory allocations. We can't do without that in
25716           JPEG and MPEG-4:2 decoders.
25717
25718 2013-03-21 13:28:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25719
25720         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
25721         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
25722         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
25723         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
25724         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
25725           decoder: sanitize uses of codec frame input buffer (cosmetics).
25726           Alias GST_VAAPI_DECODER_CODEC_FRAME(decoder)->input_buffer to a simple
25727           "buffer" variable.
25728
25729 2013-03-20 17:34:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25730
25731         * gst/vaapi/gstvaapisink.c:
25732           vaapisink: add helper function to apply a composition buffer.
25733           Simplify application of a composition buffer to a GstVaapiSurface, and
25734           all its peers, until that function is eventually promoted to libgstvaapi.
25735
25736 2013-03-20 13:42:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25737
25738         * gst/vaapi/gstvaapisink.c:
25739           vaapisink: fix support for raw YUV buffers.
25740           If the raw YUV buffer was created from vaapisink, through the buffer_alloc()
25741           hook, then it will have a valid GstVaapiVideoMeta object attached to it.
25742           However, we previously assumed in that case that it was a "native" VA buffer,
25743           thus not calling into GstVaapiUploader::process().
25744
25745 2013-03-20 18:41:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25746
25747         * gst-libs/gst/vaapi/gstcompat.h:
25748         * gst/vaapi/gstvaapidecode.c:
25749         * gst/vaapi/gstvaapidownload.c:
25750         * gst/vaapi/gstvaapipostproc.c:
25751         * gst/vaapi/gstvaapisink.c:
25752         * gst/vaapi/gstvaapiupload.c:
25753           plugins: use modern GstElement metadata information.
25754           Use gst_element_class_set_static_metadata() from GStreamer 1.0, which
25755           basically is the same as gst_element_class_set_details_simple() in
25756           GStreamer 0.10 context.
25757
25758 2013-03-20 18:04:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25759
25760         * gst/vaapi/gstvaapidecode.c:
25761         * gst/vaapi/gstvaapidownload.c:
25762         * gst/vaapi/gstvaapipostproc.c:
25763         * gst/vaapi/gstvaapisink.c:
25764         * gst/vaapi/gstvaapiupload.c:
25765           plugins: move up interfaces (cosmetics).
25766           Move GstImplementsInterface and GstVideoContext support functions up
25767           so that to keep a clear separation between the plugin element and its
25768           interface hooks.
25769
25770 2013-03-20 12:57:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25771
25772         * gst/vaapi/gstvaapisink.c:
25773         * gst/vaapi/gstvaapiuploader.c:
25774           plugins: upgrade to newer APIs (GstVideoInfo based helpers).
25775           Use GstVideoInfo and gst_video_info_from_caps() helper wherever possible.
25776           Also use the newly added gst_vaapi_image_format_from_structure() helper
25777           in GstVaapiUploader::ensure_allowed_caps().
25778
25779 2013-03-20 14:02:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25780
25781         * gst/vaapi/gstvaapipluginbuffer.c:
25782           plugins: fix creation of video buffer from another source buffer.
25783           gst_vaapi_video_buffer_new_from_buffer() needs to reference the source
25784           buffer video meta since it would be unreference'd from the get_buffer()
25785           helper function. For other cases, we still use (steal) the newly created
25786           video meta.
25787
25788 2013-03-20 11:57:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25789
25790         * gst/vaapi/gstvaapipluginbuffer.c:
25791         * gst/vaapi/gstvaapipluginutil.c:
25792           plugins: include "sysdeps.h" header instead of "config.h".
25793
25794 2013-03-20 18:33:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25795
25796         * gst-libs/gst/vaapi/gstcompat.h:
25797         * tests/codec.c:
25798           tests: modernize GstTypeFind functions.
25799           Use the GstTypeFind hooks from GStreamer 1.0. They look safer and
25800           exactly correspond to the expected behaviour.
25801
25802 2013-03-20 11:57:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25803
25804         * tests/image.c:
25805         * tests/image.h:
25806         * tests/test-decode.c:
25807         * tests/test-display.c:
25808         * tests/test-h264.c:
25809         * tests/test-h264.h:
25810         * tests/test-jpeg.c:
25811         * tests/test-jpeg.h:
25812         * tests/test-mpeg2.c:
25813         * tests/test-mpeg2.h:
25814         * tests/test-mpeg4.c:
25815         * tests/test-mpeg4.h:
25816         * tests/test-textures.c:
25817         * tests/test-vc1.c:
25818         * tests/test-vc1.h:
25819         * tests/test-windows.c:
25820           tests: fix license templates.
25821
25822 2013-03-20 11:53:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25823
25824         * tests/test-display.c:
25825           tests: use gst_vaapi_image_format_from_structure() in test-display.
25826           Use gst_vaapi_image_format_from_structure() helper in test-display and
25827           then extract a VAImageFormat from it instead of relying on GstCaps for
25828           YUV and RGB formats.
25829
25830 2013-03-20 11:50:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25831
25832         * tests/codec.c:
25833         * tests/decoder.c:
25834         * tests/output.c:
25835         * tests/test-decode.c:
25836         * tests/test-display.c:
25837         * tests/test-subpicture.c:
25838         * tests/test-textures.c:
25839         * tests/test-windows.c:
25840           tests: include "sysdeps.h" header instead of "config.h".
25841
25842 2013-03-20 18:25:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25843
25844         * gst-libs/gst/vaapi/gstcompat.h:
25845         * gst-libs/gst/vaapi/gstvaapicontext.c:
25846         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
25847           subpicture: use gst_video_overlay_rectangle_get_pixels_unscaled_raw().
25848           Use newer gst_video_overlay_rectangle_get_pixels_unscaled_raw() helper
25849           function with GStreamer 0.10 compatible semantics, or that tries to
25850           approach the current meaning. Basically, this is also just about moving
25851           the helper to gstcompat.h.
25852
25853 2013-03-20 11:10:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25854
25855         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
25856         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
25857           image: add gst_vaapi_image_format_from_structure() helper.
25858           Add helper function to convert video formats from a GstStructure to a
25859           plain GstVaapiImageFormat.
25860
25861 2013-03-20 18:12:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25862
25863         * gst-libs/gst/vaapi/Makefile.am:
25864         * gst-libs/gst/vaapi/gstcompat.h:
25865         * gst-libs/gst/vaapi/sysdeps.h:
25866           sysdeps: split out GStreamer API compatibility glue to "gstcompat.h".
25867
25868 2013-03-20 11:56:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25869
25870         * gst-libs/gst/vaapi/sysdeps.h:
25871           sysdeps: add more standard includes by default.
25872
25873 2013-03-20 14:43:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25874
25875         * configure.ac:
25876           configure: improve GStreamer API version checks.
25877
25878 2013-03-20 11:44:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25879
25880         * configure.ac:
25881         * debian.upstream/Makefile.am:
25882         * debian.upstream/changelog.in:
25883         * debian.upstream/control.in:
25884         * debian.upstream/gstreamer-vaapi-doc.install.in:
25885         * debian.upstream/libgstvaapi-dev.install.in:
25886         * debian.upstream/libgstvaapi-drm.install.in:
25887         * debian.upstream/libgstvaapi-glx.install.in:
25888         * debian.upstream/libgstvaapi-wayland.install.in:
25889         * debian.upstream/libgstvaapi-x11.install.in:
25890         * debian.upstream/libgstvaapi.install.in:
25891         * docs/reference/libs/Makefile.am:
25892         * docs/reference/libs/libs-docs.xml.in:
25893         * docs/reference/plugins/Makefile.am:
25894         * docs/reference/plugins/plugins-docs.xml.in:
25895         * gst-libs/gst/vaapi/Makefile.am:
25896         * gst/vaapi/Makefile.am:
25897         * pkgconfig/Makefile.am:
25898         * pkgconfig/gstreamer-vaapi-drm.pc.in:
25899         * pkgconfig/gstreamer-vaapi-glx.pc.in:
25900         * pkgconfig/gstreamer-vaapi-wayland.pc.in:
25901         * pkgconfig/gstreamer-vaapi-x11.pc.in:
25902         * pkgconfig/gstreamer-vaapi.pc.in:
25903         * tests/Makefile.am:
25904           configure: rename GST_MAJORMINOR to GST_API_VERSION.
25905
25906 2013-03-20 11:28:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25907
25908         * configure.ac:
25909           configure: improve check for H.264 codecparser.
25910
25911 2013-02-26 00:38:24 +0100  Holger Kaelberer <hk@getslash.de>
25912
25913         * gst/vaapi/gstvaapiuploader.c:
25914           vaapiupload: fix illegal write in ensure_image().
25915           Fix ensure_image() to only zero-initialize the first line of each plane.
25916           Properly initializing each plane to their full vertical resolution would
25917           require to actually compute it based on the image format.
25918           In particular, for NV12 images, the UV plane has half vertical resolution
25919           vs. the Y plane. So using the full image height to initialize the UV plane
25920           will obviously lead to a buffer overflow. Likewise for other YUV format.
25921           Since ensure_image() is only a helper function to initialize something,
25922           and not necessarily the whole thing, it is fine to initializ the first
25923           line only. Besides, the target surface is not rendered either.
25924           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25925
25926 2013-02-17 16:28:47 +0800  Xiang, Haihao <haihao.xiang@intel.com>
25927
25928         * gst-libs/gst/codecparsers/Makefile.am:
25929         * gst-libs/gst/video/Makefile.am:
25930           build: fix compiling of local GstVideoDecoder and codecparsers.
25931           Generated source files were missing a dependency on the complete set of
25932           generated header files. e.g. gstvideodecoder.c requires gstvideoutils.h
25933           to build and almost every codec parser source depends on parserutils.h.
25934           https://bugs.freedesktop.org/show_bug.cgi?id=59575
25935           Signed-off-by: Xiang, Haihao <haihao.xiang@intel.com>
25936           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25937
25938 2013-02-08 11:56:54 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25939
25940         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
25941           h264: set {luma,chroma}_log2_weight_denom to 0 if no pred_weight_table().
25942           Force luma_log2_weight_denom and chroma_log2_weight_denom to zero if
25943           there is no pred_weight_table() that was parsed.
25944           This is a workaround for the VA intel-driver on Ivy Bridge.
25945
25946 2013-02-07 15:42:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25947
25948         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
25949           h264: use new profile definitions from codecparsers.
25950
25951 2013-02-07 15:29:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25952
25953         * ext/codecparsers:
25954           codecparsers: update to gst-vaapi-branch commit 500bc02.
25955           500bc02 h264: add profile enums
25956
25957 2013-02-06 15:27:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25958
25959         * NEWS:
25960           NEWS: updates.
25961
25962 2013-02-06 15:21:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25963
25964         * ext/codecparsers:
25965           codecparsers: update to gst-vaapi-branch commit 31b1c57.
25966           8957fb7 mpeg2: add helpers to convert quantization matrices
25967           07c4034 mpeg2: store quantization matrices in zigzag scan order
25968
25969 2013-01-31 11:32:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25970
25971         * tests/simple-decoder.c:
25972           tests: simple-decoder: fix build on older platforms.
25973           Make simple-decoder build and execute correctly on older platforms,
25974           and more precisely older versions of glib.
25975
25976 2013-01-31 11:30:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25977
25978         * gst-libs/gst/vaapi/glibcompat.h:
25979           glibcompat: add replacement for g_async_queue_timeout_pop().
25980           g_async_queue_timeout_pop() appeared in glib 2.31.18. Implement it as
25981           g_async_queue_timed_pop() with a GTimeVal as the final time to wait for
25982           new data to arrive in the queue.
25983
25984 2013-01-31 11:25:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25985
25986         * gst-libs/gst/vaapi/glibcompat.h:
25987           glibcompat: add replacement for g_cond_wait().
25988
25989 2013-01-30 18:38:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25990
25991         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
25992           mpeg2: fix decoding of 4K videos.
25993           Account for slice_vertical_position_extension when vertical_size > 2800.
25994
25995 2013-01-30 18:54:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
25996
25997         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
25998           mpeg2: fix decoding of sequence_end().
25999           There shall be only one place to call decode_current_picture(), and this
26000           is in the end_frame() hook. The EOS unit is processed after end_frame()
26001           so this means we cannot have a valid picture to decode/output at this
26002           point.
26003
26004 2013-01-30 15:10:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26005
26006         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26007           mpeg2: improve robustness when packets are missing.
26008           Improve robustness when some expected packets where not received yet
26009           or that were not correctly decoded. For example, don't try to decode
26010           a picture if there was no valid sequence or picture headers.
26011
26012 2013-01-30 18:58:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26013
26014         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26015           decoder: handle decode-only frames in raw API mode.
26016           Fix gst_vaapi_decoder_get_surface() to only return frames with a valid
26017           surface proxy, i.e. with a valid VA surface. This means that any frame
26018           marked as decode-only is simply skipped.
26019
26020 2013-01-30 16:33:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26021
26022         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26023         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26024           decoder: allow frames to be dropped.
26025           If the decoder was not able to decode a frame because insufficient
26026           information was available, e.g. missing sequence or picture header,
26027           then allow the frame to be gracefully dropped without generating
26028           any error.
26029           It is also possible that a frame is not meant to be displayed but
26030           only used as a reference, so dropping that frame is also a valid
26031           operation since GstVideoDecoder base class has extra references to
26032           that GstVideoCodecFrame that needs to be released.
26033
26034 2013-01-30 16:26:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26035
26036         * gst/vaapi/gstvaapidecode.c:
26037           vaapidecode: handle decode-only frames.
26038           Decode-only frames may not have a valid surface proxy. So, simply discard
26039           them gracefully, i.e. don't create meta data information. GstVideoDecoder
26040           base class will properly handle this case and won't try to push any buffer
26041           to downstream elements.
26042
26043 2013-01-24 00:49:17 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
26044
26045         * gst/vaapi/gstvaapidecode.c:
26046           vaapidecode: add support for post-seek semantics reset.
26047           Implement GstVideoDecoder::reset() as a destruction of the VA decoder
26048           and the creation of a new VA decoder.
26049           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26050
26051 2013-01-30 09:38:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26052
26053         * configure.ac:
26054           Bump version for development.
26055
26056 2013-01-30 09:37:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26057
26058         * NEWS:
26059         * configure.ac:
26060           0.5.1.
26061
26062 2013-01-24 00:48:26 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
26063
26064         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26065           mpeg2: implement GstVaapiDecoder::flush() as a DPB flush.
26066
26067 2013-01-24 17:34:43 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
26068
26069         * gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
26070           decoder: fix documentation for GstVaapiDecoderFrame.
26071           Drop superfluous reference to prev_slice member.
26072
26073 2013-01-29 16:18:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26074
26075         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26076           decoder: assume current frame is complete at end-of-stream.
26077           Assume we got a complete frame when the end-of-stream is reached and that
26078           the current codec frame contains at least one slice data unit.
26079
26080 2013-01-29 14:14:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26081
26082         * NEWS:
26083         * README:
26084         * debian.upstream/copyright:
26085         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
26086         * gst-libs/gst/vaapi/gstvaapicontext.c:
26087         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26088         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26089         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
26090         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
26091         * gst-libs/gst/vaapi/gstvaapidecoder_frame.c:
26092         * gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
26093         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26094         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
26095         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26096         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
26097         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
26098         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
26099         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26100         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
26101         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
26102         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26103         * gst-libs/gst/vaapi/gstvaapidisplay.c:
26104         * gst-libs/gst/vaapi/gstvaapidisplay.h:
26105         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
26106         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
26107         * gst-libs/gst/vaapi/gstvaapiprofile.h:
26108         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
26109         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
26110         * gst-libs/gst/vaapi/gstvaapisurface.c:
26111         * gst-libs/gst/vaapi/gstvaapiutils.c:
26112         * gst-libs/gst/vaapi/gstvaapiutils.h:
26113         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
26114         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
26115         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
26116         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
26117         * gst-libs/gst/vaapi/sysdeps.h:
26118         * gst/vaapi/gstvaapidecode.c:
26119         * gst/vaapi/gstvaapidownload.c:
26120         * gst/vaapi/gstvaapipluginbuffer.c:
26121         * gst/vaapi/gstvaapipluginbuffer.h:
26122         * gst/vaapi/gstvaapipostproc.c:
26123         * gst/vaapi/gstvaapisink.c:
26124         * gst/vaapi/gstvaapiupload.c:
26125         * gst/vaapi/gstvaapiuploader.c:
26126         * tests/output.c:
26127         * tests/test-decode.c:
26128         * tests/test-subpicture.c:
26129           legal: fix year for some copyright notices (2013).
26130
26131 2013-01-29 14:03:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26132
26133         * gst-libs/gst/vaapi/gstvaapicontext.h:
26134         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26135         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26136         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
26137         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
26138         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
26139         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26140         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
26141         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
26142         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
26143         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
26144         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
26145         * gst-libs/gst/vaapi/gstvaapisurface.c:
26146         * gst-libs/gst/vaapi/gstvaapisurface.h:
26147         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
26148         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
26149         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
26150         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
26151         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
26152         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.h:
26153         * gst/vaapi/gstvaapidecode.h:
26154         * gst/vaapi/gstvaapisink.h:
26155         * tests/test-subpicture.c:
26156           legal: fix year for some copyright notices (2012).
26157
26158 2013-01-29 14:00:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26159
26160         * gst-libs/gst/vaapi/gstvaapicompat.h:
26161         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
26162         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
26163         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
26164         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
26165         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
26166         * gst-libs/gst/vaapi/gstvaapiobject.c:
26167         * gst-libs/gst/vaapi/gstvaapiobject.h:
26168         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
26169         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
26170         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
26171         * gst-libs/gst/vaapi/gstvaapiprofile.c:
26172         * gst-libs/gst/vaapi/gstvaapiprofile.h:
26173         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
26174         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
26175         * gst-libs/gst/vaapi/gstvaapitexture.c:
26176         * gst-libs/gst/vaapi/gstvaapitexture.h:
26177         * gst-libs/gst/vaapi/gstvaapitypes.h:
26178         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
26179         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
26180         * gst-libs/gst/vaapi/gstvaapivalue.c:
26181         * gst-libs/gst/vaapi/gstvaapivalue.h:
26182         * gst-libs/gst/vaapi/gstvaapivideopool.c:
26183         * gst-libs/gst/vaapi/gstvaapivideopool.h:
26184         * gst-libs/gst/vaapi/gstvaapiwindow.h:
26185         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
26186         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
26187         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
26188         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
26189         * tests/test-display.c:
26190         * tests/test-surfaces.c:
26191         * tests/test-windows.c:
26192           legal: add Intel copyright on modified files.
26193
26194 2013-01-29 13:37:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26195
26196         * NEWS:
26197           NEWS: updates.
26198
26199 2013-01-28 18:09:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26200
26201         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
26202           wayland: use a local event queue to avoid lock contention.
26203           This improves performance when rendering several surfaces from within
26204           the same process. e.g. a tee of vaapidecode'd buffers to vaapisink.
26205
26206 2013-01-28 17:28:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26207
26208         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
26209           wayland: fix thread-safe issues.
26210           The Wayland API is not fully thread-safe and client applications shall
26211           perform locking themselves on key functions. Besides, make sure to
26212           release the lock if the _render() function fails.
26213
26214 2013-01-28 16:37:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26215
26216         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
26217           wayland: really wait until the pending redraw completed.
26218           Introduce gst_vaapi_window_wayland_sync() helper function to wait for
26219           the completion of the redraw request. Use it in _render() function to
26220           actually block until the previous draw request is completed.
26221
26222 2013-01-23 10:10:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26223
26224         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
26225           wayland: fix frame_redraw callback.
26226           The redraw callback needs to be attached to the surface prior to the
26227           commit. Otherwise, the callback notifies the next surface repaint,
26228           which is not the desired behaviour. i.e. we want to be notified for
26229           the surface we have just filled.
26230           Another isse was the redraw_pending was reset before the actual completion
26231           of the frame redraw callback function, thus causing concurrency issues.
26232           e.g. the callback could have been called again, but with a NULL buffer.
26233
26234 2013-01-28 14:45:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26235
26236         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
26237           wayland: fix display sharing.
26238           When the Wayland display is shared, we still have to create our own local
26239           shell and compositor objects, since they are not propagated from the cache.
26240           Likewise, we also need to determine the display size or vaapisink would
26241           fail to account for the display aspect ratio, and will try to create a 0x0
26242           window.
26243
26244 2013-01-24 17:38:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26245
26246         * ext/codecparsers:
26247           codecparsers: update to gst-vaapi-branch commit 21a098e.
26248           21a098e vc1: fix bitplanes decoding (DIFF6 or NORM6) [residual]
26249           f8c836a vc1: fix bitplanes decoding (DIFF6 or NORM6)
26250
26251 2013-01-23 16:38:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26252
26253         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26254           vc1: handle frames with multiple slices.
26255
26256 2013-01-23 17:01:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26257
26258         * ext/codecparsers:
26259           codecparsers: update to gst-vaapi-branch commit 3fba492.
26260           3fba492 vc1: add API to parse slice headers
26261
26262 2013-01-23 11:11:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26263
26264         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26265           vc1: handle CLOSED_ENTRY.
26266           When CLOSED_ENTRY == 0, and if the B pictures that follow an entry-point
26267           lack a reference anchor picture, these B pictures shall be discarded.
26268           https://bugs.freedesktop.org/show_bug.cgi?id=59505
26269
26270 2013-01-23 10:25:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26271
26272         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26273           vc1: cope with latest codecparser changes.
26274           Fix build with newer VC-1 codecparser where dqsbedge was renamed to
26275           dqbedge, and now represents either DQSBEDGE or DQDBEDGE depending on
26276           the actual value of DQPROFILE.
26277
26278 2013-01-23 10:24:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26279
26280         * ext/codecparsers:
26281           codecparsers: update to gst-vaapi-branch commit 3d2c67c.
26282           3d2c67c vc1: simplify GstVC1VopDquant structure
26283
26284 2013-01-22 10:51:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26285
26286         * ext/codecparsers:
26287           codecparsers: update to gst-vaapi-branch commit 5d33da8.
26288           5d33da8 vc1: fix bitplanes decoding
26289           562bdc4 vc1: fix VOPDQUANT parser for DQUANT == 2
26290           0b13d2b vc1: fix calculation of ALTPQUANT
26291           ba88e63 vc1: fix parser for DQPROFILE in VOPDQUANT
26292
26293 2013-01-22 15:47:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26294
26295         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26296           vc1: fix size of encapsulated BDU.
26297           Fix size of encapsulated BDUs since GstVC1BDU.size actually represents
26298           the size of the BDU data, starting from offset, i.e. after any start
26299           code is parsed.
26300           This fixes a buffer overflow during the unescaping process.
26301
26302 2013-01-11 17:08:00 +0800  Wind Yuan <feng.yuan@intel.com>
26303
26304         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26305           vc1: fix decoding of WMV3 videos in AVI format.
26306           The AVI demuxer (avidemux) does not set a proper "format" attribute
26307           to the generated caps. So, try to recover the video codec format from
26308           the "wmvversion" property instead.
26309           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26310
26311 2013-01-22 13:28:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26312
26313         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26314           vc1: review and report errors accordingly.
26315           Use GST_ERROR() to report real errors instead of hiding them into
26316           GST_DEBUG().
26317
26318 2013-01-22 13:50:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26319
26320         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26321           vc1: don't create GstBuffers for all decoder units.
26322           Don't create temporary GstBuffers for all decoder units, even if they
26323           are lightweight "sub-buffers", since it is not really necessary to keep
26324           the buffer data around.
26325
26326 2013-01-22 16:03:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26327
26328         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26329           vc1: implement flush() hook.
26330           Make it a simple DPB flush.
26331
26332 2013-01-22 13:44:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26333
26334         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26335           vc1: implement {start,end}_frame() hooks.
26336           Implement GstVaapiDecoder.start_frame() and end_frame() semantics so
26337           that to create new VA context earlier and submit VA pictures to the
26338           HW for decoding as soon as possible. i.e. don't wait for the next
26339           frame to start decoding the previous one.
26340
26341 2013-01-22 09:30:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26342
26343         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26344           vc1: fix next POC for new sequence layers.
26345           Fix next POC when a new sequence layer is reached. At this point, we
26346           need to reset any previous reference picture, i.e. non B-frame.
26347
26348 2012-08-02 17:15:26 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
26349
26350         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26351           vc1: port to common GstVaapiDpb interface.
26352           Use GstVaapiDpb interface instead of maintaining our own prev and next
26353           picture pointers. While doing so, try to derive a sensible POC value.
26354           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26355
26356 2013-01-15 17:10:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26357
26358         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26359           vc1: fix decode_sequence_end() to return success, not EOS.
26360
26361 2013-01-18 17:00:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26362
26363         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26364           decoder: simplify gst_vaapi_decoder_get_surface().
26365           Avoid extraenous branches, i.e. immediately return with success once we
26366           have a decoded frame available.
26367
26368 2013-01-18 16:56:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26369
26370         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26371           decoder: optimize and clean decode_step() up.
26372           Avoid usage of goto. Simplify decode_step() process to first accumulate all
26373           pending buffers into the GstAdapter, and then parse and decode units from
26374           that input adapter. Stop the process once a frame is fully decoded or an
26375           error occurred.
26376
26377 2013-01-18 14:46:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26378
26379         * gst-libs/gst/vaapi/gstvaapidisplay.c:
26380           display: move "vaapi" debug init to libgstvaapi_init_once().
26381
26382 2013-01-18 14:17:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26383
26384         * configure.ac:
26385         * gst-libs/gst/vaapi/Makefile.am:
26386         * gst-libs/gst/vaapi/gstvaapidisplay.c:
26387         * gst-libs/gst/vaapi/gstvaapiversion.h.in:
26388           display: dump gstreamer-vaapi version for debugging purposes.
26389
26390 2013-01-18 14:30:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26391
26392         * tests/Makefile.am:
26393           tests: simple-decoder: fix build with built-in videoutils.
26394           Fix build with built-in videoutils, i.e. when system GStreamer installation
26395           does not know about GstVideoDecoder API.
26396
26397 2013-01-18 10:35:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26398
26399         * tests/simple-decoder.c:
26400           tests: simple-decoder: flush decoded frames at EOS.
26401           Flush the remaining decoded frames when an end-of-stream is reached.
26402
26403 2013-01-18 10:25:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26404
26405         * tests/simple-decoder.c:
26406           tests: simple-decoder: drop use of GstVaapiVideoMeta.
26407           Don't use GstVaapiVideoMeta since that object is not guaranteed to live
26408           in libgstvaapi forever. Rather, that'd move to plugin elements at some
26409           point.
26410
26411 2013-01-16 13:53:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26412
26413         * tests/simple-decoder.c:
26414           tests: simple-decoder: add benchmark mode.
26415           Add --benchmark option to enable benchmark mode where rendering is not
26416           synchronized with presentation timestamps of the decoded surfaces.
26417
26418 2013-01-16 13:29:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26419
26420         * tests/Makefile.am:
26421         * tests/simple-decoder.c:
26422           tests: simple-decoder: honour framerate from the bitstream.
26423           Try to honour the framerate from the bitstream, or cap the playback to
26424           60 fps by default.
26425
26426 2013-01-15 18:49:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26427
26428         * tests/simple-decoder.c:
26429           tests: simple-decoder: set window size to the surface dimensions.
26430           Set the window size to the decoded surface dimensions, if the user has
26431           not requested the application to run in full-screen mode. Besides, no
26432           effort is made to preserve aspect ratio or to center the video within
26433           the mapped window.
26434
26435 2013-01-15 17:33:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26436
26437         * tests/Makefile.am:
26438         * tests/simple-decoder.c:
26439           tests: add simple decoder application.
26440           Add simple decoder application to show off decoding capabilities from
26441           raw bitstreams, for debugging or performance evaluation purposes.
26442
26443 2013-01-15 17:30:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26444
26445         * tests/Makefile.am:
26446         * tests/codec.c:
26447         * tests/codec.h:
26448           tests: add codec helper utils.
26449           Add helper functions to determine the codec type from a specific file
26450           or utility functions to convert from codec type to GstCaps or from
26451           codec name to codec type.
26452
26453 2013-01-15 17:47:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26454
26455         * tests/output.c:
26456           tests: allow fullscreen mode.
26457           Add new --fullscreen|-f option to create new windows in fullscreen mode.
26458
26459 2013-01-17 18:35:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26460
26461         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26462           h264: implement GstVaapiDecoder::flush() as a DPB flush.
26463
26464 2013-01-17 18:07:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26465
26466         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26467           h264: handle end-of-stream NALU.
26468           Handle <end-of-stream> NAL unit to actually flush any pending picture
26469           from the DPB.
26470
26471 2013-01-17 18:22:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26472
26473         * gst/vaapi/gstvaapidecode.c:
26474           vaapidecode: handle EOS events.
26475           Flush all decoded frames to downstream when EOS is received. This is
26476           performed by implementing GstVideoDecoder::finish() hook.
26477
26478 2013-01-17 18:19:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26479
26480         * gst/vaapi/gstvaapidecode.c:
26481           vaapidecode: split gvd_handle_frame() into decode/push frames.
26482           Split GstVideoDecoder::handle_frame() implementation into two functions:
26483           (i) one for decoding the provided GstVideoCodecFrame and (ii) another one
26484           for purging all decoded frames and submit them downstream.
26485
26486 2013-01-17 18:33:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26487
26488         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26489         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26490           decoder: add GstVaapiDecoder::flush() hook.
26491
26492 2013-01-15 17:21:50 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26493
26494         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26495         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26496           decoder: fix check for end-of-stream in raw API mode.
26497           Make sure to immediately return GST_VAAPI_DECODER_STATUS_END_OF_STREAM
26498           if the end-of-stream was already reached at the previous iteration.
26499
26500 2013-01-15 16:55:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26501
26502         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26503           decoder: make decode_step() return once the frame is decoded.
26504           Make sure we always have a free surface left to use for decoding the
26505           current frame. This means that decode_step() has to return once a frame
26506           gets decoded. If the current adapter contains more buffers with valid
26507           frames, they will get parsed and decoded on subsequent iterations.
26508
26509 2013-01-17 15:47:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26510
26511         * ext/codecparsers:
26512           codecparsers: update to gst-vaapi-branch commit b47983a.
26513           8840c2d h264: zero-initialize SPS VUI parameters
26514
26515 2013-01-15 09:21:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26516
26517         * configure.ac:
26518           Bump version for development.
26519
26520 2013-01-15 09:21:08 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26521
26522         * NEWS:
26523         * configure.ac:
26524           0.5.0.
26525
26526 2013-01-14 11:48:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26527
26528         * docs/reference/libs/libs-docs.xml.in:
26529         * docs/reference/libs/libs-sections.txt:
26530         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
26531         * gst-libs/gst/vaapi/gstvaapidisplay.c:
26532         * gst-libs/gst/vaapi/gstvaapiprofile.h:
26533           docs: expose new interfaces.
26534
26535 2013-01-14 12:58:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26536
26537         * NEWS:
26538           NEWS: updates.
26539
26540 2013-01-14 10:58:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26541
26542         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
26543           dpb: cosmetics (clean-ups).
26544
26545 2013-01-14 10:46:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26546
26547         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
26548         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
26549         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26550           dpb: port to GstVaapiMiniObject.
26551
26552 2013-01-14 10:21:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26553
26554         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
26555         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
26556         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26557           dpb: drop GstVaapiDpb2 interface, keep only one class.
26558           Keep only one DPB interface and rename gst_vaapi_dpb2_get_references()
26559           to gst_vaapi_dpb_get_neighbours() so that to retrieve pictures in DPB
26560           around the specified picture POC.
26561
26562 2012-08-02 15:56:54 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
26563
26564         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
26565         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
26566         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26567           dpb: rename GstVaapiDpbMpeg2 to GstVaapiDpb2.
26568           Move GstVaapiDpbMpeg2 API to a more generic version that could also be
26569           useful to other decoders that require 2 reference pictures, e.g. VC-1.
26570           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26571
26572 2013-01-11 16:04:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26573
26574         * configure.ac:
26575           Bump version for pre-release.
26576
26577 2013-01-11 15:57:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26578
26579         * NEWS:
26580           NEWS: updates.
26581
26582 2012-07-20 12:36:33 +0200  Holger Kaelberer <holger.k@elberer.de>
26583
26584         * configure.ac:
26585         * gst-libs/gst/vaapi/gstvaapicontext.c:
26586         * gst-libs/gst/vaapi/gstvaapiutils.c:
26587         * gst-libs/gst/vaapi/sysdeps.h:
26588         * tests/test-subpicture.c:
26589           overlay: fix build without advanced GstVideoOverlayFormatFlags.
26590           Check for global-alpha support in GstVideoOverlayComposition API.
26591           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26592
26593 2013-01-04 10:19:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26594
26595         * tests/test-subpicture.c:
26596           tests: add support for global-alpha subpictures.
26597           Add --global-alpha option to test-subpicture.
26598
26599 2013-01-10 13:09:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26600
26601         * tests/Makefile.am:
26602         * tests/test-subpicture.c:
26603           tests: use GstVideoOverlayComposition API for subpicture test.
26604
26605 2013-01-10 11:26:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26606
26607         * tests/Makefile.am:
26608         * tests/test-subpicture.c:
26609           tests: use common decoder helpers for subpicture test.
26610           Use common decoder helpers for subpicture test, thus allowing to decode
26611           sample images in an alternate format.
26612
26613 2013-01-10 11:22:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26614
26615         * tests/Makefile.am:
26616         * tests/decoder.c:
26617         * tests/decoder.h:
26618         * tests/test-decode.c:
26619           tests: add decoder helpers.
26620
26621 2013-01-11 15:19:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26622
26623         * gst-libs/gst/vaapi/gstvaapicontext.c:
26624           overlay: fix ordering of composition layers.
26625           Make sure to maintain the association order of composition layers when
26626           GstVideoOverlayRectangle objects are kept around (cached).
26627
26628 2012-05-15 10:24:08 +0200  Holger Kaelberer <holger.k@elberer.de>
26629
26630         * gst-libs/gst/vaapi/gstvaapicontext.c:
26631           overlay: fix support for global-alpha.
26632           Fix support for global-alpha subpictures. The previous changes brought
26633           the ability to check for GstVideoOverlayRectangle changes by comparing
26634           the underlying pixel buffer pointers. If sequence number and pixel data
26635           did not change, then this is an indication that only the global-alpha
26636           value changed. Now, try to update the underlying VA subpicture global-alpha
26637           value.
26638           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26639
26640 2013-01-11 11:53:05 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26641
26642         * gst-libs/gst/vaapi/gstvaapicontext.c:
26643           overlay: detect render-rect changes.
26644           Don't re-upload VA subpicture if only the render rectangle changed.
26645           Rather deassociate the subpicture and re-associate it with the new
26646           render rectangle.
26647
26648 2013-01-11 11:12:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26649
26650         * gst-libs/gst/vaapi/gstvaapicontext.c:
26651           overlay: fix check for pixels buffer change.
26652           A GstVideoOverlayRectangle is created whenever the underlying pixels data
26653           change. However, when global-alpha is supported, it is possible to re-use
26654           the same GstVideoOverlayRectangle but with a change to the global-alpha
26655           value. This process causes a change of sequence number, so we can no longer
26656           check for that.
26657           Still, if sequence numbers did not change, then there was no change in
26658           global-alpha either. So, we need a way to compare the underlying GstBuffer
26659           pointers. There is no API to retrieve the original pixels buffer from
26660           a GstVideoOverlayRectangle. So, we use the following heuristics:
26661           1. Use gst_video_overlay_rectangle_get_pixels_unscaled_argb() with the same
26662           format flags from which the GstVideoOverlayRectangle was created. This
26663           will work if there was no prior consumer of the GstVideoOverlayRectangle
26664           with alternate (non-"native") format flags.
26665           2. In overlay_rectangle_has_changed_pixels(), we have to use the same
26666           gst_video_overlay_rectangle_get_pixels_unscaled_argb() function but
26667           with flags that match the subpicture. This is needed to cope with
26668           platforms that don't support global-alpha in HW, so the gst-video
26669           layer takes care of that and fixes this up with a possibly new
26670           GstBuffer, and hence pixels data (or) in-place by caching the current
26671           global-alpha value applied. So we have to determine the rectangle
26672           was previously used, based on what previous flags were used to
26673           retrieve the ARGB pixels buffer.
26674
26675 2013-01-10 18:42:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26676
26677         * gst-libs/gst/vaapi/gstvaapicontext.c:
26678           overlay: optimize cache at the GstVideoOverlayRectangle level.
26679           We previously assumed that an overlay composition changed if the number
26680           of overlay rectangles in there actually changed, or that the rectangle
26681           was updated, and thus its seqnum was also updated.
26682           Now, we can cope with cases where the GstVideoOverlayComposition grew
26683           by one or a few more overlay rectangles, and the initial overlay rectangles
26684           are kept as is.
26685
26686 2013-01-10 13:41:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26687
26688         * gst-libs/gst/vaapi/gstvaapicontext.c:
26689           overlay: simplify caching of GstVideoOverlayComposition objects.
26690           Create the GPtrArray once in the _init() function and destroy it only
26691           in the _finalize() function. Then use overlay_clear() to remove all
26692           subpicture associations for intermediate updates, don't recreate the
26693           GPtrArray.
26694           Make GstVaapiOverlayRectangle a reference counted object. Also make
26695           sure that overlay_rectangle_new() actually creates and associates the
26696           VA subpicture.
26697
26698 2012-05-15 10:24:08 +0200  Holger Kaelberer <holger.k@elberer.de>
26699
26700         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
26701         * gst-libs/gst/vaapi/gstvaapiutils.c:
26702         * gst-libs/gst/vaapi/gstvaapiutils.h:
26703           overlay: add support for global-alpha.
26704           Handle global-alpha from GstVideoOverlayComposition API. Likewise,
26705           the same code path could also work for premultiplied-alpha but this
26706           was not tested.
26707           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26708
26709 2012-05-15 10:24:08 +0200  Holger Kaelberer <holger.k@elberer.de>
26710
26711         * gst-libs/gst/vaapi/gstvaapidisplay.c:
26712         * gst-libs/gst/vaapi/gstvaapidisplay.h:
26713         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
26714         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
26715         * gst-libs/gst/vaapi/gstvaapisurface.c:
26716         * tests/image.c:
26717         * tests/test-subpicture.c:
26718           subpicture: add support for global-alpha.
26719           Add the necessary helpers in GstVaapiDisplay to determine whether subpictures
26720           with global alpha are supported or not. Also add accessors in GstVaapiSubpicture
26721           to address this feature.
26722           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26723
26724 2013-01-04 09:41:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26725
26726         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
26727         * gst-libs/gst/vaapi/gstvaapiutils.c:
26728         * gst-libs/gst/vaapi/gstvaapiutils.h:
26729           subpicture: add premultiplied-alpha and global-alpha feature flags.
26730           Add premultiplied-alpha and global-alpha feature flags, along with converters
26731           between VA-API and gstreamer-vaapi definitions. Another round of helpers is
26732           also necessary for GstVideoOverlayComposition API.
26733
26734 2013-01-03 18:02:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26735
26736         * gst-libs/gst/vaapi/gstvaapidisplay.c:
26737           display: allow image/subpicture formats with additional flags.
26738           Introduce new GstVaapiFormatInfo to store the actual GstVaapiImageFormat
26739           and any additional flags needed. Currently, all flags are set to zero.
26740
26741 2013-01-11 13:34:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26742
26743         * gst-libs/gst/codecparsers/Makefile.am:
26744         * gst-libs/gst/video/Makefile.am:
26745         * tests/Makefile.am:
26746           libs: fix build of submodule wrappers.
26747           Make sure to build codecparsers/ and videoutils/ sources against the
26748           newly generated headers when out-of-source builds are used.
26749
26750 2013-01-11 14:11:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26751
26752         * configure.ac:
26753           configure: fix checks for packages installed in non-standard roots.
26754
26755 2013-01-10 10:12:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26756
26757         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
26758           decoder: fix mini object implementation on 64-bit systems.
26759           Use GPOINTER_TO_SIZE() instead of GPOINTER_TO_UINT() while manipulating
26760           pointers. The latter is meant to be 32-bit only, not uintptr_t like size.
26761           Only a gsize can hold all bits of a pointer.
26762           Thanks to Ouping Zhang for spotting this error.
26763
26764 2013-01-09 16:05:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26765
26766         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26767           mpeg2: optimize scan for the end of the frame.
26768           Heuristic: if the second start-code is available, check whether that
26769           one marks the start of a new frame because e.g. this is a sequence
26770           or picture header. This doesn't save much, since we already cache the
26771           results.
26772
26773 2013-01-09 13:44:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26774
26775         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26776           mpeg2: optimize scan for start codes.
26777           Accelerate scan for start codes by skipping up to 3 bytes per iteration.
26778           A start code prefix is defined by the following bytes: 00 00 01. Thus,
26779           for any group of 3 bytes (xx yy zz), we have the following possible cases:
26780           1. If zz != 1, this cannot be a start code, then skip 3 bytes;
26781           2. If yy != 0, this cannot be a start code, then skip 2 bytes;
26782           3. If xx != 0 or zz != 1, this cannot be a start code, then skip 1 byte;
26783           4. xx == 00, yy == 00, zz == 1, we have match!
26784           This algorithm requires to peek bytes from the adapter. This increases the
26785           amount of bytes copied to a temporary buffer, but this process is much faster
26786           than scanning for all the bytes and using shift/masks. So, overall, this is
26787           a win.
26788
26789 2013-01-08 16:41:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26790
26791         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26792           mpeg2: drop useless gst_adapter_peek().
26793           Drop useless gst_adapter_peek() since the returned buffer was not used
26794           and this could incur superfluous memcpy().
26795
26796 2013-01-07 16:07:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26797
26798         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26799           mpeg2: cosmetics: move parse_slice() down.
26800
26801 2013-01-07 15:24:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26802
26803         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26804           mpeg2: avoid too many allocations of parser info objects.
26805           Move parsing back to decoding step, but keep functions separate for now.
26806           This is needed for future optimizations that may introduce some meta data
26807           for parsed info attached to codec frames.
26808
26809 2013-01-07 14:04:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26810
26811         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
26812         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
26813           decoder: decoder units are no longer dynamically allocated objects.
26814
26815 2013-01-07 13:59:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26816
26817         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26818         * gst-libs/gst/vaapi/gstvaapidecoder_frame.c:
26819         * gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
26820           decoder: optimize pre-allocation of decoder units.
26821           Optimize pre-allocation of decoder units, thus avoiding un-necessary
26822           memory reallocations. The heuristic used is that we could have around
26823           one slice unit per macroblock line.
26824
26825 2013-01-07 13:41:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26826
26827         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26828         * gst-libs/gst/vaapi/gstvaapidecoder_frame.c:
26829         * gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
26830         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
26831         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
26832           decoder: use an array of units instead of a single-linked list.
26833           Use a GArray to hold decoder units in a frame, instead of a single-linked
26834           list. This makes 'append' calls faster, but not that much. At least, this
26835           makes things clearer.
26836
26837 2013-01-07 11:13:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26838
26839         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26840         * gst-libs/gst/vaapi/gstvaapidecoder.h:
26841         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26842         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
26843         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26844         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
26845         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
26846         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
26847         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
26848           decoder: refactor decoder unit API.
26849           Allocate decoder unit earlier in the main parse() function and don't
26850           delegate this task to derived classes. The ultimate purpose is to get
26851           rid of dynamic allocation of decoder units.
26852
26853 2013-01-07 10:48:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26854
26855         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26856           mpeg2: introduce parser info instead of MPEG-2 specific decoder unit.
26857           Use a new GstVaapiParserInfoMpeg2 data structure instead of deriving
26858           from GstVaapiDecoderUnit for MPEG-2 specific parser information.
26859
26860 2013-01-07 10:22:54 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26861
26862         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26863           h264: introduce parser info instead of H.264 specific decoder unit.
26864           Use a new GstVaapiParserInfoH264 data structure instead of deriving
26865           from GstVaapiDecoderUnit for H.264 specific parser information.
26866
26867 2013-01-05 12:33:06 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
26868
26869         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26870           h264: set default values for some header fields.
26871           The SPS, PPS and slice headers are not fully zero-initialized in the
26872           codecparsers/ library. Rather, the standard upstream behaviour is to
26873           initialize only certain syntax elements with some inferred values if
26874           they are not present in the bitstream.
26875           At the gstreamer-vaapi decoder level, we need to further initialize
26876           certain syntax elements with some sensible default values so that to
26877           not complicate VA drivers that just pass those verbatim to the HW,
26878           and also avoid an memset() of the whole decoder unit.
26879           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
26880           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26881
26882 2013-01-06 19:05:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26883
26884         * ext/codecparsers:
26885           codecparsers: update to gst-vaapi-rebased commit b47983a.
26886           b47983a h264: add inferred value for slice_beta_offset_div2
26887
26888 2013-01-05 17:55:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26889
26890         * gst/vaapi/gstvaapidecode.c:
26891         * gst/vaapi/gstvaapidownload.c:
26892         * gst/vaapi/gstvaapipluginbuffer.c:
26893         * gst/vaapi/gstvaapipluginbuffer.h:
26894         * gst/vaapi/gstvaapipostproc.c:
26895         * gst/vaapi/gstvaapisink.c:
26896         * gst/vaapi/gstvaapiupload.c:
26897         * gst/vaapi/gstvaapiuploader.c:
26898           plugins: cope with new GstVaapiVideoMeta API.
26899           Update plugin elements with the new GstVaapiVideoMeta API.
26900           This also fixes support for subpictures/overlay because GstVideoDecoder
26901           generates a sub-buffer from the GstVaapiVideoBuffer. So, that sub-buffer
26902           is marked as read-only. However, when comes in the textoverlay element
26903           for example, it checks whether the input buffer is writable. Since that
26904           buffer read-only, then a new GstBuffer is created. Since gst_buffer_copy()
26905           does not preserve the parent field, the generated buffer in textoverlay
26906           is not exploitable because we lost all VA specific information.
26907           Now, with GstVaapiVideoMeta information attached to a standard GstBuffer,
26908           all information are preserved through gst_buffer_copy() since the latter
26909           does copy metadata (qdata in this case).
26910
26911 2013-01-05 17:37:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26912
26913         * gst-libs/gst/vaapi/Makefile.am:
26914         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
26915         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
26916         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
26917         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.h:
26918         * gst-libs/gst/vaapi/gstvaapivideobuffer_priv.h:
26919         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
26920           videobuffer: wrap video meta into a surface buffer.
26921           Make GstVaapiVideoBuffer a simple wrapper for video meta. This buffer is
26922           no longer necessary but for compatibility with GStreamer 0.10 APIs or users
26923           expecting a GstSurfaceBuffer like Clutter.
26924
26925 2013-01-05 08:31:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26926
26927         * gst-libs/gst/vaapi/Makefile.am:
26928         * gst-libs/gst/vaapi/gstvaapivideometa.c:
26929         * gst-libs/gst/vaapi/gstvaapivideometa.h:
26930           videobuffer: add video meta information.
26931           Add new GstVaapiVideoMeta object that holds all information needed to
26932           convey gst-vaapi specific data as a GstBuffer.
26933
26934 2013-01-03 13:10:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26935
26936         * gst/vaapi/gstvaapidecode.c:
26937           vaapidecode: fix calculation of the time-out value.
26938           Fix calculation of the time-out value for cases where no VA surface is
26939           available for decoding. In this case, we need to wait until downstream
26940           sink consumed at least one surface. The time-out was miscalculated as
26941           it was always set to <current-time> + one second, which is not suitable
26942           for streams with larger gaps.
26943
26944 2013-01-03 13:05:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26945
26946         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
26947           decoder: always use the calculated presentation timestamp.
26948           Use PTS value computed by the decoder, which could also be derived from
26949           the GstVideoCodecFrame PTS. This makes it possible to fix up the PTS if
26950           the original one was miscomputed or only represented a DTS instead.
26951
26952 2013-01-02 17:33:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26953
26954         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
26955           h264: don't create sub-buffer for slice data.
26956
26957 2013-01-03 11:16:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26958
26959         * gst-libs/gst/vaapi/gstvaapidecoder.c:
26960           decoder: create new context when encoded resolution changes.
26961           Create a new VA context if the encoded surface size changes because we
26962           need to keep the underlying surface pool until the last one was released.
26963           Otherwise, either of the following cases could have happened: (i) release
26964           a VA surface to an inexistent pool, or (ii) release VA surface to an
26965           existing surface pool, but with different size.
26966
26967 2013-01-02 17:23:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26968
26969         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26970           mpeg2: don't create sub-buffer for slice data.
26971           Avoid creating a GstBuffer for slice data. Rather, directly use the codec
26972           frame input buffer data. This is possible because the codec frame is valid
26973           until end_frame() where we submit the VA buffers for decoding. Anyway, the
26974           slice data buffer is copied into the VA buffer when it is created.
26975
26976 2013-01-02 14:45:50 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26977
26978         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26979           mpeg2: minor clean-ups.
26980           Drop explicit initialization of most fields that are implicitly set to
26981           zero. Remove some useless checks for NULL pointers.
26982
26983 2013-01-02 14:18:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26984
26985         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26986           mpeg2: optimize scan for the second start code.
26987           Optimize scan for the second start code, on the next parse() call so that
26988           to avoid scanning again earlier bytes where we didn't find any start code.
26989
26990 2013-01-02 14:10:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26991
26992         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
26993           mpeg2: use sequence_display_extension() to compute PAR.
26994           Also compute pixel-aspect-ratio from sequence_display_extension(),
26995           should it exist in the bitstream.
26996
26997 2013-01-02 14:02:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
26998
26999         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
27000           mpeg2: handle sequence_display_extension().
27001
27002 2012-12-27 15:18:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27003
27004         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
27005           mpeg2: implement {start,end}_frame() hooks.
27006           Implement GstVaapiDecoder.start_frame() and end_frame() semantics so
27007           that to create new VA context earlier and submit VA pictures to the
27008           HW for decoding as soon as possible. i.e. don't wait for the next
27009           frame to start decoding the previous one.
27010
27011 2012-12-27 14:54:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27012
27013         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
27014           mpeg2: parse slice() header earlier.
27015           Parse slice() header and first macroblock position earlier in _parse()
27016           function instead of waiting for the _decode() stage. This doesn't change
27017           anything but readability.
27018
27019 2012-12-27 14:41:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27020
27021         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
27022           mpeg2: add codec specific decoder unit.
27023           Introduce new GstVaapiDecoderUnitMpeg2 object, which holds the standard
27024           GstMpegVideoPacket and additional parsed header info. Besides, we now
27025           parse as early as in the _parse() function so that to avoid un-necessary
27026           creation of sub-buffers in _decode() for video packets that are not slices.
27027
27028 2012-12-27 18:52:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27029
27030         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27031         * gst-libs/gst/vaapi/gstvaapidecoder_frame.c:
27032         * gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
27033         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
27034           decoder: introduce lists of units to decode before/after frame.
27035           Theory of operations: all units marked as "slice" are moved to the "units"
27036           list. Since this list only contains slice data units, the prev_slice pointer
27037           was removed. Besides, we now maintain two extra lists of units to be decoded
27038           before or after slice data units.
27039           In particular, all units in the "pre_units" list will be decoded before
27040           GstVaapiDecoder::start_frame() is called and units in the "post_units"
27041           list will be decoded after GstVaapiDecoder::end_frame() is called.
27042
27043 2013-01-02 16:06:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27044
27045         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
27046         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
27047           decoder: drop useless checks for codec objects.
27048           Codec objects are used internally only and they are bound to be created
27049           with a valid GstVaapiDecoder object.
27050
27051 2012-12-27 10:35:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27052
27053         * gst/vaapi/gstvaapidecode.c:
27054           vaapidecode: use GST_ERROR to print error messages.
27055
27056 2012-12-27 09:55:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27057
27058         * gst/vaapi/gstvaapidecode.c:
27059           vaapidecode: avoid double release of frame on error.
27060           Don't call gst_video_decoder_drop_frame() if gst_video_decoder_finish_frame()
27061           was already called before and it returned an error. In that case, we were
27062           releasing the frame again, thus leading to a "double-free" condition.
27063
27064 2012-12-21 14:29:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27065
27066         * .gitmodules:
27067         * autogen.sh:
27068         * configure.ac:
27069         * ext/Makefile.am:
27070         * ext/videoutils:
27071         * gst-libs/gst/Makefile.am:
27072         * gst-libs/gst/vaapi/Makefile.am:
27073         * gst-libs/gst/video/Makefile.am:
27074         * gst/vaapi/Makefile.am:
27075           Add videoutils submodule for GstVideoDecoder APIs.
27076
27077 2012-12-18 16:36:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27078
27079         * configure.ac:
27080           configure: check for GstVideoDecoder API.
27081           GstVideoDecoder API is part of an unreleased GStreamer 0.10 stack. In particular,
27082           this is only available in git 0.10 branch or GStreamer >= 1.0 stack. Interested
27083           parties may either use upstream git 0.10 branch or backport the necessary support
27084           for GstVideoDecoder API, thus including helper tools like GstVideoCodecFrame et al.
27085
27086 2012-12-18 16:21:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27087
27088         * docs/reference/libs/libs.core.types:
27089           docs: remove obsolete gst_vaapi_surface_proxy_get_type().
27090           GstVaapiSurfaceProxy is no longer based on the GType system.
27091
27092 2012-12-18 16:17:22 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27093
27094         * docs/reference/libs/libs-sections.txt:
27095           docs: fix entries for GstVaapiSurfaceProxy.
27096
27097 2012-12-18 15:29:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27098
27099         * NEWS:
27100           NEWS: updates.
27101
27102 2012-12-18 15:15:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27103
27104         * configure.ac:
27105         * gst-libs/gst/vaapi/Makefile.am:
27106           Bump library major version.
27107           Increase library major so that to cope with API/ABI incompatible changes
27108           since 0.4.x series and avoid user issues.
27109
27110 2012-12-13 16:02:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27111
27112         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
27113           surfaceproxy: minor clean-ups.
27114
27115 2012-12-13 15:51:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27116
27117         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
27118         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
27119         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
27120           surfaceproxy: drop accessors to obsolete attributes.
27121           Make GstVaapiSurfaceProxy only a thin wrapper around a VA context and a
27122           VA surface. i.e. drop any other attribute like timestamp, duration,
27123           interlaced or top-field-first.
27124
27125 2012-12-13 15:34:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27126
27127         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27128         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
27129         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
27130         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
27131         * gst/vaapi/gstvaapidecode.c:
27132           decoder: maintain decoded frames as GstVideoCodecFrame objects.
27133           Maintain decoded surfaces as GstVideoCodecFrame objects instead of
27134           GstVaapiSurfaceProxy objects. The latter will tend to be reduced to
27135           the strict minimum: a context and a surface.
27136
27137 2012-12-13 14:30:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27138
27139         * gst/vaapi/gstvaapidecode.c:
27140           vaapidecode: output all decoded frames as soon as possible.
27141           Make sure to push all decoded frames downstream as soon as possible.
27142           This makes sure we don't need to wait for a new frame to be ready to
27143           be decoded before receiving new decoded frames.
27144           This also separates the decode process and the output process. The latter
27145           could be moved to a specific GstTask later on.
27146
27147 2012-12-13 14:27:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27148
27149         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27150         * gst-libs/gst/vaapi/gstvaapidecoder.h:
27151           decoder: add gst_vaapi_decoder_get_frame() API.
27152           Add new gst_vaapi_decoder_get_frame() function meant to be used with
27153           gst_vaapi_decoder_decode(). The purpose is to return the next decoded
27154           frame as a GstVideoCodecFrame and the associated GstVaapiSurfaceProxy
27155           as the user-data object.
27156
27157 2012-12-13 15:47:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27158
27159         * gst/vaapi/gstvaapipostproc.c:
27160           vaapipostproc: use GstBuffer flags for TFF.
27161           Determine whether the buffer represents the top-field only by checking for
27162           the GST_VIDEO_BUFFER_TFF flag instead of relying on the GstVaapiSurfaceProxy
27163           flag. Also trust "interlaced" caps to determine whether the input frame
27164           is interleaved or not.
27165
27166 2012-12-13 13:27:33 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27167
27168         * gst/vaapi/gstvaapipostproc.c:
27169           vaapipostproc: handle video sub-buffers.
27170           Intermediate elements may produce a sub-buffer from a valid GstVaapiVideoBuffer
27171           for non raw YUV cases. Make sure vaapipostproc now understands those buffers.
27172
27173 2012-12-18 14:57:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27174
27175         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27176           h264: optimize initialization process of decoder units.
27177           Decoder units were zero-initialized, including the SPS/PPS/slice headers.
27178           The latter don't require zero-initialization since the codecparsers/ lib
27179           will do so for key variables already. This is not a great value per se but
27180           at least it makes it possible to check whether the default initialization
27181           decisions made in the codecparsers/ lib were right or not.
27182           This can be reverted if this exposes too many issues.
27183
27184 2012-12-13 11:48:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27185
27186         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27187           h264: minor clean-ups.
27188           Drop explicit initialization of most fields that are implicitly set to
27189           zero. Drop helper macros for casting to GstVaapiPictureH264 or
27190           GstVaapiFrameStore. Also remove some useless checks for NULL pointers.
27191
27192 2012-12-07 17:45:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27193
27194         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27195           h264: drop GstVaapiSliceH264 object.
27196           Use standard GstVaapiSlice object from now on since we already have
27197           parsed and recorded the slice headers (GstH264SliceHdr decode units).
27198
27199 2012-12-13 10:47:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27200
27201         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27202           h264: detect new pictures from decode-units.
27203           Update is_new_picture() to cope with GstVaapiDecoderUnitH264, instead
27204           of assuming frame boundaries when first_mb_in_slice is zero.
27205
27206 2012-12-13 10:21:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27207
27208         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27209           h264: implement {start,end}_frame() hooks.
27210           Implement GstVaapiDecoder.start_frame() and end_frame() semantics so
27211           that to create new VA context earlier and submit VA pictures to the
27212           HW for decoding as soon as possible. i.e. don't wait for the next
27213           frame to start decoding the previous one.
27214
27215 2012-12-12 18:33:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27216
27217         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27218           h264: optimize scan for the second start code.
27219           Optimize scan for the second start code, on the next parse() call so that
27220           to avoid scanning again earlier bytes where we didn't find any start code.
27221
27222 2012-12-06 17:25:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27223
27224         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27225           h264: add codec specific decoder unit.
27226           Introduce new GstVaapiDecoderUnitH264 object, which holds the standard
27227           NAL unit header (GstH264NalUnit) and additional parsed header info.
27228           Besides, we now parse headers as early as in the _parse() function so
27229           that to avoid un-necessary creation of sub-buffers in _decode() for
27230           NAL units that are not slices.
27231           This is a performance win by ~+1.1% only.
27232
27233 2012-12-04 11:01:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27234
27235         * gst/vaapi/gstvaapisink.c:
27236           vaapisink: handle sub video-buffers.
27237           Intermediate elements may produce a sub-buffer from a valid GstVaapiVideoBuffer
27238           for non raw YUV cases. Make sure vaapisink now understands those buffers.
27239
27240 2012-12-12 15:22:32 +0100  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
27241
27242         * gst/vaapi/gstvaapidecode.c:
27243           vaapidecode: use gst_vaapi_decoder_get_codec_state().
27244           Directly use the GstVideoCodecState associated with the VA decoder
27245           instead of parsing caps again.
27246           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
27247           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27248
27249 2012-12-04 14:53:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27250
27251         * gst/vaapi/gstvaapidecode.c:
27252           vaapidecode: use more standard helpers.
27253           Use g_clear_object() [glib >= 2.28] and gst_caps_replace() helper functions
27254           in more places.
27255
27256 2012-12-04 14:45:29 +0100  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
27257
27258         * gst/vaapi/gstvaapidecode.c:
27259         * gst/vaapi/gstvaapidecode.h:
27260           vaapidecode: move to GstVideoDecoder base class.
27261           Make vaapidecode derive from the standard GstVideoDecoder base element
27262           class. This simplifies the code to the strict minimum for the decoder
27263           element and makes it easier to port to GStreamer 1.x API.
27264           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
27265           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27266
27267 2012-12-06 14:02:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27268
27269         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
27270           jpeg: initial port to new GstVaapiDecoder API
27271
27272 2012-12-06 14:02:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27273
27274         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27275           vc1: initial port to new GstVaapiDecoder API
27276
27277 2012-12-06 14:02:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27278
27279         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27280           h264: initial port to new GstVaapiDecoder API
27281
27282 2012-12-17 09:47:20 -0800  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27283
27284         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
27285           mpeg4: initial port to new GstVaapiDecoder API
27286
27287 2012-12-06 14:01:46 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27288
27289         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
27290           mpeg2: initial port to new GstVaapiDecoder API.
27291
27292 2012-12-12 15:09:21 +0100  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
27293
27294         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27295         * gst-libs/gst/vaapi/gstvaapidecoder.h:
27296         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
27297         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27298         * gst-libs/gst/vaapi/gstvaapiprofile.c:
27299         * gst-libs/gst/vaapi/gstvaapiprofile.h:
27300           decoder: use GstVideoCodecState.
27301           Use standard GstVideoCodecState throughout GstVaapiDecoder and expose
27302           it with a new gst_vaapi_decoder_get_codec_state() function. This makes
27303           it possible to drop picture size (width, height) information, framerate
27304           (fps_n, fps_d) information, pixel aspect ratio (par_n, par_d) information,
27305           and interlace mode (is_interlaced field).
27306           This is a new API with backwards compatibility maintained. In particular,
27307           gst_vaapi_decoder_get_caps() is still available.
27308           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
27309           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27310
27311 2012-12-12 13:44:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27312
27313         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27314         * gst-libs/gst/vaapi/gstvaapidecoder.h:
27315         * tests/test-decode.c:
27316         * tests/test-subpicture.c:
27317           decoder: update gst_vaapi_decoder_get_surface() semantics.
27318           Align gst_vaapi_decoder_get_surface() semantics with the rest of the
27319           API. That is, return a GstVaapiDecoderStatus and the decoded surface
27320           as a handle to GstVaapiSurfaceProxy in parameter.
27321           This is an API/ABI change.
27322
27323 2012-12-07 16:40:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27324
27325         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27326           decoder: use standard helper functions.
27327           Use g_clear_object(), gst_buffer_replace() and gst_caps_replace()
27328           whenever necessary.
27329
27330 2012-11-29 15:06:00 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27331
27332         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27333         * gst-libs/gst/vaapi/gstvaapidecoder.h:
27334         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
27335           decoder: expose new parse/decode API.
27336           Introduce new decoding process whereby a GstVideoCodecFrame is created
27337           first. Next, input stream buffers are accumulated into a GstAdapter,
27338           that is then passed to the _parse() function. The GstVaapiDecoder object
27339           accumulates all parsed units and when a complete frame or field is
27340           detected, that GstVideoCodecFrame is passed to the _decode() function.
27341           Ultimately, the caller receives a GstVaapiSurfaceProxy if decoding
27342           process was successful.
27343
27344 2012-12-13 10:20:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27345
27346         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27347         * gst-libs/gst/vaapi/gstvaapidecoder.h:
27348           decoder: add {start,end}_frame() hooks.
27349           The start_frame() hook is called prior to traversing all decode-units
27350           for decoding. The unit argument represents the first slice in the frame.
27351           Some codecs (e.g. H.264) need to wait for the first slice in order to
27352           determine the actual VA context parameters.
27353
27354 2012-12-06 13:57:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27355
27356         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27357         * gst-libs/gst/vaapi/gstvaapidecoder.h:
27358         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
27359           decoder: add new GstVaapiDecoder API.
27360           Split decoding process into two steps: (i) parse incoming bitstreams
27361           into simple decoder-units until the frame or field is complete; and
27362           (ii) decode the whole frame or field at once.
27363           This is an ABI change.
27364
27365 2012-12-05 10:51:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27366
27367         * gst-libs/gst/vaapi/Makefile.am:
27368         * gst-libs/gst/vaapi/gstvaapidecoder_frame.c:
27369         * gst-libs/gst/vaapi/gstvaapidecoder_frame.h:
27370           decoder: add new "decoder-frame" object.
27371           Introduce a new GstVaapiDecoderFrame that is just a list of decoder units
27372           (GstVaapiDecoderUnit objects) that constitute a frame. This object is just
27373           an extension to GstVideoCodecFrame for VA decoder purposes. It is available
27374           as the user-data member element.
27375           This is a libgstvaapi internal object.
27376
27377 2012-12-06 09:44:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27378
27379         * gst-libs/gst/vaapi/Makefile.am:
27380         * gst-libs/gst/vaapi/gstvaapidecoder_unit.c:
27381         * gst-libs/gst/vaapi/gstvaapidecoder_unit.h:
27382           decoder: add new "decoder-unit" object.
27383           Introduce GstVaapiDecoderUnit which represents a fragment of the source
27384           stream to be decoded. For instance, a decode-unit will be a NAL unit for
27385           H.264 streams, an EBDU for VC-1 streams, and a video packet for MPEG-2
27386           streams.
27387           This is a libgstvaapi internal object.
27388
27389 2012-12-03 14:09:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27390
27391         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27392           Port GstVaapiFrameStore to GstVaapiMiniObject.
27393
27394 2012-12-03 11:19:08 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27395
27396         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
27397         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
27398         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27399         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
27400         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
27401           Port codec objects to GstVaapiMiniObject.
27402
27403 2012-12-03 13:46:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27404
27405         * gst-libs/gst/vaapi/gstvaapidecoder.c:
27406         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
27407         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
27408         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
27409         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
27410         * gst/vaapi/gstvaapidecode.c:
27411         * gst/vaapi/gstvaapipluginbuffer.c:
27412         * tests/test-decode.c:
27413         * tests/test-subpicture.c:
27414           surfaceproxy: port to GstVaapiMiniObject.
27415           GstVaapiSurfaceProxy does not use any particular functionality from
27416           GObject. Actually, it only needs a basic object type with reference
27417           counting.
27418           This is an API and ABI change.
27419
27420 2012-11-30 17:25:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27421
27422         * gst-libs/gst/vaapi/Makefile.am:
27423         * gst-libs/gst/vaapi/gstvaapiminiobject.c:
27424         * gst-libs/gst/vaapi/gstvaapiminiobject.h:
27425           Add GstVaapiMiniObject.
27426           Introduce a new reference counted object that is very lightweight and
27427           also provides flags and user-data functionalities. Initialization and
27428           finalization times are reduced by up to a factor 5x vs GstMiniObject
27429           from GStreamer 0.10 stack.
27430           This is a libgstvaapi internal object.
27431
27432 2012-12-17 02:51:17 -0800  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27433
27434         * tests/Makefile.am:
27435         * tests/test-decode.c:
27436         * tests/test-mpeg4.c:
27437         * tests/test-mpeg4.h:
27438           tests: add test for MPEG-4:2 decoding.
27439
27440 2012-12-17 04:42:29 -0800  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27441
27442         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27443           h264: initialize VA context before allocating the first slice.
27444           Fix decode_slice() to ensure a VA context exists prior to creating a
27445           new GstVaapiSliceH264, which invokes vaCreateBuffer() with some VA
27446           context ID. i.e. the latter was not initialized, thus causing failures
27447           on Cedar Trail for example.
27448
27449 2012-12-05 09:15:32 +0800  Zhao Halley <halley.zhao@intel.com>
27450
27451         * configure.ac:
27452           configure: install plugin elements in GST_PLUGIN_PATH, if set.
27453           If GST_PLUGIN_PATH environment variable exists and points to a valid
27454           directory, then use it as the system installation path for gst-vaapi
27455           plugin elements.
27456           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27457
27458 2012-12-17 14:27:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27459
27460         * configure.ac:
27461           configure: downgrade glib required version to 2.28.
27462
27463 2012-12-17 09:41:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27464
27465         * gst-libs/gst/vaapi/glibcompat.h:
27466         * gst/vaapi/gstvaapi.c:
27467           libs: fix compatibility with glib 2.28.
27468           Always prefer non deprecated APIs by default and provide compatibility
27469           glue for older glib versions when necessary.
27470
27471 2012-12-17 10:10:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27472
27473         * gst-libs/gst/vaapi/gstvaapidisplay.c:
27474         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
27475         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
27476         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
27477           libs: use glib >= 2.32 semantics for mutexes.
27478           Use glib >= 2.32 semantics for GMutex and GRecMutex wrt. initialization
27479           and termination. Basically, the new mutex objects can be used as static
27480           mutex objects from the deprecated APIs, e.g. GStaticMutex and GStaticRecMutex.
27481
27482 2012-12-17 04:15:53 -0800  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27483
27484         * gst-libs/gst/vaapi/Makefile.am:
27485           libs: only export gst_vaapi_*() symbols.
27486           This fixes symbol clashes between the gst-vaapi built-in codecparsers/
27487           library and the system-provided one, mainly used by videoparses/. Now,
27488           only symbols with the gst_vaapi_* prefix will be exported, if they are
27489           not marked as "hidden" to libgstvaapi.
27490
27491 2012-11-20 18:21:41 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27492
27493         * gst/vaapi/gstvaapiuploader.c:
27494           vaapiupload: reset direct-rendering to zero when changing caps.
27495           Make sure to reset direct-rendering flag to zero when caps are changed,
27496           and only derive it to one when the next checks succeed.
27497
27498 2012-11-20 14:42:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27499
27500         * gst/vaapi/gstvaapiupload.c:
27501           vaapiupload: fix sink caps to report the supported set of YUV caps.
27502           Try to allocate the GstVaapiUploader helper object prior to listing the
27503           supported image formats. Otherwise, only a single generic caps is output
27504           with no particular pixel format referenced in there.
27505
27506 2012-11-20 14:32:40 +0100  Zhao Halley <halley.zhao@intel.com>
27507
27508         * gst/vaapi/gstvaapiupload.c:
27509         * gst/vaapi/gstvaapiupload.h:
27510           vaapiupload: use new GstVaapiUploader helper.
27511           Use GstVaapiUploader helper that automatically handles direct rendering
27512           mode, thus making the "direct-rendering" property obsolete and hence it
27513           is now removed.
27514           The "direct-rendering" level 2, i.e. exposing VA surface buffers, was never
27515           really well supported and it could actually trigger degraded performance.
27516           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27517
27518 2012-11-20 15:50:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27519
27520         * gst/vaapi/gstvaapisink.c:
27521         * gst/vaapi/gstvaapiuploader.c:
27522         * gst/vaapi/gstvaapiuploader.h:
27523           vaapisink: compute and expose the supported set of YUV caps.
27524           Make vaapisink expose only the set of supported caps for raw YUV buffers.
27525           Add gst_vaapi_uploader_get_caps() helper function to determine the set
27526           of supported YUV caps as source (for images). This function actually
27527           tries to zero and upload each image to a 64x64 test surface. Of course,
27528           this relies on VA drivers to not claim success if vaPutImage() is not
27529           correctly supported.
27530
27531 2012-11-20 14:28:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27532
27533         * NEWS:
27534         * gst/vaapi/Makefile.am:
27535         * gst/vaapi/gstvaapisink.c:
27536         * gst/vaapi/gstvaapisink.h:
27537         * gst/vaapi/gstvaapiuploader.c:
27538         * gst/vaapi/gstvaapiuploader.h:
27539           vaapisink: add support for raw YUV buffers.
27540           Add new GstVaapiUploader helper to upload raw YUV buffers to VA surfaces.
27541           It is up to the caller to negotiate source caps (for images) and output
27542           caps (for surfaces). gst_vaapi_uploader_has_direct_rendering() is available
27543           to help decide between the creation of a GstVaapiVideoBuffer or a regular
27544           GstBuffer on sink pads.
27545           Signed-off-by: Zhao Halley <halley.zhao@intel.com>
27546           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27547
27548 2012-11-20 14:36:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27549
27550         * gst-libs/gst/vaapi/gstvaapiimage.c:
27551           image: fix GstVaapiImage map and unmap.
27552           Fix gst_vaapi_image_map() to return TRUE and the GstVaapiImageRaw
27553           structure correctly filled in if the image was already mapped.
27554           Likewise, make gst_vaapi_image_unmap() return TRUE if the image
27555           was already unmapped.
27556
27557 2012-10-30 13:15:45 +0800  Wind Yuan <feng.yuan@intel.com>
27558
27559         * NEWS:
27560         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
27561           videobuffer: fix memory leak for surface and image.
27562           Fix reference leak of surface and image in GstVaapiVideoBuffer wrapper,
27563           thus resulting on actual memory leak of GstVaapiImage when using them
27564           for downloads/uploads from VA surfaces and more specifically surfaces
27565           when the pipeline is shutdown. i.e. vaTerminate() was never called
27566           because the resources were not unreferenced, and thus not deallocated
27567           in the end.
27568           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27569
27570 2012-11-19 10:04:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27571
27572         * NEWS:
27573           NEWS: updates.
27574
27575 2012-11-16 18:00:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27576
27577         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27578           h264: fix picture size in macroblocks.
27579           The picture size signalled by sps->{width,height} is the actual size with
27580           cropping applied, not the original size derived from pic_width_in_mbs_minus1
27581           and pic_height_in_map_units_minus1. VA driver expects that original size,
27582           uncropped.
27583           There is another issue pending: frame cropping information needs to be
27584           taken care of.
27585
27586 2012-11-16 16:18:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27587
27588         * gst-libs/gst/codecparsers/Makefile.am:
27589           codecparsers: always build parserutils first.
27590           Fix commit 18245b4 so that to link and build parserutils.[ch] first.
27591           This is needed since that's the common dependency for actual codec
27592           parsers (gstvc1parser.c for instance).
27593
27594 2012-11-15 17:50:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27595
27596         * gst-libs/gst/codecparsers/Makefile.am:
27597           codecparsers: always build the VC-1 parser library.
27598           ... this is useful to make sure pixel-aspect-ratio and framerate
27599           information are correctly parsed since we have no means to detect
27600           that at configure time.
27601
27602 2012-11-08 11:40:47 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
27603
27604         * configure.ac:
27605         * gst-libs/gst/codecparsers/Makefile.am:
27606         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
27607           mpeg2: fix PAR calculation from commit bd11bae.
27608           Invoke gst_mpeg_video_finalise_mpeg2_sequence_header() to get the
27609           correct PAR values. While doing so, require a newer version of the
27610           bitstream parser library.
27611           Note: it may be necessary to also parse the Sequence_Display_Extension()
27612           header.
27613           Signed-off-by: Sreerenj Balachandran <sreerenj.balachandran@intel.com>
27614           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27615
27616 2012-11-15 15:00:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27617
27618         * gst-libs/gst/vaapi/Makefile.am:
27619           Fix build with the GNU gold linker.
27620           In particular, fix libgstvaapi-glx DSO dependencies to include libgstbase
27621           and libgstvideo libs, e.g. for gst_video_buffer_get_overlay_composition().
27622
27623 2012-11-02 18:18:37 +0000  Rob Bradford <rob@linux.intel.com>
27624
27625         * configure.ac:
27626         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
27627         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
27628         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
27629           wayland: port to 1.0 version of the protocol.
27630           This patch updates to relect the 1.0 version of the protocol. The main
27631           changes are the switch to wl_registry for global object notifications
27632           and the way that the event queue and file descriptor is processed.
27633           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27634
27635 2012-11-14 19:22:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27636
27637         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27638           h264: fix incorrect integration of previous commit (4d31e1e).
27639           git am got confused somehow, though the end result doesn't change at
27640           all since we require both SPS and PPS to be parsed prior to decoding
27641           the first slice.
27642
27643 2012-11-14 18:40:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27644
27645         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27646           h264: start decoding slices after first SPS/PPS activation.
27647           Only start decoding slices when at least one SPS and PPS got activated.
27648           This fixes cases when a source represents a substream of another stream
27649           and no SPS and PPS was inserted before the first slice of the generated
27650           substream.
27651
27652 2012-11-14 14:25:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27653
27654         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27655           h264: fix VAPictureParameterBufferH264.ReferenceFrames[] construction.
27656           ... for interlaced streams. The short_ref[] and long_ref[] arrays may
27657           contain up to 32 fields but VA ReferenceFrames[] array expects up to
27658           16 reference frames, thus including both fields.
27659
27660 2012-11-14 10:27:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27661
27662         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27663           h264: fix interlaced stream decoding with MMCO.
27664           Fix decoding of interlaced streams when adaptive_ref_pic_marking_mode_flag
27665           is equal to 1, i.e. when memory management control operations are used. In
27666           particular, when field_pic_flag is set to 0, the new reference flags shall
27667           be applied to both fields.
27668
27669 2012-11-13 17:14:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27670
27671         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27672           h264: add initial support for interlaced streams.
27673           Decoded frames are only output when they are complete, i.e. when both
27674           fields are decoded. This also means that the "interlaced" caps is not
27675           propagated to vaapipostproc or vaapisink elements. Another limitation
27676           is that interlaced bitstreams with MMCO are unlikely to work.
27677
27678 2012-11-13 16:35:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27679
27680         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27681           h264: split remove_reference_at() into finer units.
27682           Split remove_reference_at() into a function that actually removes the
27683           specified entry from the short-term or long-term reference picture array,
27684           and a function that sets reference flags to the desired value, possibly
27685           zero. The latters marks the picture as "unused for reference".
27686
27687 2012-10-23 14:04:22 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27688
27689         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
27690           decoder: fix gst_vaapi_picture_new_field() object type.
27691           Fix gst_vaapi_picture_new_field() to preserve the original picture type.
27692           e.g. gst_vaapi_picture_new_field() with a GstVaapiPictureH264 argument
27693           shall generate a GstVaapiPictureH264 object.
27694
27695 2012-11-13 14:04:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27696
27697         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27698           h264: add picture structure for reference picture marking process.
27699           Introduce new `structure' field to the H.264 specific picture structure
27700           so that to simplify the reference picture marking process. That local
27701           picture structure is derived from the original picture structure, as
27702           defined by the syntax elements field_pic_flag and bottom_field_flag.
27703
27704 2012-11-02 15:14:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27705
27706         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27707           h264: introduce new frame store structure.
27708           The frame store represents a Decoded Picture Buffer entry, which can
27709           hold up to two fields. So far, the frame store is only used to hold
27710           full frames.
27711
27712 2012-11-13 10:10:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27713
27714         * ext/codecparsers:
27715           codecparsers: update to gst-vaapi-rebased commit 73d6aab.
27716           73d6aab h264: fix rbsp_more_data() implementation
27717           25d04cf h264: fix error code for invalid size parsed in SPS
27718           84798e5 fix FSF address
27719
27720 2012-10-31 16:37:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27721
27722         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27723           h264: minor clean-ups.
27724           Move DPB flush up if the current picture to decode is an IDR. Besides,
27725           don't bother to check for IDR pictures in dpb_add() function since an
27726           explicit DPB flush was already performed in this case.
27727
27728 2012-10-31 14:24:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27729
27730         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27731           h264: simplify reference picture marking process.
27732           ... to build the short_ref[] and long_ref[] lists from the DPB, instead
27733           of maintaining them separately. This avoids refs/unrefs while making it
27734           possible to generate the list based on the actual picture structure.
27735           This also ensures that the list of generated ReferenceFrames[] actually
27736           matches what reference frames are available in the DPB. i.e. short_ref[]
27737           and long_ref[] entries are implied from the DPB, so there is no risk of
27738           having "dangling" references.
27739
27740 2012-10-31 11:52:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27741
27742         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27743           h264: introduce per-field POC in GstVaapiPictureH264.
27744           Use the POC member available in the GstVaapiPicture base class and
27745           get rid of the dependency on the local VAPictureH264 TopFieldOrderCnt
27746           and BottomFieldOrderCnt. Rather, use a simple field_poc[] array
27747           initialized to INT_MAX, so that to simplify picture POC calculation
27748           for non frame pictures.
27749
27750 2012-10-31 11:45:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27751
27752         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27753           h264: introduce GST_VAAPI_PICTURE_{SHORT,LONG}_TERM_REFERENCE flags.
27754           Further get rid of GstVaapiPictureH264-local VAPictureH264.flags for
27755           reference bits, thus simplifying the reference picture marking process
27756           to only track a single set of reference flags. Also introduce a new
27757           long_term_frame_idx member.
27758
27759 2012-10-31 11:33:40 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27760
27761         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27762           h264: introduce GST_VAAPI_PICTURE_FLAG_IDR flag.
27763
27764 2012-10-31 10:56:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27765
27766         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27767           h264: fill in GstVaapiPicture structure.
27768           ... and get rid of local VAPictureH264.flags fields in GstVaapiPictureH264.
27769
27770 2012-10-31 11:07:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27771
27772         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27773           h264: add vaapi_fill_picture() helper.
27774           Add vaapi_fill_picture() helper function to convert GstVaapiPictureH264
27775           to VAPictureH264 structure. This is preparatory work to get rid of the
27776           local VAPictureH264 member in GstVaapiPictureH264.
27777
27778 2012-10-26 16:12:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27779
27780         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27781           h264: fix activation order of picture and sequence parameters.
27782           Delay ensure_context() until we actually need a VA context for allocating
27783           new VA surfaces, and then GstVaapiPictures, but also when a real activation
27784           of a new picture parameter set occurs, thus also implying an activation
27785           of the related sequence parameter set.
27786           The most important thing was to drop the global pps and sps pointers since
27787           they may not have matched the currently activated picture parameter or
27788           sequence parameter sets at the specified decode point.
27789           Anoter positive side-effect is that this cleans up all occurrences of
27790           decode_current_picture() to only keep those useful in decode_picture(),
27791           before a new picture is allocated, or in decode_sequence_end() when
27792           an end-of-stream or end-of-sequence condition occurred.
27793
27794 2012-10-26 13:17:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27795
27796         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27797           h264: fix scaling list generation.
27798           ... aka fix regression from efaab79. In particular, ScalingList8x8[]
27799           array was partially copied to the VAIQMatrixBufferH264. While we are
27800           at it, also improve bounds checking and avoid copying 8x8 scaling
27801           lists if transform_8x8_mode_flag is set to 0.
27802
27803 2012-10-24 18:23:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27804
27805         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27806           h264: fix detection of picture boundaries.
27807           Strictly follow the standard (7.4.1.2.4) to detect the first VCL NAL
27808           unit of a primary coded picture.
27809
27810 2012-10-23 14:50:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27811
27812         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27813           h264: optimize handling of scaling lists.
27814           Don't copy scaling lists twice to an intermediate state. Rather, directly
27815           use the scaling lists from GstH264PPS since they would match those provided
27816           by SPS header, if necessary. i.e. if PPS-specific scaling lists are not
27817           available in the bitstream.
27818
27819 2012-10-23 10:33:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27820
27821         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27822           h264: simplify code when MMCO is 5.
27823           Remove exit_picture() and exit_picture_poc() since PicOrderCnt(CurrPic)
27824           is now updated accordingly to the standard. Besides, MMCO = 5 specific
27825           operations are moved up to exec_ref_pic_marking_adaptive_mmco_5().
27826
27827 2012-10-22 11:52:13 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27828
27829         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27830           h264: fix MMCO-based reference picture marking process.
27831           Fix adaptive memory control decoded reference picture marking process
27832           implementation for operations 2 to 6, thus also fixing support for
27833           long-term reference pictures.
27834
27835 2012-10-22 10:50:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27836
27837         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27838           h264: move MMCO handlers out of the loop (cosmetics).
27839           This change only splits each individual MMCO handler into several functions
27840           dedicated for each operation. This is needed to perform further work later
27841           on.
27842
27843 2012-10-17 15:49:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27844
27845         * Makefile.am:
27846           debian: fix make dist for packaging.
27847           bzip2 tarballs are now used, so update the deb.upstream dependencies
27848           to include dist-bzip2 instead of plain old dist, and use the correct
27849           tar extract options to handle that format.
27850
27851 2012-10-17 15:42:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27852
27853         * configure.ac:
27854           configure: generate bzip2 tarballs in ustar format by default.
27855
27856 2012-10-17 15:38:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27857
27858         * configure.ac:
27859           configure: bump glib required version to 2.31.2.
27860           Use new Thread API. In particular, g_mutex_init() and g_cond_init()
27861           rather than g_mutex_new() and g_cond_new() respectively.
27862
27863 2012-10-04 17:39:53 +0100  Rob Bradford <rob@linux.intel.com>
27864
27865         * gst/vaapi/gstvaapidecode.c:
27866         * gst/vaapi/gstvaapidecode.h:
27867           vaapidecode: adopt non-deprecrated glib locking primitive pattern.
27868           The use of heap allocated GMutex/GCond is deprecated. Instead place them
27869           inside the structure they are locking.
27870           These changes switch to use g_mutex_init/g_cond_init rather than the heap
27871           allocation functions.
27872           Because we cannot test for a NULL pointer for the GMutex/GCond we must
27873           initialise inside the GObject _init function and clear inside the _finalize
27874           which is guaranteed to only be called once and after the object is no longer
27875           in use.
27876
27877 2012-10-17 14:52:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27878
27879         * gst/vaapi/gstvaapidecode.c:
27880           vaapidecode: fix compiler warnings.
27881           Don't care of the return value for gst_vaapi_decoder_put_buffer()
27882           during destruction of the element. Don't print out (uninitialised)
27883           error code when allocation of video buffer failed.
27884
27885 2012-10-16 16:52:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27886
27887         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27888           h264: add flag to compile with strict DPB ordering mode.
27889           Allow build with strict DPB ordering mode whereby evicted entries
27890           are replaced by the next entries, in order instead of optimizing
27891           it away with the last entry in the DPB.
27892           This is only useful for debugging purpose, against a reference SW
27893           decoder for example.
27894
27895 2012-10-16 16:46:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27896
27897         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27898           h264: drop extra code covered by built-in codecparsers.
27899           GstH264SliceHdr.n_emulation_prevention_bytes is bound to exist now that
27900           a newer version of codecparsers/ are used if the system provided one is
27901           now recent enough to have those required extensions.
27902
27903 2012-10-16 16:43:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27904
27905         * gst-libs/gst/codecparsers/Makefile.am:
27906           codecparsers: fix generation of symlinks.
27907           Try to improve dependencies while generating symlinks to externally
27908           maintained copy of codecparsers (derived from upstream git master
27909           tree).
27910
27911 2012-10-11 15:04:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27912
27913         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27914           vc1: use framerate information from bitstream parser.
27915
27916 2012-09-27 18:05:46 +0100  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
27917
27918         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
27919           vc1: use pixel-aspect-ratio from bitstream parser.
27920           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
27921           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27922
27923 2012-09-27 18:05:46 +0100  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
27924
27925         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
27926           mpeg2: use pixel-aspec-ratio information from bitstream parser.
27927           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
27928           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27929
27930 2012-10-11 13:49:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27931
27932         * configure.ac:
27933         * gst-libs/gst/codecparsers/Makefile.am:
27934           codecparsers: h264: use submodule sources.
27935           Use newer sources from the codecparsers/ submodule for
27936           - GstH264SliceHdr.n_emulation_prevention_bytes: EPBs;
27937           - GstH264VUIParams.{par_n,par_d}: pixel-aspect-ratio.
27938
27939 2012-10-11 13:23:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27940
27941         * .gitignore:
27942         * configure.ac:
27943         * gst-libs/gst/codecparsers/Makefile.am:
27944         * gst-libs/gst/codecparsers/gstjpegparser.c:
27945         * gst-libs/gst/codecparsers/gstjpegparser.h:
27946         * gst-libs/gst/vaapi/Makefile.am:
27947           codecparsers: jpeg: use submodule sources.
27948
27949 2012-10-11 10:03:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27950
27951         * .gitmodules:
27952         * Makefile.am:
27953         * autogen.sh:
27954         * configure.ac:
27955         * ext/Makefile.am:
27956         * ext/codecparsers:
27957           Add codecparsers submodule.
27958
27959 2012-10-11 14:17:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27960
27961         * .gitignore:
27962           .gitignore: updates.
27963
27964 2012-10-11 13:40:37 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27965
27966         * autogen.sh:
27967           autogen: fix check for gtkdocize and autoreconf.
27968           If gtkdocize or autoreconf programs were not found, then the autogen.sh
27969           script would fail to report that correctly because test -z was not passed
27970           any argument (empty string "" in this case).
27971
27972 2012-09-27 18:05:46 +0100  Simon Farnsworth <simon.farnsworth@onelan.co.uk>
27973
27974         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27975           h264: use pixel-aspect-ratio from SPS header.
27976           Propagate pixel-aspect-ratio determined by the GStreamer codecparser
27977           from the sequence headers.
27978           Signed-off-by: Simon Farnsworth <simon.farnsworth@onelan.co.uk>
27979           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27980
27981 2012-10-10 10:35:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27982
27983         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27984           h264: add decode_nalu() helper function.
27985           Split decode_buffer() into the core infrastructure that determines
27986           the NAL units contained in the adapter and the actual function that
27987           decodes the NAL unit.
27988
27989 2012-10-10 10:31:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27990
27991         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
27992           h264: fix end-of-stream conditions (flush).
27993           Decode pending data in the adapter prior to processing the actual
27994           code for end-of-stream.
27995
27996 2012-10-10 09:45:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
27997
27998         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
27999           mpeg2: add decode_packet() helper function.
28000           Split decode_buffer() into the core infrastructure that determines
28001           the packets contained in the adapter and the actual function that
28002           decodes the packet data.
28003
28004 2012-10-09 15:34:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28005
28006         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28007           mpeg2: fix end-of-stream conditions (flush).
28008           Decode pending data in the adapter prior to processing the actual
28009           code for end-of-stream. Initial code from Feng Yuan.
28010
28011 2012-10-09 15:40:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28012
28013         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28014           mpeg2: fix memory leak of empty packets.
28015           Fix memory leakage of empty packets, i.e. packets that only contain
28016           the start code prefix. In particular, free empty user-data packets.
28017           Besides, the codec parser will already fail gracefully if the packet
28018           to parse does not have the minimum required size. So, we can also
28019           completely drop the block of code that used to handle packets of size 4
28020           (including the start code).
28021
28022 2012-10-09 15:01:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28023
28024         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28025           mpeg2: fix return value for "no-data" conditions.
28026           Fix return value when the second scan for start code fails. This means
28027           there is not enough data to determine the full extents of the current
28028           packet and the function shall return GST_VAAPI_DECODER_STATUS_ERROR_NO_DATA
28029           in this case, instead of GST_VAAPI_DECODER_STATUS_SUCCESS.
28030
28031 2012-10-09 14:48:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28032
28033         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28034           decoder: refine semantics of gst_vaapi_decoder_put_buffer().
28035           Improve the semantics for gst_vaapi_decoder_put_buffer() when an empty
28036           buffer is passed on. An empty buffer is a buffer with a NULL data pointer
28037           or with a size equals to zero. In this case, that buffer is simply
28038           skipped and the function returns TRUE. A NULL buffer argument still
28039           marks the end-of-stream.
28040
28041 2012-10-09 14:40:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28042
28043         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28044         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28045           decoder: drop unused functions.
28046
28047 2012-08-26 22:29:04 -0400  Wind Yuan <feng.yuan@intel.com>
28048
28049         * gst/vaapi/gstvaapidecode.c:
28050           vaapidecode: flush buffers when receiving EOS.
28051           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28052
28053 2012-10-05 13:36:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28054
28055         * debian.upstream/Makefile.am:
28056           debian: fix make dist for packaging.
28057
28058 2012-10-05 12:06:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28059
28060         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
28061         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
28062           wayland: cosmetics (remove tabs).
28063
28064 2012-10-04 17:39:52 +0100  Rob Bradford <rob@linux.intel.com>
28065
28066         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
28067           wayland: add support for windowed mode.
28068           Rather than always making the surface fullscreen instead implement the
28069           set_fullscreen vfunc on GstVaapiWindow and then set the shell surface
28070           fullscreen on not depending on that.
28071           Reviewed-by: Joe Konno <joe.konno@intel.com>
28072           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28073
28074 2012-10-01 09:21:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28075
28076         * configure.ac:
28077           Bump version for development.
28078
28079 2012-09-28 17:54:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28080
28081         * README:
28082         * configure.ac:
28083           Fix and document build dependencies better.
28084
28085 2012-09-28 17:41:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28086
28087         * debian.upstream/control.in:
28088           debian: fix GStreamer build dependencies.
28089
28090 2012-09-28 17:39:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28091
28092         * configure.ac:
28093         * debian.upstream/control.in:
28094           debian: fix Wayland build dependencies.
28095
28096 2012-09-28 17:38:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28097
28098         * debian.upstream/control.in:
28099           debian: fix conditional build of packages.
28100           Make it still possible to build package even if one of the build dependencies
28101           for a specific video backend is not available.
28102
28103 2012-09-27 11:08:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28104
28105         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
28106         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
28107           utils: drop unused GLX helpers.
28108           Remove helpers for GL_ARB_fragment_program and GL_ARB_multitexture
28109           extensions since they are not used throughout gstreamer-vaapi.
28110
28111 2012-09-27 11:04:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28112
28113         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
28114           utils: fix build with <GL/glext.h> version >= 85.
28115           Mesa recently updated the <GL/glext.h> header version to Khronos version 85.
28116           This caused the PFNGLMULTITEXCOORD2FPROC definition to be moved out of the
28117           GL_VERSION_1_3_DEPRECATED block. However, since <GL/gl.h> also defines
28118           GL_VERSION_1_3 to 1, the definitions in <GL/glext.h> are then not enabled,
28119           thus leaving PFNGLMULTITEXCOORD2FPROC undefined as well.
28120           Provide a PFNGLMULTITEXCOORD2FPROC replacement as an interim solution for
28121           newer versions of the <GL/glext.h> header.
28122
28123 2012-09-26 16:33:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28124
28125         * configure.ac:
28126           configure: update VA-API version requirements.
28127           VA/DRM and VA/Wayland API are now promoted to VA-API 0.33.0 (libva 1.1.0).
28128
28129 2012-09-21 16:43:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28130
28131         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
28132           h264: review and report errors accordingly.
28133           Use GST_ERROR() to report real errors instead of hiding them into
28134           GST_DEBUG().
28135
28136 2012-09-20 17:58:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28137
28138         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
28139           h264: exclusively use GstAdapter, drop sub-buffer hack.
28140           Maintaining the sub-buffer is rather suboptimal especially since we
28141           were also maintaining a GstAdapter. Now, we only use the GstAdapter
28142           thus requiring minor extra parsing when receiving avcC buffers.
28143
28144 2012-09-20 16:18:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28145
28146         * README:
28147           README: updates.
28148
28149 2012-09-20 16:02:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28150
28151         * NEWS:
28152           NEWS: updates.
28153
28154 2012-09-20 14:38:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28155
28156         * debian.upstream/gstreamer-vaapi.install.in:
28157           debian: fix packaging on recent Ubuntu platforms.
28158           Use explicit GStreamer plugins path.
28159
28160 2012-09-17 17:55:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28161
28162         * docs/reference/libs/libs-docs.xml.in:
28163         * docs/reference/libs/libs.core.types:
28164           docs: fix build for make dist.
28165
28166 2012-09-14 10:30:35 -0400  Kristian Høgsberg <krh@bitplanet.net>
28167
28168         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
28169           wayland: set opaque region for YUV surface.
28170           This allows the compositor to optimize redraws and cull away changes
28171           obscured by the video surface.
28172           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28173
28174 2012-09-14 17:30:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28175
28176         * configure.ac:
28177           configure: fix check for libva-glx and libva-drm.
28178
28179 2012-09-12 13:42:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28180
28181         * gst-libs/gst/vaapi/glibcompat.h:
28182           glibcompat: add replacement for g_cond_wait_until().
28183
28184 2012-09-12 13:41:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28185
28186         * gst/vaapi/gstvaapidecode.c:
28187         * gst/vaapi/gstvaapidownload.c:
28188         * gst/vaapi/gstvaapipostproc.c:
28189         * gst/vaapi/gstvaapisink.c:
28190         * gst/vaapi/gstvaapiupload.c:
28191           plugins: include "sysdeps.h" instead of "config.h".
28192
28193 2012-09-12 10:40:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28194
28195         * gst-libs/gst/codecparsers/gstjpegparser.c:
28196           codecparsers: jpeg: add missing includes.
28197
28198 2012-09-11 17:03:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28199
28200         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28201         * gst-libs/gst/vaapi/gstvaapidecoder.h:
28202         * gst/vaapi/gstvaapidecode.c:
28203           vaapidecode: don't reset decoder if codec type is the same.
28204           Reset, i.e. destroy then create, the decoder in _setcaps() handler only
28205           if the underlying codec type actually changed. This makes it possible
28206           to be more tolerant with certain MPEG-2 streams that get parsed to
28207           form caps that are compatible with the previous state but minor changes
28208           to "codec-data".
28209
28210 2012-09-11 16:41:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28211
28212         * gst/vaapi/gstvaapidecode.c:
28213           vaapidecode: simplify codec lookup from caps.
28214           Add new gst_vaapi_codec_from_caps() helper to determine codec type from
28215           the specified caps. Don't globally expose this function since this is
28216           really trivial and only used in the vaapidecode element.
28217
28218 2012-09-11 15:54:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28219
28220         * gst/vaapi/gstvaapidecode.c:
28221         * gst/vaapi/gstvaapidecode.h:
28222           vaapidecode: improve "no free surface" conditions.
28223           Previously, vaapidecode would wait up to one second until a free surface
28224           is available, or it aborts decoding. Now, vaapidecode waits until the
28225           last decoded surface was to be presented, plus one second. Besides, end
28226           times are now expressed relative to the monotonic clock.
28227
28228 2012-09-11 10:59:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28229
28230         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28231         * gst/vaapi/gstvaapidecode.c:
28232           decoder: propagate buffer duration downstream.
28233
28234 2012-09-11 10:59:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28235
28236         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
28237         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
28238           surfaceproxy: add "duration" property.
28239
28240 2012-09-10 18:26:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28241
28242         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28243         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
28244         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
28245         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28246         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
28247         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
28248         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
28249           decoder: cope with new GstVaapiContextInfo based API.
28250           Update decoders to report the maximum number of reference frames to use.
28251
28252 2012-09-10 18:17:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28253
28254         * gst-libs/gst/vaapi/gstvaapicontext.c:
28255           context: JPEG codec does not need any reference frame.
28256
28257 2012-09-10 18:15:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28258
28259         * gst-libs/gst/vaapi/gstvaapicontext.c:
28260         * gst-libs/gst/vaapi/gstvaapicontext.h:
28261           context: allow number of reference frames to be set.
28262           Make it possible to specify the maximum number of references to use within
28263           a single VA context. This helps reducing GPU memory allocations to the useful
28264           number of references to be used.
28265
28266 2012-09-07 16:41:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28267
28268         * gst/vaapi/gstvaapipostproc.c:
28269           vaapipostproc: fix deinterlace-{mode,method} types definition.
28270
28271 2012-09-07 16:15:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28272
28273         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
28274           mpeg4: fix debug info for unsupported profile.
28275
28276 2012-09-07 16:14:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28277
28278         * gst-libs/gst/vaapi/gstvaapicontext.c:
28279         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28280         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
28281         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
28282         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28283         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
28284         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
28285         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28286         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
28287         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
28288         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
28289         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
28290         * gst-libs/gst/vaapi/gstvaapiimage.c:
28291         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
28292         * gst-libs/gst/vaapi/gstvaapiobject.c:
28293         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
28294         * gst-libs/gst/vaapi/gstvaapisurface.c:
28295         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
28296         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
28297         * gst-libs/gst/vaapi/gstvaapitexture.c:
28298         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
28299         * gst-libs/gst/vaapi/gstvaapivalue.c:
28300         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
28301         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
28302         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
28303         * gst-libs/gst/vaapi/gstvaapivideopool.c:
28304         * gst-libs/gst/vaapi/gstvaapiwindow.c:
28305         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
28306         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
28307         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
28308         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
28309           libs: fix build in strict ISO C mode.
28310
28311 2012-09-07 16:11:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28312
28313         * gst/vaapi/gstvaapi.c:
28314         * gst/vaapi/gstvaapidecode.c:
28315         * gst/vaapi/gstvaapidownload.c:
28316         * gst/vaapi/gstvaapipostproc.c:
28317         * gst/vaapi/gstvaapisink.c:
28318         * gst/vaapi/gstvaapiupload.c:
28319           plugins: fix build in strict ISO C mode.
28320
28321 2012-09-07 15:31:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28322
28323         * pkgconfig/gstreamer-vaapi-glx.pc.in:
28324         * pkgconfig/gstreamer-vaapi-x11.pc.in:
28325         * pkgconfig/gstreamer-vaapi.pc.in:
28326           pkgconfig: fix dependencies and slightly improve description.
28327           Drop @LIBVA_EXTRA_{CFLAGS,LIBS}@ substitutions and slightly improve
28328           descriptions with clearer renderer names.
28329
28330 2012-09-04 13:54:19 +0200  Philip Lorenz <philip@bithub.de>
28331
28332         * gst/vaapi/gstvaapidecode.c:
28333           vaapidecode: acquire lock only if the mutex exists.
28334           When playback stops the GstVaapiDecode object is reset into a clean
28335           state. However, surfaces may still be referenced by library users and
28336           unreferencing them after the reset triggers an access to an unset mutex.
28337           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28338
28339 2012-09-07 11:58:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28340
28341         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28342           decoder: drop extraneous return for void function.
28343
28344 2012-09-07 11:57:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28345
28346         * gst-libs/gst/vaapi/gstvaapiimage.c:
28347           image: don't use (void *) pointer arithmetic.
28348
28349 2012-09-04 13:40:04 +0200  Philip Lorenz <philip@bithub.de>
28350
28351         * gst-libs/gst/vaapi/gstvaapidecoder.h:
28352         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
28353         * gst-libs/gst/vaapi/gstvaapidisplay.h:
28354         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
28355         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
28356         * gst-libs/gst/vaapi/gstvaapiprofile.h:
28357         * gst-libs/gst/vaapi/gstvaapisurface.h:
28358         * gst-libs/gst/vaapi/gstvaapitypes.h:
28359         * gst/vaapi/gstvaapipostproc.h:
28360           Do not forward declare enums.
28361           Forward declaring enums is not allowed by the C standard and aborts
28362           compilation if the header file is included in a C++ project.
28363           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28364
28365 2012-09-07 11:44:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28366
28367         * configure.ac:
28368           configure: fix check for VA/DRM API.
28369
28370 2012-09-04 11:53:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28371
28372         * gst/vaapi/gstvaapisink.c:
28373           vaapisink: fix calculation of window size.
28374           If either dimension is out-of-bounds, then scale window to fit the
28375           display size, even if the output is to be rotated. Use the standard
28376           gst_video_sink_center_rect() function to center and scale the window
28377           wrt. the outer (display) bounds.
28378
28379 2012-08-28 02:45:22 -0400  Wind Yuan <feng.yuan@intel.com>
28380
28381         * gst/vaapi/gstvaapisink.c:
28382         * gst/vaapi/gstvaapisink.h:
28383           vaapisink: add video rotation support.
28384           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28385
28386 2012-09-06 11:47:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28387
28388         * gst/vaapi/gstvaapipluginutil.h:
28389           pluginutils: add G_PRIMITIVE_SWAP() helper macro.
28390           This macro helps swapping variables while maintaining the correct underlying
28391           and primitive type.
28392
28393 2012-09-06 11:51:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28394
28395         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28396           display: fix display aspect ratio when display is rotated.
28397
28398 2012-09-06 11:50:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28399
28400         * configure.ac:
28401         * gst-libs/gst/vaapi/Makefile.am:
28402         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
28403         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
28404           display: fix physical display size when display is rotated.
28405
28406 2012-08-30 16:27:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28407
28408         * gst-libs/gst/vaapi/gstvaapivalue.c:
28409           display: fix GstVaapiRotation enumeration of values.
28410
28411 2012-08-29 13:18:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28412
28413         * docs/reference/libs/libs-docs.xml.in:
28414         * docs/reference/libs/libs-sections.txt:
28415         * gst-libs/gst/vaapi/Makefile.am:
28416         * gst-libs/gst/vaapi/gstvaapivideosink.c:
28417         * gst-libs/gst/vaapi/gstvaapivideosink.h:
28418         * gst/vaapi/gstvaapidecode.c:
28419         * gst/vaapi/gstvaapidownload.c:
28420         * gst/vaapi/gstvaapipostproc.c:
28421         * gst/vaapi/gstvaapisink.c:
28422         * gst/vaapi/gstvaapiupload.c:
28423           vaapisink: drop obsolete GstVaapiVideoSink interface.
28424           This interface was deprecated since 0.3.x series when the GstVideoContext
28425           interface was added to the main GStreamer APIs.
28426
28427 2012-08-27 18:34:27 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28428
28429         * gst/vaapi/gstvaapisink.c:
28430         * gst/vaapi/gstvaapisink.h:
28431           vaapisink: automatically detect overlay rendering mode.
28432           Retain the VA surface until another surface is to be displayed only
28433           if VA display rendering mode is determined to be "overlay" mode.
28434
28435 2012-08-24 16:30:33 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28436
28437         * gst/vaapi/gstvaapisink.c:
28438         * gst/vaapi/gstvaapisink.h:
28439           vaapisink: retain VA surface until another one is displayed.
28440           Keep VA surface proxy associated with the surface that is currently
28441           being displayed. This makes sure that surface is not released back
28442           to the pool of surfaces free to use for decoding. This is necessary
28443           with VA driver implementations that support rendering to an overlay
28444           pipe. Otherwise, there could be cases where we are decoding into a
28445           surface that is being displayed, hence some flickering.
28446
28447 2012-08-24 14:54:16 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28448
28449         * gst/vaapi/gstvaapisink.h:
28450           vaapisink: fix build with older toolchains.
28451           Don't re-declare GstVaapiTexture if USE_GLX mode is set.
28452
28453 2012-08-29 10:13:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28454
28455         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28456           display: partially revert 8ebe4d6.
28457           Don't try to fix up the initial values, this could make things worse.
28458           Simply assume the driver does not support the capability in this case.
28459
28460 2012-08-28 16:08:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28461
28462         * tests/test-display.c:
28463           tests: dump VA display properties.
28464
28465 2012-08-28 18:11:32 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28466
28467         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28468           display: fix validation process of properties during discovery.
28469           Some VA drivers (e.g. EMGD) can have completely random values for initial
28470           display attributes. So, try to improve the discovery process to check the
28471           initial display attribute values actually fall within valid bounds. If not,
28472           try to reset those to some sensible values like the default value reported
28473           through vaQueryDisplayAttributes().
28474
28475 2012-08-28 13:59:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28476
28477         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28478         * gst-libs/gst/vaapi/gstvaapidisplay.h:
28479           display: add color balance properties.
28480           Add support for hue, saturation, brightness and contrast attributes.
28481
28482 2012-08-28 14:05:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28483
28484         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28485           display: initialize default attribute values.
28486           Ensure the display attribute is actually supported by trying to retrieve
28487           its current value during GstVaapiDisplay creation.
28488
28489 2012-08-28 11:09:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28490
28491         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28492           display: raise "notify" for property changes.
28493
28494 2012-08-28 10:55:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28495
28496         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28497         * gst-libs/gst/vaapi/gstvaapidisplay.h:
28498           display: expose display attributes as GObject properties.
28499           Expose VA display "render-mode" and "rotation" attributes as standard
28500           GObject properties.
28501
28502 2012-08-28 16:24:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28503
28504         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28505           display: install properties in batch.
28506           Use g_object_class_install_properties() to install GstVaapiDisplay properties.
28507           It is useful to maintain properties as GParamSpec so that to be able to raise
28508           "notify" signals by id instead of by name in the future.
28509
28510 2012-08-27 19:00:37 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28511
28512         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28513           display: fix gst_vaapi_display_has_property().
28514           Append the "render-mode" and "rotation" properties, should they be supported
28515           by the underlying VA driver.
28516
28517 2012-08-22 02:18:11 -0400  Wind Yuan <feng.yuan@intel.com>
28518
28519         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28520         * gst-libs/gst/vaapi/gstvaapidisplay.h:
28521         * gst-libs/gst/vaapi/gstvaapitypes.h:
28522         * gst-libs/gst/vaapi/gstvaapiutils.c:
28523         * gst-libs/gst/vaapi/gstvaapiutils.h:
28524         * gst-libs/gst/vaapi/gstvaapivalue.c:
28525         * gst-libs/gst/vaapi/gstvaapivalue.h:
28526           display: add support for rotation modes.
28527           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28528
28529 2012-08-27 18:11:37 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28530
28531         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28532         * gst-libs/gst/vaapi/gstvaapidisplay.h:
28533         * gst-libs/gst/vaapi/gstvaapitypes.h:
28534         * gst-libs/gst/vaapi/gstvaapivalue.c:
28535         * gst-libs/gst/vaapi/gstvaapivalue.h:
28536           display: add support for rendering modes.
28537           A rendering mode can be "overlay" or "texture"'ed blit.
28538           The former mode implies that a VA surface used for rendering can't be
28539           re-used right away for decoding, so the sink shall make provisions to
28540           retain the associated surface proxy until the next surface is to be
28541           displayed.
28542           The latter mode implies that the VA surface is implicitly copied to an
28543           intermediate backing store, or back buffer of a frame buffer, so the
28544           associated surface proxy can be disposed right away.
28545
28546 2012-08-27 17:02:49 +0300  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28547
28548         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28549         * gst-libs/gst/vaapi/gstvaapidisplay.h:
28550         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
28551           display: add initial support for display attributes.
28552           The VA display attributes are mapped to properties so that to maintain the
28553           GStreamer terminology. Properties are to be identified by name, but internal
28554           functions are available to lookup the property by the actual VA display
28555           attribute type.
28556
28557 2012-08-24 11:36:16 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
28558
28559         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
28560           jpeg: fix end-of-image (EOI) handler.
28561           decode_current_picture() was converted to return a gboolean instead
28562           of a GstVaapiDecoderStatus, so we were not getting out of the decode
28563           loop as expected, or could cause an error instead.
28564           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28565
28566 2012-08-24 18:41:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28567
28568         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
28569           mpeg2: include start code into VA slice data buffer.
28570           Integrate the start code prefix in the slice data buffer that is submitted
28571           to the hardware. VA-API specifies that slice_data_offset is the offset to
28572           the first byte of slice data. And, for MPEG-2, slice() data begins with
28573           the slice_start_code. Some VA driver implementations (EMGD) expect this.
28574
28575 2012-06-28 01:08:03 +0900  Javier Jardón <jjardon@gnome.org>
28576
28577         * autogen.sh:
28578           autogen: fix configure script generation when srcdir != builddir.
28579           This patch allows for regenerating the configure script from a build
28580           directory that is not the actual source directory.
28581           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28582
28583 2012-06-28 00:22:03 +0900  Javier Jardón <jjardon@gnome.org>
28584
28585         * configure.ac:
28586           configure: use new libtool syntax.
28587           This now requires libtool >= 2.2 to regenerate the configure script.
28588           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28589
28590 2012-08-08 12:50:41 +0900  Javier Jardón <jjardon@gnome.org>
28591
28592         * gst-libs/gst/vaapi/gstvaapidecoder.c:
28593           decoder: use g_object_notify_by_pspec().
28594           Use g_object_notify_by_pspec() instead of g_object_notify() so that to
28595           avoid a property name lookup. i.e. this makes notifications faster to
28596           the `vaapidecode' element.
28597           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28598
28599 2012-08-06 19:21:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28600
28601         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
28602           wayland: handle de-interlacing flags.
28603           VA/Wayland API was updated to allow flags for bob deinterlacing.
28604           More elaborated filters will require a complete VA/VPP pipeline.
28605
28606 2012-08-02 18:27:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28607
28608         * gst-libs/gst/codecparsers/gstjpegparser.c:
28609           jpeg: fix default quantization tables.
28610           Two elements in the luminance quantization table were wrong. So,
28611           gst_jpeg_get_default_quantization_tables() now reconstructs tables
28612           in zig-zag order from the standard ones (Tables K.1 and K.2).
28613
28614 2012-08-02 15:17:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28615
28616         * gst-libs/gst/codecparsers/gstjpegparser.c:
28617           jpeg: compute default Huffman tables.
28618           ... instead of having them pre-calculated. This saves around 1.5 KB
28619           of data in the DSO but requires gst_jpeg_get_default_huffman_tables()
28620           to do more work. Though, the client application may have to call that
28621           function at most once, only.
28622
28623 2012-08-01 18:30:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28624
28625         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28626           display: drop VAProfileNone entries from debug messages.
28627
28628 2012-07-31 18:24:14 +0800  Yan Yin <yan.yin@intel.com>
28629
28630         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28631           display: query for supported display attributes.
28632           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28633
28634 2012-07-31 18:22:48 +0800  Yan Yin <yan.yin@intel.com>
28635
28636         * gst-libs/gst/vaapi/gstvaapiutils.c:
28637         * gst-libs/gst/vaapi/gstvaapiutils.h:
28638           utils: add string_of_VADisplayAttributeType() helper.
28639           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28640
28641 2012-08-01 15:46:35 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28642
28643         * gst/vaapi/gstvaapisink.c:
28644           vaapisink: handle VA/DRM API.
28645           This is not useful in practice but for raw performance evaluation when
28646           the sink is invoked with display=drm sync=false. fakesink could also be
28647           used though.
28648
28649 2012-08-01 15:46:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28650
28651         * gst/vaapi/Makefile.am:
28652         * gst/vaapi/gstvaapipluginutil.c:
28653           plugins: add support for headless pipelines.
28654
28655 2012-08-01 15:44:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28656
28657         * tests/Makefile.am:
28658         * tests/output.c:
28659         * tests/test-display.c:
28660         * tests/test-windows.c:
28661           tests: add support for headless decoding.
28662
28663 2012-08-01 15:44:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28664
28665         * NEWS:
28666         * configure.ac:
28667         * debian.upstream/Makefile.am:
28668         * debian.upstream/control.in:
28669         * debian.upstream/libgstvaapi-drm.install.in:
28670         * gst-libs/gst/vaapi/Makefile.am:
28671         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28672         * gst-libs/gst/vaapi/gstvaapidisplay.h:
28673         * gst-libs/gst/vaapi/gstvaapidisplay_drm.c:
28674         * gst-libs/gst/vaapi/gstvaapidisplay_drm.h:
28675         * gst-libs/gst/vaapi/gstvaapidisplay_drm_priv.h:
28676         * gst-libs/gst/vaapi/gstvaapiwindow_drm.c:
28677         * gst-libs/gst/vaapi/gstvaapiwindow_drm.h:
28678         * pkgconfig/Makefile.am:
28679         * pkgconfig/gstreamer-vaapi-drm.pc.in:
28680           Add initial support for VA/DRM.
28681
28682 2012-07-31 17:58:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28683
28684         * configure.ac:
28685         * gst-libs/gst/vaapi/Makefile.am:
28686           Fix build without X11 (again).
28687           Don't try to build libgstvaapi-x11.so.* if X11 was disabled. Also shuffle
28688           files list wrt. x11, glx and wayland backends.
28689
28690 2012-07-31 11:51:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28691
28692         * configure.ac:
28693         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
28694         * gst-libs/gst/vaapi/gstvaapicompat.h:
28695         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
28696           jpeg: update to the latest VA-API changes (0.32.1+).
28697
28698 2012-07-27 14:27:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28699
28700         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
28701         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
28702         * gst/vaapi/gstvaapisink.c:
28703           wayland: implement display ::get_size*() hooks.
28704
28705 2012-07-27 10:45:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28706
28707         * gst/vaapi/gstvaapipluginutil.c:
28708           plugins: prefer X11 rendering over GLX.
28709           Prefer X11 display over GLX so that "vaapisink" uses X11, i.e. vaPutSurface(),
28710           for rendering instead of texturing.
28711
28712 2012-07-26 09:28:51 -0400  Kristian Høgsberg <krh@bitplanet.net>
28713
28714         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
28715           wayland: use scale fullscreen method.
28716           This makes the compositor scale the surface to fit and preserves aspect
28717           ratio.
28718           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28719
28720 2012-07-26 09:27:47 -0400  Kristian Høgsberg <krh@bitplanet.net>
28721
28722         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
28723           wayland: respond to ping/pong protocol so we're not deemed unresponsive.
28724           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28725
28726 2012-07-25 10:39:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28727
28728         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
28729           wayland: fix double disconnect of display.
28730
28731 2012-07-24 19:58:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28732
28733         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
28734           wayland: mangle display name for cache lookups.
28735
28736 2012-07-24 15:43:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28737
28738         * configure.ac:
28739         * debian.upstream/Makefile.am:
28740         * debian.upstream/control.in:
28741         * debian.upstream/libgstvaapi-wayland.install.in:
28742         * pkgconfig/Makefile.am:
28743         * pkgconfig/gstreamer-vaapi-wayland.pc.in:
28744           wayland: add packaging files.
28745
28746 2012-07-24 15:07:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28747
28748         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28749         * gst/vaapi/gstvaapipluginutil.c:
28750         * gst/vaapi/gstvaapisink.c:
28751         * pkgconfig/Makefile.am:
28752           Fix build without X11.
28753
28754 2012-07-24 09:45:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28755
28756         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28757         * gst-libs/gst/vaapi/gstvaapidisplay.h:
28758         * gst/vaapi/Makefile.am:
28759         * gst/vaapi/gstvaapipluginutil.c:
28760         * gst/vaapi/gstvaapisink.c:
28761           plugins: add support for Wayland.
28762
28763 2012-07-23 12:56:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28764
28765         * tests/Makefile.am:
28766         * tests/output.c:
28767         * tests/test-display.c:
28768         * tests/test-windows.c:
28769           tests: add support for Wayland.
28770
28771 2012-07-19 10:27:23 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
28772
28773         * NEWS:
28774         * configure.ac:
28775         * gst-libs/gst/vaapi/Makefile.am:
28776         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.c:
28777         * gst-libs/gst/vaapi/gstvaapidisplay_wayland.h:
28778         * gst-libs/gst/vaapi/gstvaapidisplay_wayland_priv.h:
28779         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
28780         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.c:
28781         * gst-libs/gst/vaapi/gstvaapiwindow_wayland.h:
28782           Add initial support for VA/Wayland.
28783           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28784
28785 2012-07-25 15:11:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28786
28787         * gst/vaapi/gstvaapipluginbuffer.c:
28788           plugins: fix creation of video buffer from surface proxy.
28789           Fix a regression introduced with commit 8ef490a.
28790
28791 2012-07-25 14:51:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28792
28793         * gst/vaapi/gstvaapipluginbuffer.c:
28794         * gst/vaapi/gstvaapipluginutil.c:
28795           plugins: use new display types more.
28796           In particular, simplify gst_vaapi_reply_to_query() with display types.
28797           Likewise for creating new video buffers.
28798
28799 2012-07-25 10:02:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28800
28801         * gst/vaapi/gstvaapidecode.c:
28802         * gst/vaapi/gstvaapidownload.c:
28803         * gst/vaapi/gstvaapipluginutil.c:
28804         * gst/vaapi/gstvaapipluginutil.h:
28805         * gst/vaapi/gstvaapipostproc.c:
28806         * gst/vaapi/gstvaapisink.c:
28807         * gst/vaapi/gstvaapiupload.c:
28808           plugins: fix display type selection and propagation.
28809           If vaapisink is in the GStreamer pipeline, then we shall allocate a
28810           unique GstVaapiDisplay and propagate it upstream. i.e. subsequent
28811           queries from vaapidecode shall get a valid answer from vaapisink.
28812
28813 2012-07-25 11:37:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28814
28815         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28816           display: fix destruction of mutex.
28817
28818 2012-07-25 09:16:02 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28819
28820         * gst-libs/gst/vaapi/gstvaapidisplay.c:
28821         * gst-libs/gst/vaapi/gstvaapidisplay.h:
28822         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
28823         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
28824         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
28825         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
28826         * gst/vaapi/gstvaapipluginutil.c:
28827         * gst/vaapi/gstvaapipluginutil.h:
28828         * gst/vaapi/gstvaapisink.c:
28829           display: add display types.
28830           Move display types from gstvaapipluginutil.* to gstvaapidisplay.* so that
28831           we could simplify characterization of a GstVaapiDisplay. Also rename "auto"
28832           type to "any", and add a "display-type" attribute.
28833
28834 2012-07-24 19:43:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28835
28836         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
28837           display: use prefixed display names for cache lookups.
28838           This improves display name comparisons by always allocating a valid display
28839           name. This also helps to disambiguate lookups by name in the global display
28840           cache, should a new backend be implemented.
28841
28842 2012-07-24 16:14:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28843
28844         * gst/vaapi/gstvaapipluginutil.h:
28845           plugins: declare helper functions as internal.
28846
28847 2012-07-24 14:31:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28848
28849         * docs/reference/libs/libs-sections.txt:
28850         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
28851         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
28852         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
28853         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.h:
28854         * gst/vaapi/Makefile.am:
28855         * gst/vaapi/gstvaapidecode.c:
28856         * gst/vaapi/gstvaapidownload.c:
28857         * gst/vaapi/gstvaapipluginbuffer.c:
28858         * gst/vaapi/gstvaapipluginbuffer.h:
28859         * gst/vaapi/gstvaapipostproc.c:
28860         * gst/vaapi/gstvaapiupload.c:
28861           videobuffer: drop deprecated functions.
28862           Move video buffer creation routines to plugin elements. That exclusively
28863           uses *_typed_new*() variants.
28864
28865 2012-07-24 14:09:09 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28866
28867         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
28868         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.h:
28869           videobuffer: mark video buffer creation routines as deprecated.
28870           The vdeo buffer creation routines shall actually be internal to gstreamer-vaapi
28871           plugin elements. So deprecate any explicit creation routines that are not the
28872           new *_typed_new*() variants.
28873
28874 2012-07-24 13:52:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28875
28876         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
28877         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
28878         * gst-libs/gst/vaapi/gstvaapivideobuffer_priv.h:
28879           videobuffer: factor out base and GLX implementations.
28880           Introduce new typed constructors internal to gstreamer-vaapi plugin elements.
28881           This avoids duplication of code, and makes it possible to further implement
28882           generic video buffer creation routines that automatically map to base or GLX
28883           variants.
28884
28885 2012-07-24 10:58:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28886
28887         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
28888           utils: fix gl_create_context() with parent context set.
28889           If GLX window was created from a foreign Display, then that same Display shall
28890           be used for subsequent glXMakeCurrent(). This means that gl_create_context()
28891           will now use the same Display that the parent, if available.
28892           This fixes cluttersink with the Intel GenX VA driver.
28893
28894 2012-07-23 18:37:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28895
28896         * gst/vaapi/gstvaapidecode.c:
28897         * gst/vaapi/gstvaapidownload.c:
28898         * gst/vaapi/gstvaapipluginutil.c:
28899         * gst/vaapi/gstvaapipluginutil.h:
28900         * gst/vaapi/gstvaapipostproc.c:
28901         * gst/vaapi/gstvaapisink.c:
28902         * gst/vaapi/gstvaapiupload.c:
28903           pluginutils: improve automatic display type selection.
28904
28905 2012-07-23 18:01:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28906
28907         * gst/vaapi/gstvaapipluginutil.c:
28908         * gst/vaapi/gstvaapipluginutil.h:
28909           pluginutils: cosmetics (indentation fixes).
28910
28911 2012-07-23 17:54:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28912
28913         * configure.ac:
28914           configure: simplify video outputs summary.
28915
28916 2012-07-23 17:49:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28917
28918         * configure.ac:
28919         * gst/vaapi/gstvaapipluginutil.c:
28920         * gst/vaapi/gstvaapipluginutil.h:
28921         * gst/vaapi/gstvaapisink.c:
28922         * gst/vaapi/gstvaapisink.h:
28923           configure: drop check for --enable-vaapisink-glx.
28924           vaapisink is now built with support for multiple display types, whenever
28925           they are enabled. The new "display" attribute is used to select a particular
28926           renderer.
28927
28928 2012-07-23 16:15:38 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28929
28930         * configure.ac:
28931         * gst-libs/gst/vaapi/gstvaapicompat.h:
28932         * gst/vaapi/Makefile.am:
28933         * gst/vaapi/gstvaapidecode.c:
28934         * gst/vaapi/gstvaapidownload.c:
28935         * gst/vaapi/gstvaapipluginutil.c:
28936         * gst/vaapi/gstvaapipostproc.c:
28937         * gst/vaapi/gstvaapiupload.c:
28938         * tests/test-display.c:
28939           configure: drop check for --enable-vaapi-glx.
28940           This flag is obsolete. It was meant to explicitly enable/disable VA/GLX API
28941           support, or fallback to TFP+FBO if this API is not found. Now, we check for
28942           the VA/GLX API by default if --enable-glx is set. If this API is not found,
28943           we now default to use TFP+FBO.
28944           Note: TFP+FBO, i.e. using vaPutSurface() is now also a deprecated usage and
28945           will be removed in the future. If GLX rendering is requested, then the VA/GLX
28946           API shall be used as it covers most usages. e.g. AMD driver can't render to
28947           an X pixmap yet.
28948
28949 2012-07-23 15:20:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28950
28951         * tests/output.c:
28952           tests: allow GLX output, if available and selected.
28953
28954 2012-07-23 15:17:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28955
28956         * tests/Makefile.am:
28957         * tests/output.c:
28958         * tests/output.h:
28959         * tests/test-decode.c:
28960         * tests/test-subpicture.c:
28961         * tests/test-surfaces.c:
28962           tests: use common display and window creation routines.
28963           Add new --output option to select the renderer. Use --list-outputs to
28964           print a list of supported renderers.
28965
28966 2012-07-23 14:15:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28967
28968         * tests/Makefile.am:
28969           tests: move encoded bitstreams to libutils.la.
28970
28971 2012-07-23 14:11:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28972
28973         * tests/Makefile.am:
28974           tests: build convenience library for common utilities.
28975
28976 2012-07-20 16:37:01 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28977
28978         * tests/Makefile.am:
28979         * tests/test-display.c:
28980           tests: simplify build with various display options.
28981
28982 2012-07-23 13:28:42 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28983
28984         * configure.ac:
28985           configure: improve checks for X11.
28986
28987 2012-07-20 15:57:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28988
28989         * tests/Makefile.am:
28990           configure: fix previous commit for GLX deps.
28991
28992 2012-07-20 14:44:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28993
28994         * configure.ac:
28995         * gst-libs/gst/vaapi/Makefile.am:
28996           configure: improve checks for GLX.
28997
28998 2012-07-20 11:45:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
28999
29000         * configure.ac:
29001         * gst-libs/gst/vaapi/gstvaapicompat.h:
29002         * gst-libs/gst/vaapi/gstvaapidisplay.h:
29003         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
29004         * gst-libs/gst/vaapi/gstvaapiutils.h:
29005           Drop support for obsolete VA-API versions < 0.30.4.
29006
29007 2012-07-20 11:16:27 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29008
29009         * configure.ac:
29010         * gst-libs/gst/Makefile.am:
29011         * gst-libs/gst/gstutils_version.h.in:
29012         * gst/vaapi/gstvaapisink.c:
29013           vaapisink: drop checks for new APIs used by default.
29014           GStreamer -base plugins >= 0.10.31 are now required, so the checks for
29015           new APIs like GstXOverlay::set_window_handle() and ::set_render_rectangle()
29016           are no longer necessary.
29017
29018 2012-07-20 14:05:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29019
29020         * configure.ac:
29021           configure: cosmetics and some minor changes.
29022           - Better grouping of feature checks
29023           - Sort list of config files to generate
29024
29025 2012-07-19 17:55:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29026
29027         * configure.ac:
29028         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
29029         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
29030         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
29031         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
29032         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
29033         * gst-libs/gst/vaapi/gstvaapiutils.h:
29034         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
29035         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
29036           Use standard G_GNUC_INTERNAL keyword instead of attribute_hidden.
29037
29038 2012-07-19 17:41:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29039
29040         * gst-libs/gst/vaapi/Makefile.am:
29041         * gst-libs/gst/vaapi/gstvaapiutils_tsb.c:
29042         * gst-libs/gst/vaapi/gstvaapiutils_tsb.h:
29043           Drop obsolete GstVaapiTSB.
29044           It has been replaced with a GstAdapter and gst_adapter_prev_pts().
29045
29046 2012-07-19 17:27:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29047
29048         * docs/reference/libs/libs-sections.txt:
29049           docs: add missing entries for the JPEG decoder.
29050
29051 2012-07-19 17:16:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29052
29053         * configure.ac:
29054         * gst-libs/gst/vaapi/Makefile.am:
29055         * gst/vaapi/gstvaapidecode.c:
29056         * tests/test-decode.c:
29057         * tests/test-subpicture.c:
29058           Drop all references to USE_CODEC_PARSERS.
29059
29060 2012-07-19 17:00:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29061
29062         * NEWS:
29063         * configure.ac:
29064         * docs/reference/libs/libs-sections.txt:
29065         * docs/reference/libs/libs.core.types:
29066         * gst-libs/gst/vaapi/Makefile.am:
29067         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
29068         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
29069         * gst/vaapi/gstvaapidecode.c:
29070         * gst/vaapi/gstvaapidecode.h:
29071         * tests/test-decode.c:
29072         * tests/test-subpicture.c:
29073           Drop FFmpeg-based decoders.
29074           GStreamer codecparsers-based decoders are the only supported decoders now.
29075           Though, FFmpeg decoders are still available in gstreamer-vaapi 0.3.x series.
29076
29077 2012-07-01 05:55:05 +0900  Javier Jardón <jjardon@gnome.org>
29078
29079         * configure.ac:
29080         * debian.upstream/control.in:
29081           configure: bump glib required version to 2.28.
29082           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29083
29084 2012-06-29 08:45:47 +0900  Javier Jardón <jjardon@gnome.org>
29085
29086         * gst/vaapi/gstvaapidecode.h:
29087         * gst/vaapi/gstvaapidownload.h:
29088         * gst/vaapi/gstvaapipostproc.h:
29089         * gst/vaapi/gstvaapisink.h:
29090         * gst/vaapi/gstvaapiupload.h:
29091           plugins: declare _get_type() functions as const.
29092           Declaring a function as const enables better optimization of calls to
29093           the function.
29094           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29095
29096 2012-07-01 05:50:17 +0900  Javier Jardón <jjardon@gnome.org>
29097
29098         * gst/vaapi/gstvaapidecode.c:
29099         * gst/vaapi/gstvaapidownload.c:
29100         * gst/vaapi/gstvaapipostproc.c:
29101         * gst/vaapi/gstvaapisink.c:
29102         * gst/vaapi/gstvaapiupload.c:
29103           plugins: use g_clear_object() wherever applicable.
29104           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29105
29106 2012-06-29 15:19:51 +0900  Javier Jardón <jjardon@gnome.org>
29107
29108         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
29109         * gst-libs/gst/vaapi/gstvaapicontext.h:
29110         * gst-libs/gst/vaapi/gstvaapidecoder.h:
29111         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
29112         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
29113         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
29114         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
29115         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
29116         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
29117         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
29118         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
29119         * gst-libs/gst/vaapi/gstvaapidisplay.h:
29120         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
29121         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
29122         * gst-libs/gst/vaapi/gstvaapiimage.h:
29123         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
29124         * gst-libs/gst/vaapi/gstvaapiobject.h:
29125         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
29126         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
29127         * gst-libs/gst/vaapi/gstvaapisurface.h:
29128         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
29129         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
29130         * gst-libs/gst/vaapi/gstvaapitexture.h:
29131         * gst-libs/gst/vaapi/gstvaapivalue.h:
29132         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
29133         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.h:
29134         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.h:
29135         * gst-libs/gst/vaapi/gstvaapivideopool.h:
29136         * gst-libs/gst/vaapi/gstvaapivideosink.h:
29137         * gst-libs/gst/vaapi/gstvaapiwindow.h:
29138         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
29139         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
29140           libs: declare _get_type() functions as const.
29141           Declaring a function as const enables better optimization of calls
29142           to the function.
29143           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29144
29145 2012-07-01 05:34:15 +0900  Javier Jardón <jjardon@gnome.org>
29146
29147         * gst-libs/gst/vaapi/glibcompat.h:
29148         * gst-libs/gst/vaapi/gstvaapicontext.c:
29149         * gst-libs/gst/vaapi/gstvaapidisplay.c:
29150         * gst-libs/gst/vaapi/gstvaapiobject.c:
29151         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
29152         * gst-libs/gst/vaapi/gstvaapisurface.c:
29153         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
29154         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
29155         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
29156         * gst-libs/gst/vaapi/gstvaapivideopool.c:
29157           libs: use g_clear_object() wherever applicable.
29158           This is a preferred thread-safe version. Also add an inline version of
29159           g_clear_object() if compiling with glib < 2.28.
29160           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29161
29162 2012-07-01 06:02:22 +0900  Javier Jardón <jjardon@gnome.org>
29163
29164         * .gitignore:
29165         * configure.ac:
29166         * docs/reference/libs/Makefile.am:
29167         * gst-libs/gst/vaapi/Makefile.am:
29168         * gst-libs/gst/vaapi/gstvaapimarshal.list:
29169         * gst-libs/gst/vaapi/gstvaapiobject.c:
29170           libs: use generic g_cclosure_marshal_VOID__VOID().
29171           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29172
29173 2012-07-19 14:29:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29174
29175         * configure.ac:
29176         * gst-libs/gst/vaapi/glibcompat.h:
29177           glibcompat: drop explicit check for g_list_free_full().
29178
29179 2012-07-19 13:58:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29180
29181         * configure.ac:
29182           Bump version for development.
29183
29184 2012-07-19 13:57:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29185
29186         * gst-libs/gst/codecparsers/Makefile.am:
29187           jpeg: fix make dist.
29188
29189 2012-06-28 00:39:10 +0900  Javier Jardón <jjardon@gnome.org>
29190
29191         * autogen.sh:
29192         * configure.ac:
29193         * docs/Makefile.am:
29194           configure: fix build without gtk-doc support.
29195           Also do not generate tamplate files as all the documentation is inline.
29196           Drop un-needed code in autogen.sh as well.
29197           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29198
29199 2012-06-28 00:27:31 +0900  Javier Jardón <jjardon@gnome.org>
29200
29201         * Makefile.am:
29202         * autogen.sh:
29203         * configure.ac:
29204           configure: put m4 macros and autogenerated files into m4/ directory.
29205           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29206
29207 2012-06-28 00:20:12 +0900  Javier Jardón <jjardon@gnome.org>
29208
29209         * configure.ac:
29210           configure: drop deprecated autoconf macros.
29211           Bump autoconf required version to 2.58, needed for AS_HELP_STRING macro.
29212           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29213
29214 2012-06-28 00:04:19 +0900  Javier Jardón <jjardon@gnome.org>
29215
29216         * configure.ac:
29217           configure: don't use AC_SUBST for some variables.
29218           PKG_CHECK_MODULES already does this for us.
29219           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29220
29221 2012-07-19 11:43:03 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29222
29223         * gst/vaapi/gstvaapidecode.c:
29224         * gst/vaapi/gstvaapidownload.c:
29225         * gst/vaapi/gstvaapipostproc.c:
29226         * gst/vaapi/gstvaapiupload.c:
29227           plugins: add support for GstImplementsInterface.
29228
29229 2012-07-01 02:58:36 +0900  Javier Jardón <jjardon@gnome.org>
29230
29231         * configure.ac:
29232         * gst/vaapi/gstvaapidecode.c:
29233         * gst/vaapi/gstvaapidownload.c:
29234         * gst/vaapi/gstvaapipostproc.c:
29235         * gst/vaapi/gstvaapisink.c:
29236         * gst/vaapi/gstvaapiupload.c:
29237           plugins: use G_DEFINE_TYPE_* instead of deprecated GST_BOILERPLATE_*.
29238           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29239
29240 2012-07-01 03:57:13 +0900  Javier Jardón <jjardon@gnome.org>
29241
29242         * configure.ac:
29243         * gst/vaapi/gstvaapisink.c:
29244           plugins: do not use deprecated GStreamer -base symbols.
29245           Bump GStreamer plugins -base required version to 0.10.31, needed for
29246           gst_x_overlay_got_window_handle().
29247           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29248
29249 2012-07-01 03:57:13 +0900  Javier Jardón <jjardon@gnome.org>
29250
29251         * configure.ac:
29252         * gst/vaapi/gstvaapidecode.c:
29253         * gst/vaapi/gstvaapidownload.c:
29254         * gst/vaapi/gstvaapipostproc.c:
29255         * gst/vaapi/gstvaapisink.c:
29256         * gst/vaapi/gstvaapiupload.c:
29257           plugins: do not use deprecated core GStreamer symbols.
29258           Bump GStreamer required version to 0.10.14, needed for
29259           gst_element_class_set_details_simple().
29260           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29261
29262 2012-07-19 10:54:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29263
29264         * tests/test-decode.c:
29265           tests: fix build without JPEG decoder support.
29266
29267 2012-07-17 13:44:45 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29268
29269         * tests/Makefile.am:
29270         * tests/test-decode.c:
29271         * tests/test-jpeg.c:
29272         * tests/test-jpeg.h:
29273           tests: add test for JPEG decoding.
29274
29275 2012-07-17 13:43:32 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29276
29277         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
29278           jpeg: update to match latest parser API.
29279
29280 2012-07-16 17:35:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29281
29282         * gst-libs/gst/codecparsers/gstjpegparser.c:
29283         * gst-libs/gst/codecparsers/gstjpegparser.h:
29284           codecparsers: jpeg: tweak parser API.
29285           ... to allow for more consistent parsing API among various codec parsers.
29286           In particular, drop use of GList.
29287
29288 2012-07-16 16:24:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29289
29290         * configure.ac:
29291           jpeg: fix configure check for VA/JPEG decoding API.
29292
29293 2012-06-26 15:18:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29294
29295         * gst-libs/gst/vaapi/gstvaapiprofile.c:
29296           jpeg: fix build with VA-API < 0.32.0.
29297
29298 2012-06-26 15:04:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29299
29300         * NEWS:
29301           NEWS: updates.
29302
29303 2012-06-26 15:02:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29304
29305         * configure.ac:
29306           Bump version for development.
29307
29308 2012-06-26 14:46:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29309
29310         * NEWS:
29311         * configure.ac:
29312           0.3.7.
29313
29314 2012-06-26 13:34:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29315
29316         * NEWS:
29317           NEWS: updates.
29318
29319 2012-06-25 16:07:55 +0800  Yan Yin <yan.yin@intel.com>
29320
29321         * gst/vaapi/gstvaapipluginutil.c:
29322           vaapiplugin: fix build when compiling without GLX.
29323           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29324
29325 2012-06-26 11:03:25 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29326
29327         * configure.ac:
29328           configure: disable FFmpeg-based decoders.
29329           FFmpeg decoders are still available through the --enable-ffmpeg option
29330           but are no longer maintained.
29331
29332 2012-06-25 17:25:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29333
29334         * gst-libs/gst/vaapi/Makefile.am:
29335           Fix build with recent GStreamer stack.
29336
29337 2012-06-25 17:10:49 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29338
29339         * configure.ac:
29340         * gst-libs/gst/vaapi/gstvaapicompat.h:
29341         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
29342           jpeg: update to current VA/JPEG decoding API.
29343
29344 2012-06-21 16:06:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29345
29346         * gst-libs/gst/codecparsers/gstjpegparser.c:
29347         * gst-libs/gst/codecparsers/gstjpegparser.h:
29348         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
29349           codecparsers: jpeg: track valid quantization and Huffman tables.
29350           Add valid flag to GstJpegQuantTable and GstJpegHuffmanTable so that
29351           to determine whether a table actually changed since the last user
29352           synchronization point. That way, this makes it possible for some
29353           hardware accelerated decoding solution to upload only those tables
29354           that changed.
29355
29356 2012-06-05 10:10:22 +0800  Wind Yuan <feng.yuan@intel.com>
29357
29358         * gst-libs/gst/codecparsers/gstjpegparser.c:
29359           codecparsers: jpeg: use U_READ_UINT*() wherever possible.
29360           Use GstByteReader *_unchecked() variants as much as possible.
29361           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29362
29363 2012-06-04 16:20:13 +0800  Wind Yuan <feng.yuan@intel.com>
29364
29365         * gst-libs/gst/codecparsers/gstjpegparser.c:
29366         * gst-libs/gst/codecparsers/gstjpegparser.h:
29367         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
29368           jpeg: add new GstJpegHuffmanTables structure.
29369           Add new GstJpegHuffmanTables helper structure to hold all possible
29370           AC/DC Huffman tables available to all components.
29371           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29372
29373 2012-06-04 15:52:19 +0800  Wind Yuan <feng.yuan@intel.com>
29374
29375         * gst-libs/gst/codecparsers/gstjpegparser.c:
29376         * gst-libs/gst/codecparsers/gstjpegparser.h:
29377         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
29378           jpeg: make gst_jpeg_parse() support multiple scans.
29379           gst_jpeg_parse() now gathers all scans available in the supplied
29380           buffer. A scan comprises of the scan header and any entropy-coded
29381           segments or restart marker following it. The size and offset to
29382           the associated data (ECS + RST segments) are append to a new
29383           GstJpegScanOffsetSize structure.
29384           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29385
29386 2012-04-19 23:50:14 +0800  Wind Yuan <feng.yuan@intel.com>
29387
29388         * gst-libs/gst/codecparsers/gstjpegparser.c:
29389         * gst-libs/gst/codecparsers/gstjpegparser.h:
29390         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
29391           jpeg: update to match latest parser API.
29392           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29393
29394 2012-04-13 01:58:39 -0400  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29395
29396         * gst-libs/gst/codecparsers/gstjpegparser.h:
29397           jpeg: simplify and optimize parser API.
29398
29399 2012-04-18 22:30:45 -0400  Wind Yuan <feng.yuan@intel.com>
29400
29401         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
29402           mpeg: fix picture used to determine backward_reference_vop_coding_type.
29403           Complete fix brought by bf9f77b1afb0829b97e2d502057aec973c5fd7f5
29404           but Gwenole did not apply all the bits.
29405           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29406
29407 2012-04-27 04:13:00 -0400  Wind Yuan <feng.yuan@intel.com>
29408
29409         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
29410           mpeg4: map Simple_Scalable profile to Advanced_Simple profile.
29411           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29412
29413 2012-04-27 04:10:17 -0400  Wind Yuan <feng.yuan@intel.com>
29414
29415         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
29416           mpeg4: handle skipped frames (vop_hdr->coded = 0).
29417           Gracefully skip non VOP coded frames.
29418           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29419
29420 2012-04-26 04:00:41 -0400  Wind Yuan <feng.yuan@intel.com>
29421
29422         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
29423           mpeg4: fix timestamp issues on too fast playback.
29424           Improve generation of presentation timestamps to be less sensitive
29425           to input stream errors. In practise, GOP is also a synchronization
29426           point for PTS calculation.
29427           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29428
29429 2012-04-16 10:02:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29430
29431         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
29432           Fix build without JPEG decoder.
29433
29434 2012-04-12 11:48:24 +0200  Wind Yuan <feng.yuan@intel.com>
29435
29436         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
29437           mpeg4: fix VOP coding type of backward reference pictures.
29438           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29439
29440 2012-04-11 23:02:45 -0400  Wind Yuan <feng.yuan@intel.com>
29441
29442         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
29443           mpeg4: fix handling of temporal reference distances.
29444           TRD and TRB fields are not large enough to hold the difference of PTS
29445           expressed with nanosecond resolution. So, compute them from the original
29446           VOP info.
29447           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29448
29449 2012-04-12 11:00:22 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29450
29451         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
29452           dpb: mpeg2: cosmetics.
29453           Define MAX_MPEG2_REFERENCES to 2 and avoid magic numbers all around.
29454
29455 2012-02-10 00:21:04 +0800  Wind Yuan <feng.yuan@intel.com>
29456
29457         * configure.ac:
29458         * gst-libs/gst/vaapi/Makefile.am:
29459         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
29460         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
29461         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.c:
29462         * gst-libs/gst/vaapi/gstvaapidecoder_jpeg.h:
29463         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
29464         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
29465         * gst-libs/gst/vaapi/gstvaapiprofile.c:
29466         * gst-libs/gst/vaapi/gstvaapiprofile.h:
29467         * gst/vaapi/gstvaapidecode.c:
29468           Add initial JPEG decoder.
29469           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29470
29471 2012-02-10 00:21:04 +0800  Wind Yuan <feng.yuan@intel.com>
29472
29473         * configure.ac:
29474         * gst-libs/gst/Makefile.am:
29475         * gst-libs/gst/codecparsers/Makefile.am:
29476         * gst-libs/gst/codecparsers/gstjpegparser.c:
29477         * gst-libs/gst/codecparsers/gstjpegparser.h:
29478         * gst-libs/gst/vaapi/Makefile.am:
29479           codecparsers: add JPEG parser.
29480           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29481
29482 2012-04-10 13:29:10 +0200  Wind Yuan <feng.yuan@intel.com>
29483
29484         * gst/vaapi/gstvaapidecode.c:
29485           vaapidecode: fix VA display type.
29486           Fix typo whereby plain VADisplay type was used instead of the GstVaapiDisplay
29487           wrapper.
29488           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29489
29490 2012-04-10 14:28:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29491
29492         * gst/vaapi/gstvaapidecode.c:
29493           vaapidecode: fix includes when compiling for a single API.
29494
29495 2012-04-02 18:42:12 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29496
29497         * NEWS:
29498         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29499           mpeg2: fix calculation of macroblock_offset.
29500           Fix decoding of streams with extra slice() information before the first
29501           macroblock(). e.g. this fixes sony-ct3.bs from conformance test.
29502
29503 2012-04-02 18:09:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29504
29505         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29506           mpeg2: fix interpolation of GOP TSN from new PTS.
29507           New GOP TSN base could be mis-calculated. In particular, this fixes
29508           decoding of uruseiyatsura.vob from <http://samples.mplayerhq.hu/>.
29509
29510 2012-04-02 16:07:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29511
29512         * NEWS:
29513         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29514         * gst-libs/gst/vaapi/gstvaapiprofile.h:
29515           mpeg2: fix decoding of high profile streams.
29516           Allow MPEG-2 High profile streams only if the HW supports that profile
29517           or no High profile specific bits are used, and thus Main profile could
29518           be used instead. i.e. chroma_format is 4:2:0, intra_dc_precision is not
29519           set to 11 and no sequence_scalable_extension() was parsed.
29520
29521 2012-04-02 14:51:06 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29522
29523         * NEWS:
29524         * gst/vaapi/gstvaapidecode.c:
29525           vaapidecode: report unsupported codec profiles.
29526           Try to gracefully abort when the HW does not support the requested
29527           profile. There is no fallback unless profiles are correctly parsed
29528           and matched through caps beforehand.
29529
29530 2012-02-07 15:23:22 +0100  Holger Kaelberer <holger.k@elberer.de>
29531
29532         * NEWS:
29533         * gst/vaapi/gstvaapisink.c:
29534           vaapisink: don't resize a 'foreign' X-window.
29535           Don't forcibly resize foreign X windows. The user is responsible for
29536           their size and vaapisink shall not change this.
29537           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29538
29539 2012-02-07 15:21:05 +0100  Holger Kaelberer <holger.k@elberer.de>
29540
29541         * NEWS:
29542         * gst/vaapi/gstvaapisink.c:
29543         * gst/vaapi/gstvaapisink.h:
29544           vaapisink: recalculate render rect only if caps are negotiated.
29545           Fix gst_vaapisink_xoverlay_set_window_handle() when it is called before
29546           caps got negotiated. Besides, when a foreign window is provided by the
29547           user, so should the render rect.
29548           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29549
29550 2012-04-02 13:07:34 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29551
29552         * configure.ac:
29553           Bump version for development.
29554
29555 2012-04-02 10:07:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29556
29557         * configure.ac:
29558           0.3.6.
29559
29560 2012-04-02 12:52:54 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29561
29562         * docs/reference/libs/libs-docs.xml.in:
29563         * docs/reference/libs/libs-sections.txt:
29564         * docs/reference/plugins/plugins-docs.xml.in:
29565         * docs/reference/plugins/plugins-sections.txt:
29566         * docs/reference/plugins/plugins.types:
29567         * gst-libs/gst/vaapi/gstvaapiimage.c:
29568         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
29569         * gst/vaapi/gstvaapipostproc.c:
29570           Fix a few documentation issues.
29571
29572 2012-04-02 10:05:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29573
29574         * NEWS:
29575         * README:
29576           Update introduction and changelog.
29577
29578 2012-04-02 11:29:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29579
29580         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
29581         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
29582         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29583           mpeg2: allocate dummy picture for first field based I-frame.
29584           In P-pictures, prediction shall be made from the two most recently
29585           decoded reference fields. However, when the first I-frame is a field,
29586           the next field of the current picture could be a P-picture but only a
29587           single field was decoded so far. In this case, create a dummy picture
29588           with POC = -1 that will be used as reference.
29589           Some VA drivers would error out if P-pictures don't have a forward
29590           reference picture. This is true in general but not in this very specific
29591           initial case.
29592
29593 2012-04-02 10:43:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29594
29595         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29596           mpeg2: fix simple to main profile fallback.
29597           Allow fallback from simple to main profile when the HW decoder does
29598           not support the former profile and that no sequence_header_extension()
29599           is available to point out this.
29600
29601 2012-03-30 03:04:40 -0400  Wind Yuan <feng.yuan@intel.com>
29602
29603         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
29604           mpeg4: improve error checking while decoding packets.
29605           decode_picture() could return an error when an MPEG-4 profile is not
29606           supported for example. In this case, the underlying VA context is not
29607           allocated and no other proper action can be taken. Likewise on exit
29608           from decode_slice().
29609           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29610
29611 2012-03-30 17:03:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29612
29613         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
29614         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29615         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
29616         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
29617           decoder: use POC to maintain the DPB.
29618           Introduce a POC field in GstVaapiPicture so that to store simpler sequential
29619           numbers. A signed 32-bit integer should be enough for 1 year of continuous
29620           video streaming at 60 Hz.
29621           Use this new POC value to maintain the DPB, instead of 64-bit timestamps.
29622           This also aligns with H.264 that will be migrated to GstVaapiDpb infrastructure.
29623
29624 2012-03-30 16:23:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29625
29626         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29627           mpeg2: rework generation of presentation timestamps.
29628           Always prefer PTS from the demuxer layer for GOP times. If this is invalid,
29629           i.e. demuxer could not determine the PTS or the generated PTS is lower than
29630           max PTS from past pictures, then try to fix it up based on the duration of
29631           a frame.
29632           For picture PTS, simply use the GOP PTS formerly computed then use TSN to
29633           reconstruct a current time. Also now handle wrapped TSN correctly.
29634
29635 2012-03-30 17:07:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29636
29637         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29638           mpeg2: ignore empty user-data packets.
29639           Fix tcela-8.bits conformance test.
29640
29641 2012-03-29 11:13:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29642
29643         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29644           mpeg2: review and report errors accordingly.
29645           Use GST_ERROR() to report real errors instead of hiding them into
29646           GST_DEBUG().
29647
29648 2012-03-28 19:15:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29649
29650         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29651           mpeg2: fix invalid interlaced frame in progressive sequence.
29652           Some streams, badly constructed, could have signaled an interlaced
29653           frame while the sequence was meant to be progressive. Warn and force
29654           frame to be progressive in this case.
29655
29656 2012-03-28 16:08:29 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29657
29658         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29659         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
29660           mpeg2: add support for interlaced streams.
29661           Pictures are submitted to the HW for rendering only when both fields
29662           are decoded or current picture is a full frame.
29663
29664 2012-03-28 14:36:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29665
29666         * gst-libs/gst/vaapi/Makefile.am:
29667         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.c:
29668         * gst-libs/gst/vaapi/gstvaapidecoder_dpb.h:
29669         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29670           mpeg2: add new decoded picture buffer infrastructure.
29671           Decoded pictures are now maintained into DPB, similarly to H.264.
29672           The same mechanism could be re-used for VC-1 and MPEG-4:2 codecs.
29673
29674 2012-03-28 17:50:28 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29675
29676         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29677         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
29678         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
29679           decoder: add first-field flag to picture.
29680           Add first-field (FF) flag to GstVaapiPicture, thus not requiring is_first_field
29681           member in each decoder. Rather, when a GstVaapiPicture is created, it is considered
29682           as the first field. Any subsequent allocated field will become the second field.
29683
29684 2012-03-28 16:05:58 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29685
29686         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
29687         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
29688         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
29689         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
29690           decoder: allow pictures to be cloned for field decoding.
29691           Add gst_vaapi_picture_new_field() function that clones a picture, while
29692           preserving the parent picture surface. i.e. the surface proxy reference
29693           count is increased and other fields copied as is. Besides, the picture
29694           is reset into a "non-output" mode.
29695
29696 2012-03-28 16:07:44 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29697
29698         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29699         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
29700         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
29701           decoder: rework picture field flags.
29702           Add top-field-first (TFF) and interlaced flags to GstVaapiPicture so they
29703           could be propagated to the surface proxy when it is pushed for rendering.
29704           Besides, top and bottom fields are now expressed with picture structure flags
29705           from GstVaapiSurfaceRenderFlags.
29706
29707 2012-03-28 14:28:26 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29708
29709         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
29710         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
29711           decoder: add OUTPUT flag to pictures.
29712           Allow pictures to be marked as output gst_vaapi_picture_output().
29713
29714 2012-03-28 14:24:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29715
29716         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
29717         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
29718         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
29719           decoder: fix semantics of SKIPPED pictures.
29720           If GstVaapiPicture has flag SKIPPED set, this means gst_vaapi_picture_output()
29721           will not push the underlying surface for rendering. Besides, VC-1 skipped P-frame
29722           has nothing to do with rendering. This only means that the currently decoded
29723           picture is just a copy of its reference picture.
29724
29725 2012-03-28 15:16:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29726
29727         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
29728         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
29729         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
29730         * gst/vaapi/gstvaapipostproc.c:
29731           vaapipostproc: get "interlaced" attribute from surface proxy.
29732           Add new "interlaced" attribute to GstVaapiSurfaceProxy. Use this in
29733           vaapipostproc so that to handles cases where bitstream is interlaced
29734           but almost only frame pictures are generated. In this case, we should
29735           not be alternating between top/bottom fields.
29736
29737 2012-03-26 14:37:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29738
29739         * README:
29740         * debian.upstream/control.in:
29741         * gst/vaapi/Makefile.am:
29742         * gst/vaapi/gstvaapi.c:
29743         * gst/vaapi/gstvaapipostproc.c:
29744         * gst/vaapi/gstvaapipostproc.h:
29745           vaapipostproc: add new element for video postprocessing.
29746           Add vaapipostproc element for video postprocessing. So far, only basic
29747           bob deinterlacing is implemented. Interlaced mode is automatically
29748           detected based on sink caps ("interlaced" field).
29749
29750 2012-03-26 12:01:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29751
29752         * docs/reference/libs/libs-sections.txt:
29753         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
29754         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
29755         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
29756         * gst/vaapi/gstvaapisink.c:
29757           videobuffer: add surface render flags.
29758           Allow rendering flags, as a combination of GstVaapiSurfaceRenderFlags,
29759           to be set to the video buffer. In particular, this is mostly useful for
29760           basic deinterlacing.
29761
29762 2012-03-23 17:13:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29763
29764         * gst-libs/gst/vaapi/gstvaapicompat.h:
29765           compat: add compatibility glue with VA-API 0.34+ (WIP).
29766
29767 2012-03-23 17:11:18 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29768
29769         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29770           h264: skip all Filler Data NALs.
29771
29772 2012-03-22 03:28:22 -0400  Wind Yuan <feng.yuan@intel.com>
29773
29774         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
29775           mpeg4: check for decoder status prior to decoding packet.
29776           Make sure there is a VA surface free prior to decoding the current frame.
29777           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29778
29779 2012-03-15 04:58:04 -0400  Wind Yuan <feng.yuan@intel.com>
29780
29781         * gst/vaapi/gstvaapidecode.c:
29782         * gst/vaapi/gstvaapidecode.h:
29783           decode: delay NEWSEGMENT event if vaapidecode element was not linked.
29784           Rationale: playbin2 links all elements at run-time. Once vaapidecode
29785           is created and a NEWSEGMENT event arrives, downstream element may not
29786           be ready yet. So, delay this event until next element is chained in,
29787           otherwise basesink could output "Received buffer without a new-segment.
29788           Assuming timestamps start from 0".
29789           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29790
29791 2012-03-13 20:33:41 -0400  Wind Yuan <feng.yuan@intel.com>
29792
29793         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29794           mpeg2: fix GOP timestamps when incorrect data is received.
29795           Some streams have incorrect GOP timestamps, or nothing set at all.
29796           i.e. GOP time is 00:00:00 for all GOPs. Try to recover in this case
29797           from demuxer timestamps, which are monotonic.
29798           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29799
29800 2012-03-13 02:03:31 -0400  Wind Yuan <feng.yuan@intel.com>
29801
29802         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29803           mpeg2: don't decode anything before the first sequence_header().
29804           Skip all pictures prior to the first sequence_header(). Besides,
29805           skip all picture_data() if there was no prior picture_header().
29806           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29807
29808 2012-02-07 15:57:14 +0100  Holger Kaelberer <holger.k@elberer.de>
29809
29810         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
29811           ffmpeg: add support for interlaced streams.
29812           Evaluate interlaced stream properties.
29813           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29814
29815 2012-02-07 15:54:15 +0100  Holger Kaelberer <holger.k@elberer.de>
29816
29817         * gst/vaapi/gstvaapidecode.c:
29818           vaapidecode: propagate interlaced and TFF properties downstream.
29819           Propagate "interlaced" caps downstream and set "tff" buffer flag
29820           appropriately to output buffers for interlaced pictures.
29821           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29822
29823 2012-02-07 15:54:15 +0100  Holger Kaelberer <holger.k@elberer.de>
29824
29825         * gst-libs/gst/vaapi/gstvaapidecoder.c:
29826         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
29827           decoder: maintain caps for interlaced streams.
29828           Extend GstVaapiDecoder base object to maintain caps with "interlaced"
29829           property.
29830           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29831
29832 2012-02-07 15:54:15 +0100  Holger Kaelberer <holger.k@elberer.de>
29833
29834         * docs/reference/libs/libs-sections.txt:
29835         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
29836         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
29837           surfaceproxy: add TFF property.
29838           Add TFF (top-field-first) property to GstVaapiSurfaceProxy.
29839           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29840
29841 2012-03-16 14:21:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29842
29843         * AUTHORS:
29844           AUTHORS: update to match current authors.
29845
29846 2012-02-28 11:58:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29847
29848         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29849           mpeg2: fix is_first_field calculation.
29850           Reset is_first_field for frame pictures. Factor out locations where
29851           the flag is updated.
29852
29853 2012-02-24 12:56:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29854
29855         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29856           mpeg2: catch incorrect picture_structure from bitstreams.
29857           Assume "frame" picture structure if the syntax element was zero or if
29858           progressive_frame is set.
29859
29860 2012-02-24 12:53:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29861
29862         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29863           mpeg2: fix slice_vertical_position calculation (again).
29864           VA-API expects slice_vertical_position as the initial position from the
29865           bitstream. i.e. the direct slice() information. VA drivers will be fixed
29866           accordingly.
29867
29868 2012-03-02 15:03:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29869
29870         * gst/vaapi/gstvaapidecode.c:
29871           Revert "vaapidecode: fix another pad template ref leak" (Holger Kaelberer)
29872           This reverts commit 2f127d6af473afd647a2c88f75faafd1cd718437.
29873           For gst_element_class_get_pad_template(), no unreferencing is necessary
29874           according to the GStreamer documentation.
29875
29876 2012-03-02 13:41:16 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29877
29878         * configure.ac:
29879         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29880           h264: fix slice_data_bit_offset calculation.
29881           Unlike what VA-API documentation defines, the slice_data_bit_offset
29882           represents the offset to the first macroblock in the slice data, minus
29883           any emulation prevention bytes in the slice_header().
29884           This fix copes with binary-only VA drivers that won't be fixed any
29885           time soon. Besides, this aligns with the current FFmpeg behaviour
29886           that was based on those proprietary drivers implementing the API
29887           incorrectly.
29888
29889 2012-02-21 02:11:20 -0500  Wind Yuan <feng.yuan@intel.com>
29890
29891         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29892           h264: skip all Access Unit (AU) NALs.
29893           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29894
29895 2012-02-29 03:08:46 -0500  Wind Yuan <feng.yuan@intel.com>
29896
29897         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29898           h264: fix modification process of reference picture lists.
29899           Construction of RefPicList0/1 could be off by one element.
29900           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29901
29902 2012-02-12 11:21:52 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
29903
29904         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29905           mpeg2: fix size calculation from sequence_extension().
29906           Original values from sequence_header() are 12-bit and the remaining
29907           2 most significant bits are coming from sequence_extension().
29908           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29909
29910 2012-02-23 16:39:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29911
29912         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29913           mpeg2: fix slice_vertical_position calculation.
29914           Make sure to adjust slice_vertical_position if picture structure
29915           is a top or bottom field.
29916
29917 2012-02-23 16:23:27 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29918
29919         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
29920           decoder: add picture structure flags.
29921
29922 2012-02-23 14:42:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29923
29924         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29925           mpeg2: fix decoding at end-of-sequence.
29926
29927 2012-02-23 14:17:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29928
29929         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29930           mpeg2: fix slice_horizontal_position calculation.
29931
29932 2012-02-23 16:14:02 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29933
29934         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29935           mpeg2: drop useless mb_y and mb_height members.
29936
29937 2012-02-23 11:19:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29938
29939         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
29940           mpeg2: fix decoding of multiple slices with same slice_vertical_position.
29941           6.3.15 says that "some slices may have the same slice_vertical_position,
29942           since slices may start and finish anywhere". So, we can't submit the current
29943           picture to the HW right away since subsequent slices would be missing.
29944
29945 2012-02-15 14:08:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29946
29947         * gst-libs/gst/vaapi/gstvaapiimage.c:
29948           image: fix source stride in picture copy.
29949
29950 2012-02-13 10:10:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29951
29952         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
29953           decoder: fix double buffer free with some VA drivers.
29954           vaRenderPicture() implicitly disposes VA buffers. Some VA drivers would
29955           push the VA buffer object into a list of free buffers to be re-used. However,
29956           reference pictures (and data) that was kept would explicitly release the VA
29957           buffer object later on, thus possibly destroying a valid (re-used) object.
29958           Besides, some other VA drivers don't support correctly the vaRenderPicture()
29959           semantics for VA buffers disposal and would leak memory if there is no explicit
29960           vaDestroyBuffer(). The temporary workaround is to explcitily destroy VA buffers
29961           right after vaRenderPicture(). All VA drivers need to be aligned.
29962
29963 2012-02-08 18:08:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29964
29965         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29966           h264: complete any current picture decoder before SPS / PPS change.
29967           This ensures the VA context is clear when the encoded resolution
29968           changes. i.e. make sure older picture is decoded with the older
29969           VA context before it changes.
29970
29971 2012-02-08 18:07:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29972
29973         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29974           h264: create VA context earlier when SPS is parsed.
29975
29976 2012-02-08 17:57:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29977
29978         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
29979           h264: don't allocate too big data structures on stack.
29980
29981 2012-02-07 11:07:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29982
29983         * gst-libs/gst/vaapi/glibcompat.h:
29984         * gst-libs/gst/vaapi/gstvaapidisplay.c:
29985         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
29986           glib: map deprecated API to glib >= 2.32 equivalents.
29987           GStaticMutex and GStaticRecMutex are now replaced with GMutex and
29988           GRecMutex, which no longer require any prior call to g_thread_init().
29989
29990 2012-02-07 10:01:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29991
29992         * gst-libs/gst/vaapi/gstvaapiutils.h:
29993         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
29994         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
29995           glib: fix includes.
29996
29997 2012-02-07 10:05:53 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
29998
29999         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
30000         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
30001         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
30002         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30003           cosmetics: fix warnings (drop unused variables).
30004
30005 2012-02-06 16:11:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30006
30007         * gst/vaapi/gstvaapidecode.c:
30008           vaapidecode: fix another pad template ref leak.
30009
30010 2012-02-06 15:54:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30011
30012         * gst-libs/gst/vaapi/gstvaapidecoder.c:
30013         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
30014         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
30015           mpeg2: fix crash when there is no free surface to decode into.
30016
30017 2012-01-31 16:38:58 +0800  Zhao Halley <halley.zhao@intel.com>
30018
30019         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30020           display: skip profiles which have no entrypoints.
30021           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30022
30023 2012-02-05 18:28:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30024
30025         * gst/vaapi/gstvaapiupload.c:
30026           vaapiupload: use g_object_unref() for GstVaapiImage.
30027
30028 2012-02-05 18:24:08 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30029
30030         * gst/vaapi/gstvaapidecode.c:
30031         * gst/vaapi/gstvaapidownload.c:
30032         * gst/vaapi/gstvaapisink.c:
30033         * gst/vaapi/gstvaapiupload.c:
30034           plugins: fix pad template ref leaks.
30035
30036 2012-02-02 09:23:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30037
30038         * configure.ac:
30039           Bump version for development.
30040
30041 2012-02-01 23:34:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30042
30043         * NEWS:
30044         * configure.ac:
30045           0.3.4.
30046
30047 2012-02-01 23:32:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30048
30049         * README:
30050           README: updates.
30051           Mention codecparsers-based decoders, FFmpeg is now optional. Update
30052           list of support HW.
30053
30054 2012-02-01 23:28:23 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30055
30056         * NEWS:
30057           NEWS: updates.
30058
30059 2012-01-31 11:34:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30060
30061         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
30062           decoder: allocate proxy surface earlier.
30063           This simplifies gst_vaapi_picture_output() to only update the presentation
30064           timestamp and submit the proxy to the decoder for output.
30065
30066 2012-01-31 11:26:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30067
30068         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
30069           decoder: fix memory leak of VA objects on exit.
30070           On sequence end, if the last decoded picture is not output for rendering,
30071           then the proxy surface is not created. In this case, the original surface
30072           must be released explicitly to the context.
30073
30074 2012-01-31 10:47:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30075
30076         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
30077           mpeg2: use GstAdapter to track input sequence.
30078           This fixes possible memory leaks and improves performance by removing
30079           some extra copies.
30080
30081 2012-01-30 18:25:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30082
30083         * configure.ac:
30084         * gst-libs/gst/vaapi/Makefile.am:
30085         * gst-libs/gst/vaapi/glibcompat.h:
30086         * gst-libs/gst/vaapi/sysdeps.h:
30087           Add glib compatibility glue for older versions.
30088
30089 2012-01-30 18:12:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30090
30091         * gst-libs/gst/vaapi/Makefile.am:
30092         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
30093         * gst-libs/gst/vaapi/gstvaapicontext.c:
30094         * gst-libs/gst/vaapi/gstvaapidecoder.c:
30095         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
30096         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
30097         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
30098         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
30099         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
30100         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
30101         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30102         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
30103         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
30104         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
30105         * gst-libs/gst/vaapi/gstvaapiimage.c:
30106         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
30107         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
30108         * gst-libs/gst/vaapi/gstvaapiobject.c:
30109         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
30110         * gst-libs/gst/vaapi/gstvaapiprofile.c:
30111         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
30112         * gst-libs/gst/vaapi/gstvaapisurface.c:
30113         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
30114         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
30115         * gst-libs/gst/vaapi/gstvaapitexture.c:
30116         * gst-libs/gst/vaapi/gstvaapiutils.c:
30117         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
30118         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
30119         * gst-libs/gst/vaapi/gstvaapivalue.c:
30120         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
30121         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
30122         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
30123         * gst-libs/gst/vaapi/gstvaapivideopool.c:
30124         * gst-libs/gst/vaapi/gstvaapivideosink.c:
30125         * gst-libs/gst/vaapi/gstvaapiwindow.c:
30126         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
30127         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
30128         * gst-libs/gst/vaapi/sysdeps.h:
30129           Add header for system-dependent definitions.
30130
30131 2012-01-30 10:15:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30132
30133         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
30134         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
30135         * gst-libs/gst/vaapi/gstvaapiutils.c:
30136         * gst-libs/gst/vaapi/gstvaapiutils.h:
30137           decoder: optimize slice data buffers initialization.
30138           VA drivers may have a faster means to transfer user buffers to GPU
30139           buffers than using memcpy(). In particular, on Intel Gen graphics, we
30140           can use pwrite(). This provides for faster upload of bitstream and can
30141           help higher bitrates.
30142           vaapi_create_buffer() helper function was also updated to allow for
30143           un-mapped buffers and pre-initialized data for buffers.
30144
30145 2012-01-27 17:28:50 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30146
30147         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
30148           h264: simplify RefPicList reconstruction.
30149
30150 2012-01-27 16:08:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30151
30152         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
30153           h264: flush DPB when the end of the sequence is reached.
30154
30155 2012-01-24 15:38:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30156
30157         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
30158           h264: handle Decoded Picture Buffer (DPB).
30159
30160 2012-01-24 09:20:25 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30161
30162         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
30163           h264: fix pred_weight_table() reconstruction.
30164           Only the explicit pred_weight_table(), possibly with the inferred default
30165           values, shall be required. e.g. don't fill in the table if weighted_pred_flag
30166           is not set for P/SP slices.
30167
30168 2012-01-23 15:03:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30169
30170         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
30171           h264: execute reference picture marking process (MMCO).
30172
30173 2012-01-23 15:20:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30174
30175         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
30176           h264: fix presentation timestamps.
30177
30178 2012-01-18 13:38:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30179
30180         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
30181           h264: execute reference picture marking process (sliding window).
30182
30183 2012-01-17 10:42:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30184
30185         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
30186           h264: handle avcC format for decoding buffers.
30187
30188 2011-11-25 14:37:00 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
30189
30190         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
30191           h264: handle codec-data.
30192           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30193
30194 2011-08-12 17:43:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30195
30196         * gst-libs/gst/vaapi/Makefile.am:
30197         * gst-libs/gst/vaapi/gstvaapidecoder_h264.c:
30198         * gst-libs/gst/vaapi/gstvaapidecoder_h264.h:
30199         * gst/vaapi/gstvaapidecode.c:
30200         * tests/test-decode.c:
30201           Add initial H.264 decoder.
30202
30203 2012-01-26 15:28:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30204
30205         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
30206         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
30207           decoder: retain proxy surface until the GstVaapiPicture is destroyed.
30208           Keep a valid reference to the proxy in GstVaapiPicture so that frames
30209           marked as "used for reference" could be kept during the lifetime of the
30210           picture. i.e. don't release them too soon as they could be re-used right
30211           away.
30212
30213 2012-01-26 15:19:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30214
30215         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
30216         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
30217         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
30218           decoder: properly reference count pictures.
30219           This fixes cases where a GstVaapiPicture would be destroyed whereas
30220           there is still a valid instance of it in either prev, current or
30221           next picture.
30222
30223 2012-01-26 14:54:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30224
30225         * gst-libs/gst/vaapi/gstvaapidecoder.c:
30226         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
30227         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
30228         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
30229           decoder: simplify output of decoded frames.
30230           Drop obsolete gst_vaapi_decoder_push_surface() that was no longer used.
30231           Change gst_vaapi_decoder_push_surface_proxy() semantics to assume PTS
30232           is already set correctly and reference count increased, if necessary.
30233
30234 2012-01-26 09:48:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30235
30236         * gst-libs/gst/vaapi/Makefile.am:
30237         * gst-libs/gst/vaapi/gstvaapicodec_objects.c:
30238         * gst-libs/gst/vaapi/gstvaapicodec_objects.h:
30239         * gst-libs/gst/vaapi/gstvaapidecoder.c:
30240         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
30241         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
30242         * gst-libs/gst/vaapi/gstvaapidecoder_objects.c:
30243         * gst-libs/gst/vaapi/gstvaapidecoder_objects.h:
30244         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
30245         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
30246           decoder: rework the internal VA objects API.
30247           The new API simplifies a lot reference counting and makes it more
30248           flexible for future additions/changes. The GstVaapiCodecInfo is
30249           also gone. Rather, new helper macros are provided to allocate
30250           picture, slice and quantization matrix parameter buffers.
30251
30252 2012-01-24 10:21:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30253
30254         * gst-libs/gst/vaapi/gstvaapidecoder.c:
30255         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
30256           decoder: allow slices to be attached to pictures later.
30257
30258 2011-11-21 18:39:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30259
30260         * gst-libs/gst/vaapi/gstvaapidecoder.c:
30261         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
30262           decoder: add ref_count to GstVaapiPicture.
30263
30264 2012-01-23 11:48:42 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30265
30266         * gst/vaapi/gstvaapisink.c:
30267           vaapisink: cap window size to the maximum display size.
30268
30269 2012-01-18 10:23:41 +0100  Zhao Halley <halley.zhao@intel.com>
30270
30271         * gst-libs/gst/vaapi/gstvaapiprofile.c:
30272         * gst-libs/gst/vaapi/gstvaapiworkarounds.h:
30273           profile: match video/x-h263 as H.263 Baseline profile.
30274           HACK: qtdemux does not report profiles for H.263. So, assume plain
30275           "video/x-h263" is H.263 Baseline profile.
30276           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30277
30278 2012-01-18 10:22:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30279
30280         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30281         * gst-libs/gst/vaapi/gstvaapiworkarounds.h:
30282           display: report H.263 Baseline profile.
30283           HACK: expose GST_VAAPI_PROFILE_H263_BASELINE for decoding if MPEG-4:2 Simple
30284           profile (VAProfileMPEG4Simple) is supported.
30285
30286 2012-01-24 10:06:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30287
30288         * gst-libs/gst/vaapi/Makefile.am:
30289         * gst-libs/gst/vaapi/gstvaapiworkarounds.h:
30290           Add template for workarounds.
30291
30292 2012-01-18 10:47:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30293
30294         * tests/test-decode.c:
30295           tests: error out if FFmpeg|codecparsers are not supported.
30296
30297 2012-01-18 10:42:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30298
30299         * docs/reference/libs/libs-sections.txt:
30300         * gst-libs/gst/vaapi/gstvaapisurface.h:
30301         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
30302           surface: don't expose gst_vaapi_surface_get_parent_context().
30303           gst_vaapi_surface_get_parent_context() was not meant to be exposed globally.
30304           It's just an internal helper function. However, it's still possible to get
30305           the parent context through the "parent-context" property.
30306
30307 2012-01-16 14:19:00 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30308
30309         * tests/Makefile.am:
30310         * tests/test-subpicture.c:
30311           tests: fix build without FFmpeg.
30312
30313 2012-01-16 14:09:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30314
30315         * configure.ac:
30316           Bump version for development.
30317
30318 2012-01-16 11:05:31 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30319
30320         * NEWS:
30321         * configure.ac:
30322           0.3.3.
30323
30324 2012-01-16 11:03:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30325
30326         * README:
30327         * debian.upstream/copyright:
30328         * gst-libs/gst/vaapi/gstvaapicontext.c:
30329         * gst-libs/gst/vaapi/gstvaapidecoder.c:
30330         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
30331         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
30332         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30333         * gst-libs/gst/vaapi/gstvaapidisplay.h:
30334         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
30335         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
30336         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
30337         * gst-libs/gst/vaapi/gstvaapiimage.c:
30338         * gst-libs/gst/vaapi/gstvaapiimage.h:
30339         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
30340         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
30341         * gst-libs/gst/vaapi/gstvaapiutils.c:
30342         * gst-libs/gst/vaapi/gstvaapiutils.h:
30343         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
30344         * gst-libs/gst/vaapi/gstvaapiwindow.c:
30345         * gst/vaapi/gstvaapi.c:
30346         * gst/vaapi/gstvaapidecode.c:
30347         * gst/vaapi/gstvaapidownload.c:
30348         * gst/vaapi/gstvaapidownload.h:
30349         * gst/vaapi/gstvaapipluginutil.c:
30350         * gst/vaapi/gstvaapipluginutil.h:
30351         * gst/vaapi/gstvaapisink.c:
30352         * gst/vaapi/gstvaapiupload.c:
30353         * gst/vaapi/gstvaapiupload.h:
30354         * tests/test-decode.c:
30355           legal: fix year for some copyright notices.
30356
30357 2012-01-16 10:42:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30358
30359         * gst-libs/gst/vaapi/gstvaapicontext.c:
30360         * gst-libs/gst/vaapi/gstvaapicontext.h:
30361         * gst-libs/gst/vaapi/gstvaapidecoder.h:
30362         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
30363         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30364         * gst-libs/gst/vaapi/gstvaapidisplay.h:
30365         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
30366         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
30367         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
30368         * gst-libs/gst/vaapi/gstvaapiimage.c:
30369         * gst-libs/gst/vaapi/gstvaapiimage.h:
30370         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
30371         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
30372         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
30373         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
30374         * gst-libs/gst/vaapi/gstvaapisurface.c:
30375         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
30376         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
30377         * gst-libs/gst/vaapi/gstvaapiutils.c:
30378         * gst-libs/gst/vaapi/gstvaapiutils.h:
30379         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
30380         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
30381         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
30382         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
30383         * gst-libs/gst/vaapi/gstvaapiwindow.c:
30384         * gst/vaapi/gstvaapidownload.h:
30385         * gst/vaapi/gstvaapisink.h:
30386         * gst/vaapi/gstvaapiupload.h:
30387         * tests/test-decode.c:
30388           legal: add Intel copyright on modified files.
30389
30390 2012-01-16 10:41:10 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30391
30392         * gst-libs/gst/vaapi/gstvaapi_priv.h:
30393         * gst-libs/gst/vaapi/gstvaapicompat.h:
30394         * gst-libs/gst/vaapi/gstvaapicontext.c:
30395         * gst-libs/gst/vaapi/gstvaapicontext.h:
30396         * gst-libs/gst/vaapi/gstvaapidebug.h:
30397         * gst-libs/gst/vaapi/gstvaapidecoder.c:
30398         * gst-libs/gst/vaapi/gstvaapidecoder.h:
30399         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
30400         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
30401         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
30402         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30403         * gst-libs/gst/vaapi/gstvaapidisplay.h:
30404         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
30405         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
30406         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
30407         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
30408         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
30409         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
30410         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
30411         * gst-libs/gst/vaapi/gstvaapiimage.c:
30412         * gst-libs/gst/vaapi/gstvaapiimage.h:
30413         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
30414         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
30415         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
30416         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
30417         * gst-libs/gst/vaapi/gstvaapiobject.c:
30418         * gst-libs/gst/vaapi/gstvaapiobject.h:
30419         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
30420         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
30421         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
30422         * gst-libs/gst/vaapi/gstvaapiprofile.c:
30423         * gst-libs/gst/vaapi/gstvaapiprofile.h:
30424         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
30425         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
30426         * gst-libs/gst/vaapi/gstvaapisurface.c:
30427         * gst-libs/gst/vaapi/gstvaapisurface.h:
30428         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
30429         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
30430         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
30431         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
30432         * gst-libs/gst/vaapi/gstvaapitexture.c:
30433         * gst-libs/gst/vaapi/gstvaapitexture.h:
30434         * gst-libs/gst/vaapi/gstvaapitypes.h:
30435         * gst-libs/gst/vaapi/gstvaapiutils.c:
30436         * gst-libs/gst/vaapi/gstvaapiutils.h:
30437         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
30438         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
30439         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
30440         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
30441         * gst-libs/gst/vaapi/gstvaapivalue.c:
30442         * gst-libs/gst/vaapi/gstvaapivalue.h:
30443         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
30444         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
30445         * gst-libs/gst/vaapi/gstvaapivideopool.c:
30446         * gst-libs/gst/vaapi/gstvaapivideopool.h:
30447         * gst-libs/gst/vaapi/gstvaapivideosink.c:
30448         * gst-libs/gst/vaapi/gstvaapivideosink.h:
30449         * gst-libs/gst/vaapi/gstvaapiwindow.c:
30450         * gst-libs/gst/vaapi/gstvaapiwindow.h:
30451         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
30452         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
30453         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
30454         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
30455         * gst/vaapi/gstvaapidecode.c:
30456         * gst/vaapi/gstvaapidecode.h:
30457         * gst/vaapi/gstvaapidownload.c:
30458         * gst/vaapi/gstvaapidownload.h:
30459         * gst/vaapi/gstvaapisink.c:
30460         * gst/vaapi/gstvaapisink.h:
30461         * gst/vaapi/gstvaapiupload.c:
30462         * gst/vaapi/gstvaapiupload.h:
30463         * tests/image.c:
30464         * tests/image.h:
30465         * tests/test-decode.c:
30466         * tests/test-decode.h:
30467         * tests/test-display.c:
30468         * tests/test-h264.c:
30469         * tests/test-h264.h:
30470         * tests/test-mpeg2.c:
30471         * tests/test-mpeg2.h:
30472         * tests/test-surfaces.c:
30473         * tests/test-textures.c:
30474         * tests/test-vc1.c:
30475         * tests/test-vc1.h:
30476         * tests/test-windows.c:
30477           legal: fix copyright notices to include "Copyright" term.
30478
30479 2011-12-09 16:44:03 +0800  Zhao Halley <halley.zhao@intel.com>
30480
30481         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
30482         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
30483           mpeg4: replace GstVaapiTSB with GstAdapter (gst-plugins-base >= 0.10.24).
30484           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30485
30486 2011-12-09 16:28:11 +0800  Zhao Halley <halley.zhao@intel.com>
30487
30488         * gst-libs/gst/vaapi/Makefile.am:
30489         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c:
30490         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.h:
30491         * gst/vaapi/gstvaapidecode.c:
30492           Add initial MPEG-4 decoder.
30493           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30494
30495 2011-11-18 15:41:40 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
30496
30497         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
30498         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
30499           vc1: replace GstVaapiTSB with GstAdapter (gst-plugins-base >= 0.10.24).
30500           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30501
30502 2011-10-07 11:50:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30503
30504         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
30505           vc1: fix codec-data decoding for WMV3 format.
30506
30507 2011-10-07 11:12:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30508
30509         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
30510           vc1: fix presentation timestamps.
30511
30512 2011-10-06 15:59:22 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30513
30514         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
30515           vc1: fix MV mode packing.
30516
30517 2011-10-05 16:41:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30518
30519         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
30520           vc1: handle codec-data.
30521
30522 2011-10-05 15:56:36 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30523
30524         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
30525           vc1: handle encapsulated bitstreams.
30526
30527 2011-10-04 17:51:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30528
30529         * gst-libs/gst/vaapi/gstvaapidecoder.c:
30530         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
30531         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
30532           vc1: fix bitplanes decoding.
30533
30534 2011-10-04 14:15:55 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30535
30536         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
30537           vc1: fix BFRACTION reconstruction.
30538
30539 2011-09-30 17:16:23 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30540
30541         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
30542           vc1: fix framerate calculation.
30543
30544 2011-09-30 13:40:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30545
30546         * gst-libs/gst/vaapi/Makefile.am:
30547         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.c:
30548         * gst-libs/gst/vaapi/gstvaapidecoder_vc1.h:
30549         * gst/vaapi/gstvaapidecode.c:
30550         * tests/test-decode.c:
30551           Add initial VC-1 decoder.
30552
30553 2012-01-09 17:37:34 +0100  Zhao Halley <halley.zhao@intel.com>
30554
30555         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
30556           mpeg2: fix first field detection.
30557           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30558
30559 2012-01-06 16:44:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30560
30561         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
30562           mpeg2: fix quantisation matrix construction.
30563
30564 2011-11-18 15:06:07 +0200  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
30565
30566         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
30567         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
30568           mpeg2: replace GstVaapiTSB API with GstAdapter (gst-plugins-base >= 0.10.24).
30569           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30570
30571 2011-09-14 18:11:57 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30572
30573         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
30574           mpeg2: fix packets spanning over two buffers.
30575
30576 2011-09-12 18:20:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30577
30578         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
30579           mpeg2: ignore system start codes (PES headers).
30580
30581 2011-09-12 18:02:53 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30582
30583         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
30584           mpeg2: handle closed_gop.
30585
30586 2011-08-05 11:55:11 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30587
30588         * gst-libs/gst/vaapi/Makefile.am:
30589         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.c:
30590         * gst-libs/gst/vaapi/gstvaapidecoder_mpeg2.h:
30591         * gst/vaapi/gstvaapidecode.c:
30592         * tests/test-decode.c:
30593           Add initial MPEG-2 decoder.
30594
30595 2011-08-12 10:21:19 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30596
30597         * configure.ac:
30598         * gst-libs/gst/vaapi/Makefile.am:
30599         * gst/vaapi/gstvaapidecode.c:
30600         * tests/test-decode.c:
30601           Allow conditional build of GStreamer/FFmpeg bitstream parsers.
30602
30603 2011-08-05 11:53:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30604
30605         * gst-libs/gst/vaapi/gstvaapidecoder.c:
30606         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
30607           Add VA decoder helpers.
30608
30609 2011-08-05 11:52:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30610
30611         * gst-libs/gst/vaapi/gstvaapidecoder.h:
30612           decoder: add new error codes.
30613           GST_VAAPI_DECODER_STATUS_ERROR_UNSUPPORTED_PROFILE: for unsupported profile
30614           GST_VAAPI_DECODER_STATUS_ERROR_UNSUPPORTED_CHROMA_FORMAT: for unsupported chroma format
30615
30616 2011-09-12 13:00:59 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30617
30618         * gst-libs/gst/vaapi/Makefile.am:
30619         * gst-libs/gst/vaapi/gstvaapiutils_tsb.c:
30620         * gst-libs/gst/vaapi/gstvaapiutils_tsb.h:
30621           Add timestamp buffer store helper utils.
30622
30623 2011-08-04 17:29:41 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30624
30625         * gst-libs/gst/vaapi/gstvaapiutils.c:
30626         * gst-libs/gst/vaapi/gstvaapiutils.h:
30627           Add VA buffer helpers.
30628
30629 2012-01-13 15:03:38 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30630
30631         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
30632           utils: slight improvements to gl_bind_texture().
30633
30634 2012-01-13 14:13:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30635
30636         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
30637           utils: pretty-print output of gl_get_error_string().
30638
30639 2012-01-13 14:03:29 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30640
30641         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
30642           utils: rewrite gl_perspective() as per OpenGL FAQ 9.085.
30643
30644 2012-01-13 12:09:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30645
30646         * gst-libs/gst/vaapi/gstvaapiutils.c:
30647           utils: simplify string of VAProfile/VAEntrypoint.
30648
30649 2012-01-13 11:46:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30650
30651         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30652         * gst-libs/gst/vaapi/gstvaapiutils.c:
30653         * gst-libs/gst/vaapi/gstvaapiutils.h:
30654           utils: drop string_of_FOURCC() in favor of standard GST_FOURCC_* helpers.
30655
30656 2012-01-12 17:18:47 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30657
30658         * NEWS:
30659           NEWS: updates.
30660
30661 2012-01-12 15:34:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30662
30663         * tests/test-decode.c:
30664           tests: check for shared VA displays (display cache).
30665
30666 2012-01-12 15:30:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30667
30668         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30669           display: always free VA display cache if it is empty.
30670
30671 2012-01-12 15:03:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30672
30673         * gst-libs/gst/vaapi/gstvaapidisplay.c:
30674         * gst-libs/gst/vaapi/gstvaapidisplay.h:
30675         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
30676         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
30677         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
30678           display: use VA display cache for X11 and GLX winsys.
30679
30680 2012-01-12 12:46:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30681
30682         * gst-libs/gst/vaapi/Makefile.am:
30683         * gst-libs/gst/vaapi/gstvaapidisplay.h:
30684         * gst-libs/gst/vaapi/gstvaapidisplaycache.c:
30685         * gst-libs/gst/vaapi/gstvaapidisplaycache.h:
30686           display: implement a VA display cache.
30687
30688 2012-01-11 14:13:06 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30689
30690         * gst/vaapi/gstvaapipluginutil.c:
30691           vaapiplugin: fix gst_vaapi_ensure_display() to use system defaults.
30692           This ensures the display name provided to gst_vaapi_display_*_new()
30693           maps to the system defaults, instead of forcing "" that could be different
30694           from the current DISPLAY name.
30695
30696 2011-08-26 15:44:25 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
30697
30698         * gst/vaapi/gstvaapiupload.c:
30699           vaapiupload: only set caps on newly created buffers.
30700           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30701
30702 2012-01-11 14:11:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30703
30704         * gst/vaapi/gstvaapisink.c:
30705           vaapisink: ensure VA display in GstBaseSink::start() hook.
30706           This ensures a VA display is ready by the time upstream elements request
30707           for it.
30708
30709 2011-08-26 15:44:46 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
30710
30711         * gst/vaapi/gstvaapisink.c:
30712           vaapisink: don't leak GL texture.
30713           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30714
30715 2012-01-09 16:51:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30716
30717         * gst/vaapi/gstvaapisink.c:
30718           vaapisink: fix calculation of render region.
30719
30720 2012-01-09 11:23:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30721
30722         * gst/vaapi/gstvaapisink.c:
30723           vaapisink: automatically fit video to window.
30724
30725 2012-01-09 10:37:30 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30726
30727         * gst/vaapi/gstvaapisink.c:
30728           vaapisink: implement GstXOverlay::set_render_rectangle().
30729
30730 2012-01-09 11:04:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30731
30732         * gst-libs/gst/vaapi/gstvaapiwindow.c:
30733           window: always check geometry when the window is mapped.
30734
30735 2012-01-06 17:51:59 +0100  Zhao Halley <halley.zhao@intel.com>
30736
30737         * gst-libs/gst/vaapi/gstvaapiutils.c:
30738           Add missing profiles from VA-API 0.32.0.
30739           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30740
30741 2012-01-06 16:48:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30742
30743         * .gitignore:
30744           .gitignore: add test-subpicture.
30745
30746 2012-01-06 11:23:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30747
30748         * configure.ac:
30749           Bump version for development.
30750
30751 2012-01-06 11:20:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30752
30753         * NEWS:
30754         * configure.ac:
30755           0.3.2.
30756
30757 2012-01-06 11:18:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30758
30759         * tests/Makefile.am:
30760           tests: fix make dist (ship with test-subpicture-data.h).
30761
30762 2012-01-05 17:35:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30763
30764         * NEWS:
30765           NEWS: updates.
30766
30767 2012-01-05 17:09:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30768
30769         * gst-libs/gst/vaapi/gstvaapidecoder.c:
30770         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
30771         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
30772           decoder: fix possible leak of VA surfaces.
30773           Under some circumstances, we could have leaked a surface, thus not
30774           releasing it to the pool of available surfaces in the VA context.
30775           The strategy is now to use a proxy earlier and automatically ref/unref
30776           whenever necessary. In particular, during the lifetime needed for FFmpeg.
30777
30778 2012-01-05 16:59:57 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30779
30780         * docs/reference/libs/libs-sections.txt:
30781         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
30782         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
30783           surfaceproxy: add helper to retrieve the VA surface ID.
30784
30785 2012-01-05 16:44:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30786
30787         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
30788           surfaceproxy: simplify destruction.
30789           Also make sure to always make sure to release the surface back to the
30790           pool of surfaces in the associated VA context, if any.
30791
30792 2012-01-05 16:26:49 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30793
30794         * gst/vaapi/gstvaapidecode.c:
30795           vaapidecode: fix deinitialization order.
30796
30797 2012-01-05 14:50:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30798
30799         * gst-libs/gst/vaapi/gstvaapicontext.c:
30800           context: avoid self reference loops with surfaces.
30801
30802 2012-01-05 11:23:01 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30803
30804         * debian.upstream/control.in:
30805           debian: update control.in description for new plugins.
30806
30807 2012-01-05 11:01:56 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30808
30809         * gst/vaapi/gstvaapiupload.c:
30810           vaapiupload: use new gst_vaapi_append_surface_caps() helper.
30811           This also fixes extra structures, beyond the one at index 0, to hold
30812           the right additional values.
30813
30814 2012-01-05 10:55:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30815
30816         * gst/vaapi/gstvaapiupload.c:
30817           vaapiupload: fix sink (YUV) caps to not report type and opengl fields.
30818
30819 2012-01-05 10:50:59 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30820
30821         * README:
30822         * docs/reference/plugins/plugins-docs.xml.in:
30823         * docs/reference/plugins/plugins-sections.txt:
30824         * docs/reference/plugins/plugins.types:
30825         * gst/vaapi/Makefile.am:
30826         * gst/vaapi/gstvaapi.c:
30827         * gst/vaapi/gstvaapidownload.c:
30828         * gst/vaapi/gstvaapidownload.h:
30829           vaapidownload: add new plugin to download pixels from VA surfaces.
30830
30831 2012-01-05 11:00:39 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30832
30833         * gst/vaapi/gstvaapipluginutil.c:
30834         * gst/vaapi/gstvaapipluginutil.h:
30835           vaapipluingutils: add helper to append surface caps to YUV caps.
30836
30837 2012-01-05 10:29:48 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30838
30839         * docs/reference/libs/libs-sections.txt:
30840         * gst-libs/gst/vaapi/gstvaapiimage.c:
30841         * gst-libs/gst/vaapi/gstvaapiimage.h:
30842           image: add helpers to extract pixels to user buffers.
30843
30844 2012-01-04 11:34:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30845
30846         * gst-libs/gst/vaapi/gstvaapiimage.c:
30847           image: simplify initialization of raw images from video buffers.
30848
30849 2012-01-04 11:29:11 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30850
30851         * gst-libs/gst/vaapi/gstvaapiimage.c:
30852           image: fix update from NV12 buffers.
30853
30854 2012-01-03 18:16:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30855
30856         * gst/vaapi/gstvaapiupload.c:
30857           vaapiupload: fix memory leak in _init() function.
30858
30859 2012-01-03 14:34:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30860
30861         * NEWS:
30862         * README:
30863         * debian.upstream/control.in:
30864         * docs/reference/plugins/plugins-docs.xml.in:
30865         * docs/reference/plugins/plugins-sections.txt:
30866         * docs/reference/plugins/plugins.types:
30867         * gst/vaapi/Makefile.am:
30868         * gst/vaapi/gstvaapi.c:
30869         * gst/vaapi/gstvaapiupload.c:
30870         * gst/vaapi/gstvaapiupload.h:
30871           Rename vaapiconvert element to vaapiupload.
30872
30873 2012-01-03 13:54:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30874
30875         * configure.ac:
30876           Bump version for development.
30877
30878 2012-01-03 13:42:12 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30879
30880         * NEWS:
30881         * configure.ac:
30882           0.3.1.
30883
30884 2011-12-14 15:22:24 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30885
30886         * NEWS:
30887           NEWS: updates.
30888
30889 2011-12-14 14:40:37 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30890
30891         * gst-libs/gst/vaapi/gstvaapisurface.c:
30892         * gst-libs/gst/vaapi/gstvaapisurface.h:
30893         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
30894         * gst/vaapi/gstvaapisink.c:
30895           surface: apply composition to the parent context, if requested.
30896
30897 2011-12-14 14:35:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30898
30899         * docs/reference/libs/libs-sections.txt:
30900         * gst-libs/gst/vaapi/gstvaapicontext.c:
30901         * gst-libs/gst/vaapi/gstvaapicontext.h:
30902           context: make it possible to apply composition globally.
30903
30904 2011-12-14 14:13:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30905
30906         * gst-libs/gst/vaapi/gstvaapisurface.c:
30907           surface: fix associate subpicture to not report deassociation errors.
30908
30909 2011-12-14 13:46:26 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30910
30911         * gst-libs/gst/vaapi/gstvaapisurface.c:
30912           surface: fix typo in debug message.
30913
30914 2011-12-14 13:16:21 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30915
30916         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
30917         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
30918         * gst-libs/gst/vaapi/gstvaapisurface.c:
30919           subpicture: add helper to create subpicture from GstVideoOverlayRectangle.
30920
30921 2011-12-13 16:53:15 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30922
30923         * docs/reference/libs/libs-sections.txt:
30924         * gst-libs/gst/vaapi/Makefile.am:
30925         * gst-libs/gst/vaapi/gstvaapicontext.c:
30926         * gst-libs/gst/vaapi/gstvaapisurface.c:
30927         * gst-libs/gst/vaapi/gstvaapisurface.h:
30928         * gst-libs/gst/vaapi/gstvaapisurface_priv.h:
30929           surface: record parent context.
30930
30931 2011-12-13 15:59:02 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30932
30933         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
30934         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
30935         * gst/vaapi/gstvaapidecode.c:
30936         * gst/vaapi/gstvaapisink.c:
30937           Fix warnings.
30938
30939 2011-12-13 15:51:58 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30940
30941         * gst-libs/gst/vaapi/gstvaapisurface.c:
30942         * gst-libs/gst/vaapi/gstvaapisurface.h:
30943         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
30944         * gst/vaapi/gstvaapisink.c:
30945           Rename gst_vaapi_surface_update_composition() to gst_vaapi_surface_set_subpictures_from_composition().
30946
30947 2011-12-13 13:40:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30948
30949         * configure.ac:
30950           configure: check for GstVideoOverlayComposition.
30951
30952 2011-12-12 18:42:44 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30953
30954         * NEWS:
30955           NEWS: updates.
30956
30957 2011-11-25 15:00:25 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
30958
30959         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
30960           converter: add support for GstVideoOverlayComposition planes.
30961           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30962
30963 2011-11-23 16:45:46 -0300  Thibault Saunier <thibault.saunier@collabora.com>
30964
30965         * gst/vaapi/gstvaapisink.c:
30966           vaapisink: handle GstVideoOverlayComposition planes.
30967           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30968
30969 2011-12-12 18:27:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30970
30971         * gst-libs/gst/vaapi/gstvaapisurface.c:
30972           surface: use unscaled overlay rectangle for blending.
30973
30974 2011-12-12 18:37:13 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30975
30976         * gst-libs/gst/vaapi/gstvaapisurface.c:
30977           surface: fix VA image leak when an error occurred.
30978
30979 2011-11-25 14:59:56 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
30980
30981         * gst-libs/gst/vaapi/gstvaapisurface.c:
30982         * gst-libs/gst/vaapi/gstvaapisurface.h:
30983           surface: add helper to handle GstVideoOverlayComposition.
30984           This helper resets the subpictures to reflect the current composition
30985           layers provided with the buffers.
30986           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30987
30988 2011-12-12 18:13:19 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30989
30990         * docs/reference/libs/libs-sections.txt:
30991         * gst-libs/gst/vaapi/Makefile.am:
30992         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
30993         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
30994         * gst/vaapi/gstvaapiconvert.c:
30995           image: add gst_vaapi_image_format_from_video() helper.
30996
30997 2011-12-12 16:34:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
30998
30999         * gst-libs/gst/vaapi/gstvaapiimage.c:
31000         * gst-libs/gst/vaapi/gstvaapiimage.h:
31001           image: allow updates from GstVaapiImageRaw.
31002
31003 2011-12-12 14:34:03 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31004
31005         * gst-libs/gst/vaapi/gstvaapiimage.c:
31006         * gst-libs/gst/vaapi/gstvaapiimage.h:
31007         * gst/vaapi/gstvaapiconvert.c:
31008         * tests/test-subpicture.c:
31009           image: allow partial updates.
31010
31011 2011-12-12 15:31:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31012
31013         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
31014           subpicture: fix doc for gst_vaapi_subpicture_set_image().
31015
31016 2011-12-12 13:39:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31017
31018         * gst-libs/gst/vaapi/gstvaapidisplay.c:
31019           display: fix has_image_format() to check against subpicture formats.
31020
31021 2011-10-17 18:43:15 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31022
31023         * tests/test-subpicture.c:
31024           tests: fix subpicture test.
31025
31026 2011-10-14 13:00:12 -0300  Thibault Saunier <thibault.saunier@collabora.com>
31027
31028         * tests/Makefile.am:
31029         * tests/test-subpicture-data.c:
31030         * tests/test-subpicture-data.h:
31031         * tests/test-subpicture.c:
31032           tests: add test for subpictures.
31033           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31034
31035 2011-11-25 12:28:04 -0500  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
31036
31037         * gst/vaapi/gstvaapiconvert.c:
31038         * gst/vaapi/gstvaapidecode.c:
31039           Add missing video context queries.
31040           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31041
31042 2011-12-12 13:22:07 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31043
31044         * configure.ac:
31045           Bump version for development.
31046
31047 2011-12-12 10:04:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31048
31049         * gst-libs/gst/video/Makefile.am:
31050         * gst-libs/gst/video/gstbasevideocodec.c:
31051         * gst-libs/gst/video/gstbasevideocodec.h:
31052         * gst-libs/gst/video/gstbasevideodecoder.c:
31053         * gst-libs/gst/video/gstbasevideodecoder.h:
31054         * gst-libs/gst/video/gstbasevideoutils.c:
31055         * gst-libs/gst/video/gstbasevideoutils.h:
31056           Drop unused copy of GstBaseVideoDecoder.
31057
31058 2011-12-09 11:46:45 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31059
31060         * NEWS:
31061         * configure.ac:
31062           0.3.0.
31063
31064 2011-12-09 11:38:43 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31065
31066         * README:
31067           README: update dependencies.
31068
31069 2011-12-09 11:38:34 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31070
31071         * NEWS:
31072           NEWS: updates.
31073
31074 2011-12-09 11:20:04 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31075
31076         * configure.ac:
31077           configure: check for GstBaseSink 'query' vfunc.
31078
31079 2011-12-09 10:45:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31080
31081         * gst/vaapi/Makefile.am:
31082           vaapiplugin: include local build dir to CFLAGS for generated files.
31083
31084 2011-12-09 10:44:52 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31085
31086         * autogen.sh:
31087           autogen: don't configure if NO_CONFIGURE variable is set.
31088
31089 2011-12-08 11:54:59 +0100  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
31090
31091         * gst/vaapi/gstvaapidecode.c:
31092         * gst/vaapi/gstvaapidecode.h:
31093           vaapidecode: return sink caps template if decoder is in NULL state.
31094           Otherwise, the decoder would always create its own X display instead
31095           of probing it from the downstream element, which is not reliable.
31096           e.g. DISPLAY is not :0 or when running on Wayland.
31097           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31098
31099 2011-12-08 15:44:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31100
31101         * gst/vaapi/gstvaapiconvert.c:
31102         * gst/vaapi/gstvaapidecode.c:
31103           vaapiplugin: properly set surface type to "vaapi" in caps.
31104
31105 2011-12-08 15:16:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31106
31107         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
31108           decoder: drop unused headers.
31109
31110 2011-11-04 19:47:25 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
31111
31112         * gst/vaapi/gstvaapiconvert.c:
31113         * gst/vaapi/gstvaapidecode.c:
31114           vaapiplugin: properly set opengl support in caps.
31115           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31116
31117 2011-11-04 20:07:52 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
31118
31119         * gst/vaapi/gstvaapiconvert.c:
31120         * gst/vaapi/gstvaapidecode.c:
31121           vaapiplugin: allocate GLX buffers when supported.
31122           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31123
31124 2011-11-04 19:47:09 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
31125
31126         * gst-libs/gst/vaapi/Makefile.am:
31127         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
31128         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.c:
31129         * gst-libs/gst/vaapi/gstvaapivideobuffer_glx.h:
31130         * gst-libs/gst/vaapi/gstvaapivideobuffer_priv.h:
31131         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.c:
31132         * gst-libs/gst/vaapi/gstvaapivideoconverter_glx.h:
31133           videobuffer: add GLX buffer support.
31134           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31135
31136 2011-10-06 16:06:15 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
31137
31138         * gst-libs/gst/vaapi/Makefile.am:
31139         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
31140         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
31141           Port to GstSurfaceBuffer interface.
31142           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31143
31144 2011-10-06 16:04:37 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
31145
31146         * gst/vaapi/gstvaapidecode.c:
31147         * gst/vaapi/gstvaapisink.c:
31148           Don't use downstream buffer allocation.
31149           With the new video/x-surface abstraction, we can't rely on having a VA
31150           specific sink downstream. Also, there was no particular reason to do that.
31151           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31152
31153 2011-11-04 17:16:23 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
31154
31155         * gst-libs/gst/vaapi/Makefile.am:
31156         * gst-libs/gst/vaapi/gstvaapicontext.c:
31157         * gst-libs/gst/vaapi/gstvaapisurface.h:
31158         * gst/vaapi/gstvaapiconvert.c:
31159         * gst/vaapi/gstvaapisink.c:
31160         * tests/Makefile.am:
31161         * tests/test-surfaces.c:
31162           Change caps to use new video/x-surface generic type.
31163           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31164
31165 2011-11-04 16:50:15 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.co.uk>
31166
31167         * configure.ac:
31168         * gst-libs/gst/vaapi/Makefile.am:
31169         * gst-libs/gst/vaapi/gstvaapiutils_gst.c:
31170         * gst/vaapi/Makefile.am:
31171         * gst/vaapi/gstvaapiconvert.c:
31172         * gst/vaapi/gstvaapidecode.c:
31173         * gst/vaapi/gstvaapipluginutil.c:
31174         * gst/vaapi/gstvaapipluginutil.h:
31175         * gst/vaapi/gstvaapisink.c:
31176         * gst/vaapi/gstvaapisink.h:
31177           Port to GstVideoContext interface.
31178           This new interface allows for upstream and downstream display sharing
31179           that works in both static and dynamic pipelines.
31180           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31181
31182 2011-12-08 14:57:36 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31183
31184         * gst/vaapi/gstvaapisink.c:
31185           vaapisink: use GST_ERROR to print error messages.
31186
31187 2011-12-08 13:30:51 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31188
31189         * gst/vaapi/Makefile.am:
31190           vaapiplugin: link against VA/GLX when enabled.
31191
31192 2011-12-07 19:09:55 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31193
31194         * gst/vaapi/gstvaapiconvert.c:
31195         * gst/vaapi/gstvaapisink.c:
31196           Add Intel copyright information.
31197
31198 2011-12-07 19:04:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31199
31200         * gst/vaapi/gstvaapisink.c:
31201           vaapisink: allow compatibility with gst-plugins-base < 0.10.31.
31202
31203 2011-12-07 18:40:35 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31204
31205         * .gitignore:
31206         * configure.ac:
31207         * gst-libs/gst/Makefile.am:
31208         * gst-libs/gst/gstutils_version.h.in:
31209           Add new GStreamer version check utilities.
31210
31211 2011-07-28 11:14:49 +0300  Sreerenj Balachandran <sreerenj.balachandran@intel.com>
31212
31213         * gst/vaapi/gstvaapisink.c:
31214           vaapisink: replace the deprecated xoverlay API with the new one.
31215           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31216
31217 2011-12-07 17:31:09 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31218
31219         * configure.ac:
31220           configure: allow for pre-releases.
31221
31222 2011-10-13 17:08:13 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
31223
31224         * gst-libs/gst/vaapi/gstvaapidisplay.c:
31225           display: destroy display on creation failure.
31226           This allows element to detect that the display creation has actually
31227           failed.
31228           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31229
31230 2011-10-13 17:07:35 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
31231
31232         * gst-libs/gst/vaapi/gstvaapidisplay.c:
31233           display: don't crash when config is empty.
31234           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31235
31236 2011-12-07 14:42:14 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31237
31238         * README:
31239         * debian.upstream/copyright:
31240           doc: mention Collabora copyrights.
31241
31242 2011-12-07 14:40:20 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31243
31244         * .gitignore:
31245           .gitignore: refine for generated docs.
31246
31247 2011-09-14 15:12:41 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
31248
31249         * configure.ac:
31250         * docs/reference/plugins/Makefile.am:
31251         * gst/Makefile.am:
31252         * gst/vaapi/Makefile.am:
31253         * gst/vaapi/gstvaapi.c:
31254         * gst/vaapi/gstvaapiconvert.c:
31255         * gst/vaapi/gstvaapiconvert.h:
31256         * gst/vaapi/gstvaapidecode.c:
31257         * gst/vaapi/gstvaapidecode.h:
31258         * gst/vaapi/gstvaapisink.c:
31259         * gst/vaapi/gstvaapisink.h:
31260         * gst/vaapiconvert/Makefile.am:
31261         * gst/vaapidecode/Makefile.am:
31262           Group all plugins into the same bundle
31263           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31264
31265 2011-07-21 14:31:30 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31266
31267         * configure.ac:
31268           Bump version for development.
31269
31270 2011-12-07 14:17:32 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31271
31272         * configure.ac:
31273         * debian.upstream/control.in:
31274           debian: build against upstream libva packages.
31275
31276 2011-12-07 13:52:17 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31277
31278         * docs/reference/libs/Makefile.am:
31279         * docs/reference/plugins/Makefile.am:
31280         * tests/Makefile.am:
31281           Fix build on Ubuntu 11.10 (Oneric).
31282
31283 2011-12-07 13:14:28 +0100  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31284
31285         * NEWS:
31286           0.2.7.
31287
31288 2011-09-12 16:20:16 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
31289
31290         * .gitignore:
31291           Adding ignore file
31292           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31293
31294 2011-10-24 16:18:16 -0400  Nicolas Dufresne <nicolas.dufresne@collabora.com>
31295
31296         * gst/vaapiconvert/gstvaapiconvert.c:
31297         * gst/vaapidecode/gstvaapidecode.c:
31298         * gst/vaapisink/gstvaapisink.c:
31299           Update license in plugin definition
31300           Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31301
31302 2011-10-12 14:00:50 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31303
31304         * NEWS:
31305         * gst-libs/gst/vaapi/gstvaapidecoder.c:
31306           decoder: fix use of invalid data at the end-of-stream.
31307
31308 2011-10-19 14:47:31 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31309
31310         * gst/vaapiconvert/gstvaapiconvert.c:
31311           vaapiconvert: fix some warnings.
31312
31313 2011-10-19 14:43:56 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31314
31315         * configure.ac:
31316         * debian.upstream/changelog.in:
31317         * debian.upstream/control.in:
31318         * debian.upstream/copyright:
31319         * gst/vaapiconvert/gstvaapiconvert.c:
31320         * gst/vaapidecode/gstvaapidecode.c:
31321         * gst/vaapisink/gstvaapisink.c:
31322           Update with my current e-mail address.
31323
31324 2011-10-19 14:39:21 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31325
31326         * NEWS:
31327         * README:
31328           Splitted-Desktop systems relicensed plugins and tests to LGPL v2.1+.
31329
31330 2011-10-18 09:18:20 +0200  warly <warly@warly.org>
31331
31332         * tests/image.c:
31333         * tests/image.h:
31334         * tests/test-decode.c:
31335         * tests/test-decode.h:
31336         * tests/test-display.c:
31337         * tests/test-h264.c:
31338         * tests/test-h264.h:
31339         * tests/test-mpeg2.c:
31340         * tests/test-mpeg2.h:
31341         * tests/test-surfaces.c:
31342         * tests/test-textures.c:
31343         * tests/test-vc1.c:
31344         * tests/test-vc1.h:
31345         * tests/test-windows.c:
31346           switch tests licence to LGPL v2.1+
31347
31348 2011-10-18 09:06:52 +0200  warly <warly@warly.org>
31349
31350         * COPYING:
31351         * README:
31352         * debian.upstream/copyright:
31353         * gst/vaapiconvert/gstvaapiconvert.c:
31354         * gst/vaapiconvert/gstvaapiconvert.h:
31355         * gst/vaapidecode/gstvaapidecode.c:
31356         * gst/vaapidecode/gstvaapidecode.h:
31357         * gst/vaapisink/gstvaapisink.c:
31358         * gst/vaapisink/gstvaapisink.h:
31359           move plugins to LGPL v2.1+
31360
31361 2011-09-14 13:07:18 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31362
31363         * gst/vaapidecode/gstvaapidecode.c:
31364           vaapidecode: fix sink caps to not expose size information.
31365           This fixes this particular issue:
31366           GStreamer-WARNING **: pad vaapidecode0:sink returned caps which are not
31367           a real subset of its template caps
31368
31369 2011-09-14 11:34:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31370
31371         * NEWS:
31372         * gst/vaapidecode/gstvaapidecode.c:
31373           vaapidecode: fix decoding of MPEG-2 PS files.
31374
31375 2011-09-12 13:00:04 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31376
31377         * gst-libs/gst/vaapi/Makefile.am:
31378           Cosmetics (sort source files).
31379
31380 2011-09-08 14:50:24 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31381
31382         * gst/vaapiconvert/gstvaapiconvert.c:
31383         * gst/vaapiconvert/gstvaapiconvert.h:
31384           vaapiconvert: fix direct-rendering caps detection.
31385
31386 2011-09-08 14:40:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31387
31388         * gst-libs/gst/vaapi/gstvaapiimage.c:
31389           Fix gst_vaapi_image_new_with_image().
31390
31391 2011-09-08 13:09:17 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31392
31393         * gst/vaapiconvert/gstvaapiconvert.c:
31394           vaapiconvert: warn when surface failed to be updated with image.
31395
31396 2011-09-06 18:34:33 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31397
31398         * gst/vaapiconvert/gstvaapiconvert.c:
31399           vaapiconvert: fix autodetection for vaDeriveImage() support.
31400
31401 2011-09-06 17:47:10 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31402
31403         * gst/vaapiconvert/gstvaapiconvert.c:
31404           vaapiconvert: fix memory leak (VA surface image).
31405
31406 2011-09-05 16:20:20 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31407
31408         * NEWS:
31409         * gst/vaapiconvert/gstvaapiconvert.c:
31410           vaapiconvert: fix direct-rendering mode.
31411
31412 2011-09-06 16:49:43 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31413
31414         * docs/reference/libs/libs-sections.txt:
31415         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
31416         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
31417           Add gst_vaapi_video_buffer_new_from_buffer().
31418           Add helper function to bind a foreign buffer into a GstVaapiVideoBuffer.
31419           Any image, surface or surface proxy will be inherited from the source buffer
31420           if it is a GstVaapiVideoBuffer.
31421
31422 2011-09-05 17:23:05 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31423
31424         * gst/vaapiconvert/gstvaapiconvert.c:
31425           vaapiconvert: protect access to direct_rendering.
31426
31427 2011-09-05 16:18:14 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31428
31429         * gst/vaapiconvert/gstvaapiconvert.c:
31430           vaapiconvert: use gst_vaapi_display_lookup_downstream() helper to get a VA display.
31431
31432 2011-08-01 14:15:39 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31433
31434         * NEWS:
31435         * README:
31436         * debian.upstream/copyright:
31437         * gst-libs/gst/vaapi/gstvaapidecoder.c:
31438         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
31439         * gst-libs/gst/vaapi/gstvaapisurface.h:
31440         * gst/vaapidecode/gstvaapidecode.c:
31441         * gst/vaapidecode/gstvaapidecode.h:
31442           Add Intel copyright information.
31443
31444 2011-07-22 15:59:00 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31445
31446         * NEWS:
31447           Updates.
31448
31449 2011-07-22 15:55:47 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31450
31451         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
31452           Fix build with newer FFmpeg versions.
31453
31454 2011-07-22 15:39:51 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31455
31456         * gst/vaapidecode/gstvaapidecode.c:
31457         * gst/vaapidecode/gstvaapidecode.h:
31458           Fix decoding of MPEG-2 TS files.
31459
31460 2011-07-22 15:34:48 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31461
31462         * gst-libs/gst/vaapi/gstvaapidecoder.c:
31463           Report caps update only once per video resolution change.
31464
31465 2011-07-22 15:33:13 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31466
31467         * gst-libs/gst/vaapi/gstvaapisurface.h:
31468           Add canonical form (type name) of VA surface caps.
31469
31470 2011-07-22 15:42:16 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31471
31472         * configure.ac:
31473           Bump version for development.
31474
31475 2011-07-19 17:38:40 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31476
31477         * configure.ac:
31478           Use pretty build output with automake >= 1.11.
31479
31480 2011-07-15 16:08:08 +0200  Gwenole Beauchesne <gwenole.beauchesne@intel.com>
31481
31482         * gst/vaapiconvert/Makefile.am:
31483         * gst/vaapidecode/Makefile.am:
31484         * gst/vaapisink/Makefile.am:
31485         * tests/Makefile.am:
31486           Fix build with libva headers not in a standard include dir.
31487
31488 2011-06-14 15:59:08 +0200  Gwenole Beauchesne <gbeauchesne@splitted-desktop.com>
31489
31490         * configure.ac:
31491           0.2.6.
31492
31493 2011-06-14 13:52:56 +0200  Gwenole Beauchesne <gbeauchesne@splitted-desktop.com>
31494
31495         * gst-libs/gst/vaapi/gstvaapi_priv.h:
31496         * gst-libs/gst/vaapi/gstvaapicompat.h:
31497         * gst-libs/gst/vaapi/gstvaapicontext.c:
31498         * gst-libs/gst/vaapi/gstvaapicontext.h:
31499         * gst-libs/gst/vaapi/gstvaapidebug.h:
31500         * gst-libs/gst/vaapi/gstvaapidecoder.c:
31501         * gst-libs/gst/vaapi/gstvaapidecoder.h:
31502         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
31503         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
31504         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
31505         * gst-libs/gst/vaapi/gstvaapidisplay.c:
31506         * gst-libs/gst/vaapi/gstvaapidisplay.h:
31507         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
31508         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
31509         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
31510         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
31511         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
31512         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
31513         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
31514         * gst-libs/gst/vaapi/gstvaapiimage.c:
31515         * gst-libs/gst/vaapi/gstvaapiimage.h:
31516         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
31517         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
31518         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
31519         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
31520         * gst-libs/gst/vaapi/gstvaapiobject.c:
31521         * gst-libs/gst/vaapi/gstvaapiobject.h:
31522         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
31523         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
31524         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
31525         * gst-libs/gst/vaapi/gstvaapiprofile.c:
31526         * gst-libs/gst/vaapi/gstvaapiprofile.h:
31527         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
31528         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
31529         * gst-libs/gst/vaapi/gstvaapisurface.c:
31530         * gst-libs/gst/vaapi/gstvaapisurface.h:
31531         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
31532         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
31533         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
31534         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
31535         * gst-libs/gst/vaapi/gstvaapitexture.c:
31536         * gst-libs/gst/vaapi/gstvaapitexture.h:
31537         * gst-libs/gst/vaapi/gstvaapitypes.h:
31538         * gst-libs/gst/vaapi/gstvaapiutils.c:
31539         * gst-libs/gst/vaapi/gstvaapiutils.h:
31540         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
31541         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
31542         * gst-libs/gst/vaapi/gstvaapiutils_gst.c:
31543         * gst-libs/gst/vaapi/gstvaapiutils_gst.h:
31544         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
31545         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
31546         * gst-libs/gst/vaapi/gstvaapivalue.c:
31547         * gst-libs/gst/vaapi/gstvaapivalue.h:
31548         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
31549         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
31550         * gst-libs/gst/vaapi/gstvaapivideopool.c:
31551         * gst-libs/gst/vaapi/gstvaapivideopool.h:
31552         * gst-libs/gst/vaapi/gstvaapivideosink.c:
31553         * gst-libs/gst/vaapi/gstvaapivideosink.h:
31554         * gst-libs/gst/vaapi/gstvaapiwindow.c:
31555         * gst-libs/gst/vaapi/gstvaapiwindow.h:
31556         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
31557         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
31558         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
31559         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
31560         * gst/vaapiconvert/gstvaapiconvert.c:
31561         * gst/vaapiconvert/gstvaapiconvert.h:
31562         * gst/vaapidecode/gstvaapidecode.c:
31563         * gst/vaapidecode/gstvaapidecode.h:
31564         * gst/vaapisink/gstvaapisink.c:
31565         * gst/vaapisink/gstvaapisink.h:
31566         * tests/image.c:
31567         * tests/image.h:
31568         * tests/test-decode.c:
31569         * tests/test-decode.h:
31570         * tests/test-display.c:
31571         * tests/test-h264.c:
31572         * tests/test-h264.h:
31573         * tests/test-mpeg2.c:
31574         * tests/test-mpeg2.h:
31575         * tests/test-surfaces.c:
31576         * tests/test-textures.c:
31577         * tests/test-vc1.c:
31578         * tests/test-vc1.h:
31579         * tests/test-windows.c:
31580           Update copyright notice.
31581
31582 2011-06-14 13:51:41 +0200  Gwenole Beauchesne <gbeauchesne@splitted-desktop.com>
31583
31584         * NEWS:
31585         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
31586         * gst-libs/gst/vaapi/gstvaapisurface.c:
31587         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
31588         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
31589         * gst-libs/gst/vaapi/gstvaapitexture.c:
31590         * gst-libs/gst/vaapi/gstvaapiutils.c:
31591         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
31592         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
31593         * gst-libs/gst/vaapi/gstvaapivalue.c:
31594         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
31595         * gst-libs/gst/vaapi/gstvaapivideopool.c:
31596         * gst-libs/gst/vaapi/gstvaapivideosink.c:
31597         * gst-libs/gst/vaapi/gstvaapiwindow.c:
31598         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
31599         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
31600           Fix licensing terms.
31601
31602 2010-07-20 11:23:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31603
31604         * NEWS:
31605           0.2.5.
31606
31607 2010-07-20 11:21:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31608
31609         * debian.upstream/copyright:
31610           Fix license terms...
31611
31612 2010-07-01 13:19:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31613
31614         * gst/vaapisink/gstvaapisink.c:
31615           Render pretty background only in use-reflection=true mode.
31616
31617 2010-07-01 11:43:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31618
31619         * NEWS:
31620           Updates.
31621
31622 2010-07-01 11:41:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31623
31624         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
31625           Drop the GLX 1.3 requirement.
31626
31627 2010-07-01 11:38:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31628
31629         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
31630         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
31631           Call the GLX/Pixmap related functions through the vtable.
31632
31633 2010-07-01 11:11:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31634
31635         * NEWS:
31636         * configure.ac:
31637         * gst-libs/gst/vaapi/Makefile.am:
31638         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
31639           Drop dependency on libavformat.
31640
31641 2010-06-22 15:15:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31642
31643         * gst-libs/gst/video/gstbasevideodecoder.c:
31644         * gst-libs/gst/video/gstbasevideodecoder.h:
31645           Add gst_base_video_decoder_update_src_caps(). Don't forcibly set "interlaced" field if upstream elements did not have any.
31646
31647 2010-06-22 14:06:25 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31648
31649         * gst-libs/gst/video/gstbasevideodecoder.c:
31650         * gst-libs/gst/video/gstbasevideoutils.c:
31651         * gst-libs/gst/video/gstbasevideoutils.h:
31652           Drop superfluous functions.
31653
31654 2010-06-22 13:57:33 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31655
31656         * gst-libs/gst/video/gstbasevideodecoder.c:
31657           Really drop any dependency on libgstvideo. i.e. inline the helpers.
31658
31659 2010-06-22 13:48:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31660
31661         * gst-libs/gst/video/gstbasevideodecoder.c:
31662           Further drop dependency on libgstvideo.
31663
31664 2010-06-22 12:57:06 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31665
31666         * gst-libs/gst/video/Makefile.am:
31667         * gst-libs/gst/video/gstbasevideocodec.c:
31668         * gst-libs/gst/video/gstbasevideocodec.h:
31669         * gst-libs/gst/video/gstbasevideodecoder.c:
31670         * gst-libs/gst/video/gstbasevideodecoder.h:
31671         * gst-libs/gst/video/gstbasevideoutils.c:
31672         * gst-libs/gst/video/gstbasevideoutils.h:
31673           Add GstBaseVideoDecoder from gst-plugins-bad git.
31674
31675 2010-06-15 12:36:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31676
31677         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
31678           Fix GLX version check.
31679
31680 2010-06-14 14:46:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31681
31682         * NEWS:
31683         * configure.ac:
31684           Bump version for development.
31685
31686 2010-06-14 14:14:42 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31687
31688         * NEWS:
31689         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
31690           Fix decoding of some H.264 streams. e.g. Ice Age 2 trailer.
31691
31692 2010-06-14 12:58:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31693
31694         * NEWS:
31695           Update changelog.
31696
31697 2010-06-14 09:20:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31698
31699         * gst-libs/gst/vaapi/gstvaapicompat.h:
31700           Fix build with older VA-API 0.29-sds.
31701
31702 2010-05-18 11:22:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31703
31704         * gst/vaapisink/gstvaapisink.c:
31705         * gst/vaapisink/gstvaapisink.h:
31706           Fix upscaling in foreign window (Totem).
31707
31708 2010-05-17 12:32:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31709
31710         * gst/vaapisink/gstvaapisink.c:
31711           Soft validate caps since we only care about video/x-vaapi-surface as input. _setcaps() will check for other fields.
31712
31713 2010-05-17 08:55:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31714
31715         * NEWS:
31716         * gst/vaapisink/gstvaapisink.c:
31717           Fix video rendering rect within an embedder window (Totem).
31718
31719 2010-05-17 08:28:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31720
31721         * NEWS:
31722         * gst/vaapisink/gstvaapisink.c:
31723           Disable GLX rendering when vaapisink uses a foreign X window.
31724
31725 2010-05-17 08:24:42 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31726
31727         * gst/vaapisink/gstvaapisink.c:
31728           Simplify GLX rendering code.
31729
31730 2010-05-17 07:32:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31731
31732         * configure.ac:
31733           Bump version for development.
31734
31735 2010-05-16 21:44:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31736
31737         * NEWS:
31738           0.2.3.
31739
31740 2010-05-16 21:35:14 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31741
31742         * gst/vaapidecode/gstvaapidecode.c:
31743           Wait for at most one second for a VA surface to become available.
31744
31745 2010-05-16 21:18:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31746
31747         * README:
31748         * configure.ac:
31749           Build-Requires: gstreamer0.10 >= 0.10.10 for gst_caps_merge().
31750
31751 2010-05-16 21:17:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31752
31753         * NEWS:
31754         * README:
31755         * gst-libs/gst/vaapi/gstvaapiprofile.c:
31756           Fix decoder caps to report codec aliases.
31757
31758 2010-05-16 21:04:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31759
31760         * NEWS:
31761         * gst/vaapidecode/gstvaapidecode.c:
31762         * gst/vaapidecode/gstvaapidecode.h:
31763           Fix VC-1 decoding through the playbin2 pipeline.
31764
31765 2010-05-15 15:33:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31766
31767         * docs/reference/libs/libs-sections.txt:
31768         * gst-libs/gst/vaapi/gstvaapidecoder.c:
31769         * gst-libs/gst/vaapi/gstvaapidecoder.h:
31770         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
31771         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
31772           Regularly update and expose decoder caps.
31773
31774 2010-05-15 09:43:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31775
31776         * gst-libs/gst/vaapi/gstvaapidecoder.c:
31777         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
31778         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
31779           Add mechanism to reinsert buffer leftovers into the queue.
31780
31781 2010-05-15 06:59:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31782
31783         * NEWS:
31784         * gst-libs/gst/vaapi/gstvaapidecoder.c:
31785           Fix memory leak of encoded buffers.
31786
31787 2010-05-15 05:36:15 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31788
31789         * docs/reference/libs/libs-sections.txt:
31790         * gst-libs/gst/vaapi/gstvaapicontext.c:
31791         * gst-libs/gst/vaapi/gstvaapicontext.h:
31792         * gst-libs/gst/vaapi/gstvaapidecoder.c:
31793         * gst-libs/gst/vaapi/gstvaapidecoder.h:
31794           Check for out-of-free-surfaces condition.
31795
31796 2010-05-15 04:35:00 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31797
31798         * gst-libs/gst/vaapi/gstvaapidecoder.h:
31799           Change GST_VAAPI_DECODER_STATUS_ERROR_UNKNOWN value to something more generic (-1).
31800
31801 2010-05-15 04:25:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31802
31803         * gst/vaapisink/gstvaapisink.c:
31804           Improve debug info for gst_vaapisink_ensure_render_rect().
31805
31806 2010-05-14 05:02:05 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31807
31808         * configure.ac:
31809           Bump version for development.
31810
31811 2010-05-13 21:52:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31812
31813         * NEWS:
31814           0.2.2.
31815
31816 2010-05-13 21:39:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31817
31818         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
31819           Improve previous fix.
31820
31821 2010-05-13 21:27:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31822
31823         * NEWS:
31824         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
31825           Fix a crash in the FFmpeg decoder on close.
31826
31827 2010-05-13 16:41:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31828
31829         * README:
31830           Sort platforms by name.
31831
31832 2010-05-13 09:40:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31833
31834         * NEWS:
31835         * configure.ac:
31836           Bump version for development.
31837
31838 2010-05-13 09:38:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31839
31840         * gst/vaapisink/gstvaapisink.c:
31841           Add debug info for _show_frame().
31842
31843 2010-05-13 07:19:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31844
31845         * Makefile.am:
31846           Nuke older build dir.
31847
31848 2010-05-13 07:19:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31849
31850         * debian.upstream/control.in:
31851           Fix packaging deps.
31852
31853 2010-05-13 06:12:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31854
31855         * NEWS:
31856           Cosmetics.
31857
31858 2010-05-13 06:11:42 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31859
31860         * NEWS:
31861         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
31862           Fix OpenGL texture internal format (Clutter).
31863
31864 2010-05-13 04:40:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31865
31866         * NEWS:
31867           Respin release.
31868
31869 2010-05-13 04:27:44 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31870
31871         * gst/vaapisink/gstvaapisink.c:
31872           Debug video & display PARs.
31873
31874 2010-05-13 04:22:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31875
31876         * gst/vaapisink/gstvaapisink.c:
31877           Use XGetGeometry() to retrieve the window size.
31878
31879 2010-05-12 19:40:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31880
31881         * gst/vaapisink/gstvaapisink.c:
31882           Move code around.
31883
31884 2010-05-12 19:35:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31885
31886         * gst/vaapisink/gstvaapisink.c:
31887           Ensure VA display is created prior to initializing the window from a specific XID. Also move code down.
31888
31889 2010-05-12 19:18:04 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31890
31891         * README:
31892           Drop obsolete comment.
31893
31894 2010-05-12 19:14:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31895
31896         * NEWS:
31897           0.2.1.
31898
31899 2010-05-12 19:14:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31900
31901         * gst/vaapidecode/gstvaapidecode.c:
31902           Fix GstVaapiDisplay refcounting in vaapidecode.
31903
31904 2010-05-12 14:10:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31905
31906         * gst-libs/gst/vaapi/gstvaapiutils_gst.c:
31907           Fix comment.
31908
31909 2010-05-12 12:58:53 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31910
31911         * gst/vaapisink/gstvaapisink.c:
31912         * gst/vaapisink/gstvaapisink.h:
31913           Fix render rect when the foreign window size changes.
31914
31915 2010-05-12 11:43:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31916
31917         * NEWS:
31918         * configure.ac:
31919         * gst/vaapisink/Makefile.am:
31920         * gst/vaapisink/gstvaapisink.c:
31921           Add GstXOverlay interface to vaapisink (e.g. for Totem).
31922
31923 2010-05-12 10:51:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31924
31925         * README:
31926           Update deps to match configure.ac versions.
31927
31928 2010-05-12 09:34:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31929
31930         * gst/vaapiconvert/gstvaapiconvert.c:
31931         * gst/vaapidecode/gstvaapidecode.c:
31932         * gst/vaapisink/gstvaapisink.c:
31933           Cosmetics.
31934
31935 2010-05-12 09:22:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31936
31937         * NEWS:
31938         * gst/vaapidecode/Makefile.am:
31939         * gst/vaapidecode/gstvaapidecode.c:
31940         * gst/vaapidecode/gstvaapidecode.h:
31941           Fix vaapidecode to expose the HW supported caps only.
31942
31943 2010-05-12 08:32:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31944
31945         * gst/vaapidecode/gstvaapidecode.c:
31946           Initialize decoder earlier.
31947
31948 2010-05-12 08:02:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31949
31950         * NEWS:
31951         * README:
31952         * gst/vaapidecode/gstvaapidecode.c:
31953           Fix integration within the playbin2 pipeline.
31954
31955 2010-05-12 08:02:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31956
31957         * docs/reference/libs/Makefile.am:
31958           Exclude gstvaapiutils_gst.h from docs for now.
31959
31960 2010-05-12 08:00:09 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31961
31962         * gst/vaapiconvert/gstvaapiconvert.c:
31963         * gst/vaapidecode/gstvaapidecode.c:
31964         * gst/vaapisink/gstvaapisink.c:
31965           Raise VA-API plugins ranks.
31966
31967 2010-05-12 07:57:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31968
31969         * gst-libs/gst/vaapi/Makefile.am:
31970         * gst-libs/gst/vaapi/gstvaapiutils_gst.c:
31971         * gst-libs/gst/vaapi/gstvaapiutils_gst.h:
31972           Add gst_vaapi_display_lookup_downstream() helper.
31973
31974 2010-05-11 16:23:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31975
31976         * gst/vaapidecode/gstvaapidecode.c:
31977           Use fixed caps on the src pad, they are not meant to change from video/x-vaapi-surface.
31978
31979 2010-05-11 16:19:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31980
31981         * docs/reference/libs/libs-sections.txt:
31982         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
31983         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
31984         * gst/vaapisink/gstvaapisink.c:
31985           Expose VA display through GstVaapiVideoBuffer.
31986
31987 2010-05-11 16:09:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31988
31989         * gst/vaapidecode/gstvaapidecode.c:
31990           Simplify gst_vaapidecode_set_caps() and fix memory leak.
31991
31992 2010-05-11 12:06:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
31993
31994         * docs/reference/libs/libs-sections.txt:
31995         * gst-libs/gst/vaapi/gstvaapivideopool.c:
31996         * gst-libs/gst/vaapi/gstvaapivideopool.h:
31997           Expose video pool display.
31998
31999 2010-05-11 12:03:13 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32000
32001         * gst-libs/gst/vaapi/gstvaapivideosink.c:
32002           Stop iteration if there is no more element to examine.
32003
32004 2010-05-10 09:32:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32005
32006         * gst/vaapiconvert/gstvaapiconvert.c:
32007         * gst/vaapidecode/gstvaapidecode.c:
32008         * gst/vaapisink/gstvaapisink.c:
32009           Improve plugin details.
32010
32011 2010-05-07 06:35:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32012
32013         * gst-libs/gst/vaapi/gstvaapisurface.h:
32014         * gst/vaapiconvert/gstvaapiconvert.c:
32015         * gst/vaapidecode/gstvaapidecode.c:
32016         * gst/vaapisink/gstvaapisink.c:
32017           Factor out VA surface caps.
32018
32019 2010-05-05 15:36:25 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32020
32021         * gst/vaapidecode/gstvaapidecode.c:
32022           Add gst_vaapidecode_ensure_display() helper for set-caps.
32023
32024 2010-05-05 12:57:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32025
32026         * configure.ac:
32027           Bump version for development.
32028
32029 2010-05-05 12:29:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32030
32031         * NEWS:
32032           Really make it 0.2.0.
32033
32034 2010-05-05 12:28:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32035
32036         * README:
32037           More docs.
32038
32039 2010-05-05 11:48:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32040
32041         * docs/reference/libs/Makefile.am:
32042           Don't exclude GstVaapiParamSpecs.
32043
32044 2010-05-05 11:44:06 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32045
32046         * docs/reference/libs/Makefile.am:
32047         * docs/reference/libs/libs-sections.txt:
32048         * gst-libs/gst/vaapi/gstvaapidecoder.h:
32049         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
32050           Fix docs.
32051
32052 2010-05-05 06:06:02 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32053
32054         * gst/vaapiconvert/gstvaapiconvert.c:
32055         * gst/vaapidecode/gstvaapidecode.c:
32056         * gst/vaapisink/gstvaapisink.c:
32057           Lower plugins rank for now since playbin2 auto-plugging is not working properly. User applications will have to create their own pipeline or with some hacks around playbin2.
32058
32059 2010-05-04 15:03:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32060
32061         * gst-libs/gst/vaapi/Makefile.am:
32062           Really link all helper libraries with libtool -no-undefined.
32063
32064 2010-05-04 15:02:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32065
32066         * gst-libs/gst/vaapi/Makefile.am:
32067           Link helper libraries with libtool -no-undefined.
32068
32069 2010-05-04 14:59:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32070
32071         * configure.ac:
32072         * debian.upstream/gstreamer-vaapi.install.in:
32073         * gst/vaapiconvert/Makefile.am:
32074         * gst/vaapidecode/Makefile.am:
32075         * gst/vaapisink/Makefile.am:
32076           Don't build plugins with SONAME. Make them plain *.so.
32077
32078 2010-05-04 08:59:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32079
32080         * README:
32081           Improve documentation for release.
32082
32083 2010-05-03 22:50:56 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32084
32085         * gst-libs/gst/vaapi/gstvaapiprofile.c:
32086           Fix build with older VA-API 0.29.
32087
32088 2010-05-03 22:43:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32089
32090         * NEWS:
32091           0.2.0.
32092
32093 2010-05-03 22:42:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32094
32095         * tests/Makefile.am:
32096           Fix make dist.
32097
32098 2010-05-03 22:36:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32099
32100         * docs/reference/libs/Makefile.am:
32101         * docs/reference/libs/libs-docs.xml.in:
32102         * docs/reference/libs/libs-sections.txt:
32103         * docs/reference/libs/libs.core.types:
32104         * docs/reference/plugins/Makefile.am:
32105         * docs/reference/plugins/plugins-docs.xml.in:
32106         * docs/reference/plugins/plugins-sections.txt:
32107         * docs/reference/plugins/plugins.types:
32108           Add missing docs.
32109
32110 2010-05-03 22:34:53 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32111
32112         * gst-libs/gst/vaapi/gstvaapiprofile.c:
32113           Fix doc.
32114
32115 2010-05-03 22:28:02 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32116
32117         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
32118         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
32119         * gst/vaapidecode/gstvaapidecode.c:
32120         * tests/test-decode.c:
32121           Rename gst_vaapi_decoder_ffmpeg_new_from_caps() to plain gst_vaapi_decoder_ffmpeg_new().
32122
32123 2010-05-03 22:02:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32124
32125         * gst-libs/gst/vaapi/gstvaapidecoder.c:
32126         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
32127           Extract framerate information from caps.
32128
32129 2010-05-03 21:49:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32130
32131         * gst-libs/gst/vaapi/gstvaapidecoder.c:
32132         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
32133         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
32134           Move caps initialization to parent class.
32135
32136 2010-05-03 21:25:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32137
32138         * gst-libs/gst/vaapi/gstvaapidecoder.c:
32139           Simplify.
32140
32141 2010-05-03 21:25:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32142
32143         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
32144           Fix doc.
32145
32146 2010-05-03 21:14:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32147
32148         * gst-libs/gst/vaapi/gstvaapidecoder.c:
32149         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
32150           More simplifications.
32151
32152 2010-05-03 20:55:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32153
32154         * gst-libs/gst/vaapi/gstvaapidecoder.c:
32155         * gst-libs/gst/vaapi/gstvaapidecoder.h:
32156         * tests/test-decode.c:
32157           Simplify GstVaapiDecoder API.
32158
32159 2010-05-03 20:40:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32160
32161         * gst-libs/gst/vaapi/gstvaapidecoder.h:
32162           Drop obsolete defs.
32163
32164 2010-05-03 20:34:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32165
32166         * gst-libs/gst/vaapi/gstvaapidecoder.h:
32167           Drop obsolete decls.
32168
32169 2010-05-03 17:36:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32170
32171         * gst-libs/gst/vaapi/gstvaapiprofile.c:
32172         * gst/vaapidecode/gstvaapidecode.c:
32173           Add more aliases for MPEG-4 decoding.
32174
32175 2010-05-03 17:04:00 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32176
32177         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
32178           Use avctx->coded_{width,height} info to create the VA context.
32179
32180 2010-05-03 16:54:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32181
32182         * tests/test-decode.c:
32183         * tests/test-decode.h:
32184           Use gst_vaapi_decoder_ffmpeg_new_from_caps().
32185
32186 2010-05-03 16:41:13 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32187
32188         * tests/test-decode.c:
32189         * tests/test-decode.h:
32190         * tests/test-h264.c:
32191         * tests/test-h264.h:
32192         * tests/test-mpeg2.c:
32193         * tests/test-mpeg2.h:
32194         * tests/test-vc1.c:
32195         * tests/test-vc1.h:
32196           Simplify tests info.
32197
32198 2010-05-03 16:17:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32199
32200         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
32201           Try to improve heuristics to use an AVCodecContextParser.
32202
32203 2010-05-03 15:35:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32204
32205         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
32206           Fix VC-1 decoding, it does not require any specific parser.
32207
32208 2010-05-03 15:34:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32209
32210         * gst-libs/gst/vaapi/gstvaapiprofile.c:
32211           Fix VC-1 detection with older gstreamer libs (no "fourcc" field, but a "format" one).
32212
32213 2010-05-03 15:29:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32214
32215         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
32216         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
32217           Use size information from the demuxer, whenever available. i.e. fix WMV3 decoding.
32218
32219 2010-05-03 15:11:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32220
32221         * gst-libs/gst/vaapi/gstvaapidecoder.c:
32222         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
32223         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
32224         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
32225         * gst/vaapidecode/gstvaapidecode.c:
32226         * gst/vaapidecode/gstvaapidecode.h:
32227           Add gst_vaapi_decoder_ffmpeg_new_from_caps() helper.
32228
32229 2010-05-03 14:53:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32230
32231         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
32232         * gst-libs/gst/vaapi/gstvaapiprofile.c:
32233         * gst-libs/gst/vaapi/gstvaapiprofile.h:
32234           Improve WMV3 detection yet further.
32235
32236 2010-05-03 13:44:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32237
32238         * gst-libs/gst/vaapi/gstvaapiprofile.c:
32239           Fix detection of plain old WMV3 contents.
32240
32241 2010-05-03 12:25:07 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32242
32243         * tests/test-vc1.c:
32244           Add End-of-Sequence start code.
32245
32246 2010-05-03 11:44:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32247
32248         * gst-libs/gst/vaapi/gstvaapiprofile.c:
32249         * gst/vaapidecode/gstvaapidecode.c:
32250           Fix VC-1 detection.
32251
32252 2010-05-03 08:51:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32253
32254         * gst-libs/gst/vaapi/gstvaapidecoder.c:
32255           Fix build with older gstreamer libs where gst_buffer_unref() is not a plain function.
32256
32257 2010-05-03 08:34:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32258
32259         * gst-libs/gst/vaapi/gstvaapidecoder.c:
32260         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
32261           Drop obsolete (and wrong) code.
32262
32263 2010-05-03 08:33:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32264
32265         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
32266           Cosmetics (spelling).
32267
32268 2010-05-03 08:32:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32269
32270         * gst-libs/gst/vaapi/gstvaapidecoder.c:
32271         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
32272         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
32273           Try to fix timestamps (step 1). Looks OK on H55.
32274
32275 2010-05-03 07:10:04 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32276
32277         * debian.upstream/Makefile.am:
32278           Ship with COPYING.LIB.
32279
32280 2010-05-03 07:07:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32281
32282         * COPYING.LIB:
32283         * NEWS:
32284         * README:
32285         * gst-libs/gst/vaapi/gstvaapi_priv.h:
32286         * gst-libs/gst/vaapi/gstvaapicompat.h:
32287         * gst-libs/gst/vaapi/gstvaapicontext.c:
32288         * gst-libs/gst/vaapi/gstvaapicontext.h:
32289         * gst-libs/gst/vaapi/gstvaapidebug.h:
32290         * gst-libs/gst/vaapi/gstvaapidecoder.c:
32291         * gst-libs/gst/vaapi/gstvaapidecoder.h:
32292         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
32293         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
32294         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
32295         * gst-libs/gst/vaapi/gstvaapidisplay.c:
32296         * gst-libs/gst/vaapi/gstvaapidisplay.h:
32297         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
32298         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
32299         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
32300         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
32301         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
32302         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
32303         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
32304         * gst-libs/gst/vaapi/gstvaapiimage.c:
32305         * gst-libs/gst/vaapi/gstvaapiimage.h:
32306         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
32307         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
32308         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
32309         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
32310         * gst-libs/gst/vaapi/gstvaapiobject.c:
32311         * gst-libs/gst/vaapi/gstvaapiobject.h:
32312         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
32313         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
32314         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
32315         * gst-libs/gst/vaapi/gstvaapiprofile.c:
32316         * gst-libs/gst/vaapi/gstvaapiprofile.h:
32317         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
32318         * gst-libs/gst/vaapi/gstvaapisurface.h:
32319         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
32320         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
32321         * gst-libs/gst/vaapi/gstvaapitexture.h:
32322         * gst-libs/gst/vaapi/gstvaapitypes.h:
32323         * gst-libs/gst/vaapi/gstvaapiutils.h:
32324         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
32325         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
32326         * gst-libs/gst/vaapi/gstvaapivalue.h:
32327         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
32328         * gst-libs/gst/vaapi/gstvaapivideopool.h:
32329         * gst-libs/gst/vaapi/gstvaapivideosink.h:
32330         * gst-libs/gst/vaapi/gstvaapiwindow.h:
32331         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
32332         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
32333           Relicense gst-libs/ code to LGPL v2.1+.
32334
32335 2010-05-03 06:49:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32336
32337         * gst-libs/gst/vaapi/gstvaapiprofile.c:
32338           Drop extraneous comma.
32339
32340 2010-05-03 06:49:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32341
32342         * gst-libs/gst/vaapi/gstvaapiprofile.c:
32343           Drop variant=itu field to help codec detection.
32344
32345 2010-04-30 15:50:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32346
32347         * gst/vaapidecode/gstvaapidecode.c:
32348           Decode as many surfaces as possible in gst_vaapidecode_step().
32349
32350 2010-04-30 15:37:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32351
32352         * gst-libs/gst/vaapi/gstvaapidecoder.c:
32353         * gst-libs/gst/vaapi/gstvaapidecoder.h:
32354         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
32355         * gst/vaapidecode/gstvaapidecode.c:
32356         * gst/vaapidecode/gstvaapidecode.h:
32357         * tests/test-decode.c:
32358           Drop excessive threading that over-complicates synchronisation. MPEG-2 & H.264 videos now play but there are other problems (timestamps).
32359
32360 2010-04-30 13:13:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32361
32362         * configure.ac:
32363           0.2.0.
32364
32365 2010-04-30 12:04:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32366
32367         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
32368           Move VA context reset to AVCodecContext.get_context() as the surface sizes can change.
32369
32370 2010-04-30 09:52:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32371
32372         * gst-libs/gst/vaapi/gstvaapidisplay.c:
32373         * gst-libs/gst/vaapi/gstvaapidisplay.h:
32374           Fix gst_vaapi_display_has_{decoder,encoder}() to check for the entrypoint too.
32375
32376 2010-04-30 09:48:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32377
32378         * gst-libs/gst/vaapi/gstvaapiprofile.c:
32379         * gst-libs/gst/vaapi/gstvaapiprofile.h:
32380           Add GST_VAAPI_ENTRYPOINT_SLICE_ENCODE.
32381
32382 2010-04-30 08:18:07 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32383
32384         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
32385           Document H.264 / AVC1 format case better.
32386
32387 2010-04-29 23:09:07 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32388
32389         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
32390           Fix H.264 decoding with AVC1 format bitstreams.
32391
32392 2010-04-29 22:00:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32393
32394         * gst/vaapidecode/gstvaapidecode.c:
32395           Complete initialization of the GstVaapiVideoBuffer. Some frames start to show up.
32396
32397 2010-04-29 21:59:14 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32398
32399         * gst/vaapisink/gstvaapisink.c:
32400           Add missing GstBaseSink::buffer_alloc() override. i.e. make sure to allocate a GstVaapiVideoBuffer instead of a plain GstBuffer from the peer pad.
32401
32402 2010-04-29 21:56:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32403
32404         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
32405         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
32406           Export gst_vaapi_video_buffer_new().
32407
32408 2010-04-29 21:12:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32409
32410         * gst-libs/gst/vaapi/gstvaapiprofile.c:
32411           Fix gst_vaapi_profile_get_caps() to include the "profile" field.
32412
32413 2010-04-29 17:56:42 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32414
32415         * configure.ac:
32416           Fix comment.
32417
32418 2010-04-29 17:55:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32419
32420         * NEWS:
32421         * configure.ac:
32422         * gst/Makefile.am:
32423         * gst/vaapidecode/Makefile.am:
32424         * gst/vaapidecode/gstvaapidecode.c:
32425         * gst/vaapidecode/gstvaapidecode.h:
32426           Add FFmpeg/VAAPI decoder for the new `vaapidecode' element.
32427
32428 2010-04-29 17:51:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32429
32430         * gst-libs/gst/vaapi/gstvaapidecoder.c:
32431         * gst-libs/gst/vaapi/gstvaapidecoder.h:
32432           Add gst_vaapi_decoder_pause().
32433
32434 2010-04-29 17:11:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32435
32436         * gst-libs/gst/vaapi/gstvaapidecoder.c:
32437         * gst-libs/gst/vaapi/gstvaapidecoder.h:
32438         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
32439           Use a GstTask with start/stop semantics for the decoder thread.
32440
32441 2010-04-29 16:08:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32442
32443         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
32444           Drop extraneous var.
32445
32446 2010-04-29 15:45:44 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32447
32448         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
32449         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
32450           Add support for GstVaapiSurfaceProxy to GstVaapiVideoBuffer.
32451
32452 2010-04-29 14:58:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32453
32454         * gst-libs/gst/vaapi/gstvaapidecoder.c:
32455           Fix gst_vaapi_decoder_get_surface() status.
32456
32457 2010-04-29 14:28:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32458
32459         * gst-libs/gst/vaapi/gstvaapidecoder.c:
32460         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
32461           Try to set correct timestamps to the decoded surface proxy.
32462
32463 2010-04-29 12:52:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32464
32465         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
32466         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
32467         * tests/test-decode.c:
32468           Add timestamps to GstVaapiSurfaceProxy.
32469
32470 2010-04-29 09:43:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32471
32472         * gst-libs/gst/vaapi/gstvaapidecoder.c:
32473           Fix GstVaapiDecoder::destroy(): GASyncQueue is not a GObject, likewise for GstBuffer.
32474
32475 2010-04-29 09:40:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32476
32477         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
32478           Fix destructor, av_parser_close() does destroy the struct already, unliker avcodec_close()...
32479
32480 2010-04-29 09:35:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32481
32482         * gst-libs/gst/vaapi/gstvaapiprofile.c:
32483           Prefer profile from codec-data if any was found there.
32484
32485 2010-04-29 09:34:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32486
32487         * gst-libs/gst/vaapi/gstvaapiprofile.c:
32488           Improve heuristics to find the best profile. Use the highest one if no explicit match on "profile" field.
32489
32490 2010-04-28 23:09:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32491
32492         * gst-libs/gst/vaapi/gstvaapidecoder.c:
32493           Make sure gst_vaapi_decoder_get_surface() gets unblocked on error.
32494
32495 2010-04-28 22:30:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32496
32497         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
32498           Fix VC-1 codec initialization, it really needs an extradata buffer.
32499
32500 2010-04-28 22:16:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32501
32502         * gst-libs/gst/vaapi/gstvaapidecoder.h:
32503         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
32504           Split decoder creation with actual resources allocation and codec setup (probe). This fixes a memory leak (avctx, pctx) on destroy and most interestingly makes it possible to detect unsupported codecs.
32505
32506 2010-04-28 21:58:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32507
32508         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
32509           Move gst_vaapi_decoder_ffmpeg_create() call to object constructor.
32510
32511 2010-04-28 21:50:44 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32512
32513         * gst-libs/gst/vaapi/gstvaapidecoder.c:
32514         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
32515         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
32516         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
32517         * tests/test-decode.c:
32518           Add "codec-data" property for additional codec data. e.g. VC-1 sequence headers for elementary streams.
32519
32520 2010-04-28 21:20:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32521
32522         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
32523           Cosmetics (weird indentation).
32524
32525 2010-04-28 21:15:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32526
32527         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
32528           Cosmetics (extraneous variable, debug message).
32529
32530 2010-04-28 09:07:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32531
32532         * configure.ac:
32533           Fix check for VA-API enabled FFmpeg.
32534
32535 2010-04-27 15:26:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32536
32537         * gst-libs/gst/vaapi/gstvaapidecoder.c:
32538         * gst-libs/gst/vaapi/gstvaapidecoder.h:
32539         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
32540         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
32541           - Add PTS and framerate information. - Simplify parsing with an AVCodeParserContext.
32542
32543 2010-04-27 11:59:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32544
32545         * gst-libs/gst/vaapi/gstvaapidecoder.c:
32546         * gst-libs/gst/vaapi/gstvaapidecoder.h:
32547           Add more error codes. Fix documentation.
32548
32549 2010-04-26 13:30:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32550
32551         * gst-libs/gst/vaapi/gstvaapiprofile.c:
32552           Fix gst_vaapi_profile_get_codec(). Improve gst_vaapi_profile_from_caps() for H.264 & caps with "codec-data".
32553
32554 2010-04-26 11:44:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32555
32556         * gst-libs/gst/vaapi/gstvaapidecoder.c:
32557         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
32558         * tests/test-decode.c:
32559           Handle user end-of-streams. Add gst_vaapi_decoder_{start,stop}() helpers.
32560
32561 2010-04-26 11:36:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32562
32563         * tests/test-vc1.c:
32564           Drop useless End-of-Sequence marker.
32565
32566 2010-04-26 08:53:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32567
32568         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
32569           Flush stream only if avcodec_decode_video() read something. Otherwise, we might still have to seek into the stream. i.e. keep the data longer.
32570
32571 2010-04-26 08:40:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32572
32573         * gst-libs/gst/vaapi/gstvaapidisplay.c:
32574         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
32575           Use a recursive mutex so that a single thread can lock several times. This fixes decoding of MPEG-2 and H.264 because those created a GstVaapiContext later through avcodec_decode_video() that was a protected call.
32576
32577 2010-04-26 08:15:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32578
32579         * tests/test-h264.c:
32580         * tests/test-vc1.c:
32581           Regenerate correct clips.
32582
32583 2010-04-23 16:11:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32584
32585         * tests/Makefile.am:
32586         * tests/test-decode.c:
32587         * tests/test-h264.c:
32588         * tests/test-h264.h:
32589         * tests/test-mpeg2.c:
32590         * tests/test-mpeg2.h:
32591         * tests/test-vc1.c:
32592         * tests/test-vc1.h:
32593           Add decoder demos. Use -c (mpeg2|h264|vc1) to select the codec.
32594           XXX: only VC-1 decoding works at this time because of awful
32595           bugs left in GstVaapiDecoderFfmpeg et al.
32596
32597 2010-04-23 16:05:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32598
32599         * configure.ac:
32600         * gst-libs/gst/vaapi/Makefile.am:
32601         * gst-libs/gst/vaapi/gstvaapidecoder.c:
32602         * gst-libs/gst/vaapi/gstvaapidecoder.h:
32603         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.c:
32604         * gst-libs/gst/vaapi/gstvaapidecoder_ffmpeg.h:
32605         * gst-libs/gst/vaapi/gstvaapidecoder_priv.h:
32606           Add initial (multithreaded) decoder based on FFmpeg.
32607           There are tons of bugs left:
32608           - Decoder API not nice enough with error conditions
32609           - FFmpeg parser is sometimes broken
32610           - Packets queue can be lost
32611
32612 2010-04-23 16:00:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32613
32614         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.c:
32615         * gst-libs/gst/vaapi/gstvaapisurfaceproxy.h:
32616           Add surface proxy that holds a reference to the parent surface and that returns the surface to that context on destruction.
32617
32618 2010-04-23 15:59:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32619
32620         * gst-libs/gst/vaapi/gstvaapicontext.c:
32621         * gst-libs/gst/vaapi/gstvaapicontext.h:
32622           Add VA context abstraction.
32623
32624 2010-04-23 10:58:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32625
32626         * gst-libs/gst/vaapi/gstvaapiprofile.h:
32627           Fix VA profiles definitions for gst_vaapi_profile_get_codec() to work.
32628
32629 2010-04-21 15:03:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32630
32631         * gst-libs/gst/vaapi/gstvaapivideopool.c:
32632         * gst-libs/gst/vaapi/gstvaapivideopool.h:
32633           Add a means to cap the number of objects allocated in the pool.
32634
32635 2010-04-21 15:02:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32636
32637         * gst-libs/gst/vaapi/gstvaapiprofile.c:
32638         * gst-libs/gst/vaapi/gstvaapiprofile.h:
32639           Add VA entrypoint abstraction.
32640
32641 2010-04-20 13:36:04 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32642
32643         * docs/reference/libs/libs-docs.xml.in:
32644         * docs/reference/libs/libs-sections.txt:
32645         * gst-libs/gst/vaapi/Makefile.am:
32646         * gst-libs/gst/vaapi/gstvaapidisplay.c:
32647         * gst-libs/gst/vaapi/gstvaapidisplay.h:
32648         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
32649         * gst-libs/gst/vaapi/gstvaapiprofile.c:
32650         * gst-libs/gst/vaapi/gstvaapiprofile.h:
32651         * tests/test-display.c:
32652           Add VA profile abstraction.
32653
32654 2010-04-20 07:51:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32655
32656         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
32657           Fix OpenGL rendering on G45 systems.
32658
32659 2010-04-16 13:47:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32660
32661         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
32662           Fix gl_create_context() to find a GLXFBConfig compatible with the parent GL context.
32663
32664 2010-04-02 11:27:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32665
32666         * gst-libs/gst/vaapi/gstvaapitexture.c:
32667         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
32668         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
32669           Fix TFP logic and simplify the FBO model. i.e. it's not necessary to create another texture (and storage) for the TFP, simply a new texture name.
32670
32671 2010-04-01 16:11:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32672
32673         * gst-libs/gst/vaapi/gstvaapitexture.c:
32674           Fix get-out conditions.
32675
32676 2010-04-01 15:38:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32677
32678         * gst-libs/gst/vaapi/gstvaapitexture.c:
32679         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
32680           The shared GL context in GstVaapiTexture is only useful for cases where TFP+FBO are used, thus avoiding the need fully preserve the states and call into glGet*() functions that need synchronization.
32681
32682 2010-04-01 13:55:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32683
32684         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
32685           Shorter structs.
32686
32687 2010-04-01 13:41:24 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32688
32689         * docs/reference/libs/libs-sections.txt:
32690         * gst-libs/gst/vaapi/Makefile.am:
32691         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
32692         * gst-libs/gst/vaapi/gstvaapidisplay_glx_priv.h:
32693         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
32694         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
32695         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
32696         * gst-libs/gst/vaapi/gstvaapidisplay_x11_priv.h:
32697         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
32698         * gst-libs/gst/vaapi/gstvaapitexture.c:
32699         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
32700         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
32701         * tests/test-windows.c:
32702           Make more helpers internal, thus reducing .text size further. Add gst_vaapi_display_x11_get_screen() helper along the way.
32703
32704 2010-04-01 09:47:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32705
32706         * gst-libs/gst/vaapi/Makefile.am:
32707         * gst-libs/gst/vaapi/gstvaapi_priv.h:
32708         * gst-libs/gst/vaapi/gstvaapidisplay.c:
32709         * gst-libs/gst/vaapi/gstvaapidisplay.h:
32710         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
32711         * gst-libs/gst/vaapi/gstvaapidisplay_priv.h:
32712         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
32713         * gst-libs/gst/vaapi/gstvaapiimage.c:
32714         * gst-libs/gst/vaapi/gstvaapiobject.c:
32715         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
32716         * gst-libs/gst/vaapi/gstvaapisurface.c:
32717         * gst-libs/gst/vaapi/gstvaapitexture.c:
32718         * gst-libs/gst/vaapi/gstvaapiwindow.c:
32719         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
32720         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
32721           Move GST_VAAPI_DISPLAY_VADISPLAY() and GST_VAAPI_DISPLAY_{LOCK,UNLOCK}() to gstvaapidisplay_priv.h.
32722
32723 2010-03-31 15:25:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32724
32725         * gst-libs/gst/vaapi/gstvaapitexture.c:
32726         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
32727         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
32728         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
32729           Improve handling of GL contexts.
32730
32731 2010-03-30 16:41:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32732
32733         * configure.ac:
32734           Simplify summary.
32735
32736 2010-03-30 13:33:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32737
32738         * configure.ac:
32739           Bump version for development.
32740
32741 2010-03-30 13:29:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32742
32743         * configure.ac:
32744         * debian.upstream/Makefile.am:
32745         * debian.upstream/control.in:
32746           Rename -dev package to libgstvaapi-dev.
32747
32748 2010-03-30 13:17:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32749
32750         * NEWS:
32751         * README:
32752           Updates.
32753
32754 2010-03-30 13:05:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32755
32756         * gst-libs/gst/vaapi/gstvaapiutils.c:
32757           Fix build with VA-API < 0.30.
32758
32759 2010-03-30 13:01:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32760
32761         * configure.ac:
32762         * gst-libs/gst/vaapi/gstvaapicompat.h:
32763         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
32764         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
32765         * gst-libs/gst/vaapi/gstvaapitexture.c:
32766         * tests/test-display.c:
32767           Enable build without VA/GLX extensions. i.e. fallback to TFP + FBO.
32768
32769 2010-03-30 12:59:15 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32770
32771         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
32772         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
32773           Add TFP and FBO helpers.
32774
32775 2010-03-30 12:55:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32776
32777         * gst-libs/gst/vaapi/gstvaapiutils.c:
32778         * gst-libs/gst/vaapi/gstvaapiutils.h:
32779           Cosmetics. Make vaapi_check_status() use GST_DEBUG() for error messages.
32780
32781 2010-03-30 08:13:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32782
32783         * gst-libs/gst/vaapi/gstvaapitexture.c:
32784         * gst-libs/gst/vaapi/gstvaapiutils.c:
32785         * gst-libs/gst/vaapi/gstvaapiutils.h:
32786         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
32787           Use a shorter function name.
32788
32789 2010-03-30 08:11:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32790
32791         * docs/reference/libs/libs-sections.txt:
32792         * gst-libs/gst/vaapi/gstvaapisurface.c:
32793         * gst-libs/gst/vaapi/gstvaapisurface.h:
32794         * gst-libs/gst/vaapi/gstvaapiutils.c:
32795         * gst-libs/gst/vaapi/gstvaapiutils.h:
32796           Add gst_vaapi_surface_query_status() wrapper.
32797
32798 2010-03-30 07:50:11 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32799
32800         * docs/reference/plugins/Makefile.am:
32801           Fix leftover during migration.
32802
32803 2010-03-30 07:46:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32804
32805         * Makefile.am:
32806         * configure.ac:
32807         * docs/reference/plugins/Makefile.am:
32808         * gst/Makefile.am:
32809         * gst/vaapiconvert/Makefile.am:
32810         * gst/vaapiconvert/gstvaapiconvert.c:
32811         * gst/vaapiconvert/gstvaapiconvert.h:
32812         * gst/vaapisink/Makefile.am:
32813         * gst/vaapisink/gstvaapisink.c:
32814         * gst/vaapisink/gstvaapisink.h:
32815           Rename to gst/ as sys/ was too vague.
32816
32817 2010-03-30 07:39:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32818
32819         * gst-libs/gst/vaapi/gstvaapiimage.c:
32820         * gst-libs/gst/vaapi/gstvaapiimage.h:
32821         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
32822         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
32823         * gst-libs/gst/vaapi/gstvaapisurface.c:
32824         * gst-libs/gst/vaapi/gstvaapisurface.h:
32825           Try to not reference VA-API types directly.
32826
32827 2010-03-29 16:24:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32828
32829         * sys/vaapisink/gstvaapisink.c:
32830           Fix reflection code to preserve aspect ratio.
32831
32832 2010-03-29 16:17:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32833
32834         * sys/vaapisink/gstvaapisink.c:
32835         * sys/vaapisink/gstvaapisink.h:
32836           Fix fullscreen mode.
32837
32838 2010-03-29 15:59:44 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32839
32840         * sys/vaapisink/gstvaapisink.c:
32841         * sys/vaapisink/gstvaapisink.h:
32842           Add OpenGL reflection effect ("use-reflection").
32843
32844 2010-03-29 15:51:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32845
32846         * configure.ac:
32847         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
32848           Use a projection suitable for rotation around the Y axis.
32849
32850 2010-03-29 15:03:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32851
32852         * configure.ac:
32853         * sys/vaapisink/Makefile.am:
32854         * sys/vaapisink/gstvaapisink.c:
32855         * sys/vaapisink/gstvaapisink.h:
32856           Don't build vaapisink/gl by default. However, if this is enabled, use the GL renderer by default.
32857
32858 2010-03-29 14:50:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32859
32860         * configure.ac:
32861         * debian.upstream/Makefile.am:
32862         * debian.upstream/control.in:
32863         * debian.upstream/libgstvaapi-glx.install.in:
32864           Add libgstvaapi-glx-0 package.
32865
32866 2010-03-29 14:47:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32867
32868         * pkgconfig/Makefile.am:
32869           Really fix make distclean.
32870
32871 2010-03-29 14:43:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32872
32873         * docs/reference/libs/Makefile.am:
32874           Fix make dist.
32875
32876 2010-03-29 14:42:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32877
32878         * pkgconfig/Makefile.am:
32879           Fix make distclean.
32880
32881 2010-03-29 14:40:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32882
32883         * tests/Makefile.am:
32884           Fix make dist.
32885
32886 2010-03-29 14:31:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32887
32888         * docs/reference/libs/Makefile.am:
32889         * docs/reference/libs/libs.core.types:
32890         * docs/reference/libs/libs.glx.types:
32891         * docs/reference/libs/libs.x11.types:
32892           Fix doc build.
32893
32894 2010-03-29 14:21:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32895
32896         * sys/vaapisink/gstvaapisink.h:
32897           Fix build without GLX.
32898
32899 2010-03-29 14:13:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32900
32901         * NEWS:
32902           0.1.2.
32903
32904 2010-03-29 14:13:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32905
32906         * sys/vaapisink/Makefile.am:
32907         * sys/vaapisink/gstvaapisink.c:
32908         * sys/vaapisink/gstvaapisink.h:
32909           Add VA/GLX support to vaapisink.
32910
32911 2010-03-29 13:40:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32912
32913         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
32914         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
32915         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
32916           Add glXSwapBuffers() workaround for NVIDIA.
32917
32918 2010-03-29 13:27:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32919
32920         * tests/Makefile.am:
32921         * tests/test-textures.c:
32922           Improve VA/GLX textures test.
32923
32924 2010-03-29 12:51:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32925
32926         * gst-libs/gst/vaapi/gstvaapitexture.c:
32927         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
32928         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
32929           Fix texture rendering.
32930
32931 2010-03-29 11:25:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32932
32933         * docs/reference/libs/libs-docs.xml.in:
32934         * docs/reference/libs/libs-sections.txt:
32935         * gst-libs/gst/vaapi/gstvaapidisplay.c:
32936         * gst-libs/gst/vaapi/gstvaapitexture.c:
32937           Fix documentation.
32938
32939 2010-03-29 10:40:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32940
32941         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
32942         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
32943           Add gst_vaapi_window_glx_put_texture() helper.
32944
32945 2010-03-29 09:09:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32946
32947         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
32948           Fix typos.
32949
32950 2010-03-26 17:00:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32951
32952         * tests/image.c:
32953         * tests/image.h:
32954         * tests/test-windows.c:
32955           Move code around.
32956
32957 2010-03-26 16:52:07 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32958
32959         * gst-libs/gst/vaapi/Makefile.am:
32960         * gst-libs/gst/vaapi/gstvaapitexture.c:
32961         * gst-libs/gst/vaapi/gstvaapitexture.h:
32962         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
32963         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
32964           Add initial VA/GLX texture abstraction though the API is not good enough yet.
32965
32966 2010-03-26 15:22:00 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32967
32968         * docs/reference/libs/libs-sections.txt:
32969         * gst-libs/gst/vaapi/gstvaapiobject.c:
32970         * gst-libs/gst/vaapi/gstvaapiobject.h:
32971           Add gst_vaapi_object_{,un}lock_display() helpers.
32972
32973 2010-03-26 15:16:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32974
32975         * tests/Makefile.am:
32976         * tests/image.c:
32977         * tests/image.h:
32978         * tests/test-windows.c:
32979           Factor out image utilities.
32980
32981 2010-03-26 11:54:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32982
32983         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
32984           MT-Safe: lock display.
32985
32986 2010-03-26 11:50:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32987
32988         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
32989           Make sure window resize completed prior to resizing the GL viewport.
32990
32991 2010-03-26 11:39:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32992
32993         * gst-libs/gst/vaapi/Makefile.am:
32994           gstvaapicompat.h is a private header, don't install it.
32995
32996 2010-03-26 11:35:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
32997
32998         * docs/reference/libs/libs-sections.txt:
32999         * gst-libs/gst/vaapi/gstvaapidisplay.c:
33000         * gst-libs/gst/vaapi/gstvaapidisplay.h:
33001         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
33002           Add gst_vaapi_display_{sync,flush}() helpers.
33003
33004 2010-03-26 11:30:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33005
33006         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
33007         * sys/vaapisink/gstvaapisink.c:
33008         * sys/vaapisink/gstvaapisink.h:
33009           Add "synchronous" mode.
33010
33011 2010-03-26 11:02:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33012
33013         * gst-libs/gst/vaapi/gstvaapidisplay.c:
33014         * gst-libs/gst/vaapi/gstvaapidisplay.h:
33015           Only add _display suffix to open & close members because they could be #define to some arbitrary value. lock/unlock are safe names.
33016
33017 2010-03-26 10:09:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33018
33019         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
33020           Restore GLX context only if there is one.
33021
33022 2010-03-26 09:41:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33023
33024         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
33025         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
33026         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
33027         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
33028           Add gst_vaapi_window_glx_make_current(). Handle X11 window size changes and reset the GL viewport.
33029
33030 2010-03-26 08:35:24 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33031
33032         * gst-libs/gst/vaapi/gstvaapiwindow.c:
33033           Check GstVaapiWindow::render() is available prior to calling it.
33034
33035 2010-03-26 08:10:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33036
33037         * tests/Makefile.am:
33038         * tests/test-display.c:
33039         * tests/test-textures.c:
33040           Add VA/GLX display tests.
33041
33042 2010-03-26 08:00:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33043
33044         * configure.ac:
33045         * gst-libs/gst/vaapi/Makefile.am:
33046           Fix compile flags.
33047
33048 2010-03-25 17:39:06 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33049
33050         * docs/reference/libs/Makefile.am:
33051         * docs/reference/libs/libs-docs.xml.in:
33052         * docs/reference/libs/libs-sections.txt:
33053         * docs/reference/libs/libs.types:
33054           Add missing API documentation.
33055
33056 2010-03-25 17:28:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33057
33058         * configure.ac:
33059         * gst-libs/gst/vaapi/Makefile.am:
33060         * gst-libs/gst/vaapi/gstvaapidisplay_glx.c:
33061         * gst-libs/gst/vaapi/gstvaapidisplay_glx.h:
33062         * gst-libs/gst/vaapi/gstvaapiutils_glx.c:
33063         * gst-libs/gst/vaapi/gstvaapiutils_glx.h:
33064         * gst-libs/gst/vaapi/gstvaapiwindow_glx.c:
33065         * gst-libs/gst/vaapi/gstvaapiwindow_glx.h:
33066         * pkgconfig/Makefile.am:
33067         * pkgconfig/gstreamer-vaapi-glx.pc.in:
33068         * tests/Makefile.am:
33069         * tests/test-textures.c:
33070           Add initial VA/GLX support.
33071
33072 2010-03-25 17:21:56 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33073
33074         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
33075           Add missing includes (for vaapi_check_status()).
33076
33077 2010-03-25 17:21:13 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33078
33079         * gst-libs/gst/vaapi/gstvaapidebug.h:
33080           Only enable GST_DEBUG() if DEBUG is defined. Drop old D(bug()) stuff.
33081
33082 2010-03-25 17:18:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33083
33084         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
33085         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
33086           Add gst_vaapi_window_x11_is_foreign_xid() helper.
33087
33088 2010-03-25 17:18:06 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33089
33090         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
33091         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
33092         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
33093         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
33094           Allow derived classes to specify custom Visual and Colormap.
33095
33096 2010-03-25 13:54:06 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33097
33098         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
33099         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
33100         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
33101           Allow window creation with a specific visual (e.g. for GLX support).
33102
33103 2010-03-25 13:21:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33104
33105         * gst-libs/gst/vaapi/gstvaapiimage.c:
33106           Fix return value on error (though it's the same in the end).
33107
33108 2010-03-25 12:39:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33109
33110         * gst-libs/gst/vaapi/gstvaapidisplay.c:
33111         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
33112           Simplify initialization of VADisplay.
33113
33114 2010-03-25 10:04:39 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33115
33116         * configure.ac:
33117           Move __attribute__((visibility("hidden"))) check down.
33118
33119 2010-03-25 09:49:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33120
33121         * docs/reference/libs/libs-sections.txt:
33122         * gst-libs/gst/vaapi/gstvaapiimage.c:
33123         * gst-libs/gst/vaapi/gstvaapiimage.h:
33124         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
33125         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
33126         * gst-libs/gst/vaapi/gstvaapisurface.c:
33127         * gst-libs/gst/vaapi/gstvaapisurface.h:
33128         * tests/test-surfaces.c:
33129           Restore the gst_vaapi_{surface,image,subpicture}_get_id() interfaces.
33130
33131 2010-03-25 09:39:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33132
33133         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
33134           Use the parent display object, no need to maintain another one.
33135           In the end, libgstvaapi-x11 reduced by 1 KB in .text vs. 0.1.1.
33136
33137 2010-03-25 09:37:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33138
33139         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
33140           Add more internal helpers.
33141
33142 2010-03-24 17:40:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33143
33144         * gst-libs/gst/vaapi/gstvaapiimage.c:
33145         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
33146         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
33147         * gst-libs/gst/vaapi/gstvaapisurface.c:
33148         * gst-libs/gst/vaapi/gstvaapiwindow.c:
33149         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
33150           Rename to GST_VAAPI_OBJECT_DISPLAY().
33151
33152 2010-03-24 17:38:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33153
33154         * docs/reference/libs/libs-sections.txt:
33155         * gst-libs/gst/vaapi/gstvaapiimage.c:
33156         * gst-libs/gst/vaapi/gstvaapiobject.c:
33157         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
33158         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
33159         * gst-libs/gst/vaapi/gstvaapisurface.c:
33160         * gst-libs/gst/vaapi/gstvaapitypes.h:
33161         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
33162           All GstVaapiID are initialized to GST_VAAPI_ID_NONE by default. Besides, all GstVaapiObject derived class shall initialize "id" to a valid value.
33163
33164 2010-03-24 17:22:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33165
33166         * gst-libs/gst/vaapi/gstvaapiwindow.c:
33167         * gst-libs/gst/vaapi/gstvaapiwindow.h:
33168         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
33169           Make GstVaapiWindow* derive from GstVaapiObject.
33170
33171 2010-03-24 16:37:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33172
33173         * configure.ac:
33174           Factor out use gstreamer-vaapi (PACKAGE name).
33175
33176 2010-03-24 16:35:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33177
33178         * configure.ac:
33179           Improve versioning summary.
33180
33181 2010-03-24 16:27:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33182
33183         * gst-libs/gst/vaapi/Makefile.am:
33184           gstvaapicompat.h is now a private header (not installed).
33185
33186 2010-03-24 16:25:56 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33187
33188         * gst-libs/gst/vaapi/gstvaapiimage.c:
33189         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
33190         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
33191         * gst-libs/gst/vaapi/gstvaapiobject.c:
33192         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
33193         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
33194           Include gstvaapicompat.h in source files only, not headers.
33195
33196 2010-03-24 16:21:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33197
33198         * configure.ac:
33199         * gst-libs/gst/vaapi/Makefile.am:
33200         * sys/vaapiconvert/Makefile.am:
33201         * sys/vaapisink/Makefile.am:
33202         * tests/Makefile.am:
33203           Drop tedious LIBVA_EXTRA_{CFLAGS,LIBS} definitions in Makefile.am. Override CFLAGS & LIBS instead.
33204
33205 2010-03-24 16:17:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33206
33207         * NEWS:
33208         * configure.ac:
33209         * gst-libs/gst/vaapi/Makefile.am:
33210         * gst-libs/gst/vaapi/gstvaapicompat.h:
33211         * gst-libs/gst/vaapi/gstvaapidisplay.h:
33212         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
33213         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
33214         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
33215         * gst-libs/gst/vaapi/gstvaapisurface.c:
33216         * gst-libs/gst/vaapi/gstvaapiutils.c:
33217         * gst-libs/gst/vaapi/gstvaapiutils.h:
33218         * pkgconfig/gstreamer-vaapi-x11.pc.in:
33219         * pkgconfig/gstreamer-vaapi.pc.in:
33220         * sys/vaapiconvert/Makefile.am:
33221         * sys/vaapisink/Makefile.am:
33222         * tests/Makefile.am:
33223           Add compatibility with the original VA-API 0.29.
33224
33225 2010-03-24 15:18:33 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33226
33227         * gst-libs/gst/vaapi/gstvaapivalue.h:
33228           Add missing file (gstvaapivalue.h).
33229
33230 2010-03-24 15:12:56 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33231
33232         * gst-libs/gst/vaapi/gstvaapiimage.c:
33233         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
33234         * gst-libs/gst/vaapi/gstvaapisurface.c:
33235           Fix g_warning() invocation.
33236
33237 2010-03-24 15:11:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33238
33239         * gst-libs/gst/vaapi/gstvaapisurface.c:
33240           Deassociate subpictures while destroying the surface.
33241
33242 2010-03-24 14:57:33 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33243
33244         * gst-libs/gst/vaapi/gstvaapisurface.c:
33245           Fix destruction order of subpictures. They should be destroyed first.
33246
33247 2010-03-24 14:46:33 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33248
33249         * NEWS:
33250         * gst-libs/gst/vaapi/gstvaapiimage.c:
33251         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
33252         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
33253         * tests/test-windows.c:
33254           Add support for AYUV format.
33255
33256 2010-03-24 14:36:39 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33257
33258         * tests/test-windows.c:
33259           Simplify upload process and fallback to subpictures.
33260
33261 2010-03-24 13:44:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33262
33263         * docs/reference/libs/libs-docs.xml.in:
33264         * docs/reference/libs/libs-sections.txt:
33265         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
33266           Fix documentation.
33267
33268 2010-03-24 13:37:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33269
33270         * gst-libs/gst/vaapi/Makefile.am:
33271         * gst-libs/gst/vaapi/gstvaapiobject.c:
33272         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
33273         * gst-libs/gst/vaapi/gstvaapitypes.h:
33274         * gst-libs/gst/vaapi/gstvaapivalue.c:
33275           Move GValue specific stuff to a dedicated file.
33276
33277 2010-03-24 13:22:25 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33278
33279         * tests/test-surfaces.c:
33280           Cosmetics (lowercase for consistency).
33281
33282 2010-03-24 13:21:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33283
33284         * gst-libs/gst/vaapi/gstvaapiobject.c:
33285           Cosmetics (vertical alignment).
33286
33287 2010-03-24 13:20:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33288
33289         * gst-libs/gst/vaapi/gstvaapiobject.c:
33290           Fix return value on error.
33291
33292 2010-03-24 13:19:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33293
33294         * docs/reference/libs/libs-sections.txt:
33295         * gst-libs/gst/vaapi/gstvaapiimage.c:
33296         * gst-libs/gst/vaapi/gstvaapiimage.h:
33297         * gst-libs/gst/vaapi/gstvaapiobject.c:
33298         * gst-libs/gst/vaapi/gstvaapiobject.h:
33299         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
33300         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
33301         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
33302         * gst-libs/gst/vaapi/gstvaapisurface.c:
33303         * gst-libs/gst/vaapi/gstvaapisurface.h:
33304         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
33305         * tests/test-surfaces.c:
33306           Move "id" down to the GstVaapiObject base.
33307
33308 2010-03-24 12:59:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33309
33310         * gst-libs/gst/vaapi/gstvaapitypes.c:
33311           Cosmetics (drop extraneous empty line).
33312
33313 2010-03-24 12:57:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33314
33315         * gst-libs/gst/vaapi/Makefile.am:
33316         * gst-libs/gst/vaapi/gstvaapiparamspecs.c:
33317         * gst-libs/gst/vaapi/gstvaapiparamspecs.h:
33318           Add GParamSpecs for GstVaapiID.
33319
33320 2010-03-24 12:54:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33321
33322         * docs/reference/libs/libs.types:
33323           Drop gst_vaapi_id_get_type().
33324
33325 2010-03-24 12:38:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33326
33327         * docs/reference/libs/libs-sections.txt:
33328         * gst-libs/gst/vaapi/gstvaapitypes.h:
33329           Add GST_VAAPI_ID_FORMAT() and GST_VAAPI_ID_ARGS() helpers.
33330
33331 2010-03-24 09:52:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33332
33333         * docs/reference/libs/libs-sections.txt:
33334         * docs/reference/libs/libs.types:
33335         * gst-libs/gst/vaapi/Makefile.am:
33336         * gst-libs/gst/vaapi/gstvaapitypes.c:
33337         * gst-libs/gst/vaapi/gstvaapitypes.h:
33338           Add GstVaapiID abstraction.
33339
33340 2010-03-24 09:22:00 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33341
33342         * docs/reference/libs/libs.types:
33343           Sort types.
33344
33345 2010-03-24 08:35:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33346
33347         * gst-libs/gst/vaapi/gstvaapidisplay.c:
33348         * gst-libs/gst/vaapi/gstvaapiimage.c:
33349         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
33350         * gst-libs/gst/vaapi/gstvaapisurface.c:
33351           Drop useless include (<va/va_backend.h>).
33352
33353 2010-03-24 08:34:11 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33354
33355         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
33356           Optimize GST_VAAPI_OBJECT_GET_DISPLAY to avoid a run-time check.
33357
33358 2010-03-24 08:32:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33359
33360         * gst-libs/gst/vaapi/Makefile.am:
33361         * gst-libs/gst/vaapi/gstvaapiimage.c:
33362         * gst-libs/gst/vaapi/gstvaapiobject.c:
33363         * gst-libs/gst/vaapi/gstvaapiobject.h:
33364         * gst-libs/gst/vaapi/gstvaapiobject_priv.h:
33365         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
33366         * gst-libs/gst/vaapi/gstvaapisurface.c:
33367         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
33368           Move private definitions and accessors to gstvaapiobject_priv.h.
33369
33370 2010-03-24 08:16:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33371
33372         * gst-libs/gst/vaapi/gstvaapidisplay.c:
33373         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
33374         * gst-libs/gst/vaapi/gstvaapiimage.c:
33375         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
33376         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
33377         * gst-libs/gst/vaapi/gstvaapiobject.c:
33378         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
33379         * gst-libs/gst/vaapi/gstvaapisurface.c:
33380         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
33381         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
33382         * gst-libs/gst/vaapi/gstvaapivideopool.c:
33383         * gst-libs/gst/vaapi/gstvaapivideosink.c:
33384         * gst-libs/gst/vaapi/gstvaapiwindow.c:
33385         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
33386           Fix short descriptions.
33387
33388 2010-03-23 18:45:09 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33389
33390         * Makefile.am:
33391         * configure.ac:
33392         * debian.upstream/Makefile.am:
33393         * debian.upstream/changelog.in:
33394         * debian.upstream/compat:
33395         * debian.upstream/control.in:
33396         * debian.upstream/copyright:
33397         * debian.upstream/gstreamer-vaapi-doc.install.in:
33398         * debian.upstream/gstreamer-vaapi.install.in:
33399         * debian.upstream/libgstvaapi-dev.install.in:
33400         * debian.upstream/libgstvaapi-x11.install.in:
33401         * debian.upstream/libgstvaapi.install.in:
33402         * debian.upstream/rules:
33403           Generate upstream packages through make deb.upstream.
33404
33405 2010-03-23 17:40:03 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33406
33407         * configure.ac:
33408           Bump version for development.
33409
33410 2010-03-23 17:29:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33411
33412         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
33413           Use a black background for new windows.
33414
33415 2010-03-23 17:18:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33416
33417         * NEWS:
33418           0.1.1.
33419
33420 2010-03-23 17:12:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33421
33422         * configure.ac:
33423         * docs/reference/libs/libs.types:
33424         * gst-libs/gst/vaapi/Makefile.am:
33425         * gst-libs/gst/vaapi/gstvaapimarshal.list:
33426         * gst-libs/gst/vaapi/gstvaapiobject.c:
33427         * gst-libs/gst/vaapi/gstvaapiobject.h:
33428         * tests/test-surfaces.c:
33429           Add "destroy" signal.
33430
33431 2010-03-23 16:25:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33432
33433         * docs/reference/libs/libs-docs.xml.in:
33434           Improve gst-plugins-vaapi Library reference template.
33435
33436 2010-03-23 16:21:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33437
33438         * docs/reference/libs/libs-docs.xml.in:
33439         * docs/reference/libs/libs-sections.txt:
33440         * gst-libs/gst/vaapi/Makefile.am:
33441         * gst-libs/gst/vaapi/gstvaapiimage.c:
33442         * gst-libs/gst/vaapi/gstvaapiimage.h:
33443         * gst-libs/gst/vaapi/gstvaapiobject.c:
33444         * gst-libs/gst/vaapi/gstvaapiobject.h:
33445         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
33446         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
33447         * gst-libs/gst/vaapi/gstvaapisurface.c:
33448         * gst-libs/gst/vaapi/gstvaapisurface.h:
33449         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
33450           Make GstVaapi{Surface,Image,Subpicture} derive from a GstVaapiObject.
33451
33452 2010-03-23 16:11:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33453
33454         * sys/vaapisink/gstvaapisink.c:
33455           Fix return value.
33456
33457 2010-03-23 15:34:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33458
33459         * sys/vaapisink/gstvaapisink.c:
33460           Make sure VA display is valid when created with an explicit "display" name.
33461
33462 2010-03-23 15:28:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33463
33464         * sys/vaapisink/gstvaapisink.c:
33465           Use plain "display" property for the X11 display name.
33466
33467 2010-03-23 15:22:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33468
33469         * sys/vaapiconvert/gstvaapiconvert.c:
33470         * sys/vaapisink/gstvaapisink.c:
33471           Document vaapiconvert & vaapisink plugins.
33472
33473 2010-03-23 14:19:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33474
33475         * configure.ac:
33476         * docs/reference/Makefile.am:
33477         * docs/reference/plugins/Makefile.am:
33478         * docs/reference/plugins/plugins-docs.xml.in:
33479         * docs/reference/plugins/plugins-overrides.txt:
33480         * docs/reference/plugins/plugins-sections.txt:
33481         * docs/reference/plugins/plugins.types:
33482           Add plugins documentation template.
33483
33484 2010-03-23 14:06:42 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33485
33486         * sys/vaapisink/gstvaapisink.c:
33487         * sys/vaapisink/gstvaapisink.h:
33488           Don't export gst_vaapisink_get_display().
33489
33490 2010-03-23 13:32:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33491
33492         * configure.ac:
33493         * docs/reference/libs/libs-docs.xml.in:
33494         * gst-libs/gst/vaapi/gstvaapidisplay.c:
33495         * gst-libs/gst/vaapi/gstvaapiimage.c:
33496         * gst-libs/gst/vaapi/gstvaapisurface.c:
33497         * gst-libs/gst/vaapi/gstvaapiwindow.c:
33498           Drop introspection annotations since they require gtk-doc >= 1.12.
33499
33500 2010-03-23 10:51:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33501
33502         * gst-libs/gst/vaapi/gstvaapisurface.c:
33503           Add note about the fact that the surface holds an extra reference to the subpicture.
33504
33505 2010-03-23 10:49:33 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33506
33507         * gst-libs/gst/vaapi/gstvaapiimage.c:
33508         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
33509         * gst-libs/gst/vaapi/gstvaapisurface.c:
33510           Improve debugging messages.
33511
33512 2010-03-23 10:48:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33513
33514         * tests/test-windows.c:
33515           Unref subpicture earlier as the surface is supposed to hold a reference to it.
33516
33517 2010-03-23 10:36:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33518
33519         * docs/reference/libs/libs-sections.txt:
33520         * gst-libs/gst/vaapi/gstvaapisurface.c:
33521         * gst-libs/gst/vaapi/gstvaapisurface.h:
33522         * tests/test-windows.c:
33523           Add gst_vaapi_surface_{,de}associate_subpicture() API.
33524
33525 2010-03-23 08:13:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33526
33527         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
33528           Wait for MapNotify or UnmapNotify events on foreign windows too.
33529
33530 2010-03-23 07:42:05 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33531
33532         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
33533           Check whether the foreign XID is mapped at binding time.
33534
33535 2010-03-23 07:34:15 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33536
33537         * sys/vaapisink/gstvaapisink.c:
33538           Add missing includes.
33539
33540 2010-03-23 07:31:04 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33541
33542         * configure.ac:
33543         * debian/Makefile.am:
33544         * debian/control.in:
33545         * debian/gstreamer-vaapi-doc.install.in:
33546         * debian/rules:
33547           Add -doc package.
33548
33549 2010-03-23 06:41:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33550
33551         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
33552           Fix warnings (drop extraneous var).
33553
33554 2010-03-23 06:40:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33555
33556         * docs/reference/libs/libs-sections.txt:
33557         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
33558           Add GST_VAAPI_WINDOW_XWINDOW() helper macro.
33559
33560 2010-03-22 16:59:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33561
33562         * gst-libs/gst/vaapi/gstvaapiwindow.c:
33563           Shorten condition.
33564
33565 2010-03-22 16:57:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33566
33567         * gst-libs/gst/vaapi/Makefile.am:
33568         * gst-libs/gst/vaapi/gstvaapiwindow.c:
33569         * gst-libs/gst/vaapi/gstvaapiwindow.h:
33570         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
33571         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
33572           Try to improve switch to fullscreen mode.
33573
33574 2010-03-22 16:01:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33575
33576         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
33577         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
33578         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
33579           Improve display locking and rework X event wait functions.
33580
33581 2010-03-22 13:06:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33582
33583         * gst-libs/gst/vaapi/gstvaapiwindow.c:
33584         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
33585           Move _GstVaapiWindowPrivate declaration to gstvaapiwindow_priv.h.
33586
33587 2010-03-22 13:05:05 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33588
33589         * gst-libs/gst/vaapi/Makefile.am:
33590         * gst-libs/gst/vaapi/gstvaapiwindow.c:
33591         * gst-libs/gst/vaapi/gstvaapiwindow_priv.h:
33592           Add private API to set window size & fullscreen modes without triggering any notification or virtual functions. This is useful for derived class to fix up sizes whenever appropriate.
33593
33594 2010-03-22 12:47:13 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33595
33596         * docs/reference/libs/libs-sections.txt:
33597         * gst-libs/gst/vaapi/gstvaapiwindow.c:
33598         * gst-libs/gst/vaapi/gstvaapiwindow.h:
33599           Add gst_vaapi_window_get_fullscreen() helper and "fullscreen" property.
33600
33601 2010-03-22 12:39:02 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33602
33603         * gst-libs/gst/vaapi/gstvaapiwindow.c:
33604         * gst-libs/gst/vaapi/gstvaapiwindow.h:
33605         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
33606           Add gst_vaapi_window_get_display() to base.
33607
33608 2010-03-22 12:16:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33609
33610         * docs/reference/libs/libs-docs.xml.in:
33611         * docs/reference/libs/libs-sections.txt:
33612         * gst-libs/gst/vaapi/Makefile.am:
33613         * gst-libs/gst/vaapi/gstvaapitypes.h:
33614         * gst-libs/gst/vaapi/gstvaapiwindow.c:
33615         * gst-libs/gst/vaapi/gstvaapiwindow.h:
33616         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
33617         * sys/vaapisink/gstvaapisink.c:
33618         * sys/vaapisink/gstvaapisink.h:
33619           Add GstVaapiPoint & GstVaapiRectangle data structures.
33620
33621 2010-03-22 12:05:11 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33622
33623         * NEWS:
33624           0.1.1.
33625
33626 2010-03-22 12:03:26 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33627
33628         * NEWS:
33629         * sys/vaapisink/gstvaapisink.c:
33630         * sys/vaapisink/gstvaapisink.h:
33631           Allow `vaapisink` to render videos in fullscreen mode.
33632
33633 2010-03-22 10:51:49 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33634
33635         * docs/reference/libs/libs-sections.txt:
33636         * gst-libs/gst/vaapi/gstvaapiwindow.c:
33637         * gst-libs/gst/vaapi/gstvaapiwindow.h:
33638         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
33639           Add gst_vaapi_window_set_fullscreen() API.
33640
33641 2010-03-22 10:03:24 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33642
33643         * sys/vaapisink/gstvaapisink.c:
33644           Size window so that to respect the video and pixel aspect ratio.
33645
33646 2010-03-22 09:32:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33647
33648         * docs/reference/libs/libs-sections.txt:
33649         * gst-libs/gst/vaapi/gstvaapidisplay.c:
33650         * gst-libs/gst/vaapi/gstvaapidisplay.h:
33651         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
33652         * tests/test-display.c:
33653           Add gst_vaapi_display_get_pixel_aspect_ratio().
33654
33655 2010-03-22 08:45:03 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33656
33657         * docs/reference/libs/libs-sections.txt:
33658           Updates.
33659
33660 2010-03-22 08:44:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33661
33662         * gst-libs/gst/vaapi/gstvaapidisplay.c:
33663         * gst-libs/gst/vaapi/gstvaapidisplay.h:
33664         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
33665         * tests/test-display.c:
33666           Add display size accessors.
33667
33668 2010-03-22 08:03:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33669
33670         * configure.ac:
33671         * debian/control.in:
33672           Build-Requires: gstreamer-plugins-base >= 0.10.16.
33673
33674 2010-03-21 08:45:09 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33675
33676         * gst-libs/gst/vaapi/gstvaapidisplay.h:
33677         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
33678         * gst-libs/gst/vaapi/gstvaapiimage.h:
33679         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
33680         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
33681         * gst-libs/gst/vaapi/gstvaapisurface.h:
33682         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
33683         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
33684         * gst-libs/gst/vaapi/gstvaapivideopool.h:
33685         * gst-libs/gst/vaapi/gstvaapiwindow.h:
33686         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
33687           Fix documentation of *Class'es.
33688
33689 2010-03-21 08:38:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33690
33691         * gst-libs/gst/vaapi/gstvaapiutils.c:
33692         * gst-libs/gst/vaapi/gstvaapiutils.h:
33693         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
33694           Move GstVaapiSurfaceRenderFlags conversion to get_PutSurface_flags_from_GstVaapiSurfaceRenderFlags().
33695
33696 2010-03-21 08:22:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33697
33698         * docs/reference/libs/libs-sections.txt:
33699         * gst-libs/gst/vaapi/gstvaapisurface.h:
33700         * gst-libs/gst/vaapi/gstvaapiwindow.h:
33701           Move GstVaapiSurfaceRenderFlags to gstvaapisurface.h since this will also be useful for e.g. a gstvaapitexture.h.
33702
33703 2010-03-21 08:12:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33704
33705         * docs/reference/libs/libs-sections.txt:
33706         * gst-libs/gst/vaapi/gstvaapiwindow.c:
33707         * gst-libs/gst/vaapi/gstvaapiwindow.h:
33708         * sys/vaapisink/gstvaapisink.c:
33709         * tests/test-windows.c:
33710           Rename gst_vaapi_window_put_surface_full() to plain gst_vaapi_window_put_surface().
33711
33712 2010-03-19 17:15:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33713
33714         * docs/reference/libs/Makefile.am:
33715           Fix make dist for --enable-gtk-doc builds.
33716
33717 2010-03-19 17:13:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33718
33719         * autogen.sh:
33720           Improve autogen.sh.
33721
33722 2010-03-19 17:11:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33723
33724         * Makefile.am:
33725         * autogen.sh:
33726           Generate gtk-doc.make from gtkdocize.
33727
33728 2010-03-19 17:04:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33729
33730         * Makefile.am:
33731         * NEWS:
33732         * configure.ac:
33733         * docs/Makefile.am:
33734         * docs/reference/Makefile.am:
33735         * docs/reference/libs/Makefile.am:
33736         * docs/reference/libs/libs-docs.xml.in:
33737         * docs/reference/libs/libs-overrides.txt:
33738         * docs/reference/libs/libs-sections.txt:
33739         * docs/reference/libs/libs.types:
33740           Document public API for libgstvaapi-*.so.*.
33741
33742 2010-03-19 16:41:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33743
33744         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
33745         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
33746           Document GstVaapiVideoBuffer.
33747
33748 2010-03-19 16:08:48 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33749
33750         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
33751         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
33752         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
33753         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
33754         * gst-libs/gst/vaapi/gstvaapivideopool.c:
33755         * gst-libs/gst/vaapi/gstvaapivideopool.h:
33756           Document surface & image pools. Drop obsolete gst_vaapi_video_pool_new() function.
33757
33758 2010-03-19 15:45:21 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33759
33760         * gst-libs/gst/vaapi/gstvaapidisplay.c:
33761         * gst-libs/gst/vaapi/gstvaapidisplay.h:
33762         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
33763         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
33764         * gst-libs/gst/vaapi/gstvaapiimage.c:
33765         * gst-libs/gst/vaapi/gstvaapiimage.h:
33766         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
33767         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
33768         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
33769         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
33770         * gst-libs/gst/vaapi/gstvaapisurface.c:
33771         * gst-libs/gst/vaapi/gstvaapisurface.h:
33772         * gst-libs/gst/vaapi/gstvaapivideosink.c:
33773         * gst-libs/gst/vaapi/gstvaapivideosink.h:
33774         * gst-libs/gst/vaapi/gstvaapiwindow.c:
33775         * gst-libs/gst/vaapi/gstvaapiwindow.h:
33776         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
33777         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
33778           Add tedious documentation.
33779
33780 2010-03-19 10:42:11 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33781
33782         * gst-libs/gst/vaapi/gstvaapidisplay.c:
33783           Beautify append_formats().
33784
33785 2010-03-19 10:38:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33786
33787         * gst-libs/gst/vaapi/gstvaapidisplay.c:
33788           Simplify GstVaapiDisplay (use GArray).
33789
33790 2010-03-19 08:42:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33791
33792         * NEWS:
33793         * sys/vaapiconvert/gstvaapiconvert.c:
33794         * sys/vaapiconvert/gstvaapiconvert.h:
33795           Factor out direct-rendering infrastructure.
33796
33797 2010-03-18 16:18:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33798
33799         * sys/vaapiconvert/gstvaapiconvert.c:
33800         * sys/vaapiconvert/gstvaapiconvert.h:
33801           Allow user to specify inout-buffers & derive-image optimizations.
33802
33803 2010-03-18 15:58:28 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33804
33805         * sys/vaapiconvert/gstvaapiconvert.c:
33806           Reduce number of debug messaged printed out.
33807
33808 2010-03-18 15:53:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33809
33810         * sys/vaapiconvert/gstvaapiconvert.c:
33811         * sys/vaapiconvert/gstvaapiconvert.h:
33812           Add vaDeriveImage() optimization.
33813
33814 2010-03-18 15:52:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33815
33816         * gst-libs/gst/vaapi/gstvaapiimage.c:
33817           Fix gst_vaapi_image_create() from a foreign VA image.
33818
33819 2010-03-18 15:28:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33820
33821         * gst-libs/gst/vaapi/gstvaapiimage.c:
33822         * gst-libs/gst/vaapi/gstvaapiimage.h:
33823         * gst-libs/gst/vaapi/gstvaapisurface.c:
33824         * gst-libs/gst/vaapi/gstvaapisurface.h:
33825           Add gst_vaapi_surface_derive_image() API.
33826
33827 2010-03-18 13:49:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33828
33829         * gst-libs/gst/vaapi/gstvaapiwindow.c:
33830         * gst-libs/gst/vaapi/gstvaapiwindow.h:
33831         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
33832           Make it possible to bin an X11 window to GstVaapiWindowX11 with plain g_object_new() and "xid" property. i.e. get foreign window size in gst_vaapi_window_x11_create().
33833
33834 2010-03-18 13:08:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33835
33836         * tests/test-windows.c:
33837           Try YV12 & I420 image formats too.
33838
33839 2010-03-18 12:59:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33840
33841         * gst-libs/gst/vaapi/gstvaapiimage.c:
33842           Split map/unmap functions into internal functions that don't check preconditions.
33843
33844 2010-03-18 12:56:53 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33845
33846         * gst-libs/gst/vaapi/gstvaapiimage.c:
33847           Improve gst_vaapi_image_new() sanity checks.
33848
33849 2010-03-18 12:52:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33850
33851         * tests/test-windows.c:
33852           Fix typo.
33853
33854 2010-03-18 08:45:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33855
33856         * sys/vaapiconvert/gstvaapiconvert.c:
33857           Check if our inout buffer is still alive or default to a separate output buffer.
33858
33859 2010-03-18 08:16:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33860
33861         * sys/vaapiconvert/gstvaapiconvert.c:
33862         * sys/vaapiconvert/gstvaapiconvert.h:
33863           Factor out buffers negotiation and optimization checks.
33864
33865 2010-03-18 08:02:25 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33866
33867         * gst-libs/gst/vaapi/gstvaapidisplay.c:
33868         * gst-libs/gst/vaapi/gstvaapiimage.c:
33869         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
33870         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
33871         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
33872         * sys/vaapiconvert/gstvaapiconvert.h:
33873           Use gtypes.
33874
33875 2010-03-17 10:43:02 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33876
33877         * gst-libs/gst/vaapi/gstvaapiimage.c:
33878           Optimize gst_vaapi_image_is_linear() and simplify gst_vaapi_image_update_from_buffer().
33879
33880 2010-03-17 07:59:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33881
33882         * gst-libs/gst/vaapi/gstvaapidisplay.c:
33883         * gst-libs/gst/vaapi/gstvaapidisplay.h:
33884         * gst-libs/gst/vaapi/gstvaapiimage.c:
33885         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
33886         * gst-libs/gst/vaapi/gstvaapisurface.c:
33887         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
33888           Add VA display locking utilities.
33889
33890 2010-03-17 07:20:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33891
33892         * sys/vaapisink/gstvaapisink.c:
33893           Initialize the X window in a ::set_caps() handler. Also fix build with GStreamer < 0.10.25. i.e. use preroll/render hooks.
33894
33895 2010-03-17 07:17:17 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33896
33897         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
33898         * tests/test-windows.c:
33899           Don't show window by default during creation.
33900
33901 2010-03-17 06:49:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33902
33903         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
33904           Fix gst_vaapi_window_x11_destroy().
33905
33906 2010-03-16 17:57:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33907
33908         * sys/vaapiconvert/gstvaapiconvert.c:
33909         * sys/vaapiconvert/gstvaapiconvert.h:
33910           Alias sink & src pad buffers whenever possible.
33911
33912 2010-03-16 17:57:23 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33913
33914         * gst-libs/gst/vaapi/gstvaapiimage.c:
33915         * gst-libs/gst/vaapi/gstvaapiimage.h:
33916           Extend GstVaapiImage API with *_get_image(), *_is_linear(), *_get_data_size().
33917
33918 2010-03-16 17:10:02 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33919
33920         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
33921         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
33922           Make GstVaapiVideoBuffer handle two pools. i.e. both image & surface at the same time.
33923
33924 2010-03-16 14:37:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33925
33926         * sys/vaapiconvert/gstvaapiconvert.c:
33927           Fix image & surface size cache.
33928
33929 2010-03-16 14:12:40 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33930
33931         * configure.ac:
33932           Move gstreamer-vaapi package versioning to the top.
33933
33934 2010-03-16 14:11:46 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33935
33936         * configure.ac:
33937           Bump version for development.
33938
33939 2010-03-16 14:07:53 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33940
33941         * configure.ac:
33942           Cosmetics (shorten lines).
33943
33944 2010-03-16 13:58:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33945
33946         * NEWS:
33947         * README:
33948           Update docs.
33949
33950 2010-03-16 13:53:54 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33951
33952         * debian/Makefile.am:
33953         * debian/changelog.in:
33954         * debian/compat:
33955         * debian/control.in:
33956         * debian/copyright:
33957         * debian/gstreamer-vaapi.install.in:
33958         * debian/libgstvaapi-dev.install.in:
33959         * debian/libgstvaapi-x11.install.in:
33960         * debian/libgstvaapi.install.in:
33961         * debian/rules:
33962           Add debian packaging.
33963
33964 2010-03-16 13:53:09 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33965
33966         * Makefile.am:
33967         * configure.ac:
33968           Add debian packaging.
33969
33970 2010-03-16 10:13:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33971
33972         * pkgconfig/Makefile.am:
33973           Silence GNU make extensions warning.
33974
33975 2010-03-16 09:59:03 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33976
33977         * configure.ac:
33978           Add AM_PROG_CC_C_O, thus fixing this warning: tests/Makefile.am:16: compiling `test-display.c' with per-target flags requires `AM_PROG_CC_C_O' in `configure.ac'
33979
33980 2010-03-16 09:57:25 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33981
33982         * Makefile.am:
33983         * configure.ac:
33984         * pkgconfig/Makefile.am:
33985         * pkgconfig/gstreamer-vaapi-x11.pc.in:
33986         * pkgconfig/gstreamer-vaapi.pc.in:
33987           Add pkgconfig files.
33988
33989 2010-03-16 09:39:07 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33990
33991         * configure.ac:
33992         * gst-libs/gst/vaapi/Makefile.am:
33993         * sys/vaapisink/Makefile.am:
33994         * tests/Makefile.am:
33995           Split X11 support to libgstvaapi-x11-*.so.*
33996
33997 2010-03-16 09:21:15 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
33998
33999         * gst-libs/gst/vaapi/Makefile.am:
34000           Don't install private headers.
34001
34002 2010-03-16 09:18:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34003
34004         * gst-libs/gst/vaapi/gstvaapidebug.h:
34005         * gst-libs/gst/vaapi/gstvaapiutils.c:
34006         * gst-libs/gst/vaapi/gstvaapiutils.h:
34007           Fix header guards.
34008
34009 2010-03-16 09:17:41 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34010
34011         * gst-libs/gst/vaapi/Makefile.am:
34012         * gst-libs/gst/vaapi/gstvaapidebug.h:
34013         * gst-libs/gst/vaapi/gstvaapidisplay.c:
34014         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
34015         * gst-libs/gst/vaapi/gstvaapiimage.c:
34016         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
34017         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
34018         * gst-libs/gst/vaapi/gstvaapisurface.c:
34019         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
34020         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
34021         * gst-libs/gst/vaapi/gstvaapivideopool.c:
34022         * gst-libs/gst/vaapi/gstvaapiwindow.c:
34023         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
34024           Rename vaapi_debug.h to gstvaapidebug.h.
34025
34026 2010-03-16 09:15:48 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34027
34028         * gst-libs/gst/vaapi/Makefile.am:
34029         * gst-libs/gst/vaapi/gstvaapidisplay.c:
34030         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
34031         * gst-libs/gst/vaapi/gstvaapiimage.c:
34032         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
34033         * gst-libs/gst/vaapi/gstvaapisurface.c:
34034         * gst-libs/gst/vaapi/gstvaapiutils.c:
34035         * gst-libs/gst/vaapi/gstvaapiutils.h:
34036         * gst-libs/gst/vaapi/vaapi_debug.h:
34037           Move vaapi_utils.* to gstvaapiutils.*
34038
34039 2010-03-16 09:13:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34040
34041         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
34042           Cosmetics (remove an extra line).
34043
34044 2010-03-16 09:12:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34045
34046         * gst-libs/gst/vaapi/Makefile.am:
34047         * gst-libs/gst/vaapi/gstvaapiutils_x11.c:
34048         * gst-libs/gst/vaapi/gstvaapiutils_x11.h:
34049         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
34050           Move X11 utilties to gstvaapiutils_x11.[ch].
34051
34052 2010-03-16 09:03:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34053
34054         * gst-libs/gst/vaapi/Makefile.am:
34055         * gst-libs/gst/vaapi/gstvaapivideosink.c:
34056         * gst-libs/gst/vaapi/gstvaapivideosink.h:
34057         * sys/vaapiconvert/gstvaapiconvert.c:
34058         * sys/vaapisink/gstvaapisink.c:
34059           Rename GstVaapiSinkBase to GstVaapiVideoSink.
34060
34061 2010-03-16 08:49:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34062
34063         * configure.ac:
34064         * tests/Makefile.am:
34065         * tests/examples/Makefile.am:
34066         * tests/examples/generic/Makefile.am:
34067         * tests/test-display.c:
34068         * tests/test-surfaces.c:
34069         * tests/test-windows.c:
34070           Move tests to top-level tests/ directory.
34071
34072 2010-03-16 08:43:16 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34073
34074         * gst-libs/gst/vaapi/gstvaapidisplay.c:
34075         * gst-libs/gst/vaapi/gstvaapiimage.c:
34076         * sys/vaapiconvert/gstvaapiconvert.c:
34077         * sys/vaapiconvert/gstvaapiconvert.h:
34078           Handle I420 formats internally in GstVaapiImage.
34079
34080 2010-03-15 17:44:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34081
34082         * sys/vaapiconvert/gstvaapiconvert.c:
34083         * sys/vaapiconvert/gstvaapiconvert.h:
34084           Implement I420 (resp. YV12) with YV12 (resp. I420) if the driver does not.
34085
34086 2010-03-15 17:43:29 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34087
34088         * gst-libs/gst/vaapi/gstvaapiimage.c:
34089           Implement I420 and YV12 if the underlying implementation does not.
34090
34091 2010-03-15 17:10:56 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34092
34093         * sys/vaapiconvert/Makefile.am:
34094         * sys/vaapiconvert/gstvaapiconvert.c:
34095         * sys/vaapiconvert/gstvaapiconvert.h:
34096           Add initial vaapiconvert plugin.
34097
34098 2010-03-15 17:09:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34099
34100         * sys/vaapisink/gstvaapisink.c:
34101         * sys/vaapisink/gstvaapisink.h:
34102           Display frames.
34103
34104 2010-03-15 16:57:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34105
34106         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
34107           Factor out.
34108
34109 2010-03-15 16:57:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34110
34111         * tests/examples/generic/test-windows.c:
34112           Generate R/G/B rects.
34113
34114 2010-03-15 16:13:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34115
34116         * gst-libs/gst/vaapi/gstvaapisurface.c:
34117         * gst-libs/gst/vaapi/gstvaapisurface.h:
34118           Add gst_vaapi_surface_sync().
34119
34120 2010-03-15 16:13:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34121
34122         * gst-libs/gst/vaapi/gstvaapiimage.c:
34123           Cosmetics (reverse args order).
34124
34125 2010-03-15 15:55:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34126
34127         * gst-libs/gst/vaapi/gstvaapiimage.c:
34128         * gst-libs/gst/vaapi/gstvaapiimage.h:
34129         * gst-libs/gst/vaapi/gstvaapisurface.c:
34130           Cosmetics.
34131
34132 2010-03-15 15:12:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34133
34134         * gst-libs/gst/vaapi/Makefile.am:
34135         * gst-libs/gst/vaapi/gstvaapiwindow.c:
34136         * gst-libs/gst/vaapi/gstvaapiwindow.h:
34137         * gst-libs/gst/vaapi/gstvaapiwindow_x11.c:
34138         * gst-libs/gst/vaapi/gstvaapiwindow_x11.h:
34139         * tests/examples/generic/Makefile.am:
34140         * tests/examples/generic/test-windows.c:
34141           Add VA/X11 window abstraction.
34142
34143 2010-03-15 14:57:57 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34144
34145         * gst-libs/gst/vaapi/gstvaapidisplay.h:
34146         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
34147           Add VA and X11 display accessors.
34148
34149 2010-03-15 14:57:30 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34150
34151         * gst-libs/gst/vaapi/gstvaapiimage.c:
34152           Fix preconditions.
34153
34154 2010-03-15 13:32:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34155
34156         * gst-libs/gst/vaapi/gstvaapidisplay.c:
34157           Cosmetics.
34158
34159 2010-03-15 11:49:03 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34160
34161         * gst-libs/gst/vaapi/gstvaapiimage.c:
34162         * gst-libs/gst/vaapi/gstvaapiimage.h:
34163         * gst-libs/gst/vaapi/gstvaapisurface.c:
34164         * gst-libs/gst/vaapi/gstvaapisurface.h:
34165           Add gst_vaapi_{get,put}_image() API.
34166
34167 2010-03-15 10:27:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34168
34169         * gst-libs/gst/vaapi/gstvaapiimage.c:
34170         * gst-libs/gst/vaapi/gstvaapiimage.h:
34171           Add gst_vaapi_image_update_from_buffer() helper.
34172
34173 2010-03-12 23:53:48 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34174
34175         * sys/vaapisink/Makefile.am:
34176         * sys/vaapisink/gstvaapisink.c:
34177         * sys/vaapisink/gstvaapisink.h:
34178           Implement GstVaapiSinkBase interface and integrate with GST_DEBUG better.
34179
34180 2010-03-12 23:50:09 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34181
34182         * tests/examples/generic/Makefile.am:
34183         * tests/examples/generic/test-surfaces.c:
34184           Add surface tests.
34185
34186 2010-03-12 23:48:50 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34187
34188         * gst-libs/gst/vaapi/Makefile.am:
34189         * gst-libs/gst/vaapi/gstvaapivideobuffer.c:
34190         * gst-libs/gst/vaapi/gstvaapivideobuffer.h:
34191           Add basic GstVaapiVideoBuffer.
34192
34193 2010-03-12 23:47:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34194
34195         * gst-libs/gst/vaapi/Makefile.am:
34196         * gst-libs/gst/vaapi/gstvaapiimagepool.c:
34197         * gst-libs/gst/vaapi/gstvaapiimagepool.h:
34198         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
34199         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
34200         * gst-libs/gst/vaapi/gstvaapivideopool.c:
34201         * gst-libs/gst/vaapi/gstvaapivideopool.h:
34202           Add GstVaapiImagePool and factor out GstVaapiSurfacePool from a base GstVaapiVideoPool.
34203
34204 2010-03-12 22:32:35 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34205
34206         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
34207           Simplify format conversion code.
34208
34209 2010-03-12 22:28:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34210
34211         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
34212         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
34213           Add gst_vaapi_image_format_from_caps() helper.
34214
34215 2010-03-12 17:45:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34216
34217         * gst-libs/gst/vaapi/Makefile.am:
34218         * gst-libs/gst/vaapi/gstvaapisurfacepool.c:
34219         * gst-libs/gst/vaapi/gstvaapisurfacepool.h:
34220           Add VA surface pool (lazy allocator).
34221
34222 2010-03-12 17:39:11 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34223
34224         * gst-libs/gst/vaapi/gstvaapisurface.c:
34225         * gst-libs/gst/vaapi/gstvaapisurface.h:
34226           Add gst_vaapi_surface_get_size() helper.
34227
34228 2010-03-12 10:52:08 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34229
34230         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
34231           Avoid use of GstStaticCaps since older gstreamer versions (0.10.22) write to it.
34232
34233 2010-03-11 15:35:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34234
34235         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
34236           Reset display-name if the user provided his own X11 display.
34237
34238 2010-03-11 15:21:43 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34239
34240         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
34241         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
34242         * tests/examples/generic/test-display.c:
34243           Add gst_vaapi_display_x11_new_with_display() API.
34244
34245 2010-03-11 15:04:18 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34246
34247         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
34248         * gst-libs/gst/vaapi/gstvaapiimage.h:
34249         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
34250         * gst-libs/gst/vaapi/gstvaapisurface.h:
34251           Fix *_GET_CLASS() definitions...
34252
34253 2010-03-11 15:01:00 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34254
34255         * gst-libs/gst/vaapi/gstvaapidisplay.c:
34256         * gst-libs/gst/vaapi/gstvaapidisplay.h:
34257         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
34258         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
34259         * tests/examples/generic/test-display.c:
34260           API change: gst_vaapi_display_x11_new() now takes an X11 display name.
34261
34262 2010-03-11 13:58:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34263
34264         * gst-libs/gst/vaapi/gstvaapisurface.c:
34265         * gst-libs/gst/vaapi/gstvaapisurface.h:
34266           Use GstVaapiChromaType abstraction.
34267
34268 2010-03-11 12:30:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34269
34270         * gst-libs/gst/vaapi/gstvaapiimage.c:
34271         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
34272         * gst-libs/gst/vaapi/gstvaapisurface.c:
34273           New refcounting policy. All getters return a reference, not a copy. So the user shall reference the object itself, should he wish so.
34274
34275 2010-03-11 12:14:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34276
34277         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
34278           Don't warn on failure, just return an appropriate error or value.
34279
34280 2010-03-11 12:11:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34281
34282         * gst-libs/gst/vaapi/gstvaapidisplay.c:
34283         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
34284         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
34285           Filter out any format that is not supported by the library (libgstvaapi). Also sort the formats by HW preference.
34286
34287 2010-03-11 10:50:27 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34288
34289         * gst-libs/gst/vaapi/Makefile.am:
34290         * gst-libs/gst/vaapi/gstvaapisinkbase.c:
34291         * gst-libs/gst/vaapi/gstvaapisinkbase.h:
34292           Add helper interface that all VA-API sinks must implement. e.g. vaapisink.
34293
34294 2010-03-10 13:13:51 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34295
34296         * gst-libs/gst/vaapi/gstvaapidisplay.c:
34297         * gst-libs/gst/vaapi/gstvaapiimage.c:
34298         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
34299         * gst-libs/gst/vaapi/gstvaapisurface.c:
34300         * gst-libs/gst/vaapi/vaapi_debug.h:
34301           Use GST_DEBUG.
34302
34303 2010-03-10 13:10:59 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34304
34305         * gst-libs/gst/vaapi/gstvaapiimage.c:
34306         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
34307           Fix GstVaapiImage and GstVaapiSubpicture initialization.
34308
34309 2010-03-10 13:02:45 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34310
34311         * gst-libs/gst/vaapi/gstvaapisurface.c:
34312           Fix GstVaapiSurface initialization, override constructed() method, not constructor(). GObject C is awful...
34313
34314 2010-03-10 12:25:38 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34315
34316         * tests/examples/generic/test-display.c:
34317           Dump caps.
34318
34319 2010-03-10 12:25:19 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34320
34321         * gst-libs/gst/vaapi/gstvaapidisplay.c:
34322         * gst-libs/gst/vaapi/gstvaapidisplay.h:
34323         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
34324           Fix GstVaapiDisplay initialization.
34325
34326 2010-03-10 10:43:31 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34327
34328         * gst-libs/gst/vaapi/gstvaapidisplay.c:
34329         * gst-libs/gst/vaapi/gstvaapidisplay.h:
34330           Get VA image & subpicture formats as GstCaps.
34331
34332 2010-03-10 10:41:12 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34333
34334         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
34335         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
34336           Add helper to convert from GstVaapiImageFormat to GstCaps.
34337
34338 2010-03-09 12:00:32 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34339
34340         * gst-libs/gst/vaapi/gstvaapidisplay.c:
34341         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
34342         * gst-libs/gst/vaapi/gstvaapisurface.c:
34343           Cosmetics (drop unused variables).
34344
34345 2010-03-05 17:11:52 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34346
34347         * configure.ac:
34348         * sys/vaapiconvert/Makefile.am:
34349         * sys/vaapiconvert/gstvaapiconvert.c:
34350         * sys/vaapiconvert/gstvaapiconvert.h:
34351         * sys/vaapisink/Makefile.am:
34352         * sys/vaapisink/gstvaapisink.c:
34353         * sys/vaapisink/gstvaapisink.h:
34354           Add boilerplate for vaapiconvert and vaapisink elements.
34355
34356 2010-03-05 15:29:04 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34357
34358         * configure.ac:
34359         * sys/Makefile.am:
34360         * sys/vaapiconvert/Makefile.am:
34361           Add vaapiconvert element hierarchy.
34362
34363 2010-03-05 15:26:36 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34364
34365         * sys/vaapisink/Makefile.am:
34366           Rename to vaapisink.
34367
34368 2010-03-05 10:07:22 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34369
34370         * gst-libs/gst/vaapi/gstvaapisurface.c:
34371           Shorter code (and more correct).
34372
34373 2010-03-05 10:04:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34374
34375         * gst-libs/gst/vaapi/gstvaapisurface.c:
34376         * gst-libs/gst/vaapi/gstvaapisurface.h:
34377           Add helper to get GstVaapiDisplay from a surface.
34378
34379 2010-03-05 08:52:20 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34380
34381         * gst-libs/gst/vaapi/gstvaapidisplay.c:
34382           Fix subpicture formats list length.
34383
34384 2010-03-04 17:41:34 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34385
34386         * gst-libs/gst/vaapi/gstvaapidisplay.c:
34387         * gst-libs/gst/vaapi/gstvaapidisplay.h:
34388           Add utilities to check whether a VA-API driver supports specific image or subpicture format. Likewise for VA profile.
34389
34390 2010-03-04 17:40:47 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34391
34392         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
34393         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
34394           Cosmetics (more checks, includes).
34395
34396 2010-03-04 17:39:58 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34397
34398         * gst-libs/gst/vaapi/gstvaapisubpicture.c:
34399         * gst-libs/gst/vaapi/gstvaapisubpicture.h:
34400           Really add VA subpicture abstraction.
34401
34402 2010-03-04 17:39:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34403
34404         * gst-libs/gst/vaapi/Makefile.am:
34405         * gst-libs/gst/vaapi/gstvaapiimage.c:
34406         * gst-libs/gst/vaapi/gstvaapiimage.h:
34407         * gst-libs/gst/vaapi/gstvaapiimageformat.c:
34408         * gst-libs/gst/vaapi/gstvaapiimageformat.h:
34409         * gst-libs/gst/vaapi/gstvaapisurface.c:
34410         * gst-libs/gst/vaapi/gstvaapisurface.h:
34411           Add VA surface, image, subpicture abstractions. Ported over from Gnash.
34412
34413 2010-01-25 16:15:01 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34414
34415         * configure.ac:
34416         * gst-libs/gst/vaapi/Makefile.am:
34417         * gst-libs/gst/vaapi/gstvaapidisplay.c:
34418         * gst-libs/gst/vaapi/gstvaapidisplay.h:
34419         * gst-libs/gst/vaapi/gstvaapidisplay_x11.c:
34420         * gst-libs/gst/vaapi/gstvaapidisplay_x11.h:
34421         * gst-libs/gst/vaapi/vaapi_debug.h:
34422         * gst-libs/gst/vaapi/vaapi_utils.c:
34423         * gst-libs/gst/vaapi/vaapi_utils.h:
34424         * tests/examples/generic/Makefile.am:
34425         * tests/examples/generic/test-display.c:
34426           Add initial VA display abstraction.
34427
34428 2010-01-25 15:04:10 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34429
34430         * Makefile.am:
34431         * configure.ac:
34432         * tests/Makefile.am:
34433         * tests/examples/Makefile.am:
34434         * tests/examples/generic/Makefile.am:
34435           Add tests infrastructure.
34436
34437 2010-01-25 14:59:37 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34438
34439         * configure.ac:
34440           Clean up VA-API checks.
34441
34442 2010-01-25 13:49:55 +0000  gb <gb@5584edef-b1fe-4b99-b61b-dd2bab72e969>
34443
34444         * configure.ac:
34445           Check for __attribute__((visibility("hidden"))).
34446